ocfs2_dlmfs: Fix math error when reading LVB.
authorJoel Becker <[email protected]>
Fri, 23 Apr 2010 22:24:59 +0000 (15:24 -0700)
committerJoel Becker <[email protected]>
Fri, 23 Apr 2010 22:24:59 +0000 (15:24 -0700)
When asked for a partial read of the LVB in a dlmfs file, we can
accidentally calculate a negative count.

Reported-by: Dan Carpenter <[email protected]>
Cc: <[email protected]>
Signed-off-by: Joel Becker <[email protected]>
fs/ocfs2/dlmfs/dlmfs.c

index a99d1eafa8e2e4f12d92efb0ee21873c7257087a..b83d6107a1f5e0eb9e63c4dae29746c3b3888fce 100644 (file)
@@ -262,7 +262,7 @@ static ssize_t dlmfs_file_read(struct file *filp,
        if ((count + *ppos) > i_size_read(inode))
                readlen = i_size_read(inode) - *ppos;
        else
-               readlen = count - *ppos;
+               readlen = count;
 
        lvb_buf = kmalloc(readlen, GFP_NOFS);
        if (!lvb_buf)