Due to the performance degradation of the lsmem command on the ARM architecture, unsafe_copy_to_user, unsafe_put_user, and unsafe_get_user have been introduced to bypass the usercopy checks. This optimizes the data exchange between user space and kernel space, thereby improving performance.
v1->v2: -- Some commit message cleanup on patch 5.
Linus Torvalds (2): arm64: start using 'asm goto' for get_user() when available arm64: start using 'asm goto' for put_user()
Mark Rutland (2): init/Kconfig: remove CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND arm64: uaccess: correct thinko in __get_mem_asm()
Ze Zuo (1): openeuler_defconfig: remove GCC_ASM_GOTO_OUTPUT_WORKAROUND for x86 and arm64
arch/arm64/Kconfig | 4 + arch/arm64/configs/openeuler_defconfig | 1 - arch/arm64/include/asm/asm-extable.h | 3 + arch/arm64/include/asm/uaccess.h | 169 ++++++++++++++++++------- arch/arm64/kernel/mte.c | 12 +- arch/x86/configs/openeuler_defconfig | 1 - include/linux/compiler-gcc.h | 20 --- init/Kconfig | 22 ++-- 8 files changed, 147 insertions(+), 85 deletions(-)