public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
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

      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