Message ID | aad2cb1801a3cc99bc27081022925b9fc18a0dfb.1618159169.git.christophe.leroy@csgroup.eu (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | powerpc/signal32: Fix build failure with CONFIG_SPE | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch powerpc/merge (d02429becbe77bc4d27a7357afaf28f9294945bb) |
snowpatch_ozlabs/build-ppc64le | success | Build succeeded |
snowpatch_ozlabs/build-ppc64be | success | Build succeeded |
snowpatch_ozlabs/build-ppc64e | success | Build succeeded |
snowpatch_ozlabs/build-pmac32 | success | Build succeeded |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 8 lines checked |
snowpatch_ozlabs/needsstable | success | Patch fixes a commit that hasn't been released yet |
On Sun, 11 Apr 2021 16:39:53 +0000 (UTC), Christophe Leroy wrote: > Add missing fault exit label in unsafe_copy_from_user() in order to > avoid following build failure with CONFIG_SPE > > CC arch/powerpc/kernel/signal_32.o > arch/powerpc/kernel/signal_32.c: In function 'restore_user_regs': > arch/powerpc/kernel/signal_32.c:565:36: error: macro "unsafe_copy_from_user" requires 4 arguments, but only 3 given > 565 | ELF_NEVRREG * sizeof(u32)); > | ^ > In file included from ./include/linux/uaccess.h:11, > from ./include/linux/sched/task.h:11, > from ./include/linux/sched/signal.h:9, > from ./include/linux/rcuwait.h:6, > from ./include/linux/percpu-rwsem.h:7, > from ./include/linux/fs.h:33, > from ./include/linux/huge_mm.h:8, > from ./include/linux/mm.h:707, > from arch/powerpc/kernel/signal_32.c:17: > ./arch/powerpc/include/asm/uaccess.h:428: note: macro "unsafe_copy_from_user" defined here > 428 | #define unsafe_copy_from_user(d, s, l, e) \ > | > arch/powerpc/kernel/signal_32.c:564:3: error: 'unsafe_copy_from_user' undeclared (first use in this function); did you mean 'raw_copy_from_user'? > 564 | unsafe_copy_from_user(current->thread.evr, &sr->mc_vregs, > | ^~~~~~~~~~~~~~~~~~~~~ > | raw_copy_from_user > arch/powerpc/kernel/signal_32.c:564:3: note: each undeclared identifier is reported only once for each function it appears in > make[3]: *** [arch/powerpc/kernel/signal_32.o] Error 1 Applied to powerpc/next. [1/1] powerpc/signal32: Fix build failure with CONFIG_SPE https://git.kernel.org/powerpc/c/af072b1a9d4d9edc24da84a071b0671e147026cb cheers
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c index 23fdb364b511..d489ccea2ab3 100644 --- a/arch/powerpc/kernel/signal_32.c +++ b/arch/powerpc/kernel/signal_32.c @@ -562,7 +562,7 @@ static long restore_user_regs(struct pt_regs *regs, if (msr & MSR_SPE) { /* restore spe registers from the stack */ unsafe_copy_from_user(current->thread.evr, &sr->mc_vregs, - ELF_NEVRREG * sizeof(u32)); + ELF_NEVRREG * sizeof(u32), failed); current->thread.used_spe = true; } else if (current->thread.used_spe) memset(current->thread.evr, 0, ELF_NEVRREG * sizeof(u32));
Add missing fault exit label in unsafe_copy_from_user() in order to avoid following build failure with CONFIG_SPE CC arch/powerpc/kernel/signal_32.o arch/powerpc/kernel/signal_32.c: In function 'restore_user_regs': arch/powerpc/kernel/signal_32.c:565:36: error: macro "unsafe_copy_from_user" requires 4 arguments, but only 3 given 565 | ELF_NEVRREG * sizeof(u32)); | ^ In file included from ./include/linux/uaccess.h:11, from ./include/linux/sched/task.h:11, from ./include/linux/sched/signal.h:9, from ./include/linux/rcuwait.h:6, from ./include/linux/percpu-rwsem.h:7, from ./include/linux/fs.h:33, from ./include/linux/huge_mm.h:8, from ./include/linux/mm.h:707, from arch/powerpc/kernel/signal_32.c:17: ./arch/powerpc/include/asm/uaccess.h:428: note: macro "unsafe_copy_from_user" defined here 428 | #define unsafe_copy_from_user(d, s, l, e) \ | arch/powerpc/kernel/signal_32.c:564:3: error: 'unsafe_copy_from_user' undeclared (first use in this function); did you mean 'raw_copy_from_user'? 564 | unsafe_copy_from_user(current->thread.evr, &sr->mc_vregs, | ^~~~~~~~~~~~~~~~~~~~~ | raw_copy_from_user arch/powerpc/kernel/signal_32.c:564:3: note: each undeclared identifier is reported only once for each function it appears in make[3]: *** [arch/powerpc/kernel/signal_32.o] Error 1 Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Fixes: 627b72bee84d ("powerpc/signal32: Convert restore_[tm]_user_regs() to user access block") Reported-by: kernel test robot <lkp@intel.com> Reported-by: Guenter Roeck <linux@roeck-us.net> --- arch/powerpc/kernel/signal_32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)