UPSTREAM: kasan, slub: handle pointer tags in early_kmem_cache_node_alloc
(Upstream commit 12b22386998ccf97497a49c88f9579cf9c0dee55). The previous patch updated KASAN hooks signatures and their usage in SLAB and SLUB code, except for the early_kmem_cache_node_alloc function. This patch handles that function separately, as it requires to reorder some of the initialization code to correctly propagate a tagged pointer in case a tag is assigned by kasan_kmalloc. Link: http://lkml.kernel.org/r/fc8d0fdcf733a7a52e8d0daaa650f4736a57de8c.1544099024.git.andreyknvl@google.com Signed-off-by: Andrey Konovalov <andreyknvl@google.com> Cc: Andrey Ryabinin <aryabinin@virtuozzo.com> Cc: Christoph Lameter <cl@linux.com> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Andrey Konovalov <andreyknvl@google.com> Bug: 128674696 Change-Id: Ifcfcd2a679ebf9444a1c6525ad55b3a65a4a5941
This commit is contained in:
parent
0697e14f31
commit
9938c593b5
1 changed files with 5 additions and 5 deletions
10
mm/slub.c
10
mm/slub.c
|
@ -3360,16 +3360,16 @@ static void early_kmem_cache_node_alloc(int node)
|
|||
|
||||
n = page->freelist;
|
||||
BUG_ON(!n);
|
||||
page->freelist = get_freepointer(kmem_cache_node, n);
|
||||
page->inuse = 1;
|
||||
page->frozen = 0;
|
||||
kmem_cache_node->node[node] = n;
|
||||
#ifdef CONFIG_SLUB_DEBUG
|
||||
init_object(kmem_cache_node, n, SLUB_RED_ACTIVE);
|
||||
init_tracking(kmem_cache_node, n);
|
||||
#endif
|
||||
kasan_kmalloc(kmem_cache_node, n, sizeof(struct kmem_cache_node),
|
||||
n = kasan_kmalloc(kmem_cache_node, n, sizeof(struct kmem_cache_node),
|
||||
GFP_KERNEL);
|
||||
page->freelist = get_freepointer(kmem_cache_node, n);
|
||||
page->inuse = 1;
|
||||
page->frozen = 0;
|
||||
kmem_cache_node->node[node] = n;
|
||||
init_kmem_cache_node(n);
|
||||
inc_slabs_node(kmem_cache_node, node, page->objects);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue