net: stmmac: fix the crash issue for zero copy XDP_TX action
Description
In the Linux kernel, the following vulnerability has been resolved:
net: stmmac: fix the crash issue for zero copy XDP_TX action
There is a crash issue when running zero copy XDP_TX action, the crash log is shown below.
[ 216.122464] Unable to handle kernel paging request at virtual address fffeffff80000000 [ 216.187524] Internal error: Oops: 0000000096000144 [#1] SMP [ 216.301694] Call trace: [ 216.304130] dcache_clean_poc+0x20/0x38 (P) [ 216.308308] __dma_sync_single_for_device+0x1bc/0x1e0 [ 216.313351] stmmac_xdp_xmit_xdpf+0x354/0x400 [ 216.317701] __stmmac_xdp_run_prog+0x164/0x368 [ 216.322139] stmmac_napi_poll_rxtx+0xba8/0xf00 [ 216.326576] __napi_poll+0x40/0x218 [ 216.408054] Kernel panic - not syncing: Oops: Fatal exception in interrupt
For XDP_TX action, the xdp_buff is converted to xdp_frame by xdp_convert_buff_to_frame(). The memory type of the resulting xdp_frame depends on the memory type of the xdp_buff. For page pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_POOL. For zero copy XSK pool based xdp_buff it produces xdp_frame with memory type MEM_TYPE_PAGE_ORDER0. However, stmmac_xdp_xmit_back() does not check the memory type and always uses the page pool type, this leads to invalid mappings and causes the crash. Therefore, check the xdp_buff memory type in stmmac_xdp_xmit_back() to fix this issue.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
75- osv-coords73 versionspkg:linux/kernelpkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-azure&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-livepatch-SLE15-SP7-RT_Update_9&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-livepatch-SLE15-SP7_Update_9&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-obs-qa&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-obs-qa&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-source-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-syms-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0
>= 5.13.0, < 6.1.160+ 72 more
- (no CPE)range: >= 5.13.0, < 6.1.160
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1.160000.2.7
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-150700.20.27.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-150700.53.31.1.150700.17.21.1
- (no CPE)range: < 6.12.0-160000.26.1.160000.2.7
- (no CPE)range: < 6.12.0-160000.26.1.160000.2.7
- (no CPE)range: < 6.4.0-39.1.21.16
- (no CPE)range: < 6.4.0-39.1.21.16
- (no CPE)range: < 6.12.0-160000.26.1.160000.2.7
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.4.0-39.1
- (no CPE)range: < 6.4.0-39.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-39.1
- (no CPE)range: < 6.4.0-39.1
- (no CPE)range: < 1-150700.1.3.2
- (no CPE)range: < 1-150700.15.3.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-40.1
- (no CPE)range: < 6.4.0-40.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-150700.7.31.2
- (no CPE)range: < 6.4.0-150700.20.27.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-39.1
- (no CPE)range: < 6.4.0-39.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-40.1
- (no CPE)range: < 6.4.0-40.1
- (no CPE)range: < 6.4.0-150700.7.31.1
- (no CPE)range: < 6.4.0-150700.20.27.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.4.0-150700.7.31.1
- (no CPE)range: < 6.4.0-150700.53.31.1
- (no CPE)range: < 6.12.0-160000.26.1
- (no CPE)range: < 6.12.0-160000.26.1
Patches
Vulnerability mechanics
References
5- git.kernel.org/stable/c/3f7823219407f2f18044c2b72366a48810c5c821mitre
- git.kernel.org/stable/c/45ee0462b88396a0bd1df1991f801c89994ea72bmitre
- git.kernel.org/stable/c/4d0ceb7677e1c4616afb96abb4518f70b65abb0dmitre
- git.kernel.org/stable/c/5e5988736a95b1de7f91b10ac2575454b70e4897mitre
- git.kernel.org/stable/c/a48e232210009be50591fdea8ba7c07b0f566a13mitre
News mentions
0No linked articles in our index yet.