From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Cc: stable@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH 4.14 4.19 5.4] nilfs2: fix missing error check for sb_set_blocksize call
Date: Mon, 11 Dec 2023 14:21:27 +0100 [thread overview]
Message-ID: <2023121112-kitty-scarily-b463@gregkh> (raw)
In-Reply-To: <20231210072648.3054-1-konishi.ryusuke@gmail.com>
On Sun, Dec 10, 2023 at 04:26:48PM +0900, Ryusuke Konishi wrote:
> commit d61d0ab573649789bf9eb909c89a1a193b2e3d10 upstream.
>
> When mounting a filesystem image with a block size larger than the page
> size, nilfs2 repeatedly outputs long error messages with stack traces to
> the kernel log, such as the following:
>
> getblk(): invalid block size 8192 requested
> logical block size: 512
> ...
> Call Trace:
> dump_stack_lvl+0x92/0xd4
> dump_stack+0xd/0x10
> bdev_getblk+0x33a/0x354
> __breadahead+0x11/0x80
> nilfs_search_super_root+0xe2/0x704 [nilfs2]
> load_nilfs+0x72/0x504 [nilfs2]
> nilfs_mount+0x30f/0x518 [nilfs2]
> legacy_get_tree+0x1b/0x40
> vfs_get_tree+0x18/0xc4
> path_mount+0x786/0xa88
> __ia32_sys_mount+0x147/0x1a8
> __do_fast_syscall_32+0x56/0xc8
> do_fast_syscall_32+0x29/0x58
> do_SYSENTER_32+0x15/0x18
> entry_SYSENTER_32+0x98/0xf1
> ...
>
> This overloads the system logger. And to make matters worse, it sometimes
> crashes the kernel with a memory access violation.
>
> This is because the return value of the sb_set_blocksize() call, which
> should be checked for errors, is not checked.
>
> The latter issue is due to out-of-buffer memory being accessed based on a
> large block size that caused sb_set_blocksize() to fail for buffers read
> with the initial minimum block size that remained unupdated in the
> super_block structure.
>
> Since nilfs2 mkfs tool does not accept block sizes larger than the system
> page size, this has been overlooked. However, it is possible to create
> this situation by intentionally modifying the tool or by passing a
> filesystem image created on a system with a large page size to a system
> with a smaller page size and mounting it.
>
> Fix this issue by inserting the expected error handling for the call to
> sb_set_blocksize().
>
> Link: https://lkml.kernel.org/r/20231129141547.4726-1-konishi.ryusuke@gmail.com
> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
> Tested-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
> Please apply this patch to the stable trees indicated by the subject line
> prefix, instead of the patch I asked you to drop earlier.
>
> In this patch, "nilfs_err()" is replaced with its equivalent since it
> doesn't yet exist in these kernels. With this tweak, this patch is
> applicable from v4.8 to v5.8. Also this patch has been tested against
> these three stable trees.
Now replaced with this version, thanks for catching this!
greg k-h
prev parent reply other threads:[~2023-12-11 13:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <2023120911-uncouple-derail-3735@gregkh>
[not found] ` <CAKFNMokAa1hUUL95wxCZRXzLMuOPiQ6Cu0yOrcdbKvW=zT1z0g@mail.gmail.com>
2023-12-10 2:47 ` Patch "nilfs2: fix missing error check for sb_set_blocksize call" has been added to the 5.4-stable tree Ryusuke Konishi
2023-12-10 7:26 ` [PATCH 4.14 4.19 5.4] nilfs2: fix missing error check for sb_set_blocksize call Ryusuke Konishi
2023-12-11 13:21 ` Greg Kroah-Hartman [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2023121112-kitty-scarily-b463@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=akpm@linux-foundation.org \
--cc=konishi.ryusuke@gmail.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox