From mboxrd@z Thu Jan 1 00:00:00 1970 Reply-To: kernel-hardening@lists.openwall.com MIME-Version: 1.0 In-Reply-To: <20160616153339.xvlsnhksqmkeusn4@treble> References: <24279d4009c821de64109055665429fad2a7bff7.1466036668.git.luto@kernel.org> <20160616153339.xvlsnhksqmkeusn4@treble> From: Andy Lutomirski Date: Thu, 16 Jun 2016 10:39:43 -0700 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: [kernel-hardening] Re: [PATCH 04/13] mm: Track NR_KERNEL_STACK in pages instead of number of stacks To: Josh Poimboeuf Cc: Andy Lutomirski , "linux-kernel@vger.kernel.org" , X86 ML , Borislav Petkov , Nadav Amit , Kees Cook , Brian Gerst , "kernel-hardening@lists.openwall.com" , Linus Torvalds , Vladimir Davydov , Johannes Weiner , Michal Hocko , "linux-mm@kvack.org" List-ID: On Thu, Jun 16, 2016 at 8:33 AM, Josh Poimboeuf 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 >> Cc: Johannes Weiner >> Cc: Michal Hocko >> Cc: linux-mm@kvack.org >> Signed-off-by: Andy Lutomirski >> --- >> 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. --Andy