fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / x86_64 / ia32 / ptrace32.c
index e8dcff9..f3b7d31 100644 (file)
@@ -578,8 +578,7 @@ static const struct utrace_regset ia32_regsets[] = {
 
 const struct utrace_regset_view utrace_ia32_view = {
        .name = "i386", .e_machine = EM_386,
-       .regsets = ia32_regsets,
-       .n = sizeof ia32_regsets / sizeof ia32_regsets[0],
+       .regsets = ia32_regsets, .n = ARRAY_SIZE(ia32_regsets)
 };
 EXPORT_SYMBOL_GPL(utrace_ia32_view);
 
@@ -591,15 +590,17 @@ EXPORT_SYMBOL_GPL(utrace_ia32_view);
 
 static const struct ptrace_layout_segment ia32_uarea[] = {
        {0, sizeof(struct user_regs_struct32), 0, 0},
+       {sizeof(struct user_regs_struct32),
+        offsetof(struct user32, u_debugreg[0]), -1, 0},
        {offsetof(struct user32, u_debugreg[0]),
         offsetof(struct user32, u_debugreg[8]), 4, 0},
        {0, 0, -1, 0}
 };
 
-fastcall int arch_compat_ptrace(compat_long_t *req, 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 *req, struct task_struct *child,
+                      struct utrace_attached_engine *engine,
+                      compat_ulong_t addr, compat_ulong_t data,
+                      compat_long_t *val)
 {
        switch (*req) {
        case PTRACE_PEEKUSR: