lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45c640f3-9a38-8ed1-634a-8561c34a4a17@codeaurora.org>
Date:   Fri, 22 Jan 2021 09:33:00 +0530
From:   Vijayanand Jitta <vjitta@...eaurora.org>
To:     Minchan Kim <minchan@...nel.org>
Cc:     glider@...gle.com, akpm@...ux-foundation.org,
        dan.j.williams@...el.com, broonie@...nel.org, mhiramat@...nel.org,
        linux-kernel@...r.kernel.org, ylal@...eaurora.org,
        vinmenon@...eaurora.org
Subject: Re: [PATCH v5 2/2] lib: stackdepot: Add support to disable stack
 depot



On 1/22/2021 5:55 AM, Minchan Kim wrote:
> On Mon, Jan 18, 2021 at 03:26:42PM +0530, vjitta@...eaurora.org wrote:
>> From: Vijayanand Jitta <vjitta@...eaurora.org>
>>
>> Add a kernel parameter stack_depot_disable to disable
>> stack depot. So that stack hash table doesn't consume
>> any memory when stack depot is disabled.
> 
> The usecase is CONFIG_PAGE_OWNER without page_owner=on.
> Without this patch, stackdepot will consume the memory
> for the hashtable. By default, it's 8M which is never trivial.
> 
> With this option, in CONFIG_PAGE_OWNER configured system,
> page_owner=off, stack_depot_disable in kernel command line,
> we could save the wasted memory for the hashtable.
> 

Sure, will update the commit text with above details.
>>
>> Signed-off-by: Vinayak Menon <vinmenon@...eaurora.org>
>> Signed-off-by: Vijayanand Jitta <vjitta@...eaurora.org>
> 
> Please also update kernel-parameters.txt.
> 

Sure.
>> ---
>>  include/linux/stackdepot.h |  1 +
>>  init/main.c                |  2 ++
>>  lib/stackdepot.c           | 33 +++++++++++++++++++++++++++++----
>>  3 files changed, 32 insertions(+), 4 deletions(-)
>>
>> diff --git a/include/linux/stackdepot.h b/include/linux/stackdepot.h
>> index 24d49c7..eafd9aa 100644
>> --- a/include/linux/stackdepot.h
>> +++ b/include/linux/stackdepot.h
>> @@ -21,4 +21,5 @@ unsigned int stack_depot_fetch(depot_stack_handle_t handle,
>>  
>>  unsigned int filter_irq_stacks(unsigned long *entries, unsigned int nr_entries);
>>  
>> +int stack_depot_init(void);
>>  #endif
>> diff --git a/init/main.c b/init/main.c
>> index 32b2a8a..8fcf9bb 100644
>> --- a/init/main.c
>> +++ b/init/main.c
>> @@ -98,6 +98,7 @@
>>  #include <linux/mem_encrypt.h>
>>  #include <linux/kcsan.h>
>>  #include <linux/init_syscalls.h>
>> +#include <linux/stackdepot.h>
>>  
>>  #include <asm/io.h>
>>  #include <asm/bugs.h>
>> @@ -827,6 +828,7 @@ static void __init mm_init(void)
>>  	page_ext_init_flatmem();
>>  	init_debug_pagealloc();
>>  	report_meminit();
>> +	stack_depot_init();
>>  	mem_init();
>>  	kmem_cache_init();
>>  	kmemleak_init();
>> diff --git a/lib/stackdepot.c b/lib/stackdepot.c
>> index dff8521..d20e6fd 100644
>> --- a/lib/stackdepot.c
>> +++ b/lib/stackdepot.c
>> @@ -31,6 +31,8 @@
>>  #include <linux/stackdepot.h>
>>  #include <linux/string.h>
>>  #include <linux/types.h>
>> +#include <linux/vmalloc.h>
> 
> Why do we need vmalloc?
> 

Its not needed, will remove it.

> Otherwise, looks good to me.
> Thank you!
> 

Thanks for the review.

Thanks,
Vijay
-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
member of Code Aurora Forum, hosted by The Linux Foundation

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ