forked from rubenslte/android_kernel_samsung_msm8226
BACKPORT: f2fs: sanity check log_blocks_per_seg
f2fs currently only supports 4KB block size and 2MB segment size. Sanity check log_blocks_per_seg == 9, i.e. 2MB/4KB = (1 << 9) Partially (cherry-picked from commit 9a59b62fd88196844cee5fff851bee2cfd7afb6e) f2fs: do more integrity verification for superblock Do more sanity check for superblock during ->mount. Signed-off-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> Bug: 36817013 Change-Id: I0be52e54fba82083068337ceb9f7ad985a87319f Signed-off-by: Jin Qian <jinqian@google.com> CVE-2017-0750 Signed-off-by: Kevin F. Haggerty <haggertk@lineageos.org>
This commit is contained in:
committed by
Francescodario Cuzzocrea
parent
79667afde6
commit
3aa040ac74
@@ -1358,6 +1358,14 @@ static int sanity_check_raw_super(struct f2fs_sb_info *sbi,
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* check log blocks per segment */
|
||||
if (le32_to_cpu(raw_super->log_blocks_per_seg) != 9) {
|
||||
f2fs_msg(sb, KERN_INFO,
|
||||
"Invalid log blocks per segment (%u)\n",
|
||||
le32_to_cpu(raw_super->log_blocks_per_seg));
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Currently, support 512/1024/2048/4096 bytes sector size */
|
||||
if (le32_to_cpu(raw_super->log_sectorsize) >
|
||||
F2FS_MAX_LOG_SECTOR_SIZE ||
|
||||
|
||||
Reference in New Issue
Block a user