Subject: linux-next: manual merge of the mm tree with the slab tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 6 Sep 2022 20:26:44 +1000

Hi all,

Today's linux-next merge of the mm tree got a conflict in:

  mm/slub.c

between commits:

  a0c3b940023e ("mm/slub: move kmalloc_large_node() to slab_common.c")
  d6a71648dbc0 ("mm/slab: kmalloc: pass requests larger than order-1 page to page allocator")

from the slab tree and commit:

  47dd2b0d3e37 ("mm: kmsan: call KMSAN hooks from SLUB code")

from the mm tree.

I fixed it up (I used the former version of this file and applied the
following patch) and can carry the fix as necessary. This is now fixed
as far as linux-next is concerned, but any non trivial conflicts should
be mentioned to your upstream maintainer when your tree is submitted for
merging.  You may also want to consider cooperating with the maintainer
of the conflicting tree to minimise any particularly complex conflicts.

From: Stephen Rothwell <[email-masked]>
Date: Tue, 6 Sep 2022 19:42:49 +1000
Subject: [PATCH] mm/slab: fix up for "mm: kmsan: call KMSAN hooks from SLUB code"

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 mm/slab_common.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/slab_common.c b/mm/slab_common.c
index 6a76c496e7e0..2e28a551b8d3 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -901,6 +901,7 @@ void free_large_kmalloc(struct folio *folio, void *object)
 
 	kmemleak_free(object);
 	kasan_kfree_large(object);
+	kmsan_kfree_large(object);
 
 	mod_lruvec_page_state(folio_page(folio, 0), NR_SLAB_UNRECLAIMABLE_B,
 			      -(PAGE_SIZE << order));
@@ -1078,6 +1079,7 @@ static void *__kmalloc_large_node(size_t size, gfp_t flags, int node)
 	ptr = kasan_kmalloc_large(ptr, size, flags);
 	/* As ptr might get tagged, call kmemleak hook after KASAN. */
 	kmemleak_alloc(ptr, size, 1, flags);
+	kmsan_kmalloc_large(ptr, size, flags);
 
 	return ptr;
 }
-- 
2.35.1

-- 
Cheers,
Stephen Rothwell