[PATCH] uml: TT - SYSCALL_DEBUG - fix buglet introduced in cleanup
authorPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Wed, 1 Feb 2006 11:06:27 +0000 (03:06 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 1 Feb 2006 16:53:22 +0000 (08:53 -0800)
Fixes a bug introduced in commit e32dacb9f481fd6decb41adb28e720c923d34f54 -
index is initialized based on syscall before syscall is calculated.

I'm bothering with this mainly because it gives a correct warning when the
config option is enabled, even if the code is for a almost unused debugging
option.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/um/kernel/tt/syscall_kern.c

index 3d29c90514cc0e10093b15c40188281e9fe92e7b..3fda9a03c59aa5d0d767df04fe542d488e811171 100644 (file)
@@ -23,16 +23,20 @@ void syscall_handler_tt(int sig, struct pt_regs *regs)
        int syscall;
 #ifdef CONFIG_SYSCALL_DEBUG
        int index;
-       index = record_syscall_start(syscall);
 #endif
        sc = UPT_SC(&regs->regs);
        SC_START_SYSCALL(sc);
 
+       syscall = UPT_SYSCALL_NR(&regs->regs);
+
+#ifdef CONFIG_SYSCALL_DEBUG
+       index = record_syscall_start(syscall);
+#endif
+
        syscall_trace(&regs->regs, 0);
 
        current->thread.nsyscalls++;
        nsyscalls++;
-       syscall = UPT_SYSCALL_NR(&regs->regs);
 
        if((syscall >= NR_syscalls) || (syscall < 0))
                result = -ENOSYS;