mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Julian Ruess <julianr@linux.ibm.com>
To: Yu Kuai <yukuai1@huaweicloud.com>,
	Alexander Egorenkov <egorenar@linux.ibm.com>,
	syzbot+2bcc0d79e548c4f62a59@syzkaller.appspotmail.com
Cc: axboe@kernel.dk, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com,
	jack@suse.cz, hch@lst.de,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Gerd Bayer <gbayer@linux.ibm.com>,
	"yukuai (C)" <yukuai3@huawei.com>,
	julianr@linux.ibm.com
Subject: Re: [syzbot] [block?] WARNING in blkdev_put (2)
Date: Tue, 07 Mar 2023 10:19:35 +0100	[thread overview]
Message-ID: <a3a4351375d51aa5e93e06bba212ba3637665885.camel@linux.ibm.com> (raw)
In-Reply-To: <26079e08-857d-6216-0921-bdef369f3316@huaweicloud.com>

On Tue, 2023-03-07 at 09:42 +0800, Yu Kuai wrote:
> 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
> > 
> 

This patch works for me. Thanks!
@Jens Axboe: Will this be part of the next 6.3-rc?

Regards
Julian


  reply	other threads:[~2023-03-07  9:20 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-24  7:25 syzbot
2023-03-02 19:33 ` Alexander Egorenkov
2023-03-06 15:00   ` Julian Ruess
2023-03-07  1:42     ` Yu Kuai
2023-03-07  9:19       ` Julian Ruess [this message]
2023-03-07 10:55         ` [PATCH] block: fix wrong mode for blkdev_put() from disk_scan_partitions() Yu Kuai
2023-03-07 13:12           ` Jan Kara
2023-03-07 14:25           ` Jens Axboe
     [not found] <20230303015934.2578-1-hdanton@sina.com>
2023-03-03  2:14 ` [syzbot] [block?] WARNING in blkdev_put (2) syzbot
     [not found] <20230303023229.2635-1-hdanton@sina.com>
2023-03-03  3:03 ` syzbot

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=a3a4351375d51aa5e93e06bba212ba3637665885.camel@linux.ibm.com \
    --to=julianr@linux.ibm.com \
    --cc=axboe@kernel.dk \
    --cc=egorenar@linux.ibm.com \
    --cc=gbayer@linux.ibm.com \
    --cc=hch@lst.de \
    --cc=jack@suse.cz \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=schnelle@linux.ibm.com \
    --cc=syzbot+2bcc0d79e548c4f62a59@syzkaller.appspotmail.com \
    --cc=syzkaller-bugs@googlegroups.com \
    --cc=yukuai1@huaweicloud.com \
    --cc=yukuai3@huawei.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®