On Thu, Jun 16, 2016 at 10:39:43AM -0700, Andy Lutomirski wrote: > On Thu, Jun 16, 2016 at 8:33 AM, Josh Poimboeuf <[email protected]> wrote: > > On Wed, Jun 15, 2016 at 05:28:26PM -0700, Andy Lutomirski wrote: > >> Currently, NR_KERNEL_STACK tracks the number of kernel stacks in a > >> zone. This only makes sense if each kernel stack exists entirely in > >> one zone, and allowing vmapped stacks could break this assumption. > >> > >> It turns out that the code for tracking kernel stack allocations in > >> units of pages is slightly simpler, so just switch to counting > >> pages. > >> > >> Cc: Vladimir Davydov <[email protected]> > >> Cc: Johannes Weiner <[email protected]> > >> Cc: Michal Hocko <[email protected]> > >> Cc: [email protected] > >> Signed-off-by: Andy Lutomirski <[email protected]> > >> --- > >> fs/proc/meminfo.c | 2 +- > >> kernel/fork.c | 3 ++- > >> mm/page_alloc.c | 3 +-- > >> 3 files changed, 4 insertions(+), 4 deletions(-) > > > > You missed another usage of NR_KERNEL_STACK in drivers/base/node.c. > > Thanks. > > The real reason I cc'd you was so you could look at > rewind_stack_do_exit and the sneaky trick I did in no_context in the > last patch, though. :) Both survive objtool, but I figured I'd check > with objtool's author as well. If there was a taint bit I could set > saying "kernel is hosed -- don't try to apply live patches any more", > I'd have extra confidence.
I think it all looks fine from an objtool and a live patching standpoint. Other than my previous comment about setting the stack pointer correctly before calling do_exit(), I didn't see anything else which would mess up the stack of a sleeping task, which is all I really care about. -- Josh

