mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
Merge tag 'hardening-v6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull hardening updates from Kees Cook:
"One notable addition is the creation of the 'transitional' keyword for
kconfig so CONFIG renaming can go more smoothly.
This has been a long-standing deficiency, and with the renaming of
CONFIG_CFI_CLANG to CONFIG_CFI (since GCC will soon have KCFI
support), this came up again.
The breadth of the diffstat is mainly this renaming.
- Clean up usage of TRAILING_OVERLAP() (Gustavo A. R. Silva)
- lkdtm: fortify: Fix potential NULL dereference on kmalloc failure
(Junjie Cao)
- Add str_assert_deassert() helper (Lad Prabhakar)
- gcc-plugins: Remove TODO_verify_il for GCC >= 16
- kconfig: Fix BrokenPipeError warnings in selftests
- kconfig: Add transitional symbol attribute for migration support
- kcfi: Rename CONFIG_CFI_CLANG to CONFIG_CFI"
* tag 'hardening-v6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
lib/string_choices: Add str_assert_deassert() helper
kcfi: Rename CONFIG_CFI_CLANG to CONFIG_CFI
kconfig: Add transitional symbol attribute for migration support
kconfig: Fix BrokenPipeError warnings in selftests
gcc-plugins: Remove TODO_verify_il for GCC >= 16
stddef: Introduce __TRAILING_OVERLAP()
stddef: Remove token-pasting in TRAILING_OVERLAP()
lkdtm: fortify: Fix potential NULL dereference on kmalloc failure
This commit is contained in:
@@ -232,6 +232,38 @@ applicable everywhere (see syntax).
|
|||||||
enables the third modular state for all config symbols.
|
enables the third modular state for all config symbols.
|
||||||
At most one symbol may have the "modules" option set.
|
At most one symbol may have the "modules" option set.
|
||||||
|
|
||||||
|
- transitional attribute: "transitional"
|
||||||
|
This declares the symbol as transitional, meaning it should be processed
|
||||||
|
during configuration but omitted from newly written .config files.
|
||||||
|
Transitional symbols are useful for backward compatibility during config
|
||||||
|
option migrations - they allow olddefconfig to process existing .config
|
||||||
|
files while ensuring the old option doesn't appear in new configurations.
|
||||||
|
|
||||||
|
A transitional symbol:
|
||||||
|
- Has no prompt (is not visible to users in menus)
|
||||||
|
- Is processed normally during configuration (values are read and used)
|
||||||
|
- Can be referenced in default expressions of other symbols
|
||||||
|
- Is not written to new .config files
|
||||||
|
- Cannot have any other properties (it is a pass-through option)
|
||||||
|
|
||||||
|
Example migration from OLD_NAME to NEW_NAME::
|
||||||
|
|
||||||
|
config NEW_NAME
|
||||||
|
bool "New option name"
|
||||||
|
default OLD_NAME
|
||||||
|
help
|
||||||
|
This replaces the old CONFIG_OLD_NAME option.
|
||||||
|
|
||||||
|
config OLD_NAME
|
||||||
|
bool
|
||||||
|
transitional
|
||||||
|
help
|
||||||
|
Transitional config for OLD_NAME to NEW_NAME migration.
|
||||||
|
|
||||||
|
With this setup, existing .config files with "CONFIG_OLD_NAME=y" will
|
||||||
|
result in "CONFIG_NEW_NAME=y" being set, while CONFIG_OLD_NAME will be
|
||||||
|
omitted from newly written .config files.
|
||||||
|
|
||||||
Menu dependencies
|
Menu dependencies
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
|||||||
@@ -1020,7 +1020,7 @@ KBUILD_AFLAGS += -fno-lto
|
|||||||
export CC_FLAGS_LTO
|
export CC_FLAGS_LTO
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_CFI_CLANG
|
ifdef CONFIG_CFI
|
||||||
CC_FLAGS_CFI := -fsanitize=kcfi
|
CC_FLAGS_CFI := -fsanitize=kcfi
|
||||||
ifdef CONFIG_CFI_ICALL_NORMALIZE_INTEGERS
|
ifdef CONFIG_CFI_ICALL_NORMALIZE_INTEGERS
|
||||||
CC_FLAGS_CFI += -fsanitize-cfi-icall-experimental-normalize-integers
|
CC_FLAGS_CFI += -fsanitize-cfi-icall-experimental-normalize-integers
|
||||||
|
|||||||
+23
-13
@@ -867,22 +867,26 @@ config PROPELLER_CLANG
|
|||||||
|
|
||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
config ARCH_SUPPORTS_CFI_CLANG
|
config ARCH_SUPPORTS_CFI
|
||||||
bool
|
bool
|
||||||
help
|
help
|
||||||
An architecture should select this option if it can support Clang's
|
An architecture should select this option if it can support Kernel
|
||||||
Control-Flow Integrity (CFI) checking.
|
Control-Flow Integrity (CFI) checking (-fsanitize=kcfi).
|
||||||
|
|
||||||
config ARCH_USES_CFI_TRAPS
|
config ARCH_USES_CFI_TRAPS
|
||||||
bool
|
bool
|
||||||
|
help
|
||||||
|
An architecture should select this option if it requires the
|
||||||
|
.kcfi_traps section for KCFI trap handling.
|
||||||
|
|
||||||
config CFI_CLANG
|
config CFI
|
||||||
bool "Use Clang's Control Flow Integrity (CFI)"
|
bool "Use Kernel Control Flow Integrity (kCFI)"
|
||||||
depends on ARCH_SUPPORTS_CFI_CLANG
|
default CFI_CLANG
|
||||||
|
depends on ARCH_SUPPORTS_CFI
|
||||||
depends on $(cc-option,-fsanitize=kcfi)
|
depends on $(cc-option,-fsanitize=kcfi)
|
||||||
help
|
help
|
||||||
This option enables Clang's forward-edge Control Flow Integrity
|
This option enables forward-edge Control Flow Integrity (CFI)
|
||||||
(CFI) checking, where the compiler injects a runtime check to each
|
checking, where the compiler injects a runtime check to each
|
||||||
indirect function call to ensure the target is a valid function with
|
indirect function call to ensure the target is a valid function with
|
||||||
the correct static type. This restricts possible call targets and
|
the correct static type. This restricts possible call targets and
|
||||||
makes it more difficult for an attacker to exploit bugs that allow
|
makes it more difficult for an attacker to exploit bugs that allow
|
||||||
@@ -891,10 +895,16 @@ config CFI_CLANG
|
|||||||
|
|
||||||
https://clang.llvm.org/docs/ControlFlowIntegrity.html
|
https://clang.llvm.org/docs/ControlFlowIntegrity.html
|
||||||
|
|
||||||
|
config CFI_CLANG
|
||||||
|
bool
|
||||||
|
transitional
|
||||||
|
help
|
||||||
|
Transitional config for CFI_CLANG to CFI migration.
|
||||||
|
|
||||||
config CFI_ICALL_NORMALIZE_INTEGERS
|
config CFI_ICALL_NORMALIZE_INTEGERS
|
||||||
bool "Normalize CFI tags for integers"
|
bool "Normalize CFI tags for integers"
|
||||||
depends on CFI_CLANG
|
depends on CFI
|
||||||
depends on HAVE_CFI_ICALL_NORMALIZE_INTEGERS_CLANG
|
depends on HAVE_CFI_ICALL_NORMALIZE_INTEGERS
|
||||||
help
|
help
|
||||||
This option normalizes the CFI tags for integer types so that all
|
This option normalizes the CFI tags for integer types so that all
|
||||||
integer types of the same size and signedness receive the same CFI
|
integer types of the same size and signedness receive the same CFI
|
||||||
@@ -907,7 +917,7 @@ config CFI_ICALL_NORMALIZE_INTEGERS
|
|||||||
|
|
||||||
This option is necessary for using CFI with Rust. If unsure, say N.
|
This option is necessary for using CFI with Rust. If unsure, say N.
|
||||||
|
|
||||||
config HAVE_CFI_ICALL_NORMALIZE_INTEGERS_CLANG
|
config HAVE_CFI_ICALL_NORMALIZE_INTEGERS
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on $(cc-option,-fsanitize=kcfi -fsanitize-cfi-icall-experimental-normalize-integers)
|
depends on $(cc-option,-fsanitize=kcfi -fsanitize-cfi-icall-experimental-normalize-integers)
|
||||||
# With GCOV/KASAN we need this fix: https://github.com/llvm/llvm-project/pull/104826
|
# With GCOV/KASAN we need this fix: https://github.com/llvm/llvm-project/pull/104826
|
||||||
@@ -915,7 +925,7 @@ config HAVE_CFI_ICALL_NORMALIZE_INTEGERS_CLANG
|
|||||||
|
|
||||||
config HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC
|
config HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC
|
||||||
def_bool y
|
def_bool y
|
||||||
depends on HAVE_CFI_ICALL_NORMALIZE_INTEGERS_CLANG
|
depends on HAVE_CFI_ICALL_NORMALIZE_INTEGERS
|
||||||
depends on RUSTC_VERSION >= 107900
|
depends on RUSTC_VERSION >= 107900
|
||||||
# With GCOV/KASAN we need this fix: https://github.com/rust-lang/rust/pull/129373
|
# With GCOV/KASAN we need this fix: https://github.com/rust-lang/rust/pull/129373
|
||||||
depends on (RUSTC_LLVM_VERSION >= 190103 && RUSTC_VERSION >= 108200) || \
|
depends on (RUSTC_LLVM_VERSION >= 190103 && RUSTC_VERSION >= 108200) || \
|
||||||
@@ -923,7 +933,7 @@ config HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC
|
|||||||
|
|
||||||
config CFI_PERMISSIVE
|
config CFI_PERMISSIVE
|
||||||
bool "Use CFI in permissive mode"
|
bool "Use CFI in permissive mode"
|
||||||
depends on CFI_CLANG
|
depends on CFI
|
||||||
help
|
help
|
||||||
When selected, Control Flow Integrity (CFI) violations result in a
|
When selected, Control Flow Integrity (CFI) violations result in a
|
||||||
warning instead of a kernel panic. This option should only be used
|
warning instead of a kernel panic. This option should only be used
|
||||||
|
|||||||
+1
-1
@@ -38,7 +38,7 @@ config ARM
|
|||||||
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
|
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
|
||||||
select ARCH_NEED_CMPXCHG_1_EMU if CPU_V6
|
select ARCH_NEED_CMPXCHG_1_EMU if CPU_V6
|
||||||
select ARCH_SUPPORTS_ATOMIC_RMW
|
select ARCH_SUPPORTS_ATOMIC_RMW
|
||||||
select ARCH_SUPPORTS_CFI_CLANG
|
select ARCH_SUPPORTS_CFI
|
||||||
select ARCH_SUPPORTS_HUGETLBFS if ARM_LPAE
|
select ARCH_SUPPORTS_HUGETLBFS if ARM_LPAE
|
||||||
select ARCH_SUPPORTS_PER_VMA_LOCK
|
select ARCH_SUPPORTS_PER_VMA_LOCK
|
||||||
select ARCH_USE_BUILTIN_BSWAP
|
select ARCH_USE_BUILTIN_BSWAP
|
||||||
|
|||||||
@@ -904,7 +904,7 @@ unlock:
|
|||||||
watchpoint_single_step_handler(addr);
|
watchpoint_single_step_handler(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_CFI_CLANG
|
#ifdef CONFIG_CFI
|
||||||
static void hw_breakpoint_cfi_handler(struct pt_regs *regs)
|
static void hw_breakpoint_cfi_handler(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ obj-$(CONFIG_CPU_V6) += proc-v6.o
|
|||||||
obj-$(CONFIG_CPU_V6K) += proc-v6.o
|
obj-$(CONFIG_CPU_V6K) += proc-v6.o
|
||||||
obj-$(CONFIG_CPU_V7) += proc-v7.o proc-v7-bugs.o
|
obj-$(CONFIG_CPU_V7) += proc-v7.o proc-v7-bugs.o
|
||||||
obj-$(CONFIG_CPU_V7M) += proc-v7m.o
|
obj-$(CONFIG_CPU_V7M) += proc-v7m.o
|
||||||
obj-$(CONFIG_CFI_CLANG) += proc.o
|
obj-$(CONFIG_CFI) += proc.o
|
||||||
|
|
||||||
obj-$(CONFIG_OUTER_CACHE) += l2c-common.o
|
obj-$(CONFIG_OUTER_CACHE) += l2c-common.o
|
||||||
obj-$(CONFIG_CACHE_B15_RAC) += cache-b15-rac.o
|
obj-$(CONFIG_CACHE_B15_RAC) += cache-b15-rac.o
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ SYM_FUNC_END(fa_flush_user_cache_range)
|
|||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(fa_coherent_kern_range)
|
SYM_TYPED_FUNC_START(fa_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b fa_coherent_user_range
|
b fa_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(fa_coherent_kern_range)
|
SYM_FUNC_END(fa_coherent_kern_range)
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ SYM_FUNC_END(v4_coherent_user_range)
|
|||||||
* - size - region size
|
* - size - region size
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(v4_flush_kern_dcache_area)
|
SYM_TYPED_FUNC_START(v4_flush_kern_dcache_area)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b v4_dma_flush_range
|
b v4_dma_flush_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(v4_flush_kern_dcache_area)
|
SYM_FUNC_END(v4_flush_kern_dcache_area)
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ SYM_FUNC_END(v4wb_flush_user_cache_range)
|
|||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(v4wb_flush_kern_dcache_area)
|
SYM_TYPED_FUNC_START(v4wb_flush_kern_dcache_area)
|
||||||
add r1, r0, r1
|
add r1, r0, r1
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b v4wb_coherent_user_range
|
b v4wb_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(v4wb_flush_kern_dcache_area)
|
SYM_FUNC_END(v4wb_flush_kern_dcache_area)
|
||||||
@@ -152,7 +152,7 @@ SYM_FUNC_END(v4wb_flush_kern_dcache_area)
|
|||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(v4wb_coherent_kern_range)
|
SYM_TYPED_FUNC_START(v4wb_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b v4wb_coherent_user_range
|
b v4wb_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(v4wb_coherent_kern_range)
|
SYM_FUNC_END(v4wb_coherent_kern_range)
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ SYM_FUNC_END(v4wt_flush_user_cache_range)
|
|||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(v4wt_coherent_kern_range)
|
SYM_TYPED_FUNC_START(v4wt_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b v4wt_coherent_user_range
|
b v4wt_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(v4wt_coherent_kern_range)
|
SYM_FUNC_END(v4wt_coherent_kern_range)
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ SYM_FUNC_END(v6_flush_user_cache_range)
|
|||||||
* - the Icache does not read data from the write buffer
|
* - the Icache does not read data from the write buffer
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(v6_coherent_kern_range)
|
SYM_TYPED_FUNC_START(v6_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b v6_coherent_user_range
|
b v6_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(v6_coherent_kern_range)
|
SYM_FUNC_END(v6_coherent_kern_range)
|
||||||
|
|||||||
@@ -261,7 +261,7 @@ SYM_FUNC_END(v7_flush_user_cache_range)
|
|||||||
* - the Icache does not read data from the write buffer
|
* - the Icache does not read data from the write buffer
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(v7_coherent_kern_range)
|
SYM_TYPED_FUNC_START(v7_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b v7_coherent_user_range
|
b v7_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(v7_coherent_kern_range)
|
SYM_FUNC_END(v7_coherent_kern_range)
|
||||||
|
|||||||
@@ -286,7 +286,7 @@ SYM_FUNC_END(v7m_flush_user_cache_range)
|
|||||||
* - the Icache does not read data from the write buffer
|
* - the Icache does not read data from the write buffer
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(v7m_coherent_kern_range)
|
SYM_TYPED_FUNC_START(v7m_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b v7m_coherent_user_range
|
b v7m_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(v7m_coherent_kern_range)
|
SYM_FUNC_END(v7m_coherent_kern_range)
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ SYM_FUNC_END(arm1020_flush_user_cache_range)
|
|||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(arm1020_coherent_kern_range)
|
SYM_TYPED_FUNC_START(arm1020_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b arm1020_coherent_user_range
|
b arm1020_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(arm1020_coherent_kern_range)
|
SYM_FUNC_END(arm1020_coherent_kern_range)
|
||||||
|
|||||||
@@ -200,7 +200,7 @@ SYM_FUNC_END(arm1020e_flush_user_cache_range)
|
|||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(arm1020e_coherent_kern_range)
|
SYM_TYPED_FUNC_START(arm1020e_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b arm1020e_coherent_user_range
|
b arm1020e_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(arm1020e_coherent_kern_range)
|
SYM_FUNC_END(arm1020e_coherent_kern_range)
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ SYM_FUNC_END(arm1022_flush_user_cache_range)
|
|||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(arm1022_coherent_kern_range)
|
SYM_TYPED_FUNC_START(arm1022_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b arm1022_coherent_user_range
|
b arm1022_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(arm1022_coherent_kern_range)
|
SYM_FUNC_END(arm1022_coherent_kern_range)
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ SYM_FUNC_END(arm1026_flush_user_cache_range)
|
|||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(arm1026_coherent_kern_range)
|
SYM_TYPED_FUNC_START(arm1026_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b arm1026_coherent_user_range
|
b arm1026_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(arm1026_coherent_kern_range)
|
SYM_FUNC_END(arm1026_coherent_kern_range)
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ SYM_FUNC_END(arm920_flush_user_cache_range)
|
|||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(arm920_coherent_kern_range)
|
SYM_TYPED_FUNC_START(arm920_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b arm920_coherent_user_range
|
b arm920_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(arm920_coherent_kern_range)
|
SYM_FUNC_END(arm920_coherent_kern_range)
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ SYM_FUNC_END(arm922_flush_user_cache_range)
|
|||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(arm922_coherent_kern_range)
|
SYM_TYPED_FUNC_START(arm922_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b arm922_coherent_user_range
|
b arm922_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(arm922_coherent_kern_range)
|
SYM_FUNC_END(arm922_coherent_kern_range)
|
||||||
|
|||||||
@@ -229,7 +229,7 @@ SYM_FUNC_END(arm925_flush_user_cache_range)
|
|||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
SYM_TYPED_FUNC_START(arm925_coherent_kern_range)
|
SYM_TYPED_FUNC_START(arm925_coherent_kern_range)
|
||||||
#ifdef CONFIG_CFI_CLANG /* Fallthrough if !CFI */
|
#ifdef CONFIG_CFI /* Fallthrough if !CFI */
|
||||||
b arm925_coherent_user_range
|
b arm925_coherent_user_range
|
||||||
#endif
|
#endif
|
||||||
SYM_FUNC_END(arm925_coherent_kern_range)
|
SYM_FUNC_END(arm925_coherent_kern_range)
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user