OpenCloudOS-Kernel/arch/arm64
Alexander Duyck a3f25d614b bpf, arm64: Fix BTI type used for freplace attached functions
When running an freplace attached bpf program on an arm64 system w were
seeing the following issue:
  Unhandled 64-bit el1h sync exception on CPU47, ESR 0x0000000036000003 -- BTI

After a bit of work to track it down I determined that what appeared to be
happening is that the 'bti c' at the start of the program was somehow being
reached after a 'br' instruction. Further digging pointed me toward the
fact that the function was attached via freplace. This in turn led me to
build_plt which I believe is invoking the long jump which is triggering
this error.

To resolve it we can replace the 'bti c' with 'bti jc' and add a comment
explaining why this has to be modified as such.

Fixes: b2ad54e153 ("bpf, arm64: Implement bpf_arch_text_poke() for arm64")
Signed-off-by: Alexander Duyck <alexanderduyck@fb.com>
Acked-by: Xu Kuohai <xukuohai@huawei.com>
Link: https://lore.kernel.org/r/168926677665.316237.9953845318337455525.stgit@ahduyck-xeon-server.home.arpa
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2023-07-18 15:28:19 -07:00
..
boot ARM: New SoC support for 6.5 2023-06-29 15:11:17 -07:00
configs ARM: SoC defconfig changes for 6.5 2023-06-29 15:26:45 -07:00
crypto crypto: arm64/sha256-glue - Include module.h 2023-05-19 20:56:59 +08:00
hyperv arm64/hyperv: Use CPUHP_AP_HYPERV_ONLINE state to fix CPU online sequencing 2023-06-17 23:09:47 +00:00
include tracing: arm64: Avoid missing-prototype warnings 2023-07-12 12:06:04 -04:00
kernel tracing: arm64: Avoid missing-prototype warnings 2023-07-12 12:06:04 -04:00
kvm ARM64: 2023-07-03 15:32:22 -07:00
lib arm64: xor-neon: mark xor_arm64_neon_*() static 2023-05-25 17:44:01 +01:00
mm arch/arm64/mm/fault: Fix undeclared variable error in do_page_fault() 2023-07-03 19:04:32 -07:00
net bpf, arm64: Fix BTI type used for freplace attached functions 2023-07-18 15:28:19 -07:00
tools ARM64: 2023-07-03 15:32:22 -07:00
xen
Kbuild
Kconfig arm64: ftrace: Add direct call trampoline samples support 2023-07-10 17:51:54 -04:00
Kconfig.debug
Kconfig.platforms STM32 STM32MP25 for v6.5, round 1 2023-06-20 22:28:44 +02:00
Makefile arm64 updates for 6.3: 2023-02-21 15:27:48 -08:00