+ uml-signal-initialization-cleanup.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     uml: signal initialization cleanup

has been added to the -mm tree.  Its filename is

     uml-signal-initialization-cleanup.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: uml: signal initialization cleanup
From: Jeff Dike <jdike@xxxxxxxxxxx>

It turns out that init_new_thread_signals is always called with altstack == 1,
so we can eliminate the parameter.

Signed-off-by: Jeff Dike <jdike@xxxxxxxxxxx>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@xxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 arch/um/include/os.h               |    2 +-
 arch/um/kernel/skas/process_kern.c |    2 +-
 arch/um/kernel/tt/exec_kern.c      |    2 +-
 arch/um/kernel/tt/process_kern.c   |    2 +-
 arch/um/os-Linux/process.c         |   19 +++++++++----------
 arch/um/os-Linux/skas/process.c    |    2 +-
 6 files changed, 14 insertions(+), 15 deletions(-)

diff -puN arch/um/include/os.h~uml-signal-initialization-cleanup arch/um/include/os.h
--- a/arch/um/include/os.h~uml-signal-initialization-cleanup
+++ a/arch/um/include/os.h
@@ -199,7 +199,7 @@ extern int os_getpid(void);
 extern int os_getpgrp(void);
 
 extern void init_new_thread_stack(void *sig_stack, void (*usr1_handler)(int));
-extern void init_new_thread_signals(int altstack);
+extern void init_new_thread_signals(void);
 extern int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr);
 
 extern int os_map_memory(void *virt, int fd, unsigned long long off,
diff -puN arch/um/kernel/skas/process_kern.c~uml-signal-initialization-cleanup arch/um/kernel/skas/process_kern.c
--- a/arch/um/kernel/skas/process_kern.c~uml-signal-initialization-cleanup
+++ a/arch/um/kernel/skas/process_kern.c
@@ -177,7 +177,7 @@ int start_uml_skas(void)
 	if(proc_mm)
 		userspace_pid[0] = start_userspace(0);
 
-	init_new_thread_signals(1);
+	init_new_thread_signals();
 
 	init_task.thread.request.u.thread.proc = start_kernel_proc;
 	init_task.thread.request.u.thread.arg = NULL;
diff -puN arch/um/kernel/tt/exec_kern.c~uml-signal-initialization-cleanup arch/um/kernel/tt/exec_kern.c
--- a/arch/um/kernel/tt/exec_kern.c~uml-signal-initialization-cleanup
+++ a/arch/um/kernel/tt/exec_kern.c
@@ -21,7 +21,7 @@
 static int exec_tramp(void *sig_stack)
 {
 	init_new_thread_stack(sig_stack, NULL);
-	init_new_thread_signals(1);
+	init_new_thread_signals();
 	os_stop_process(os_getpid());
 	return(0);
 }
diff -puN arch/um/kernel/tt/process_kern.c~uml-signal-initialization-cleanup arch/um/kernel/tt/process_kern.c
--- a/arch/um/kernel/tt/process_kern.c~uml-signal-initialization-cleanup
+++ a/arch/um/kernel/tt/process_kern.c
@@ -142,7 +142,7 @@ static void new_thread_handler(int sig)
 		schedule_tail(current->thread.prev_sched);
 	current->thread.prev_sched = NULL;
 
-	init_new_thread_signals(1);
+	init_new_thread_signals();
 	enable_timer();
 	free_page(current->thread.temp_stack);
 	set_cmdline("(kernel thread)");
diff -puN arch/um/os-Linux/process.c~uml-signal-initialization-cleanup arch/um/os-Linux/process.c
--- a/arch/um/os-Linux/process.c~uml-signal-initialization-cleanup
+++ a/arch/um/os-Linux/process.c
@@ -250,25 +250,24 @@ void init_new_thread_stack(void *sig_sta
 	if(usr1_handler) set_handler(SIGUSR1, usr1_handler, flags, -1);
 }
 
-void init_new_thread_signals(int altstack)
+void init_new_thread_signals(void)
 {
-	int flags = altstack ? SA_ONSTACK : 0;
-
-	set_handler(SIGSEGV, (__sighandler_t) sig_handler, flags,
+	set_handler(SIGSEGV, (__sighandler_t) sig_handler, SA_ONSTACK,
 		    SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
-	set_handler(SIGTRAP, (__sighandler_t) sig_handler, flags,
+	set_handler(SIGTRAP, (__sighandler_t) sig_handler, SA_ONSTACK,
 		    SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
-	set_handler(SIGFPE, (__sighandler_t) sig_handler, flags,
+	set_handler(SIGFPE, (__sighandler_t) sig_handler, SA_ONSTACK,
 		    SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
-	set_handler(SIGILL, (__sighandler_t) sig_handler, flags,
+	set_handler(SIGILL, (__sighandler_t) sig_handler, SA_ONSTACK,
 		    SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
-	set_handler(SIGBUS, (__sighandler_t) sig_handler, flags,
+	set_handler(SIGBUS, (__sighandler_t) sig_handler, SA_ONSTACK,
 		    SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
 	set_handler(SIGUSR2, (__sighandler_t) sig_handler,
-		    flags, SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM, -1);
+		    SA_ONSTACK, SIGUSR1, SIGIO, SIGWINCH, SIGALRM, SIGVTALRM,
+		    -1);
 	signal(SIGHUP, SIG_IGN);
 
-	init_irq_signals(altstack);
+	init_irq_signals(1);
 }
 
 int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr)
diff -puN arch/um/os-Linux/skas/process.c~uml-signal-initialization-cleanup arch/um/os-Linux/skas/process.c
--- a/arch/um/os-Linux/skas/process.c~uml-signal-initialization-cleanup
+++ a/arch/um/os-Linux/skas/process.c
@@ -159,7 +159,7 @@ static int userspace_tramp(void *stack)
 
 	ptrace(PTRACE_TRACEME, 0, 0, 0);
 
-	init_new_thread_signals(1);
+	init_new_thread_signals();
 	enable_timer();
 
 	if(!proc_mm){
_

Patches currently in -mm which might be from jdike@xxxxxxxxxxx are

uml-clean-up-address-space-limits-code.patch
uml-timer-initialization-cleanup.patch
uml-remove-some-useless-exports.patch
uml-fix-static-binary-segfault.patch
uml-remove-useless-declaration.patch
uml-signal-initialization-cleanup.patch
uml-timer-handler-tidying.patch
uml-ifdef-a-mode-specific-function.patch
uml-mark-forward_interrupts-as-being-mode-specific.patch
uml-remove-spinlock-wrapper-functions.patch
uml-remove-os_isatty.patch
uml-fix-exitcall-ordering-bug.patch
uml-make-some-symbols-static.patch
uml-remove-syscall-debugging.patch
uml-move-_kernc-files.patch
uml-formatting-fixes.patch
uml-add-some-eintr-protection.patch
uml-remove-unused-variable.patch
uml-make-mconsole-version-requests-happen-in-a-process.patch
uml-remove-pte_mkexec.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux