Btrfs: use right type to get real comparison
authorLiu Bo <bo.li.liu@oracle.com>
Sun, 8 Jun 2014 11:04:13 +0000 (19:04 +0800)
committerChris Mason <clm@fb.com>
Tue, 10 Jun 2014 00:21:15 +0000 (17:21 -0700)
We want to make sure the point is still within the extent item, not to verify
the memory it's pointing to.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: Chris Mason <clm@fb.com>
fs/btrfs/backref.c

index 84d0912..00f9d9f 100644 (file)
@@ -1428,7 +1428,7 @@ static int __get_extent_inline_ref(unsigned long *ptr, struct extent_buffer *eb,
                        *out_eiref = (struct btrfs_extent_inline_ref *)(ei + 1);
                }
                *ptr = (unsigned long)*out_eiref;
-               if ((void *)*ptr >= (void *)ei + item_size)
+               if ((unsigned long)(*ptr) >= (unsigned long)ei + item_size)
                        return -ENOENT;
        }