fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / powerpc / kernel / ptrace.c
index 866ee7d..e9dae8e 100644 (file)
@@ -344,8 +344,7 @@ static const struct utrace_regset native_regsets[] = {
 
 const struct utrace_regset_view utrace_ppc_native_view = {
        .name = UTS_MACHINE, .e_machine = ELF_ARCH,
-       .regsets = native_regsets,
-       .n = sizeof native_regsets / sizeof native_regsets[0],
+       .regsets = native_regsets, .n = ARRAY_SIZE(native_regsets)
 };
 EXPORT_SYMBOL_GPL(utrace_ppc_native_view);
 
@@ -457,8 +456,7 @@ static const struct utrace_regset ppc32_regsets[] = {
 
 const struct utrace_regset_view utrace_ppc32_view = {
        .name = "ppc", .e_machine = EM_PPC,
-       .regsets = ppc32_regsets,
-       .n = sizeof ppc32_regsets / sizeof ppc32_regsets[0],
+       .regsets = ppc32_regsets, .n = ARRAY_SIZE(ppc32_regsets)
 };
 EXPORT_SYMBOL_GPL(utrace_ppc32_view);
 #endif
@@ -471,9 +469,9 @@ static const struct ptrace_layout_segment ppc_uarea[] = {
        {0, 0, -1, 0}
 };
 
-fastcall int arch_ptrace(long *request, struct task_struct *child,
-                        struct utrace_attached_engine *engine,
-                        unsigned long addr, unsigned long data, long *val)
+int arch_ptrace(long *request, struct task_struct *child,
+               struct utrace_attached_engine *engine,
+               unsigned long addr, unsigned long data, long *val)
 {
        switch (*request) {
        case PTRACE_PEEKUSR:
@@ -533,11 +531,11 @@ static const struct ptrace_layout_segment ppc32_uarea[] = {
        {0, 0, -1, 0}
 };
 
-fastcall int arch_compat_ptrace(compat_long_t *request,
-                               struct task_struct *child,
-                               struct utrace_attached_engine *engine,
-                               compat_ulong_t addr, compat_ulong_t data,
-                               compat_long_t *val)
+int arch_compat_ptrace(compat_long_t *request,
+                      struct task_struct *child,
+                      struct utrace_attached_engine *engine,
+                      compat_ulong_t addr, compat_ulong_t data,
+                      compat_long_t *val)
 {
        void __user *uaddr = (void __user *) (unsigned long) addr;
        int ret = -ENOSYS;
@@ -709,9 +707,7 @@ fastcall int arch_compat_ptrace(compat_long_t *request,
 
 void do_syscall_trace_enter(struct pt_regs *regs)
 {
-#ifdef CONFIG_PPC64
        secure_computing(regs->gpr[0]);
-#endif
 
        if (test_thread_flag(TIF_SYSCALL_TRACE))
                tracehook_report_syscall(regs, 0);
@@ -730,12 +726,8 @@ void do_syscall_trace_enter(struct pt_regs *regs)
 
 void do_syscall_trace_leave(struct pt_regs *regs)
 {
-#ifdef CONFIG_PPC32
-       secure_computing(regs->gpr[0]);
-#endif
-
        if (unlikely(current->audit_context))
-               audit_syscall_exit((regs->ccr&0x1000)?AUDITSC_FAILURE:AUDITSC_SUCCESS,
+               audit_syscall_exit((regs->ccr&0x10000000)?AUDITSC_FAILURE:AUDITSC_SUCCESS,
                                   regs->result);
 
        if (test_thread_flag(TIF_SYSCALL_TRACE))
@@ -746,8 +738,3 @@ void do_syscall_trace_leave(struct pt_regs *regs)
                tracehook_report_syscall_step(regs);
        }
 }
-
-#ifdef CONFIG_PPC32
-EXPORT_SYMBOL(do_syscall_trace_enter);
-EXPORT_SYMBOL(do_syscall_trace_leave);
-#endif