aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@redhat.com>2009-06-17 19:27:25 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-18 16:03:48 -0400
commitbba7fc0a21d76ef951cdac6d11896dc6b5a9ffa7 (patch)
tree9751533ba945cf876974eaf5c3bf4251e0800b8f /arch
parent02e787494ada6026074189c5268b88b7ca5cd595 (diff)
ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa
avr32, mn10300, parisc, s390, sh, xtensa: They never set PT_DTRACE, but clear it after do_execve(). Signed-off-by: Oleg Nesterov <oleg@redhat.com> Cc: David Howells <dhowells@redhat.com> Acked-by: Kyle McMartin <kyle@mcmartin.ca> Cc: Grant Grundler <grundler@parisc-linux.org> Cc: Matthew Wilcox <matthew@wil.cx> Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Acked-by: Paul Mundt <lethal@linux-sh.org> Acked-by: Chris Zankel <chris@zankel.net> Acked-by: Roland McGrath <roland@redhat.com> Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/avr32/kernel/process.c2
-rw-r--r--arch/mn10300/kernel/process.c3
-rw-r--r--arch/parisc/hpux/fs.c5
-rw-r--r--arch/parisc/kernel/process.c5
-rw-r--r--arch/parisc/kernel/sys_parisc32.c5
-rw-r--r--arch/s390/kernel/compat_linux.c3
-rw-r--r--arch/s390/kernel/process.c3
-rw-r--r--arch/sh/kernel/process_32.c5
-rw-r--r--arch/sh/kernel/process_64.c5
-rw-r--r--arch/xtensa/kernel/process.c5
10 files changed, 0 insertions, 41 deletions
diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c
index 1bbe1da54869..93c0342530a0 100644
--- a/arch/avr32/kernel/process.c
+++ b/arch/avr32/kernel/process.c
@@ -394,8 +394,6 @@ asmlinkage int sys_execve(char __user *ufilename, char __user *__user *uargv,
394 goto out; 394 goto out;
395 395
396 error = do_execve(filename, uargv, uenvp, regs); 396 error = do_execve(filename, uargv, uenvp, regs);
397 if (error == 0)
398 current->ptrace &= ~PT_DTRACE;
399 putname(filename); 397 putname(filename);
400 398
401out: 399out:
diff --git a/arch/mn10300/kernel/process.c b/arch/mn10300/kernel/process.c
index 234cf344cdce..892cce82867e 100644
--- a/arch/mn10300/kernel/process.c
+++ b/arch/mn10300/kernel/process.c
@@ -281,9 +281,6 @@ asmlinkage long sys_execve(char __user *name,
281 error = PTR_ERR(filename); 281 error = PTR_ERR(filename);
282 if (!IS_ERR(filename)) { 282 if (!IS_ERR(filename)) {
283 error = do_execve(filename, argv, envp, __frame); 283 error = do_execve(filename, argv, envp, __frame);
284 if (error == 0)
285 current->ptrace &= ~PT_DTRACE;
286
287 putname(filename); 284 putname(filename);
288 } 285 }
289 286
diff --git a/arch/parisc/hpux/fs.c b/arch/parisc/hpux/fs.c
index 5cbe9f9e5d9e..54075360a8fd 100644
--- a/arch/parisc/hpux/fs.c
+++ b/arch/parisc/hpux/fs.c
@@ -44,11 +44,6 @@ int hpux_execve(struct pt_regs *regs)
44 error = do_execve(filename, (char __user * __user *) regs->gr[25], 44 error = do_execve(filename, (char __user * __user *) regs->gr[25],
45 (char __user * __user *) regs->gr[24], regs); 45 (char __user * __user *) regs->gr[24], regs);
46 46
47 if (error == 0) {
48 task_lock(current);
49 current->ptrace &= ~PT_DTRACE;
50 task_unlock(current);
51 }
52 putname(filename); 47 putname(filename);
53 48
54out: 49out:
diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c
index 6f69101f90bb..61c07078c072 100644
--- a/arch/parisc/kernel/process.c
+++ b/arch/parisc/kernel/process.c
@@ -349,11 +349,6 @@ asmlinkage int sys_execve(struct pt_regs *regs)
349 goto out; 349 goto out;
350 error = do_execve(filename, (char __user * __user *) regs->gr[25], 350 error = do_execve(filename, (char __user * __user *) regs->gr[25],
351 (char __user * __user *) regs->gr[24], regs); 351 (char __user * __user *) regs->gr[24], regs);
352 if (error == 0) {
353 task_lock(current);
354 current->ptrace &= ~PT_DTRACE;
355 task_unlock(current);
356 }
357 putname(filename); 352 putname(filename);
358out: 353out:
359 354
diff --git a/arch/parisc/kernel/sys_parisc32.c b/arch/parisc/kernel/sys_parisc32.c
index 0838155b7a88..1adb40c81669 100644
--- a/arch/parisc/kernel/sys_parisc32.c
+++ b/arch/parisc/kernel/sys_parisc32.c
@@ -77,11 +77,6 @@ asmlinkage int sys32_execve(struct pt_regs *regs)
77 goto out; 77 goto out;
78 error = compat_do_execve(filename, compat_ptr(regs->gr[25]), 78 error = compat_do_execve(filename, compat_ptr(regs->gr[25]),
79 compat_ptr(regs->gr[24]), regs); 79 compat_ptr(regs->gr[24]), regs);
80 if (error == 0) {
81 task_lock(current);
82 current->ptrace &= ~PT_DTRACE;
83 task_unlock(current);
84 }
85 putname(filename); 80 putname(filename);
86out: 81out:
87 82
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c
index 002c70d3cb75..9ab188d67a3d 100644
--- a/arch/s390/kernel/compat_linux.c
+++ b/arch/s390/kernel/compat_linux.c
@@ -461,9 +461,6 @@ asmlinkage long sys32_execve(void)
461 result = rc; 461 result = rc;
462 goto out_putname; 462 goto out_putname;
463 } 463 }
464 task_lock(current);
465 current->ptrace &= ~PT_DTRACE;
466 task_unlock(current);
467 current->thread.fp_regs.fpc=0; 464 current->thread.fp_regs.fpc=0;
468 asm volatile("sfpc %0,0" : : "d" (0)); 465 asm volatile("sfpc %0,0" : : "d" (0));
469 result = regs->gprs[2]; 466 result = regs->gprs[2];
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index 355f7a30c3f1..5a43f27eec13 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -266,9 +266,6 @@ SYSCALL_DEFINE0(vfork)
266 266
267asmlinkage void execve_tail(void) 267asmlinkage void execve_tail(void)
268{ 268{
269 task_lock(current);
270 current->ptrace &= ~PT_DTRACE;
271 task_unlock(current);
272 current->thread.fp_regs.fpc = 0; 269 current->thread.fp_regs.fpc = 0;
273 if (MACHINE_HAS_IEEE) 270 if (MACHINE_HAS_IEEE)
274 asm volatile("sfpc %0,%0" : : "d" (0)); 271 asm volatile("sfpc %0,%0" : : "d" (0));
diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c
index 9289ede29c7b..601bbc0ec74e 100644
--- a/arch/sh/kernel/process_32.c
+++ b/arch/sh/kernel/process_32.c
@@ -367,11 +367,6 @@ asmlinkage int sys_execve(char __user *ufilename, char __user * __user *uargv,
367 goto out; 367 goto out;
368 368
369 error = do_execve(filename, uargv, uenvp, regs); 369 error = do_execve(filename, uargv, uenvp, regs);
370 if (error == 0) {
371 task_lock(current);
372 current->ptrace &= ~PT_DTRACE;
373 task_unlock(current);
374 }
375 putname(filename); 370 putname(filename);
376out: 371out:
377 return error; 372 return error;
diff --git a/arch/sh/kernel/process_64.c b/arch/sh/kernel/process_64.c
index 96be839040f8..3826773496d8 100644
--- a/arch/sh/kernel/process_64.c
+++ b/arch/sh/kernel/process_64.c
@@ -529,11 +529,6 @@ asmlinkage int sys_execve(char *ufilename, char **uargv,
529 (char __user * __user *)uargv, 529 (char __user * __user *)uargv,
530 (char __user * __user *)uenvp, 530 (char __user * __user *)uenvp,
531 pregs); 531 pregs);
532 if (error == 0) {
533 task_lock(current);
534 current->ptrace &= ~PT_DTRACE;
535 task_unlock(current);
536 }
537 putname(filename); 532 putname(filename);
538out: 533out:
539 return error; 534 return error;
diff --git a/arch/xtensa/kernel/process.c b/arch/xtensa/kernel/process.c
index 031f36685710..e1a04a346e75 100644
--- a/arch/xtensa/kernel/process.c
+++ b/arch/xtensa/kernel/process.c
@@ -331,11 +331,6 @@ long xtensa_execve(char __user *name, char __user * __user *argv,
331 if (IS_ERR(filename)) 331 if (IS_ERR(filename))
332 goto out; 332 goto out;
333 error = do_execve(filename, argv, envp, regs); 333 error = do_execve(filename, argv, envp, regs);
334 if (error == 0) {
335 task_lock(current);
336 current->ptrace &= ~PT_DTRACE;
337 task_unlock(current);
338 }
339 putname(filename); 334 putname(filename);
340out: 335out:
341 return error; 336 return error;