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 <sch...@linux-m68k.org> > Signed-off-by: Christophe Leroy <christophe.le...@csgroup.eu> > Fixes: c49643319715 ("powerpc/32s: Only leave NX unset on segments used for > modules")
Thanks, that fixes the crash. Tested-by: Andreas Schwab <sch...@linux-m68k.org> Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."