Messages in this thread | | | From | <> | Subject | [PATCH v6 0/2] kasan: solve redzone overwritten issue at debug | Date | Mon, 5 Jul 2021 18:32:25 +0800 |
| |
From: Yee Lee <yee.lee@mediatek.com>
Issue: In SLUB debug, hwtag kasan_unpoison() would overwrite the redzone in those objects with unaligned size.
The first patch Introduces slub_debug_enable_unlikely() to check the state of debug mode.
The second patch Adds memzero_explict() to separate the initialization for such condition. The new code path is executed about 1.1% during nromal booting process. The penalty is acceptable since it only works in debug mode.
============= Exp: QEMUv5.2(+mte)/SLUB_debug mode code path exec : 941/80854 (1.1%)
Changed since v6: - Move helper instead of introducing a new one.
Changed since v5: - Fix format
Changed since v4: - Introduce slub_debug_enable_unlikly() to check the debug state. - Include "slab.h" and Add slub_debug_enable_unlikly() to lead the condition statement. - Add comment block about this new code path in source code.
Changed since v3: - Apply IS_ENABLED to wrap codes under SLUB debug mode. - Replace memset() by memzero_explict().
---
Marco Elver (1): mm: move helper to check slub_debug_enabled
Yee Lee (1): kasan: Add memzero int for unaligned size at DEBUG
mm/kasan/kasan.h | 12 ++++++++++++ mm/slab.h | 15 +++++++++++---- mm/slub.c | 14 -------------- 3 files changed, 23 insertions(+), 18 deletions(-)
-- 2.18.0
| |