x86, tracehook: clean up implementation of syscall_get_error()
authorPetr Tesarik <ptesarik@suse.cz>
Wed, 3 Sep 2008 11:31:42 +0000 (13:31 +0200)
committerIngo Molnar <mingo@elte.hu>
Fri, 5 Sep 2008 15:53:16 +0000 (17:53 +0200)
The x86-tracehook code now contains this line in syscall_get_error():

return error >= -4095L ? error : 0;

Hard-wiring a constant is not nice. Let's use the IS_ERR_VALUE macro
from linux/err.h instead.

Signed-off-by: Petr Tesarik <ptesarik@suse.cz>
Cc: utrace-devel@redhat.com
Acked-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/asm-x86/syscall.h

index 6f293892895ac3ba7ca9c7f053e6415194c81f5e..04c47dc5597cf9f002408ca2590210b0477fa74b 100644 (file)
@@ -14,6 +14,7 @@
 #define _ASM_SYSCALL_H 1
 
 #include <linux/sched.h>
+#include <linux/err.h>
 
 static inline long syscall_get_nr(struct task_struct *task,
                                  struct pt_regs *regs)
@@ -47,7 +48,7 @@ static inline long syscall_get_error(struct task_struct *task,
                 */
                error = (long) (int) error;
 #endif
-       return error >= -4095L ? error : 0;
+       return IS_ERR_VALUE(error) ? error : 0;
 }
 
 static inline long syscall_get_return_value(struct task_struct *task,