[lkml]   [2021]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH v6 0/2] kasan: solve redzone overwritten issue at debug
From: Yee Lee <>

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

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(-)


 \ /
  Last update: 2021-07-05 12:34    [W:0.049 / U:0.340 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site