Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

arm64: uaccess: Use unsafe wrappers for ASM GOTO

Clang propagates a provided label, which is outside of a cleanup scope to
ASM GOTO despite the fact that __raw_get_mem() has a local label for that
purpose:

"error: cannot jump from this asm goto statement to one of its possible targets"

Using the unsafe wrapper with the extra local label indirection cures that.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>

authored by

Thomas Gleixner and committed by
Ingo Molnar
2db48d8b 43cc54d8

+2 -2
+2 -2
arch/arm64/include/asm/uaccess.h
··· 422 422 } 423 423 #define user_access_begin(a,b) user_access_begin(a,b) 424 424 #define user_access_end() uaccess_ttbr0_disable() 425 - #define unsafe_put_user(x, ptr, label) \ 425 + #define arch_unsafe_put_user(x, ptr, label) \ 426 426 __raw_put_mem("sttr", x, uaccess_mask_ptr(ptr), label, U) 427 - #define unsafe_get_user(x, ptr, label) \ 427 + #define arch_unsafe_get_user(x, ptr, label) \ 428 428 __raw_get_mem("ldtr", x, uaccess_mask_ptr(ptr), label, U) 429 429 430 430 /*