The following commit has been merged in the linux branch: commit 774b1382106529ad963d011931c1b911db05be68 Author: Roel Kluin roel.kluin@gmail.com Date: Fri Oct 16 14:00:17 2009 +0200
UBI: fix check on unsigned long
result is unsigned, the wrong check was used.
Signed-off-by: Roel Kluin roel.kluin@gmail.com Signed-off-by: Artem Bityutskiy Artem.Bityutskiy@nokia.com
diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c index e1f7d0a..14cec04 100644 --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c @@ -42,6 +42,7 @@ #include <linux/log2.h> #include <linux/kthread.h> #include <linux/reboot.h> +#include <linux/kernel.h> #include "ubi.h"
/* Maximum length of the 'mtd=' parameter */ @@ -1257,7 +1258,7 @@ static int __init bytes_str_to_int(const char *str) unsigned long result;
result = simple_strtoul(str, &endp, 0); - if (str == endp || result < 0) { + if (str == endp || result >= INT_MAX) { printk(KERN_ERR "UBI error: incorrect bytes count: "%s"\n", str); return -EINVAL;