OpenCloudOS-Kernel/drivers
Michael S. Tsirkin cf8691cbc2 Revert "virtio-net: ethtool configurable RXCSUM"
This reverts commit 3618ad2a7c.

When control vq is not negotiated, that commit causes a crash:

[   72.229171] kernel BUG at drivers/net/virtio_net.c:1667!
[   72.230266] invalid opcode: 0000 [] PREEMPT SMP
[   72.231172] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.9.0-rc8-02934-g3618ad2a7c0e7 
[   72.231172] EIP: virtnet_send_command+0x120/0x140
[   72.231172] Code: 00 0f 94 c0 8b 7d f0 65 33 3d 14 00 00 00 75 1c 8d 65 f4 5b 5e 5f 5d c3 66 90 be 01 00 00 00 e9 6e ff ff ff 8d b6 00
+00 00 00 <0f> 0b e8 d9 bb 82 00 eb 17 8d b4 26 00 00 00 00 8d b4 26 00 00 00
[   72.231172] EAX: 0000000d EBX: f72895c0 ECX: 00000017 EDX: 00000011
[   72.231172] ESI: f7197800 EDI: ed69bd00 EBP: ed69bcf4 ESP: ed69bc98
[   72.231172] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00010246
[   72.231172] CR0: 80050033 CR2: 00000000 CR3: 02c84000 CR4: 000406f0
[   72.231172] Call Trace:
[   72.231172]  ? __virt_addr_valid+0x45/0x60
[   72.231172]  ? ___cache_free+0x51f/0x760
[   72.231172]  ? kobject_uevent_env+0xf4/0x560
[   72.231172]  virtnet_set_guest_offloads+0x4d/0x80
[   72.231172]  virtnet_set_features+0x85/0x120
[   72.231172]  ? virtnet_set_guest_offloads+0x80/0x80
[   72.231172]  __netdev_update_features+0x27a/0x8e0
[   72.231172]  ? kobject_uevent+0xa/0x20
[   72.231172]  ? netdev_register_kobject+0x12c/0x160
[   72.231172]  register_netdevice+0x4fe/0x740
[   72.231172]  register_netdev+0x1c/0x40
[   72.231172]  virtnet_probe+0x728/0xb60
[   72.231172]  ? _raw_spin_unlock+0x1d/0x40
[   72.231172]  ? virtio_vdpa_get_status+0x1c/0x20
[   72.231172]  virtio_dev_probe+0x1c6/0x271
[   72.231172]  really_probe+0x195/0x2e0
[   72.231172]  driver_probe_device+0x26/0x60
[   72.231172]  device_driver_attach+0x49/0x60
[   72.231172]  __driver_attach+0x46/0xc0
[   72.231172]  ? device_driver_attach+0x60/0x60
[   72.231172]  bus_add_driver+0x197/0x1c0
[   72.231172]  driver_register+0x66/0xc0
[   72.231172]  register_virtio_driver+0x1b/0x40
[   72.231172]  virtio_net_driver_init+0x61/0x86
[   72.231172]  ? veth_init+0x14/0x14
[   72.231172]  do_one_initcall+0x76/0x2e4
[   72.231172]  ? rdinit_setup+0x2a/0x2a
[   72.231172]  do_initcalls+0xb2/0xd5
[   72.231172]  kernel_init_freeable+0x14f/0x179
[   72.231172]  ? rest_init+0x100/0x100
[   72.231172]  kernel_init+0xd/0xe0
[   72.231172]  ret_from_fork+0x1c/0x30
[   72.231172] Modules linked in:
[   72.269563] ---[ end trace a6ebc4afea0e6cb1 ]---

The reason is that virtnet_set_features now calls virtnet_set_guest_offloads
unconditionally, it used to only call it when there is something
to configure.

If device does not have a control vq, everything breaks.

Revert the original commit for now.

Cc: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Fixes: 3618ad2a7c ("virtio-net: ethtool configurable RXCSUM")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Link: https://lore.kernel.org/r/20201021142944.13615-1-mst@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-10-21 20:33:19 -07:00
..
accessibility
acpi dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
amba
android binder: fix UAF when releasing todo list 2020-10-10 12:40:52 +02:00
ata ata: ahci: mvebu: Make SATA PHY optional for Armada 3720 2020-10-09 12:47:56 -06:00
atm atm: atmtcp: Constify atmtcp_v_dev_ops 2020-09-28 16:03:30 -07:00
auxdisplay
base dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
bcma bcma: use semicolons rather than commas to separate statements 2020-10-01 16:23:50 +03:00
block networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
bluetooth networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
bus Char/Misc driver patches for 5.10-rc1 2020-10-15 10:01:51 -07:00
cdrom
char drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
clk clk: socfpga: stratix10: fix the divider for the emac_ptp_free_clk 2020-09-22 12:54:41 -07:00
clocksource hyperv-next for 5.10 2020-10-14 10:32:10 -07:00
connector
counter counter: use semicolons rather than commas to separate statements 2020-09-29 17:27:08 +01:00
cpufreq cpufreq: stats: Fix string format specifier mismatch 2020-10-12 12:32:10 +02:00
cpuidle Merge back cpuidle material for 5.10. 2020-09-28 16:31:25 +02:00
crypto networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
dax device-dax: add a range mapping allocation attribute 2020-10-13 18:38:29 -07:00
dca
devfreq PM / devfreq: tegra30: Improve initial hardware resetting 2020-09-29 17:50:10 +09:00
dio
dma dmaengine: owl-dma: fix kernel-doc style for enum 2020-10-08 15:18:48 +05:30
dma-buf dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
edac EFI changes for v5.10: 2020-10-12 13:26:49 -07:00
eisa
extcon extcon: axp288: Use module_platform_driver to simplify the code 2020-09-30 00:40:06 +09:00
firewire firewire-ohci: use dma_alloc_pages 2020-09-25 06:20:48 +02:00
firmware Merge branch 'parisc-5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux 2020-10-15 15:42:55 -07:00
fpga
fsi
gnss
gpio - New Drivers 2020-10-14 15:56:58 -07:00
gpu dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
greybus
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2020-10-15 15:11:56 -07:00
hsi
hv hyperv-next for 5.10, part 2 2020-10-15 15:48:06 -07:00
hwmon Driver Core patches for 5.10-rc1 2020-10-14 16:09:32 -07:00
hwspinlock
hwtracing intel_th: pci: Add Alder Lake CPU support 2020-10-05 12:43:54 +02:00
i2c i2c: owl: Clear NACK and BUS error bits 2020-10-10 13:15:46 +02:00
i3c
ide block-5.10-2020-10-12 2020-10-13 12:12:44 -07:00
idle
iio sound updates for 5.10 2020-10-15 11:07:44 -07:00
infiniband networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
input hyperv-next for 5.10 2020-10-14 10:32:10 -07:00
interconnect
iommu dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
ipack
irqchip - New Drivers 2020-10-14 15:56:58 -07:00
isdn
leds leds: pwm: Remove platform_data support 2020-10-07 12:02:58 +02:00
lightnvm
macintosh
mailbox
mcb
md - Improve DM core's bio splitting to use blk_max_size_offset(). Also 2020-10-14 15:05:38 -07:00
media dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
memory IOMMU Updates for Linux v5.10 2020-10-14 12:08:34 -07:00
memstick Merge branch 'fixes' into next 2020-09-28 12:17:36 +02:00
message SCSI misc on 20201013 2020-10-14 15:15:35 -07:00
mfd - New Drivers 2020-10-14 15:56:58 -07:00
misc dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
mmc block-5.10-2020-10-12 2020-10-13 12:12:44 -07:00
most
mtd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2020-10-15 15:11:56 -07:00
mux
net Revert "virtio-net: ethtool configurable RXCSUM" 2020-10-21 20:33:19 -07:00
nfc nfc: remove unneeded break 2020-10-20 10:36:41 -07:00
ntb
nubus
nvdimm mm/memremap_pages: support multiple ranges per invocation 2020-10-13 18:38:28 -07:00
nvme drivers-5.10-2020-10-12 2020-10-13 13:04:41 -07:00
nvmem nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell() 2020-09-27 14:25:48 +02:00
of networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
opp Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm 2020-10-06 12:26:45 +02:00
oprofile
parisc dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00
parport
pci dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
pcmcia dma-mapping: remove DMA_MASK_NONE 2020-09-25 06:12:15 +02:00
perf perf: arm-cmn: Fix conversion specifiers for node type 2020-10-01 22:30:07 +01:00
phy drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
pinctrl Pin control bulk changes for the v5.10 kernel cycle 2020-10-14 15:25:04 -07:00
platform platform-drivers-x86 for v5.10-1 2020-10-14 10:43:24 -07:00
pnp PNP: remove the now unused pnp_find_card() function 2020-10-08 18:00:08 +02:00
power Char/Misc driver patches for 5.10-rc1 2020-10-15 10:01:51 -07:00
powercap powercap: include header to fix -Wmissing-prototypes 2020-09-25 16:46:01 +02:00
pps
ps3
ptp
pwm drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
rapidio
ras RAS/CEC: Convert to DEFINE_SHOW_ATTRIBUTE() 2020-09-25 19:05:31 +02:00
regulator Merge remote-tracking branch 'regulator/for-5.10' into regulator-next 2020-10-05 16:54:56 +01:00
remoteproc dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
reset
rpmsg
rtc
s390 networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
sbus
scsi dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
sfi
sh
siox
slimbus slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback 2020-09-25 14:41:51 +02:00
soc Power management updates for 5.10-rc1 2020-10-14 10:45:41 -07:00
soundwire soundwire updates for 5.10-rc1 2020-10-01 22:59:55 +02:00
spi sound updates for 5.10 2020-10-15 11:07:44 -07:00
spmi
ssb
staging dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
target networking changes for the 5.10 merge window 2020-10-15 18:42:13 -07:00
tc
tee
thermal genetlink: move to smaller ops wherever possible 2020-10-02 19:11:11 -07:00
thunderbolt thunderbolt: Changes for v5.10 merge window 2020-09-30 09:42:36 +02:00
tty serial: mcf: add sysrq capability 2020-10-05 13:32:30 +02:00
uio
usb dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
vdpa dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
vfio
vhost vhost-vdpa: fix page pinning leakage in error path 2020-10-04 03:47:02 -04:00
video Merge branch 'parisc-5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux 2020-10-15 15:42:55 -07:00
virt virt: vbox: simplify the return expression of vbg_input_open() 2020-10-02 11:36:13 +02:00
virtio drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
visorbus
vlynq
vme
w1 w1: w1_therm: make w1_poll_completion static 2020-10-05 14:49:24 +02:00
watchdog - New Drivers 2020-10-14 15:56:58 -07:00
xen dma-mapping updates for 5.10 2020-10-15 14:43:29 -07:00
zorro
Kconfig
Makefile