On Tue, 17 Feb 2015, Borislav Petkov wrote: > > Commit e2b32e678 ("x86, kaslr: randomize module base load address") makes > > the base address for module to be unconditionally randomized in case when > > CONFIG_RANDOMIZE_BASE is defined and "nokaslr" option isn't present on the > > commandline. > > > > This is not consistent with how choose_kernel_location() decides whether > > it will randomize kernel load base. > > > > Namely, CONFIG_HIBERNATION disables kASLR (unless "kaslr" option is > > explicitly specified on kernel commandline), which makes the state space > > larger than what module loader is looking at. IOW CONFIG_HIBERNATION && > > CONFIG_RANDOMIZE_BASE is a valid config option, kASLR wouldn't be applied > > by default in that case, but module loader is not aware of that. > > > > Instead of fixing the logic in module.c, this patch takes more generic > > aproach. It introduces a new bootparam setup data_type SETUP_KASLR and > > uses that to pass the information whether kaslr has been applied during > > kernel decompression, and sets a global 'kaslr_enabled' variable > > accordingly, so that any kernel code (module loading, livepatching, ...) > > can make decisions based on its value. > > > > x86 module loader is converted to make use of this flag. > > > > Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> > > --- > > > > v1 -> v2: > > > > Originally I just calculated the fact on the fly from difference between > > __START_KERNEL and &text, but Kees correctly pointed out that this doesn't > > properly catch the case when the offset is randomized to zero. I don't see > > Yeah, about that. I think we want to do the thing in addition so that > we don't have the misleading "Kernel Offset:..." line in splats in case > kaslr is off. > > Right? I don't have strong feelings either way. It seems slightly nicer to have a predictable oops output format no matter the CONFIG_ options and command-line contents, but if you feel like seeing the 'Kernel offset: 0' in 'nokaslr' and !CONFIG_RANDOMIZE_BASE cases is unnecessary noise, feel free to make this change to my patch. Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>