On 11/14/2014 08:47 AM, Thomas Gleixner wrote: > On Fri, 14 Nov 2014, Dave Hansen wrote: >> * move mm init-time #ifdef to mpx.h > >> +static inline void arch_bprm_mm_init(struct mm_struct *mm, >> + struct vm_area_struct *vma) >> +{ >> + mpx_mm_init(mm); >> +#ifdef CONFIG_X86_INTEL_MPX >> + mm->bd_addr = MPX_INVALID_BOUNDS_DIR; >> +#endif > > So we have a double init now :) Bah, that kinda defeats the purpose now, doesn't it? :) >> +++ b/arch/x86/kernel/setup.c 2014-11-14 07:06:23.941684394 -0800 >> @@ -959,6 +959,13 @@ void __init setup_arch(char **cmdline_p) >> init_mm.end_code = (unsigned long) _etext; >> init_mm.end_data = (unsigned long) _edata; >> init_mm.brk = _brk_end; >> +#ifdef CONFIG_X86_INTEL_MPX >> + /* >> + * NULL is theoretically a valid place to put the bounds >> + * directory, so point this at an invalid address. >> + */ >> + init_mm.bd_addr = MPX_INVALID_BOUNDS_DIR; >> +#endif > > And this one wants mpx_mm_init() replacement as well. Rather than reposting the whole set, attached is a quick redo of the changes to just this patch. If anyone wants the whole thing resent, or this one in another format, please holler.