]> git.baikalelectronics.ru Git - kernel.git/commit
kasan, slub: fix conflicts with CONFIG_SLAB_FREELIST_HARDENED
authorAndrey Konovalov <andreyknvl@google.com>
Thu, 21 Feb 2019 06:19:28 +0000 (22:19 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 21 Feb 2019 17:01:00 +0000 (09:01 -0800)
commitfbf8a86e6961b63ee505bea21b89c852f5da83be
tree5bf9bf113ab2878a17ac1135e271fd5c58a1ce21
parent16de02bf1496e579fc7683b6952553782b12aa4e
kasan, slub: fix conflicts with CONFIG_SLAB_FREELIST_HARDENED

CONFIG_SLAB_FREELIST_HARDENED hashes freelist pointer with the address of
the object where the pointer gets stored.  With tag based KASAN we don't
account for that when building freelist, as we call set_freepointer() with
the first argument untagged.  This patch changes the code to properly
propagate tags throughout the loop.

Link: http://lkml.kernel.org/r/3df171559c52201376f246bf7ce3184fe21c1dc7.1549921721.git.andreyknvl@google.com
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Reported-by: Qian Cai <cai@lca.pw>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Kostya Serebryany <kcc@google.com>
Cc: Evgeniy Stepanov <eugenis@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/slub.c