summaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2018-06-15 16:42:56 +0200
committerRichard Weinberger <richard@nod.at>2018-10-29 22:23:11 +0100
commit7ff1e34bbdc15acab823b1ee4240e94623d50ee8 (patch)
tree062cb8ae035a80082dd835e584be322b9a76a197 /arch/um
parent3033998bb8cd5a109c3171f4cde62665e3f5ce63 (diff)
downloadlinux-0-day-7ff1e34bbdc15acab823b1ee4240e94623d50ee8.tar.gz
linux-0-day-7ff1e34bbdc15acab823b1ee4240e94623d50ee8.tar.xz
um: Give start_idle_thread() a return code
Fixes: arch/um/os-Linux/skas/process.c:613:1: warning: control reaches end of non-void function [-Wreturn-type] longjmp() never returns but gcc still warns that the end of the function can be reached. Add a return code and debug aid to detect this impossible case. Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/os-Linux/skas/process.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c
index c94c3bd70ccd7..df4a985716eba 100644
--- a/arch/um/os-Linux/skas/process.c
+++ b/arch/um/os-Linux/skas/process.c
@@ -610,6 +610,11 @@ int start_idle_thread(void *stack, jmp_buf *switch_buf)
fatal_sigsegv();
}
longjmp(*switch_buf, 1);
+
+ /* unreachable */
+ printk(UM_KERN_ERR "impossible long jump!");
+ fatal_sigsegv();
+ return 0;
}
void initial_thread_cb_skas(void (*proc)(void *), void *arg)