On Tue, 20 Dec 2022 at 11:44, Michael S. Tsirkin mst@redhat.com wrote:
On Tue, Dec 20, 2022 at 04:12:05PM +0530, Naresh Kamboju wrote:
On Tue, 20 Dec 2022 at 16:04, Xuan Zhuo xuanzhuo@linux.alibaba.com wrote:
On Tue, 20 Dec 2022 14:51:54 +0530, Naresh Kamboju naresh.kamboju@linaro.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@linaro.org
<6>[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x000f0510] <5>[ 0.000000] Linux version 6.1.0-next-20221220 (tuxmake@tuxmake) (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 <4>[ 3.583672] Modules linked in: <4>[ 3.584905] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0-next-20221220 #1 <4>[ 3.585801] Hardware name: linux,dummy-virt (DT) <4>[ 3.586591] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) <4>[ 3.587349] pc : virtio_check_driver_offered_feature+0x60/0x6c <4>[ 3.588613] lr : virtblk_probe+0x7cc/0x8f0
I bisected this problem down to this patch 0562d7bf1604 ("virtio-blk: add support for zoned block devices") see the full bisection log [1].
I built just a plain defconfig for an arm64 kernel. I used tuxmake and tuxrun to do the bisection a commanline like this: $ git bisect start next-20221220 next/stable \ && git bisect run tuxmake --runtime podman \ --target-arch arm64 --toolchain gcc-12 \ --kconfig defconfig kernel @tuxrun-arm64
Pre-req: install tuxmake [2], tuxrun [3] and podman and store a tuxmake result-hook in your $HOME/.config/tuxmake dir $ mkdir -p ~/.config/tuxmake/ $ curl -sSL http://ix.io/4j6v -o ~/.config/tuxmake/tuxrun-arm64
I reverted the patch and the kernel booted fine.
Cheers, Anders [1] http://ix.io/4j6B [2] https://tuxmake.org/ [3] https://tuxrun.org/ [4] http://ix.io/4j6v