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

From: Stephen Rothwell <[email-masked]>
Date: Mon, 9 Sep 2024 18:10:35 +1000

Hi all,

On Mon, 9 Sep 2024 17:12:20 +1000 Stephen Rothwell <[email-masked]> 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.
-- 
Cheers,
Stephen Rothwell