[PATCH] arm64: Do not include linux/uaccess.h from assembler files

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Wed Dec 28 00:04:07 PST 2016


Hello,

On Mon, 26 Dec 2016 02:31:08 -0800, Guenter Roeck wrote:
> Including linux/uaccess.h from assembler files in arm64 builds results
> in the following build errors.
> 
> In file included from arm64/include/asm/asm-offsets.h:1:0,
>                  from arch/arm64/include/asm/assembler.h:26,
> 		 from arch/arm64/include/asm/alternative.h:68,
> 		 from arch/arm64/kernel/entry.S
> 
> include/linux/sched/prio.h: Assembler messages:
> include/linux/sched/prio.h:47: Error:
> 	unknown mnemonic `static' --
> 		`static inline long nice_to_rlimit(long nice)'
> build/include/linux/sched/prio.h:48: Error:
> 	junk at end of line, first unrecognized character is `{'
> 
> [and many more]
> 
> If asm/uaccess.h is not included, many of the affected files fail to build
> with errors such as the following.
> 
> arch/arm64/lib/copy_to_user.S: Assembler messages:
> arch/arm64/lib/copy_to_user.S:66: Error:
> 	unknown mnemonic `uaccess_enable_not_uao' --
> 		`uaccess_enable_not_uao x3,x4'
> arch/arm64/lib/copy_template.S:71: Error:
> 	unknown mnemonic `uao_user_alternative' --
> 		`uao_user_alternative 9998f,strb,st trb,tmp1w,dst,#1'
> 
> Either drop the include if unnecessary or, if needed, replace with
> asm/uaccess.h.
> 
> Fixes: 7c0f6ba682b9 ("Replace <asm/uaccess.h> with <linux/uaccess.h> globally")
> Cc: Linus Torvalds <torvalds at linux-foundation.org>
> Cc: Al Viro <viro at zeniv.linux.org.uk>
> Signed-off-by: Guenter Roeck <linux at roeck-us.net>

Tested-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
 (fixes the arm64 build, result boot tested on real HW)

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com



More information about the linux-arm-kernel mailing list