[PATCH 3.16 132/202] unicore32: Fix build error

From: Ben Hutchings
Date: Sat Apr 27 2019 - 11:24:11 EST


3.16.66-rc1 review patch. If anyone has any objections, please let me know.

------------------

From: Guenter Roeck <linux@xxxxxxxxxxxx>

commit ca98565a6182a960cd857d7546267a0775154eb8 upstream.

unicore32 builds fail with

arch/unicore32/kernel/signal.c: In function âsetup_frameâ:
arch/unicore32/kernel/signal.c:257: error: âusigâ undeclared (first use in this function)
arch/unicore32/kernel/signal.c:279: error: âusigâ undeclared (first use in this function)
arch/unicore32/kernel/signal.c: In function âhandle_signalâ:
arch/unicore32/kernel/signal.c:306: warning: unused variable âtskâ
arch/unicore32/kernel/signal.c: In function âdo_signalâ:
arch/unicore32/kernel/signal.c:376: error: implicit declaration of function âget_signslâ
make[1]: *** [arch/unicore32/kernel/signal.o] Error 1
make: *** [arch/unicore32/kernel/signal.o] Error 2

Bisect points to commit 649671c90eaf ("unicore32: Use get_signal()
signal_setup_done()").

This code never even compiled. Reverting the patch does not work, since
previously used functions no longer exist, so try to fix it up. Compile
tested only.

Fixes: 649671c90eaf ("unicore32: Use get_signal() signal_setup_done()")
Cc: Richard Weinberger <richard@xxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
---
arch/unicore32/kernel/signal.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

--- a/arch/unicore32/kernel/signal.c
+++ b/arch/unicore32/kernel/signal.c
@@ -254,7 +254,8 @@ static int setup_frame(struct ksignal *k

err |= setup_sigframe(frame, regs, set);
if (err == 0)
- err |= setup_return(regs, &ksig->ka, frame->retcode, frame, usig);
+ err |= setup_return(regs, &ksig->ka, frame->retcode, frame,
+ ksig->sig);

return err;
}
@@ -276,7 +277,8 @@ static int setup_rt_frame(struct ksignal
err |= __save_altstack(&frame->sig.uc.uc_stack, regs->UCreg_sp);
err |= setup_sigframe(&frame->sig, regs, set);
if (err == 0)
- err |= setup_return(regs, &ksig->ka, frame->sig.retcode, frame, usig);
+ err |= setup_return(regs, &ksig->ka, frame->sig.retcode, frame,
+ ksig->sig);

if (err == 0) {
/*
@@ -303,7 +305,6 @@ static void handle_signal(struct ksignal
int syscall)
{
struct thread_info *thread = current_thread_info();
- struct task_struct *tsk = current;
sigset_t *oldset = sigmask_to_save();
int usig = ksig->sig;
int ret;
@@ -373,7 +374,7 @@ static void do_signal(struct pt_regs *re
if (!user_mode(regs))
return;

- if (get_signsl(&ksig)) {
+ if (get_signal(&ksig)) {
handle_signal(&ksig, regs, syscall);
return;
}