erofs: fix shift-out-of-bounds of blkszbits
commit bde545295b710bdd13a0fcd4b9fddd2383eeeb3a upstream. syzbot generated a crafted bitszbits which can be shifted out-of-bounds[1]. So directly print unsupported blkszbits instead of blksize. [1] https://lore.kernel.org/r/000000000000c72ddd05b9444d2f@google.com Link: https://lore.kernel.org/r/20210120013016.14071-1-hsiangkao@aol.com Reported-by: syzbot+c68f467cd7c45860e8d4@syzkaller.appspotmail.com Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Gao Xiang <hsiangkao@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
706068d081
commit
edaa0a0aab
|
@ -124,8 +124,8 @@ static int erofs_read_superblock(struct super_block *sb)
|
||||||
blkszbits = dsb->blkszbits;
|
blkszbits = dsb->blkszbits;
|
||||||
/* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */
|
/* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */
|
||||||
if (blkszbits != LOG_BLOCK_SIZE) {
|
if (blkszbits != LOG_BLOCK_SIZE) {
|
||||||
erofs_err(sb, "blksize %u isn't supported on this platform",
|
erofs_err(sb, "blkszbits %u isn't supported on this platform",
|
||||||
1 << blkszbits);
|
blkszbits);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue