Patch "f2fs: do sanity check on zoned block device path" has been added to the 5.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    f2fs: do sanity check on zoned block device path

to the 5.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     f2fs-do-sanity-check-on-zoned-block-device-path.patch
and it can be found in the queue-5.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 0ecef49d576463df188050198f453ccb0ff385d5
Author: Chao Yu <yuchao0@xxxxxxxxxx>
Date:   Mon Sep 21 20:53:13 2020 +0800

    f2fs: do sanity check on zoned block device path
    
    [ Upstream commit 07eb1d699452de04e9d389ff17fb8fc9e975d7bf ]
    
    sbi->devs would be initialized only if image enables multiple device
    feature or blkzoned feature, if blkzoned feature flag was set by fuzz
    in non-blkzoned device, we will suffer below panic:
    
    get_zone_idx fs/f2fs/segment.c:4892 [inline]
    f2fs_usable_zone_blks_in_seg fs/f2fs/segment.c:4943 [inline]
    f2fs_usable_blks_in_seg+0x39b/0xa00 fs/f2fs/segment.c:4999
    Call Trace:
     check_block_count+0x69/0x4e0 fs/f2fs/segment.h:704
     build_sit_entries fs/f2fs/segment.c:4403 [inline]
     f2fs_build_segment_manager+0x51da/0xa370 fs/f2fs/segment.c:5100
     f2fs_fill_super+0x3880/0x6ff0 fs/f2fs/super.c:3684
     mount_bdev+0x32e/0x3f0 fs/super.c:1417
     legacy_get_tree+0x105/0x220 fs/fs_context.c:592
     vfs_get_tree+0x89/0x2f0 fs/super.c:1547
     do_new_mount fs/namespace.c:2896 [inline]
     path_mount+0x12ae/0x1e70 fs/namespace.c:3216
     do_mount fs/namespace.c:3229 [inline]
     __do_sys_mount fs/namespace.c:3437 [inline]
     __se_sys_mount fs/namespace.c:3414 [inline]
     __x64_sys_mount+0x27f/0x300 fs/namespace.c:3414
     do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
    
    Add sanity check to inconsistency on factors: blkzoned flag, device
    path and device character to avoid above panic.
    
    Signed-off-by: Chao Yu <yuchao0@xxxxxxxxxx>
    Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index dfa072fa80815..be5050292caa5 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -2832,6 +2832,12 @@ static int sanity_check_raw_super(struct f2fs_sb_info *sbi,
 					segment_count, dev_seg_count);
 			return -EFSCORRUPTED;
 		}
+	} else {
+		if (__F2FS_HAS_FEATURE(raw_super, F2FS_FEATURE_BLKZONED) &&
+					!bdev_is_zoned(sbi->sb->s_bdev)) {
+			f2fs_info(sbi, "Zoned block device path is missing");
+			return -EFSCORRUPTED;
+		}
 	}
 
 	if (secs_per_zone > total_sections || !secs_per_zone) {



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux