[PATCH v2] kernel: arg2 is unsigned long which is never < 0

From: Chen Gang
Date: Fri Feb 15 2013 - 23:13:55 EST



arg2 will never < 0, for its type is 'unsigned long'

so need beautify the relative source code (better to use macros).

Reported-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx>
Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx>
---
kernel/sys.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/kernel/sys.c b/kernel/sys.c
index 24d1ef5..eebaf8d 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -47,6 +47,7 @@
#include <linux/syscalls.h>
#include <linux/kprobes.h>
#include <linux/user_namespace.h>
+#include <linux/binfmts.h>

#include <linux/kmsg_dump.h>
/* Move somewhere else to avoid recompiling? */
@@ -2027,7 +2028,8 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
error = get_dumpable(me->mm);
break;
case PR_SET_DUMPABLE:
- if (arg2 < 0 || arg2 > 1) {
+ if (arg2 != SUID_DUMP_DISABLE &&
+ arg2 != SUID_DUMP_USER) {
error = -EINVAL;
break;
}
--
1.7.7.6
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/