mbox series

[v4,0/2] kasan: solve redzone overwritten issue at debug

Message ID 20210702084538.9436-1-yee.lee@mediatek.com (mailing list archive)
Headers show
Series kasan: solve redzone overwritten issue at debug | expand

Message

Yee Lee (李建誼) July 2, 2021, 8:45 a.m. UTC
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 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().

---

Yee Lee (2):
  mm: introduce helper to check slub_debug_enabled
  kasan: Add memzero int for unaligned size at DEBUG

 mm/kasan/kasan.h | 12 ++++++++++++
 mm/slab.h        | 15 +++++++++++----
 2 files changed, 23 insertions(+), 4 deletions(-)