Title: [8269] trunk: unify fdpic ptrace implementations
- Revision
- 8269
- Author
- vapier
- Date
- 2010-02-03 04:34:16 -0500 (Wed, 03 Feb 2010)
Log Message
unify fdpic ptrace implementations
Modified Paths
Diff
Modified: trunk/arch/blackfin/kernel/ptrace.c (8268 => 8269)
--- trunk/arch/blackfin/kernel/ptrace.c 2010-02-03 09:15:57 UTC (rev 8268)
+++ trunk/arch/blackfin/kernel/ptrace.c 2010-02-03 09:34:16 UTC (rev 8269)
@@ -243,11 +243,15 @@
} else if (addr == (sizeof(struct pt_regs) + 8)) {
/* PT_DATA_ADDR */
tmp = child->mm->start_data;
-#ifdef CONFIG_BINFMT_ELF_FDPIC
+#ifdef CONFIG_BINFMT_ELF_FDPIC /* backwards compat */
} else if (addr == (sizeof(struct pt_regs) + 12)) {
- goto case_PTRACE_GETFDPIC_EXEC;
+ request = PTRACE_GETFDPIC;
+ addr = PTRACE_GETFDPIC_EXEC;
+ goto case_default;
} else if (addr == (sizeof(struct pt_regs) + 16)) {
- goto case_PTRACE_GETFDPIC_INTERP;
+ request = PTRACE_GETFDPIC;
+ addr = PTRACE_GETFDPIC_INTERP;
+ goto case_default;
#endif
} else {
tmp = get_reg(child, addr);
@@ -256,28 +260,6 @@
break;
}
-#ifdef CONFIG_BINFMT_ELF_FDPIC
- case PTRACE_GETFDPIC: {
- unsigned long tmp = 0;
-
- switch (addr) {
- case_PTRACE_GETFDPIC_EXEC:
- case PTRACE_GETFDPIC_EXEC:
- tmp = child->mm->context.exec_fdpic_loadmap;
- break;
- case_PTRACE_GETFDPIC_INTERP:
- case PTRACE_GETFDPIC_INTERP:
- tmp = child->mm->context.interp_fdpic_loadmap;
- break;
- default:
- break;
- }
-
- ret = put_user(tmp, datap);
- break;
- }
-#endif
-
/* when I and D space are separate, this will have to be fixed. */
case PTRACE_POKEDATA:
pr_debug("ptrace: PTRACE_PEEKDATA\n");
@@ -347,6 +329,7 @@
ret = 0;
break;
+ case_default:
default:
ret = ptrace_request(child, request, addr, data);
break;
Modified: trunk/arch/frv/kernel/ptrace.c (8268 => 8269)
--- trunk/arch/frv/kernel/ptrace.c 2010-02-03 09:15:57 UTC (rev 8268)
+++ trunk/arch/frv/kernel/ptrace.c 2010-02-03 09:34:16 UTC (rev 8269)
@@ -344,26 +344,6 @@
0, sizeof(child->thread.user->f),
(const void __user *)data);
- case PTRACE_GETFDPIC:
- tmp = 0;
- switch (addr) {
- case PTRACE_GETFDPIC_EXEC:
- tmp = child->mm->context.exec_fdpic_loadmap;
- break;
- case PTRACE_GETFDPIC_INTERP:
- tmp = child->mm->context.interp_fdpic_loadmap;
- break;
- default:
- break;
- }
-
- ret = 0;
- if (put_user(tmp, (unsigned long *) data)) {
- ret = -EFAULT;
- break;
- }
- break;
-
default:
ret = ptrace_request(child, request, addr, data);
break;
Modified: trunk/arch/sh/kernel/ptrace_32.c (8268 => 8269)
--- trunk/arch/sh/kernel/ptrace_32.c 2010-02-03 09:15:57 UTC (rev 8268)
+++ trunk/arch/sh/kernel/ptrace_32.c 2010-02-03 09:34:16 UTC (rev 8269)
@@ -405,29 +405,6 @@
0, sizeof(struct pt_dspregs),
(const void __user *)data);
#endif
-#ifdef CONFIG_BINFMT_ELF_FDPIC
- case PTRACE_GETFDPIC: {
- unsigned long tmp = 0;
-
- switch (addr) {
- case PTRACE_GETFDPIC_EXEC:
- tmp = child->mm->context.exec_fdpic_loadmap;
- break;
- case PTRACE_GETFDPIC_INTERP:
- tmp = child->mm->context.interp_fdpic_loadmap;
- break;
- default:
- break;
- }
-
- ret = 0;
- if (put_user(tmp, datap)) {
- ret = -EFAULT;
- break;
- }
- break;
- }
-#endif
default:
ret = ptrace_request(child, request, addr, data);
break;
Modified: trunk/kernel/ptrace.c (8268 => 8269)
--- trunk/kernel/ptrace.c 2010-02-03 09:15:57 UTC (rev 8268)
+++ trunk/kernel/ptrace.c 2010-02-03 09:34:16 UTC (rev 8269)
@@ -554,6 +554,26 @@
ret = ptrace_detach(child, data);
break;
+#ifdef CONFIG_BINFMT_ELF_FDPIC
+ case PTRACE_GETFDPIC: {
+ unsigned long tmp = 0;
+
+ switch (addr) {
+ case PTRACE_GETFDPIC_EXEC:
+ tmp = child->mm->context.exec_fdpic_loadmap;
+ break;
+ case PTRACE_GETFDPIC_INTERP:
+ tmp = child->mm->context.interp_fdpic_loadmap;
+ break;
+ default:
+ break;
+ }
+
+ ret = put_user(tmp, (unsigned long __user *) data);
+ break;
+ }
+#endif
+
#ifdef PTRACE_SINGLESTEP
case PTRACE_SINGLESTEP:
#endif
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits