e1000: Loop blocking QEMU with high CPU usage
This was originally reported at: https://bugs.launchpad.net/qemu/+bug/1917082
Note: This was initially a stack-overflow issue. The overflow seems to have been fixed, but this reproducer now causes a seemingly infinite loop
Hello,
Reproducer
cat << EOF | ./qemu-system-i386 -display none -machine accel=qtest, -m \
512M -M q35 -nodefaults -device e1000,netdev=net0 -netdev user,id=net0 \
-qtest /dev/null -qtest stdio
outl 0xcf8 0x80000813
outl 0xcfc 0xfe
outl 0xcf8 0x80000803
outw 0xcfc 0x0600
write 0xfe000102 0x1 0x0a
writel 0xfe000020 0x420ff00
write 0xfe00280a 0x2 0x0828
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
clock_step
write 0xfe00281b 0x1 0x08
write 0xf9b 0x1 0x01
write 0x2170 0x1 0x14
write 0x2171 0x1 0x38
write 0x2173 0x1 0xfe
write 0xfe000402 0x1 0x02
write 0xfe00380a 0x2 0x0210
write 0xfe003818 0x1 0xfa
EOF
OSS-Fuzz Report: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27574
libqtest Reproducer: 1917082.c
Thank you