From: Sheng Yong <shengyong2021@gmail.com>
To: linux-erofs@lists.ozlabs.org
Subject: Re: [PATCH 2/2] erofs: avoid using multiple devices with different type
Date: Wed, 14 May 2025 18:07:42 +0800 [thread overview]
Message-ID: <beab668e-d06b-4da1-bf76-e47efac9d85d@gmail.com> (raw)
In-Reply-To: <c02f6e33-6788-412a-8622-49364d67d369@huawei.com>
On 5/13/25 23:10, Hongbo Li wrote:
>
[...]
>>
>> diff --git a/fs/erofs/super.c b/fs/erofs/super.c
>> index 512877d7d855..16b5b1f66584 100644
>> --- a/fs/erofs/super.c
>> +++ b/fs/erofs/super.c
>> @@ -165,8 +165,11 @@ static int erofs_init_device(struct erofs_buf
>> *buf, struct super_block *sb,
>> filp_open(dif->path, O_RDONLY | O_LARGEFILE, 0) :
>> bdev_file_open_by_path(dif->path,
>> BLK_OPEN_READ, sb->s_type, NULL);
>> - if (IS_ERR(file))
>> + if (IS_ERR(file)) {
>> + if (PTR_ERR(file) == -ENOTBLK)
>> + file = ERR_PTR(-EINVAL);
>> return PTR_ERR(file);
>
> Hi, Yong
>
> Thank you, I think it is indeed a UAF problem. This fixes the problem
> introduced by fb176750266a ("erofs: add file-backed mount support"). How
> about considering adding the fixes tag?
Hi, Hongbo,
Thanks for the comment. Will add a fix tag.
>
> In addition, I wonder may be we can only check the fc->s_fs_info (we can
> set it to NULL in .kill_sb) in erofs_fc_get_tree rather than change the
> error code. So this way we can reback the correct error message to user.
fc is not available in .kill_sb. And in this scenario, fc->s_fs_info is
already set to NULL in get_tree_bdev_flags(primary bdev)=>sget_dev()=>
sget_fc() before fill_super. So we cannot use fc->s_fs_info to indicate
the error.
Since EROFS already handles case of primary=regular & extra=bdev, I
think we could return the same errno (-EINVAL).
thanks,
shengyong
>
> Thanks,
> Hongbo
>
>> + }
>> if (!erofs_is_fileio_mode(sbi)) {
>> dif->dax_dev = fs_dax_get_by_bdev(file_bdev(file),
>
next prev parent reply other threads:[~2025-05-14 10:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-13 11:34 [PATCH v5 1/2] erofs: add 'fsoffset' mount option for file-backed & bdev-based mounts Sheng Yong
2025-05-13 11:34 ` [PATCH 2/2] erofs: avoid using multiple devices with different type Sheng Yong
2025-05-13 15:10 ` Hongbo Li
2025-05-14 10:07 ` Sheng Yong [this message]
2025-05-14 11:51 ` Gao Xiang
2025-05-13 13:56 ` [PATCH v5 1/2] erofs: add 'fsoffset' mount option for file-backed & bdev-based mounts Hongbo Li
2025-05-13 13:59 ` Hongbo Li
2025-05-14 1:41 ` Sheng Yong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=beab668e-d06b-4da1-bf76-e47efac9d85d@gmail.com \
--to=shengyong2021@gmail.com \
--cc=linux-erofs@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.