On Sat 21-07-12 16:35:17, Ashish Sangwan wrote:
> If s_lvid_bh is not freed and set to NULL before re-scanning partition 
> with default block size, we might end up using wrong lvid in case
> s_lvid_bh is not updated in udf_load_logicalvolint during rescan.
> 
> Signed-off-by: Ashish Sangwan <ashish.sangw...@gmail.com>
> Signed-off-by: Namjae Jeon <linkinj...@gmail.com>
  Yeah, I don't think this happens in practice but in theory it could. BTW,
did you check whether we don't need to free other information (like VAT
inode etc.) when rescanning the filesystem? I think we do but currently I'm
catching up after a long vacation and this doesn't have high priority.

Anyway, I've added your patch to my tree. Thanks.

                                                                Honza
> 
> ---
>  fs/udf/super.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/fs/udf/super.c b/fs/udf/super.c
> index ac8a348..4a95c56 100644
> --- a/fs/udf/super.c
> +++ b/fs/udf/super.c
> @@ -1961,6 +1961,8 @@ static int udf_fill_super(struct super_block *sb, void 
> *options, int silent)
>                       if (!silent)
>                               pr_notice("Rescanning with blocksize %d\n",
>                                         UDF_DEFAULT_BLOCKSIZE);
> +                     brelse(sbi->s_lvid_bh);
> +                     sbi->s_lvid_bh = NULL;
>                       uopt.blocksize = UDF_DEFAULT_BLOCKSIZE;
>                       ret = udf_load_vrs(sb, &uopt, silent, &fileset);
>               }
> -- 
> 1.7.2.3
> 
-- 
Jan Kara <j...@suse.cz>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to