[PATCH] ROMFS: romfs_iget() - unsigned ino >= 0 is always true

From: roel kluin
Date: Sat Nov 29 2008 - 11:26:17 EST


romfs_strnlen() returns int
unsigned X >= 0 is always true

Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
---
for romfs_strnlen(), see
vi fs/romfs/inode.c +200

diff --git a/fs/romfs/inode.c b/fs/romfs/inode.c
index 60d2f82..28b180b 100644
--- a/fs/romfs/inode.c
+++ b/fs/romfs/inode.c
@@ -490,7 +490,7 @@ static mode_t romfs_modemap[] =
static struct inode *
romfs_iget(struct super_block *sb, unsigned long ino)
{
- int nextfh;
+ int nextfh, ret;
struct romfs_inode ri;
struct inode *i;

@@ -527,9 +527,9 @@ romfs_iget(struct super_block *sb, unsigned long ino)
i->i_uid = i->i_gid = 0;

/* Precalculate the data offset */
- ino = romfs_strnlen(i, ino+ROMFH_SIZE, ROMFS_MAXFN);
- if (ino >= 0)
- ino = ((ROMFH_SIZE+ino+1+ROMFH_PAD)&ROMFH_MASK);
+ ret = romfs_strnlen(i, ino+ROMFH_SIZE, ROMFS_MAXFN);
+ if (ret >= 0)
+ ino = ((ROMFH_SIZE+ret+1+ROMFH_PAD)&ROMFH_MASK);
else
ino = 0;


--
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/