Re: [PATCH 0/4 v3] Add KFENCE support for LoongArch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 02 2023 at 11:12:23 PM +0800, Huacai Chen wrote:

> Hi, Enze,
>
> I applied this series (with some small modifications) together with KASAN at:
> https://github.com/chenhuacai/linux/commits/loongarch-next
>
> Please confirm everything works well for you.

Hi Huacai,

Thanks for your patience these days.

I've tested this on both a physical machine and a qemu VM.  It works
well.

BTW, if there're any modifications, bugs or improvments to KFENCE on
LoongArch in the future, feel free to Cc me.  I'll appreciate it. :)

Best Regards,
Enze

>
> Huacai
>
> On Tue, Aug 1, 2023 at 10:59 AM Enze Li <lienze@xxxxxxxxxx> wrote:
>>
>> 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
>>





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux