On Aug 21 2020, Christophe Leroy wrote:
In is_module_segment(), when VMALLOC_END is over 0xf0000000,
ALIGN(VMALLOC_END, SZ_256M) has value 0.
In that case, addr >= ALIGN(VMALLOC_END, SZ_256M) is always
true then is_module_segment() always returns false.
Use (ALIGN(VMALLOC_END, SZ_256M) - 1) which will have
value 0xffffffff and will be suitable for the comparison.
Reported-by: Andreas Schwab <redacted>
Signed-off-by: Christophe Leroy <redacted>
Fixes: c49643319715 ("powerpc/32s: Only leave NX unset on segments used for modules")
Thanks, that fixes the crash.
Tested-by: Andreas Schwab <redacted>
Andreas.
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1
"And now for something completely different."