diff options
author | Oleg Nesterov <oleg@redhat.com> | 2009-06-17 19:27:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-18 16:03:48 -0400 |
commit | bba7fc0a21d76ef951cdac6d11896dc6b5a9ffa7 (patch) | |
tree | 9751533ba945cf876974eaf5c3bf4251e0800b8f /arch | |
parent | 02e787494ada6026074189c5268b88b7ca5cd595 (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.c | 2 | ||||
-rw-r--r-- | arch/mn10300/kernel/process.c | 3 | ||||
-rw-r--r-- | arch/parisc/hpux/fs.c | 5 | ||||
-rw-r--r-- | arch/parisc/kernel/process.c | 5 | ||||
-rw-r--r-- | arch/parisc/kernel/sys_parisc32.c | 5 | ||||
-rw-r--r-- | arch/s390/kernel/compat_linux.c | 3 | ||||
-rw-r--r-- | arch/s390/kernel/process.c | 3 | ||||
-rw-r--r-- | arch/sh/kernel/process_32.c | 5 | ||||
-rw-r--r-- | arch/sh/kernel/process_64.c | 5 | ||||
-rw-r--r-- | arch/xtensa/kernel/process.c | 5 |
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 | ||
401 | out: | 399 | out: |
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 | ||
54 | out: | 49 | out: |
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); |
358 | out: | 353 | out: |
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); |
86 | out: | 81 | out: |
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 | ||
267 | asmlinkage void execve_tail(void) | 267 | asmlinkage 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); |
376 | out: | 371 | out: |
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); |
538 | out: | 533 | out: |
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); |
340 | out: | 335 | out: |
341 | return error; | 336 | return error; |