1.【需求描述】: 支持内核态和用户态堆内存非法访问检测,包括:越界访问、double free、释放后使用;支持libc常用高频函数内存检测;支持安全函数内存检测;读写检测可配可裁剪。 2.【方案描述】: L0 ~ L1: (1).影子内存映射与标记 (2).编译器使能-fsanitize=kernel-address 自动插桩检测点 (3).实时校验影子内存的合法性; (4).错误访问打印回溯栈 BREAKING CHANGE: 新增支持API: LOS_LmsCheckPoolAdd使能检测指定内存池 LOS_LmsCheckPoolDel不检测指定内存池 LOS_LmsAddrProtect为指定内存段上锁,不允许访问 LOS_LmsAddrDisableProtect去能指定内存段的访问保护 Close #I4HYAV Signed-off-by: LiteOS2021 <dinglu@huawei.com> Change-Id: Id8e5c890656da9edc4a22227e6a3c32205c024ce
104 lines
2.8 KiB
Plaintext
104 lines
2.8 KiB
Plaintext
config KERNEL_EXTKERNEL
|
|
bool "Enable Extend Kernel"
|
|
default y
|
|
help
|
|
This option will enable extend Kernel of LiteOS. Extend kernel include
|
|
cppsupport, cpup, and dynload. You can select one or some
|
|
of them.
|
|
|
|
config KERNEL_CPPSUPPORT
|
|
bool "Enable C++ Support"
|
|
default y
|
|
depends on KERNEL_EXTKERNEL
|
|
help
|
|
If you wish to build LiteOS with support for C++.
|
|
|
|
config KERNEL_CPUP
|
|
bool "Enable Cpup"
|
|
default y
|
|
depends on KERNEL_EXTKERNEL
|
|
help
|
|
If you wish to build LiteOS with support for cpup.
|
|
|
|
config CPUP_INCLUDE_IRQ
|
|
bool "Enable Cpup include irq"
|
|
default y
|
|
depends on KERNEL_CPUP
|
|
help
|
|
If you wish to include irq usage for cpup.
|
|
|
|
config KERNEL_DYNLOAD
|
|
bool "Enable Dynamic Load Feature"
|
|
default y
|
|
depends on KERNEL_EXTKERNEL && KERNEL_VM && KERNEL_SYSCALL
|
|
help
|
|
If you wish to build LiteOS with support for dynamic load.
|
|
|
|
config ASLR
|
|
bool "Enable Address Space Layout Randomization"
|
|
default n
|
|
depends on KERNEL_DYNLOAD && HW_RANDOM_ENABLE
|
|
help
|
|
If you wish to enable ASLR for user aspace.
|
|
|
|
config KERNEL_PM
|
|
bool "Enable Power Management"
|
|
default y
|
|
depends on KERNEL_EXTKERNEL
|
|
help
|
|
If you wish to build LiteOS with support for power management.
|
|
|
|
config KERNEL_VDSO
|
|
bool "Enable VDSO Feature"
|
|
default n
|
|
depends on KERNEL_EXTKERNEL && KERNEL_VM && KERNEL_SYSCALL
|
|
help
|
|
If you wish to speed up some system calls.
|
|
|
|
config KERNEL_SHM
|
|
bool "Enable Shared Memory"
|
|
default y
|
|
depends on KERNEL_EXTKERNEL && KERNEL_VM && KERNEL_SYSCALL
|
|
help
|
|
Answer Y to enable LiteOS support shared memory.
|
|
|
|
config KERNEL_LITEIPC
|
|
bool "Enable liteipc"
|
|
default y
|
|
depends on KERNEL_EXTKERNEL && KERNEL_VM
|
|
help
|
|
Answer Y to enable LiteOS support liteipc.
|
|
|
|
config KERNEL_PIPE
|
|
bool "Enable pipes"
|
|
default y
|
|
depends on KERNEL_EXTKERNEL
|
|
help
|
|
Answer Y to enable LiteOS support pipes.
|
|
|
|
config BASE_CORE_HILOG
|
|
bool "Enable Hilog"
|
|
default y
|
|
depends on KERNEL_EXTKERNEL
|
|
help
|
|
If you wish to include hilog.
|
|
|
|
config KERNEL_HOOK
|
|
bool "Enable Hook Feature"
|
|
default n
|
|
depends on KERNEL_EXTKERNEL && DEBUG_VERSION
|
|
|
|
######################### config options of trace #########################
|
|
source "kernel/extended/trace/Kconfig"
|
|
|
|
######################### config options of blackbox #########################
|
|
source "kernel/extended/blackbox/Kconfig"
|
|
|
|
######################### config options of hidumper #########################
|
|
source "kernel/extended/hidumper/Kconfig"
|
|
|
|
######################### config options of perf #########################
|
|
source "kernel/extended/perf/Kconfig"
|
|
|
|
######################### config options of lms #########################
|
|
source "kernel/extended/lms/Kconfig" |