[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZuBVI2DXyeZ15lTZ@feng-clx.sh.intel.com>
Date: Tue, 10 Sep 2024 22:18:11 +0800
From: Feng Tang <feng.tang@...el.com>
To: Vlastimil Babka <vbabka@...e.cz>
CC: Andrew Morton <akpm@...ux-foundation.org>, Christoph Lameter
<cl@...ux.com>, Pekka Enberg <penberg@...nel.org>, David Rientjes
<rientjes@...gle.com>, Joonsoo Kim <iamjoonsoo.kim@....com>, Roman Gushchin
<roman.gushchin@...ux.dev>, Hyeonggon Yoo <42.hyeyoo@...il.com>, "Andrey
Konovalov" <andreyknvl@...il.com>, Marco Elver <elver@...gle.com>, Shuah Khan
<skhan@...uxfoundation.org>, David Gow <davidgow@...gle.com>, "Danilo
Krummrich" <dakr@...nel.org>, <linux-mm@...ck.org>,
<kasan-dev@...glegroups.com>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 3/5] mm/slub: Improve redzone check and zeroing for
krealloc()
On Tue, Sep 10, 2024 at 03:15:36PM +0200, Vlastimil Babka wrote:
> On 9/9/24 03:29, Feng Tang wrote:
> > For current krealloc(), one problem is its caller doesn't know what's
> > the actual request size, say the object is 64 bytes kmalloc one, but
>
> It's more accurate to say the caller doesn't pass the old size (it might
> actually know it).
Right!
>
> > the original caller may only requested 48 bytes. And when krealloc()
> > shrinks or grows in the same object, or allocate a new bigger object,
> > it lacks this 'original size' information to do accurate data preserving
> > or zeroing (when __GFP_ZERO is set).
>
> Let's describe the problem specifically by adding:
>
> Thus with slub debug redzone and object tracking enabled, parts of the
> object after krealloc() might contain redzone data instead of zeroes, which
> is violating the __GFP_ZERO guarantees.
Will add it. Thanks for the enhancement!
> > And when some slub debug option is enabled, kmalloc caches do have this
> > 'orig_size' feature. So utilize it to do more accurate data handling,
> > as well as enforce the kmalloc-redzone sanity check.
> >
> > The krealloc() related code is moved from slab_common.c to slub.c for
> > more efficient function calling.
>
> Agreed with Danilo that having the move as separate preparatory patch would
> make review easier.
Yes and will do.
Thanks,
Feng
> Thanks.
>
Powered by blists - more mailing lists