On Thu, Apr 16, 2020 at 09:12:35AM -0700, Sami Tolvanen wrote: > This change adds accounting for the memory allocated for shadow stacks. > > Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx> > Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> > --- > drivers/base/node.c | 6 ++++++ > fs/proc/meminfo.c | 4 ++++ > include/linux/mmzone.h | 3 +++ > kernel/scs.c | 20 ++++++++++++++++++++ > mm/page_alloc.c | 6 ++++++ > mm/vmstat.c | 3 +++ > 6 files changed, 42 insertions(+) > > diff --git a/drivers/base/node.c b/drivers/base/node.c > index 10d7e818e118..502ab5447c8d 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 Why not just use KB everywhere instead of repeated division by 1024? Will