Re: linux-next: duplicate patches in the slab tree

Vlastimil Babka
2024-09-09T08:32:09Z

On 9/9/24 10:10, Stephen Rothwell wrote:
> Hi all,
>
> On Mon, 9 Sep 2024 17:12:20 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>>
>> The following commits are also in the vfs-brauner tree as different
>> commits (but the same patches):
>>
>> c0390d541128 ("fs: pack struct file")
>> ea566e18b4de ("fs: use kmem_cache_create_rcu()")
>> d345bd2e9834 ("mm: add kmem_cache_create_rcu()")
>> e446f18e98e8 ("mm: remove unused argument from create_cache()")
>> 0f389adb4b80 ("mm: Removed @freeptr_offset to prevent doc warning")
>>
>> These are commits
>>
>> f2b8943e64a8 ("fs: pack struct file")
>> d1e381aa30cb ("fs: use kmem_cache_create_rcu()")
>> ba8108d69e5b ("mm: add kmem_cache_create_rcu()")
>> a85ba9858175 ("mm: remove unused argument from create_cache()")
>> 6e016babce7c ("mm: Removed @freeptr_offset to prevent doc warning")
>>
>> in the vfs-brauner tree.
>>
>> These duplicates are causing unnecessary comflicts ...
>
> So, maybe my merge resolutions were not sufficient, because that then
> failed to build (powerpc ppc64_defconfig):
>
> mm/slab_common.c: In function 'create_cache':
> mm/slab_common.c:238:13: error: 'freeptr_offset' undeclared (first use in this function); did you mean 'freeptr_t'?
> 238 | if (freeptr_offset != UINT_MAX &&
> | ^~~~~~~~~~~~~~
> | freeptr_t
> mm/slab_common.c:238:13: note: each undeclared identifier is reported only once for each function it appears in
> mm/slab_common.c: At top level:
> mm/slab_common.c:389:20: warning: no previous prototype for 'kmem_cache_create_rcu' [-Wmissing-prototypes]
> 389 | struct kmem_cache *kmem_cache_create_rcu(const char *name, unsigned int size,
> | ^~~~~~~~~~~~~~~~~~~~~
> mm/slab_common.c: In function 'kmem_cache_create_rcu':
> mm/slab_common.c:393:16: error: implicit declaration of function 'do_kmem_cache_create_usercopy'; did you mean 'kmem_cache_create_usercopy'? [-Wimplicit-function-declaration]
> 393 | return do_kmem_cache_create_usercopy(name, size, freeptr_offset, 0,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | kmem_cache_create_usercopy
> mm/slab_common.c:393:16: error: returning 'int' from a function with return type 'struct kmem_cache *' makes pointer from integer without a cast [-Wint-conversion]
> 393 | return do_kmem_cache_create_usercopy(name, size, freeptr_offset, 0,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 394 | flags | SLAB_TYPESAFE_BY_RCU, 0, 0,
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 395 | NULL);
> | ~~~~~
>
> So I used the slab tree from next-20240906 for today in the hope that
> the duplications will be taken care of and the whole things becomes
> clearer.

I'm confused how did that help if slab tree didn't change since 20240906 and
the commit ids meanwhile changed on the vfs side?