netpoll: Fix race condition in netpoll_owner_active
In the Linux kernel, the following vulnerability has been resolved: netpoll: Fix race condition in netpoll_owner_active KCSAN detected a race condition in netpoll: BUG: KCSAN: data-race in net_rx_action / netpoll_send_skb write (marked) to 0xffff8881164168b0 of 4 bytes by interrupt on cpu 10: net_rx_action (./include/linux/netpoll.h:90 net/core/dev.c:6712 net/core/dev.c:6822) read to 0xffff8881164168b0 of 4 bytes by task 1 on cpu 2: netpoll_send_skb (net/core/netpoll.c:319 net/core/netpoll.c:345 net/core/netpoll.c:393) netpoll_send_udp (net/core/netpoll.c:?) value changed: 0x0000000a -> 0xffffffff This happens because netpoll_owner_active() needs to check if the current CPU is the owner of the lock, touching napi->poll_owner non atomically. The ->poll_owner field contains the current CPU holding the lock. Use an atomic read to check if the poll owner is the current CPU.
CVE-2024-41005
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2024-41005
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "89c4b442b78bdba388337cc746fe63caba85f46c",
"lessThan": "43c0ca793a18578a0f5b305dd77fcf7ed99f1265",
"versionType": "git"
},
{
"status": "affected",
"version": "89c4b442b78bdba388337cc746fe63caba85f46c",
"lessThan": "efd29cd9c7b8369dfc7bcb34637e6bf1a188aa8e",
"versionType": "git"
},
{
"status": "affected",
"version": "89c4b442b78bdba388337cc746fe63caba85f46c",
"lessThan": "96826b16ef9c6568d31a1f6ceaa266411a46e46c",
"versionType": "git"
},
{
"status": "affected",
"version": "89c4b442b78bdba388337cc746fe63caba85f46c",
"lessThan": "3f1a155950a1685ffd0fd7175b3f671da8771f3d",
"versionType": "git"
},
{
"status": "affected",
"version": "89c4b442b78bdba388337cc746fe63caba85f46c",
"lessThan": "a130e7da73ae93afdb4659842267eec734ffbd57",
"versionType": "git"
},
{
"status": "affected",
"version": "89c4b442b78bdba388337cc746fe63caba85f46c",
"lessThan": "c2e6a872bde9912f1a7579639c5ca3adf1003916",
"versionType": "git"
}
],
"programFiles": [
"net/core/netpoll.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4.10"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "4.10",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.221",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.162",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.96",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.36",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.9.7",
"versionType": "semver",
"lessThanOrEqual": "6.9.*"
},
{
"status": "unaffected",
"version": "6.10",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"net/core/netpoll.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2024-41005
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #26656 · Revision 1
- Added to Heist Feed
- Publisher date