Re: [PATCH 5.10/5.15] jfs: add check if log->bdev is NULL in lbmStartIO()

From: Greg Kroah-Hartman
Date: Fri Jan 12 2024 - 14:31:44 EST


On Fri, Jan 12, 2024 at 07:50:07PM +0300, Mikhail Ukhin wrote:
> Fuzzing of 5.10 stable branch shows NULL pointer dereference happens in
> lbmStartIO() on log->bdev pointer. The reason for bdev being NULL is the
> JFS_NOINTEGRITY flag is set on mount of this fs. When this flag is enabled,
> it results in the open_dummy_log function being called, which initializes a
> new dummy_log, but does not assign a value to bdev.
>
> The error is fixed in 5.18 by commit
> 07888c665b405b1cd3577ddebfeb74f4717a84c4.
> Backport of this commit is too intrusive, so it is more reasonable to apply
> a small patch to fix this issue.
>
> Found by Linux Verification Center (linuxtesting.org) with syzkaller.
>
> Signed-off-by: Mikhail Ukhin <mish.uxin2012@xxxxxxxxx>
> Signed-off-by: Mikhail Ivanov <iwanov-23@xxxxx>
> Signed-off-by: Pavel Koshutin <koshutin.pavel@xxxxxxxxx>
> Signed-off-by: Artem Sadovnikov <ancowi69@xxxxxxxxx>
> ---
> fs/jfs/jfs_logmgr.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)

Who is using jfs in 5.10 and 5.15? Why not just mark the filesystem as
BROKEN there instead? If you need to access your ancient filesystem
image just use a newer kernel.

For filesystems that are not used in older kernels, work like this feels
odd, especially for something just like a NULL dereference which doesn't
do much, right?

thanks,

greg k-h