In the Linux kernel, the following vulnerability has been resolved: bpf, arm64: Fix trampoline for BPFTRAMPFCALLORIG When BPFTRAMPFCALLORIG is set, the trampoline calls _bpftrampenter() and _bpftrampexit() functions, passing them the struct bpftrampimage *im pointer as an argument in R0. The trampoline generation code uses emitaddrmovi64() to emit instructions for moving the bpftrampimage address into R0, but emitaddrmovi64() assumes the address to be in the vmalloc() space and uses only 48 bits. Because bpftrampimage is allocated using kzalloc(), its address can use more than 48-bits, in this case the trampoline will pass an invalid address to _bpftrampenter/exit() causing a kernel crash. Fix this by using emita64movi64() in place of emitaddrmov_i64() as it can work with addresses that are greater than 48-bits.