Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp3934074ybx; Mon, 4 Nov 2019 05:14:55 -0800 (PST) X-Google-Smtp-Source: APXvYqzClJgkEci+yhCJarYzjCjjmdI5eHdbwToB74AnNtsx9GP7YGDpLyRGLToibYH8yvoDgHsa X-Received: by 2002:a17:906:66d2:: with SMTP id k18mr23468455ejp.278.1572873295119; Mon, 04 Nov 2019 05:14:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1572873295; cv=none; d=google.com; s=arc-20160816; b=ErW+f2u0QJqMaj2HAvPvwKMNTgUpKUE2SbfdFfI9d+jw6yeYUZaTHNIrLQNW3Yo3L/ sKl04GB4QBSuGbxbyDZAdh5LpZFue5IaOYFZSfOzvPY1oOz/oiX1OqJ5e23jf3ar/a/B Yb+DahAus8OKHhuQ8PwnICewBBsIVs8K/RK53MDhVTB75POV6+xBc/va7V0df5rI0f46 v712zVuYaxmUnJiQ0c8vl4nGGoe9H9Au/KcB3LT2sLFfUw7xaIWPc38d5V2ZVyEeLigR m/cPVy5wU5QhtxzF2tyfNXkyBJ7L2cPhcLYca/R9GI1uTSOY4C7/6UqAgFeTRRC63oqw ZBQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:cc:from:date:content-transfer-encoding:mime-version :subject:to; bh=InNramGLUEvPW10TBcfa9CaaHsCZ4VZTevg8qFcrDLo=; b=j6zNn0gIa2sBn3WwQcaoaNymQDON3/4PDGq/jd4vy03MO7/6Qm46CI7ibhsKewDzAE OamazV59z5IZOVFAsJBBbFPM6xqbNMk3WfHplcO7dvRRvBYIeX7Jzmw3UX7B2/87nNMq ndEzx2YQUddnQMRLqP3hd2Fx7rimozfzOHGgQ1NRQzPsUDI8HRPRdqLWROPq3Nk2kmae u3uhW3fwlOlKms5KtKPmCVOqMkcoKYcAnYtW1Zl/OjztCLJvRdViZB5MNjsH2yzcxpWk 2Y3m8Dq/pufMSckMbCa4naDwwcWASQWmPPG8YFjTUPkavkIwFWGSeyZNCwx9oDNnsBge 6F/g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e11si11414113eje.376.2019.11.04.05.14.32; Mon, 04 Nov 2019 05:14:55 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729092AbfKDNN3 (ORCPT + 99 others); Mon, 4 Nov 2019 08:13:29 -0500 Received: from inca-roads.misterjones.org ([213.251.177.50]:46687 "EHLO inca-roads.misterjones.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728188AbfKDNN2 (ORCPT ); Mon, 4 Nov 2019 08:13:28 -0500 Received: from www-data by cheepnis.misterjones.org with local (Exim 4.80) (envelope-from ) id 1iRcAF-00051p-2q; Mon, 04 Nov 2019 14:12:59 +0100 To: Sami Tolvanen Subject: Re: [PATCH v4 06/17] scs: add accounting X-PHP-Originating-Script: 0:main.inc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 04 Nov 2019 14:22:19 +0109 From: Marc Zyngier Cc: Will Deacon , Catalin Marinas , Steven Rostedt , Masami Hiramatsu , Ard Biesheuvel , Dave Martin , Kees Cook , Laura Abbott , Mark Rutland , Nick Desaulniers , Jann Horn , Miguel Ojeda , Masahiro Yamada , , , , In-Reply-To: <20191101221150.116536-7-samitolvanen@google.com> References: <20191018161033.261971-1-samitolvanen@google.com> <20191101221150.116536-1-samitolvanen@google.com> <20191101221150.116536-7-samitolvanen@google.com> Message-ID: <791fc70f7bcaf13a89abaee9aae52dfe@www.loen.fr> X-Sender: maz@kernel.org User-Agent: Roundcube Webmail/0.7.2 X-SA-Exim-Connect-IP: X-SA-Exim-Rcpt-To: samitolvanen@google.com, will@kernel.org, catalin.marinas@arm.com, rostedt@goodmis.org, mhiramat@kernel.org, ard.biesheuvel@linaro.org, dave.martin@arm.com, keescook@chromium.org, labbott@redhat.com, mark.rutland@arm.com, ndesaulniers@google.com, jannh@google.com, miguel.ojeda.sandonis@gmail.com, yamada.masahiro@socionext.com, clang-built-linux@googlegroups.com, kernel-hardening@lists.openwall.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on cheepnis.misterjones.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019-11-01 23:21, Sami Tolvanen wrote: > This change adds accounting for the memory allocated for shadow > stacks. > > Signed-off-by: Sami Tolvanen > Reviewed-by: Kees Cook > --- > drivers/base/node.c | 6 ++++++ > fs/proc/meminfo.c | 4 ++++ > include/linux/mmzone.h | 3 +++ > kernel/scs.c | 19 +++++++++++++++++++ > mm/page_alloc.c | 6 ++++++ > mm/vmstat.c | 3 +++ > 6 files changed, 41 insertions(+) > > diff --git a/drivers/base/node.c b/drivers/base/node.c > index 296546ffed6c..111e58ec231e 100644 > --- a/drivers/base/node.c > +++ b/drivers/base/node.c > @@ -415,6 +415,9 @@ static ssize_t node_read_meminfo(struct device > *dev, > "Node %d AnonPages: %8lu kB\n" > "Node %d Shmem: %8lu kB\n" > "Node %d KernelStack: %8lu kB\n" > +#ifdef CONFIG_SHADOW_CALL_STACK > + "Node %d ShadowCallStack:%8lu kB\n" > +#endif > "Node %d PageTables: %8lu kB\n" > "Node %d NFS_Unstable: %8lu kB\n" > "Node %d Bounce: %8lu kB\n" > @@ -438,6 +441,9 @@ static ssize_t node_read_meminfo(struct device > *dev, > nid, K(node_page_state(pgdat, NR_ANON_MAPPED)), > nid, K(i.sharedram), > nid, sum_zone_node_page_state(nid, NR_KERNEL_STACK_KB), > +#ifdef CONFIG_SHADOW_CALL_STACK > + nid, sum_zone_node_page_state(nid, NR_KERNEL_SCS_BYTES) / > 1024, > +#endif > nid, K(sum_zone_node_page_state(nid, NR_PAGETABLE)), > nid, K(node_page_state(pgdat, NR_UNSTABLE_NFS)), > nid, K(sum_zone_node_page_state(nid, NR_BOUNCE)), > diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c > index 8c1f1bb1a5ce..49768005a79e 100644 > --- a/fs/proc/meminfo.c > +++ b/fs/proc/meminfo.c > @@ -103,6 +103,10 @@ static int meminfo_proc_show(struct seq_file *m, > void *v) > show_val_kb(m, "SUnreclaim: ", sunreclaim); > seq_printf(m, "KernelStack: %8lu kB\n", > global_zone_page_state(NR_KERNEL_STACK_KB)); > +#ifdef CONFIG_SHADOW_CALL_STACK > + seq_printf(m, "ShadowCallStack:%8lu kB\n", > + global_zone_page_state(NR_KERNEL_SCS_BYTES) / 1024); > +#endif > show_val_kb(m, "PageTables: ", > global_zone_page_state(NR_PAGETABLE)); > > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index bda20282746b..fcb8c1708f9e 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -200,6 +200,9 @@ enum zone_stat_item { > NR_MLOCK, /* mlock()ed pages found and moved off LRU */ > NR_PAGETABLE, /* used for pagetables */ > NR_KERNEL_STACK_KB, /* measured in KiB */ > +#if IS_ENABLED(CONFIG_SHADOW_CALL_STACK) Is there any reason why you're not consistently using only one of "#if IS_ENABLED(...)" or "#ifdef ...", but instead a mix of both? Thanks, M. -- Jazz is not dead. It just smells funny...