In the Linux kernel, the following vulnerability has been resolved:
sfc: fix considering that all channels have TX queues
Normally, all channels have RX and TX queues, but this is not true if modparam efxseparatetx_channels=1 is used. In that cases, some channels only have RX queues and others only TX queues (or more preciselly, they have them allocated, but not initialized).
Fix efxchannelhastxqueues to return the correct value for this case too.
Messages shown at probe time before the fix: sfc 0000:03:00.0 ens6f0np0: MC command 0x82 inlen 544 failed rc=-22 (raw=0) arg=0 ------------[ cut here ]------------ netdevice: ens6f0np0: failed to initialise TXQ -1 WARNING: CPU: 1 PID: 626 at drivers/net/ethernet/sfc/ef10.c:2393 efxef10txinit+0x201/0x300 [sfc] [...] stripped RIP: 0010:efxef10txinit+0x201/0x300 [sfc] [...] stripped Call Trace: efxinittxqueue+0xaa/0xf0 [sfc] efxstartchannels+0x49/0x120 [sfc] efxstartall+0x1f8/0x430 [sfc] efxnetopen+0x5a/0xe0 [sfc] _devopen+0xd0/0x190 _devchangeflags+0x1b3/0x220 devchangeflags+0x21/0x60 [...] stripped
Messages shown at remove time before the fix: sfc 0000:03:00.0 ens6f0np0: failed to flush 10 queues sfc 0000:03:00.0 ens6f0np0: failed to flush queues