In the Linux kernel, the following vulnerability has been resolved:
powerpc64/ftrace: fix module loading without patchable function entries
getstubssize assumes that there must always be at least one patchable function entry, which is not always the case (modules that export data but no code), otherwise it returns -ENOEXEC and thus the section header shsize is set to that value. During modulememoryalloc() the size is passed to execmemalloc() after being page-aligned and thus set to zero which will cause it to fail the allocation (and thus module loading) as _vmallocnode_range() checks for zero-sized allocs and returns null:
[ 115.466896] module64: castcommon: doesn't contain _patchablefunctionentries. [ 115.469189] ------------[ cut here ]------------ [ 115.469496] WARNING: CPU: 0 PID: 274 at mm/vmalloc.c:3778 _vmallocnoderange_noprof+0x8b4/0x8f0 ... [ 115.478574] ---[ end trace 0000000000000000 ]--- [ 115.479545] execmem: unable to allocate memory
Fix this by removing the check completely, since it is anyway not helpful to propagate this as an error upwards.