lkml.org 
[lkml]   [2023]   [Mar]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [syzbot] [block?] WARNING in blkdev_put (2)
    From
    Date
    Hi,

    在 2023/03/06 23:00, Julian Ruess 写道:
    > On Thu, 2023-03-02 at 20:33 +0100, Alexander Egorenkov wrote:
    >>
    >> Hi,
    >>
    >> we are seeing a similar problem on s390x architecture when
    >> partitioning
    >> a NVMe disk on linux-next.
    >>
    >>
    >>   [   70.403015]  nvme0n1: p1
    >>   [   70.403197] ------------[ cut here ]------------
    >>   [   70.403199] WARNING: CPU: 8 PID: 2452 at block/bdev.c:845
    >> blkdev_put+0x280/0x298
    >
    > ...
    >
    >> The problem appeared about a week ago.
    >>
    >> Regards
    >> Alex
    >
    > Hi all,
    >
    > I bisected this to:
    >
    > commit e5cfefa97bccf956ea0bb6464c1f6c84fd7a8d9f
    > Author: Yu Kuai <yukuai3@huawei.com>
    > Date: Fri Feb 17 10:22:00 2023 +0800
    >
    > block: fix scan partition for exclusively open device again

    Yes, thanks for the report, I figure out that I made a mistake here.

    Following patch should fix this problem:

    diff --git a/block/genhd.c b/block/genhd.c
    index 3ee5577e1586..02d9cfb9e077 100644
    --- a/block/genhd.c
    +++ b/block/genhd.c
    @@ -385,7 +385,7 @@ int disk_scan_partitions(struct gendisk *disk,
    fmode_t mode)
    if (IS_ERR(bdev))
    ret = PTR_ERR(bdev);
    else
    - blkdev_put(bdev, mode);
    + blkdev_put(bdev, mode & ~FMODE_EXCL);

    Thanks,
    Kuai
    >
    > As explained in commit 36369f46e917 ("block: Do not reread
    > partition table
    > on exclusively open device"), reread partition on the device that
    > is
    > exclusively opened by someone else is problematic.
    >
    > This patch will make sure partition scan will only be proceed if
    > current
    > thread open the device exclusively, or the device is not opened
    > exclusively, and in the later case, other scanners and exclusive
    > openers
    > will be blocked temporarily until partition scan is done.
    >
    > Fixes: 10c70d95c0f2 ("block: remove the bd_openers checks in
    > blk_drop_partitions")
    > Cc: <stable@vger.kernel.org>
    > Suggested-by: Jan Kara <jack@suse.cz>
    > Signed-off-by: Yu Kuai <yukuai3@huawei.com>
    > Reviewed-by: Christoph Hellwig <hch@lst.de>
    > Link:
    > https://lore.kernel.org/r/20230217022200.3092987-3-yukuai1@huaweicloud.com
    >
    > Signed-off-by: Jens Axboe <axboe@kernel.dk>
    >
    >
    >
    > Regards
    > Julian
    >

    \
     
     \ /
      Last update: 2023-03-27 00:46    [W:3.784 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site