[ Sasha's backport helper bot ]
Hi,
The upstream commit SHA1 provided is correct: 7af2ae1b1531feab5d38ec9c8f472dc6cceb4606
WARNING: Author mismatch between patch and upstream commit: Backport author: Xiangyu Chen xiangyu.chen@eng.windriver.com Commit author: Christian Brauner brauner@kernel.org
Status in newer kernel trees: 6.12.y | Present (exact SHA1) 6.11.y | Present (exact SHA1) 6.6.y | Present (different SHA1: f9b877a7ee31) 6.1.y | Not found
Note: The patch differs from the upstream commit: --- 1: 7af2ae1b1531f ! 1: bc9478262d424 erofs: reliably distinguish block based and fscache mode @@ Metadata ## Commit message ## erofs: reliably distinguish block based and fscache mode
+ commit 7af2ae1b1531feab5d38ec9c8f472dc6cceb4606 upstream. + When erofs_kill_sb() is called in block dev based mode, s_bdev may not have been initialised yet, and if CONFIG_EROFS_FS_ONDEMAND is enabled, it will be mistaken for fscache mode, and then attempt to free an anon_dev @@ Commit message Reviewed-by: Chao Yu chao@kernel.org Link: https://lore.kernel.org/r/20240419123611.947084-3-libaokun1@huawei.com Signed-off-by: Gao Xiang hsiangkao@linux.alibaba.com + Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org + Signed-off-by: Xiangyu Chen xiangyu.chen@windriver.com
## fs/erofs/super.c ## @@ fs/erofs/super.c: static int erofs_init_fs_context(struct fs_context *fc) - + */ static void erofs_kill_sb(struct super_block *sb) { - struct erofs_sb_info *sbi; + struct erofs_sb_info *sbi = EROFS_SB(sb);
+ WARN_ON(sb->s_magic != EROFS_SUPER_MAGIC); + +@@ fs/erofs/super.c: static void erofs_kill_sb(struct super_block *sb) + return; + } + - if (erofs_is_fscache_mode(sb)) + if (IS_ENABLED(CONFIG_EROFS_FS_ONDEMAND) && sbi->fsid) kill_anon_super(sb); Using kernel version 6.1 as base for comparison Comparing backport with upstream commit using range-diff... ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.1.y | Success | Success |