lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Tue, 20 Dec 2022 19:17:09 +0530
From:   Naresh Kamboju <naresh.kamboju@...aro.org>
To:     "Michael S. Tsirkin" <mst@...hat.com>
Cc:     Marek Szyprowski <m.szyprowski@...sung.com>,
        Xuan Zhuo <xuanzhuo@...ux.alibaba.com>,
        Jason Wang <jasowang@...hat.com>,
        Shaoqin Huang <shaoqin.huang@...el.com>,
        Angus Chen <angus.chen@...uarmicro.com>,
        Alex Bennée <alex.bennee@...aro.org>,
        Arnd Bergmann <arnd@...db.de>,
        Anders Roxell <anders.roxell@...aro.org>,
        open list <linux-kernel@...r.kernel.org>,
        Linux-Next Mailing List <linux-next@...r.kernel.org>,
        lkft-triage@...ts.linaro.org, regressions@...ts.linux.dev,
        virtualization@...ts.linux-foundation.org, dmitry.fomichev@....com
Subject: Re: next: kernel BUG at drivers/virtio/virtio.c:122!

On Tue, 20 Dec 2022 at 18:56, Michael S. Tsirkin <mst@...hat.com> wrote:
>
> On Tue, Dec 20, 2022 at 02:17:45PM +0100, Marek Szyprowski wrote:
> > On 20.12.2022 11:54, Michael S. Tsirkin wrote:
> > > On Tue, Dec 20, 2022 at 06:27:59PM +0800, Xuan Zhuo wrote:
> > >> On Tue, 20 Dec 2022 14:51:54 +0530, Naresh Kamboju <naresh.kamboju@...aro.org> wrote:
> > >>> The qemu-x86_64 and qemu-arm64 boot failed with Linux next-20221220 tag.
> > >>> It is always reproducible with gcc-11/ gcc-12 and clang tool chains.
> > >>>
> > >>> Reported-by: Linux Kernel Functional Testing <lkft@...aro.org>
> > >>>
> > >>> <6>[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x000f0510]
> > >>> <5>[    0.000000] Linux version 6.1.0-next-20221220 (tuxmake@...make)
> > >>> (Debian clang version 16.0.0
> > >>> (++20221218072110+9c1b82599dac-1~exp1~20221218072217.501), Debian LLD
> > >>> 16.0.0) #1 SMP PREEMPT @1671498176
> > >>> <5>[    0.000000] random: crng init done
> > >>> <6>[    0.000000] Machine model: linux,dummy-virt
> > >>> ....
> > >>> <6>[    3.571098] loop: module loaded
> > >>> <6>[    3.573410] virtio_blk virtio0: 1/0/0 default/read/poll queues
> > >>> <5>[    3.578816] virtio_blk virtio0: [vda] 2816420 512-byte logical
> > >>> blocks (1.44 GB/1.34 GiB)
> > >>> <4>[    3.581234] ------------[ cut here ]------------
> > >>> <2>[    3.581595] kernel BUG at drivers/virtio/virtio.c:122!
> > >>> <0>[    3.582906] Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP

<Trim>

> > > Testing this fixup now:

Thanks for providing a quick fix.

> > > commit f9503d0fd839b59e0f48b00c20635437c41420ed
> > > Author: Michael S. Tsirkin <mst@...hat.com>
> > > Date:   Tue Dec 20 05:53:41 2022 -0500
> > >
> > >      fixup! virtio-blk: add support for zoned block devices
> >
> > I also confirm that this patch fixes the issue with broken virtio block
> > device observed on QEMU arm/arm64 'virt' machines and linux
> > next-20221220. Thanks for the fix!
> >
> > Tested-by: Marek Szyprowski <m.szyprowski@...sung.com>

Tested-by: Linux Kernel Functional Testing <lkft@...aro.org>

>
> Merged the fix already so I'm not sure I can add this tag.
> If I rebase before pull request I will, thanks!

[Sorry for delayed reply]

> > > diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> > > index ff49052e26f7..d8cdaeb51d1c 100644
> > > --- a/drivers/block/virtio_blk.c
> > > +++ b/drivers/block/virtio_blk.c
> > > @@ -775,6 +775,10 @@ static int virtblk_probe_zoned_device(struct virtio_device *vdev,
> > >     return ret;
> > >   }
> > >
> > > +static inline bool virtblk_has_zoned_feature(struct virtio_device *vdev)
> > > +{
> > > +   return virtio_has_feature(vdev, VIRTIO_BLK_F_ZONED);
> > > +}
> > >   #else
> > >
> > >   /*
> > > @@ -790,6 +794,11 @@ static inline int virtblk_probe_zoned_device(struct virtio_device *vdev,
> > >   {
> > >     return -EOPNOTSUPP;
> > >   }
> > > +
> > > +static inline bool virtblk_has_zoned_feature(struct virtio_device *vdev)
> > > +{
> > > +   return false;
> > > +}
> > >   #endif /* CONFIG_BLK_DEV_ZONED */
> > >
> > >   /* return id (s/n) string for *disk to *id_str
> > > @@ -1576,11 +1585,11 @@ static int virtblk_probe(struct virtio_device *vdev)
> > >             else
> > >                     q->limits.discard_granularity = blk_size;
> > >     }
> > >
> > >     virtblk_update_capacity(vblk, false);
> > >     virtio_device_ready(vdev);
> > >
> > > -   if (virtio_has_feature(vdev, VIRTIO_BLK_F_ZONED)) {
> > > +   if (virtblk_has_zoned_feature(vdev)) {
> > >             err = virtblk_probe_zoned_device(vdev, vblk, q);
> > >             if (err)
> > >                     goto out_cleanup_disk;
> >
> > Best regards
> > --
> > Marek Szyprowski, PhD
> > Samsung R&D Institute Poland


--
Linaro LKFT
https://lkft.linaro.org

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ