Skip to content
OpenAdvisories
Unscored CVE-2021-47562 EUVD-2021-34564

ice: fix vsi->txq_map sizing

Published May 24, 2024 · Updated May 11, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.19 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-edge Package: linux-intel-5.13 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-nvidia-6.2 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-raspi2 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

In the Linux kernel, the following vulnerability has been resolved:

ice: fix vsi->txq_map sizing

The approach of having XDP queue per CPU regardless of user's setting
exposed a hidden bug that could occur in case when Rx queue count differ
from Tx queue count. Currently vsi->txq_map's size is equal to the
doubled vsi->alloc_txq, which is not correct due to the fact that XDP
rings were previously based on the Rx queue count. Below splat can be
seen when ethtool -L is used and XDP rings are configured:

[ 682.875339] BUG: kernel NULL pointer dereference, address: 000000000000000f
[ 682.883403] #PF: supervisor read access in kernel mode
[ 682.889345] #PF: error_code(0x0000) - not-present page
[ 682.895289] PGD 0 P4D 0
[ 682.898218] Oops: 0000 [#1] PREEMPT SMP PTI
[ 682.903055] CPU: 42 PID: 2878 Comm: ethtool Tainted: G OE 5.15.0-rc5+ #1
[ 682.912214] Hardware name: Intel Corp. GRANTLEY/GRANTLEY, BIOS GRRFCRB1.86B.0276.D07.1605190235 05/19/2016
[ 682.923380] RIP: 0010:devres_remove+0x44/0x130
[ 682.928527] Code: 49 89 f4 55 48 89 fd 4c 89 ff 53 48 83 ec 10 e8 92 b9 49 00 48 8b 9d a8 02 00 00 48 8d 8d a0 02 00 00 49 89 c2 48 39 cb 74 0f <4c> 3b 63 10 74 25 48 8b 5b 08 48 39 cb 75 f1 4c 89 ff 4c 89 d6 e8
[ 682.950237] RSP: 0018:ffffc90006a679f0 EFLAGS: 00010002
[ 682.956285] RAX: 0000000000000286 RBX: ffffffffffffffff RCX: ffff88908343a370
[ 682.964538] RDX: 0000000000000001 RSI: ffffffff81690d60 RDI: 0000000000000000
[ 682.972789] RBP: ffff88908343a0d0 R08: 0000000000000000 R09: 0000000000000000
[ 682.981040] R10: 0000000000000286 R11: 3fffffffffffffff R12: ffffffff81690d60
[ 682.989282] R13: ffffffff81690a00 R14: ffff8890819807a8 R15: ffff88908343a36c
[ 682.997535] FS: 00007f08c7bfa740(0000) GS:ffff88a03fd00000(0000) knlGS:0000000000000000
[ 683.006910] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 683.013557] CR2: 000000000000000f CR3: 0000001080a66003 CR4: 00000000003706e0
[ 683.021819] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 683.030075] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 683.038336] Call Trace:
[ 683.041167] devm_kfree+0x33/0x50
[ 683.045004] ice_vsi_free_arrays+0x5e/0xc0 [ice]
[ 683.050380] ice_vsi_rebuild+0x4c8/0x750 [ice]
[ 683.055543] ice_vsi_recfg_qs+0x9a/0x110 [ice]
[ 683.060697] ice_set_channels+0x14f/0x290 [ice]
[ 683.065962] ethnl_set_channels+0x333/0x3f0
[ 683.070807] genl_family_rcv_msg_doit+0xea/0x150
[ 683.076152] genl_rcv_msg+0xde/0x1d0
[ 683.080289] ? channels_prepare_data+0x60/0x60
[ 683.085432] ? genl_get_cmd+0xd0/0xd0
[ 683.089667] netlink_rcv_skb+0x50/0xf0
[ 683.094006] genl_rcv+0x24/0x40
[ 683.097638] netlink_unicast+0x239/0x340
[ 683.102177] netlink_sendmsg+0x22e/0x470
[ 683.106717] sock_sendmsg+0x5e/0x60
[ 683.110756] __sys_sendto+0xee/0x150
[ 683.114894] ? handle_mm_fault+0xd0/0x2a0
[ 683.119535] ? do_user_addr_fault+0x1f3/0x690
[ 683.134173] __x64_sys_sendto+0x25/0x30
[ 683.148231] do_syscall_64+0x3b/0xc0
[ 683.161992] entry_SYSCALL_64_after_hwframe+0x44/0xae

Fix this by taking into account the value that num_possible_cpus()
yields in addition to vsi->alloc_txq instead of doubling the latter.

Affected products

VendorProductAffectedFixed
Linux Linux 5.5 5.10.83

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 5.15.15-1 —
Debian 13 linux 5.15.15-1 —
Debian 12 linux 5.15.15-1 —
ReleasePackageFixed inAdvisory
Ubuntu 22.04 LTS linux-riscv +20 No fix yet —
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.68.1 SUSE-SU-2024:2190-1
SLES 15 SP5 kernel-azure +2 5.14.21-150500.33.57.1 SUSE-SU-2024:2019-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.68.1.150500.6.31.1 SUSE-SU-2024:2190-1
SLES 15 SP4 kernel-64kb +4 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SLES 15 SP4 kernel-syms +1 5.14.21-150400.24.122.1 SUSE-SU-2024:2189-1
SLES 15 SP3 kernel-64kb +7 5.3.18-150300.59.164.1 SUSE-SU-2024:2185-1
SLES 15 SP3 kernel-default-base 5.3.18-150300.59.164.1.150300.18.96.1 SUSE-SU-2024:2185-1
SLES 15 SP2 kernel-default-base 5.3.18-150200.24.194.1.150200.9.99.1 SUSE-SU-2024:2183-1
SLES 15 SP2 kernel-docs +5 5.3.18-150200.24.194.1 SUSE-SU-2024:2183-1
Show 19 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SLES for SAP 15 SP4 kernel-docs +2 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLES for SAP 15 SP4 kernel-syms +1 5.14.21-150400.24.122.1 SUSE-SU-2024:2189-1
SLES for SAP 15 SP3 kernel-default-base 5.3.18-150300.59.164.1.150300.18.96.1 SUSE-SU-2024:2185-1
SLES for SAP 15 SP3 kernel-docs +5 5.3.18-150300.59.164.1 SUSE-SU-2024:2185-1
SLES for SAP 15 SP2 kernel-default-base 5.3.18-150200.24.194.1.150200.9.99.1 SUSE-SU-2024:2183-1
SLES for SAP 15 SP2 kernel-docs +5 5.3.18-150200.24.194.1 SUSE-SU-2024:2183-1
SLE Micro 5.5 kernel-default 5.14.21-150500.55.68.1 SUSE-SU-2024:2190-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.68.1.150500.6.31.1 SUSE-SU-2024:2190-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.58.1 SUSE-SU-2024:2008-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.82.1 SUSE-SU-2024:2011-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.82.1 SUSE-SU-2024:2011-1
SLE Micro 5.2 kernel-default 5.3.18-150300.59.164.1 SUSE-SU-2024:2185-1
SLE Micro 5.2 kernel-default-base 5.3.18-150300.59.164.1.150300.18.96.1 SUSE-SU-2024:2185-1
SLE Micro 5.2 kernel-rt +1 5.3.18-150300.172.1 SUSE-SU-2024:2010-1
SLE Micro 5.1 kernel-default 5.3.18-150300.59.164.1 SUSE-SU-2024:2185-1
SLE Micro 5.1 kernel-default-base 5.3.18-150300.59.164.1.150300.18.96.1 SUSE-SU-2024:2185-1
SLE Micro 5.1 kernel-rt +1 5.3.18-150300.172.1 SUSE-SU-2024:2010-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.68.1 SUSE-SU-2024:2190-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_15 +1 1-150500.11.3.1 SUSE-SU-2024:2190-1, SUSE-SU-2024:2008-1
SLE Live Patching 15 SP4 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLE Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_27 1-150400.9.3.2 SUSE-SU-2024:2189-1
SLE Live Patching 15 SP3 kernel-default 5.3.18-150300.59.164.1 SUSE-SU-2024:2185-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_45 1-150300.7.3.1 SUSE-SU-2024:2185-1
SLE Live Patching 15 SP2 kernel-default 5.3.18-150200.24.194.1 SUSE-SU-2024:2183-1
SLE Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_49 1-150200.5.3.1 SUSE-SU-2024:2183-1
SLE HPC 15 SP4 kernel-64kb +3 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SLE HPC 15 SP4 kernel-syms +1 5.14.21-150400.24.122.1 SUSE-SU-2024:2189-1
SLE HPC 15 SP3 kernel-64kb +6 5.3.18-150300.59.164.1 SUSE-SU-2024:2185-1
SLE HPC 15 SP3 kernel-default-base 5.3.18-150300.59.164.1.150300.18.96.1 SUSE-SU-2024:2185-1
SLE HPC 15 SP2 kernel-default-base 5.3.18-150200.24.194.1.150200.9.99.1 SUSE-SU-2024:2183-1
SLE HPC 15 SP2 kernel-docs +5 5.3.18-150200.24.194.1 SUSE-SU-2024:2183-1
SUSE Real Time Module 15 SP5 kernel-rt +3 5.14.21-150500.13.58.1 SUSE-SU-2024:2008-1
SUSE Manager Server 4.3 kernel-default +1 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SUSE Manager Server 4.3 kernel-syms +1 5.14.21-150400.24.122.1 SUSE-SU-2024:2189-1
SUSE Manager Proxy 4.3 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
SUSE Manager Proxy 4.3 kernel-syms +1 5.14.21-150400.24.122.1 SUSE-SU-2024:2189-1
SUSE Enterprise Storage 7.1 kernel-64kb +6 5.3.18-150300.59.164.1 SUSE-SU-2024:2185-1
SUSE Enterprise Storage 7.1 kernel-default-base 5.3.18-150300.59.164.1.150300.18.96.1 SUSE-SU-2024:2185-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.5 dtb-aarch64 +10 5.14.21-150500.55.68.1 SUSE-SU-2024:2190-1
openSUSE Leap 15.5 kernel-azure +2 5.14.21-150500.33.57.1 SUSE-SU-2024:2019-1
openSUSE Leap 15.5 kernel-default-base 5.14.21-150500.55.68.1.150500.6.31.1 SUSE-SU-2024:2190-1
openSUSE Leap 15.5 kernel-rt +3 5.14.21-150500.13.58.1 SUSE-SU-2024:2008-1
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
openSUSE Leap Micro 5.4 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
openSUSE Leap Micro 5.4 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
openSUSE Leap Micro 5.4 kernel-rt 5.14.21-150400.15.82.1 SUSE-SU-2024:2011-1
openSUSE Leap Micro 5.3 kernel-default 5.14.21-150400.24.122.2 SUSE-SU-2024:2189-1
openSUSE Leap Micro 5.3 kernel-default-base 5.14.21-150400.24.122.2.150400.24.58.2 SUSE-SU-2024:2189-1
openSUSE Leap Micro 5.3 kernel-rt 5.14.21-150400.15.82.1 SUSE-SU-2024:2011-1

Advisories 9

References