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: <7af1d3d8-2d51-40a8-8021-0141e4bf1a0e@paulmck-laptop>
Date:   Fri, 4 Aug 2023 10:31:07 -0700
From:   "Paul E. McKenney" <paulmck@...nel.org>
To:     thunder.leizhen@...weicloud.com
Cc:     Petr Mladek <pmladek@...e.com>,
        Sergey Senozhatsky <senozhatsky@...omium.org>,
        Steven Rostedt <rostedt@...dmis.org>,
        John Ogness <john.ogness@...utronix.de>,
        Christoph Lameter <cl@...ux.com>,
        Pekka Enberg <penberg@...nel.org>,
        David Rientjes <rientjes@...gle.com>,
        Joonsoo Kim <iamjoonsoo.kim@....com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Vlastimil Babka <vbabka@...e.cz>,
        Roman Gushchin <roman.gushchin@...ux.dev>,
        Hyeonggon Yoo <42.hyeyoo@...il.com>, linux-mm@...ck.org,
        Frederic Weisbecker <frederic@...nel.org>,
        Neeraj Upadhyay <quic_neeraju@...cinc.com>,
        Joel Fernandes <joel@...lfernandes.org>,
        Josh Triplett <josh@...htriplett.org>,
        Boqun Feng <boqun.feng@...il.com>,
        Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
        Lai Jiangshan <jiangshanlai@...il.com>,
        Zqiang <qiang.zhang1211@...il.com>, rcu@...r.kernel.org,
        linux-kernel@...r.kernel.org, Zhen Lei <thunder.leizhen@...wei.com>
Subject: Re: [PATCH v6 0/5] rcu: Dump memory object info if callback function
 is invalid

On Fri, Aug 04, 2023 at 05:11:30PM +0800, thunder.leizhen@...weicloud.com wrote:
> From: Zhen Lei <thunder.leizhen@...wei.com>
> 
> v5 --> v6:
> 1. Use print_hex_dump() to dump the memory of slab object.
> 2. Add a new dump prefix DUMP_PREFIX_ADDRESS_LOW16
> 3. Minimize the output width of the offset
> 
> v4 --> v5:
> 1. Add Reviewed-by Acked-by for patch 1/3
> 2. Add patch 3/3:
>    mm: Dump the memory of slab object in kmem_dump_obj()
> 
> v3 --> v4:
> 1. Remove kmem_valid_obj() and convert kmem_dump_obj() to work the same way
>    as vmalloc_dump_obj().
> 2. In kernel/rcu/rcu.h
> -#include <linux/mm.h>
> +#include <linux/slab.h>
> 
> v2 --> v3:
> 1. I made statistics about the source of 'rhp'. kmem_valid_obj() accounts for
>    more than 97.5%, and vmalloc accounts for less than 1%. So change call
>    mem_dump_obj() to call kmem_dump_obj() can meet debugging requirements and
>    avoid the potential deadlock risk of vmalloc_dump_obj().
> -		mem_dump_obj(rhp);
> +		if (kmem_valid_obj(rhp))
> +			kmem_dump_obj(rhp);
> 
>    The discussion about vmap_area_lock deadlock in v2:
>    https://lkml.org/lkml/2022/11/11/493
> 
> 2. Provide static inline empty functions for kmem_valid_obj() and kmem_dump_obj()
>    when CONFIG_PRINTK=n.
> 
> v1 --> v2:
> 1. Remove condition "(unsigned long)rhp->func & 0x3", it have problems on x86.
> 2. Paul E. McKenney helped me update the commit message, thanks.

I would be happy to take the patch that Matthew and Vlastimil are happy
with, and also the one against RCU.  But unless you tell me otherwise,
I will assume that you would prefer me to wait until the entire series
is ready.  The best way to tell me otherwise is of course to resend just
those two patches in their own series.  ;-)

							Thanx, Paul

> Zhen Lei (5):
>   hexdump: add a new dump prefix DUMP_PREFIX_ADDRESS_LOW16
>   hexdump: minimize the output width of the offset
>   mm: Remove kmem_valid_obj()
>   mm: Dump the memory of slab object in kmem_dump_obj()
>   rcu: Dump memory object info if callback function is invalid
> 
>  include/linux/printk.h |  1 +
>  include/linux/slab.h   |  5 ++--
>  kernel/rcu/rcu.h       |  7 +++++
>  kernel/rcu/srcutiny.c  |  1 +
>  kernel/rcu/srcutree.c  |  1 +
>  kernel/rcu/tasks.h     |  1 +
>  kernel/rcu/tiny.c      |  1 +
>  kernel/rcu/tree.c      |  1 +
>  lib/hexdump.c          | 17 +++++++++--
>  mm/slab_common.c       | 68 ++++++++++++++++++++++--------------------
>  mm/util.c              |  4 +--
>  11 files changed, 67 insertions(+), 40 deletions(-)
> 
> -- 
> 2.34.1
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ