Luis Chamberlain <mcgrof@xxxxxxxxxx> writes: > On Thu, Jan 27, 2022 at 11:28:12AM +0000, Christophe Leroy wrote: >> book3s/32 and 8xx have a separate area for allocating modules, >> defined by MODULES_VADDR / MODULES_END. >> >> On book3s/32, it is not possible to protect against execution >> on a page basis. A full 256M segment is either Exec or NoExec. >> The module area is in an Exec segment while vmalloc area is >> in a NoExec segment. >> >> In order to protect module data against execution, select >> ARCH_WANTS_MODULES_DATA_IN_VMALLOC. >> >> For the 8xx (and possibly other 32 bits platform in the future), >> there is no such constraint on Exec/NoExec protection, however >> there is a critical distance between kernel functions and callers >> that needs to remain below 32Mbytes in order to avoid costly >> trampolines. By allocating data outside of module area, we >> increase the chance for module text to remain within acceptable >> distance from kernel core text. >> >> So select ARCH_WANTS_MODULES_DATA_IN_VMALLOC for 8xx as well. >> >> Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx> >> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> >> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> >> Cc: Paul Mackerras <paulus@xxxxxxxxx> > > Cc list first and then the SOB. Just delete the Cc: list, it's meaningless. cheers