On Tue, Sep 03, 2024 at 11:18:48AM +0800, Tang, Feng wrote: > On Mon, Sep 02, 2024 at 10:56:57AM +0200, Vlastimil Babka wrote: [...] > > > If we really want to make [37, 48] to be zeroed too, we can lift the > > > get_orig_size() from slub.c to slab_common.c and use it as the start > > > of zeroing in krealloc(). > > > > Or maybe just move krealloc() to mm/slub.c so there are no unnecessary calls > > between the files. > > > > We should also set a new orig_size in cases we are shrinking or enlarging > > within same object (i.e. 48->40 or 48->64). In case of shrinking, we also > > might need to redzone the shrinked area (i.e. [40, 48]) or later checks will > > fail. But if the current object is from kfence, then probably not do any of > > this... sigh this gets complicated. And really we need kunit tests for all > > the scenarios :/ > > Good point! will think about and try to implement it to ensure the > orig_size and kmalloc-redzone check setting is kept. I checked this, and as you mentioned, there is some kfence and kasan stuff which needs to be handled to manage the 'orig_size'. As this work depends on patches in both -slab tree and -mm tree, will base it againt linux-next tree and send out the patches for review soon. Thanks, Feng