linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4 v3] Add KFENCE support for LoongArch
@ 2023-08-01  2:58 Enze Li
  2023-08-01  2:58 ` [PATCH 1/4 v3] KFENCE: Defer the assignment of the local variable addr Enze Li
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Enze Li @ 2023-08-01  2:58 UTC (permalink / raw)
  To: chenhuacai, kernel, loongarch, glider, elver, akpm, kasan-dev, linux-mm
  Cc: zhangqing, yangtiezhu, dvyukov, Enze Li

Hi all,

This patchset adds KFENCE support on LoongArch.

To run the testcases, you will need to enable the following options,

-> Kernel hacking
   [*] Tracers
       [*] Support for tracing block IO actions (NEW)
   -> Kernel Testing and Coverage
      <*> KUnit - Enable support for unit tests

and then,

-> Kernel hacking
   -> Memory Debugging
      [*] KFENCE: low-overhead sampling-based memory safety error detector (NEW)
          <*> KFENCE integration test suite (NEW)

With these options enabled, KFENCE will be tested during kernel startup.
And normally, you might get the following feedback,

========================================================
[   35.326363 ] # kfence: pass:23 fail:0 skip:2 total:25
[   35.326486 ] # Totals: pass:23 fail:0 skip:2 total:25
[   35.326621 ] ok 1 kfence
========================================================

you might notice that 2 testcases have been skipped.  If you tend to run
all testcases, please enable CONFIG_INIT_ON_FREE_DEFAULT_ON, you can
find it here,

-> Security options
   -> Kernel hardening options
      -> Memory initialization
         [*] Enable heap memory zeroing on free by default

and you might get all testcases passed.
========================================================
[   35.531860 ] # kfence: pass:25 fail:0 skip:0 total:25
[   35.531999 ] # Totals: pass:25 fail:0 skip:0 total:25
[   35.532135 ] ok 1 kfence
========================================================

v3:
   * Address Huacai's comments.
   * Fix a bug that Jackie Liu pointed out.
   * Rewrite arch_stack_walk() with the suggestion of Jinyang He.

v2:
   * Address Huacai's comments.
   * Fix typos in commit message.

Thanks,
Enze

Enze Li (4):
  KFENCE: Defer the assignment of the local variable addr
  LoongArch: mm: Add page table mapped mode support
  LoongArch: Get stack without NMI when providing regs parameter
  LoongArch: Add KFENCE support

 arch/loongarch/Kconfig               |  1 +
 arch/loongarch/include/asm/kfence.h  | 66 ++++++++++++++++++++++++++++
 arch/loongarch/include/asm/page.h    |  8 +++-
 arch/loongarch/include/asm/pgtable.h | 16 ++++++-
 arch/loongarch/kernel/stacktrace.c   | 18 ++++----
 arch/loongarch/mm/fault.c            | 22 ++++++----
 arch/loongarch/mm/pgtable.c          |  7 +++
 mm/kfence/core.c                     |  5 ++-
 8 files changed, 123 insertions(+), 20 deletions(-)
 create mode 100644 arch/loongarch/include/asm/kfence.h

-- 
2.34.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-08-03  8:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-01  2:58 [PATCH 0/4 v3] Add KFENCE support for LoongArch Enze Li
2023-08-01  2:58 ` [PATCH 1/4 v3] KFENCE: Defer the assignment of the local variable addr Enze Li
2023-08-01  2:58 ` [PATCH 2/4 v3] LoongArch: mm: Add page table mapped mode support Enze Li
2023-08-01  2:58 ` [PATCH 3/4 v3] LoongArch: Get stack without NMI when providing regs parameter Enze Li
2023-08-01  2:58 ` [PATCH 4/4 v3] LoongArch: Add KFENCE support Enze Li
2023-08-02 15:12 ` [PATCH 0/4 v3] Add KFENCE support for LoongArch Huacai Chen
2023-08-03  8:05   ` Enze Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox