Michael Ellerman's on February 5, 2019 9:32 pm: > From: Christophe Leroy <christophe.le...@c-s.fr> > > This patch activates CONFIG_THREAD_INFO_IN_TASK which > moves the thread_info into task_struct. > > Moving thread_info into task_struct has the following advantages: > - It protects thread_info from corruption in the case of stack > overflows. > - Its address is harder to determine if stack addresses are leaked, > making a number of attacks more difficult. > > This has the following consequences: > - thread_info is now located at the beginning of task_struct. > - The 'cpu' field is now in task_struct, and only exists when > CONFIG_SMP is active. > - thread_info doesn't have anymore the 'task' field. > > This patch: > - Removes all recopy of thread_info struct when the stack changes. > - Changes the CURRENT_THREAD_INFO() macro to point to current. > - Selects CONFIG_THREAD_INFO_IN_TASK. > - Modifies raw_smp_processor_id() to get ->cpu from current without > including linux/sched.h to avoid circular inclusion and without > including asm/asm-offsets.h to avoid symbol names duplication > between ASM constants and C constants. > - Modifies klp_init_thread_info() to take a task_struct pointer > argument. > > Signed-off-by: Christophe Leroy <christophe.le...@c-s.fr> > Reviewed-by: Nicholas Piggin <npig...@gmail.com> > [mpe: Add task_stack.h to livepatch.h to fix build fails] > Signed-off-by: Michael Ellerman <m...@ellerman.id.au> > ---
Nothing stands out here since my last review that I can see. raw_smp_processor_id change is for 32-bit only, of course. Thanks, Nick