lkml.org 
[lkml]   [2020]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.8 207/232] fs/minix: fix block limit check for V1 filesystems
    Date
    From: Eric Biggers <ebiggers@google.com>

    [ Upstream commit 0a12c4a8069607247cb8edc3b035a664e636fd9a ]

    The minix filesystem reads its maximum file size from its on-disk
    superblock. This value isn't necessarily a multiple of the block size.
    When it's not, the V1 block mapping code doesn't allow mapping the last
    possible block. Commit 6ed6a722f9ab ("minixfs: fix block limit check")
    fixed this in the V2 mapping code. Fix it in the V1 mapping code too.

    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Cc: Qiujun Huang <anenbupt@gmail.com>
    Link: http://lkml.kernel.org/r/20200628060846.682158-6-ebiggers@kernel.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    fs/minix/itree_v1.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/fs/minix/itree_v1.c b/fs/minix/itree_v1.c
    index c0d418209ead1..405573a79aab4 100644
    --- a/fs/minix/itree_v1.c
    +++ b/fs/minix/itree_v1.c
    @@ -29,7 +29,7 @@ static int block_to_path(struct inode * inode, long block, int offsets[DEPTH])
    if (block < 0) {
    printk("MINIX-fs: block_to_path: block %ld < 0 on dev %pg\n",
    block, inode->i_sb->s_bdev);
    - } else if (block >= inode->i_sb->s_maxbytes/BLOCK_SIZE) {
    + } else if ((u64)block * BLOCK_SIZE >= inode->i_sb->s_maxbytes) {
    if (printk_ratelimit())
    printk("MINIX-fs: block_to_path: "
    "block %ld too big on dev %pg\n",
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-08-20 11:36    [W:3.103 / U:0.724 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site