CVE-2024-38616

wifi: carl9170: re-fix fortified-memset warning

HIGH
8.2
CVSS Score
Published: June 19, 2024 at 01:56 PM UTC
Updated: June 17, 2026 at 07:40 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH8.2
Exploit prediction
EPSS 0.7%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: wifi: carl9170: re-fix fortified-memset warning The carl9170_tx_release() function sometimes triggers a fortified-memset warning in my randconfig builds: In file included from include/linux/string.h:254, from drivers/net/wireless/ath/carl9170/tx.c:40: In function 'fortify_memset_chk', inlined from 'carl9170_tx_release' at drivers/net/wireless/ath/carl9170/tx.c:283:2, inlined from 'kref_put' at include/linux/kref.h:65:3, inlined from 'carl9170_tx_put_skb' at drivers/net/wireless/ath/carl9170/tx.c:342:9: include/linux/fortify-string.h:493:25: error: call to '__write_overflow_field' declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Werror=attribute-warning] 493 | __write_overflow_field(p_size_field, size); Kees previously tried to avoid this by using memset_after(), but it seems this does not fully address the problem. I noticed that the memset_after() here is done on a different part of the union (status) than the original cast was from (rate_driver_data), which may confuse the compiler. Unfortunately, the memset_after() trick does not work on driver_rates[] because that is part of an anonymous struct, and I could not get struct_group() to do this either. Using two separate memset() calls on the two members does address the warning though.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

5.17 ≤ v < 6.1.935.17 ≤ v < 6.105.17 ≤ v < 6.6.335.17 ≤ v < 6.8.125.17 ≤ v < 6.9.36.2 ≤ v < 6.6.336.7 ≤ v < 6.8.126.9 ≤ v < 6.9.35.17fb5f6a0e8063fb5f6a0e8063b7a84d6d44ef353846ccd7708d2e
Vendor states this is fixed in 042a39bb8e08 (fixed)
Vendor states this is fixed in 042a39bb8e0812466327a5102606e88a5a4f8c02 (fixed)
Vendor states this is fixed in 066afafc10c9 (fixed)
Vendor states this is fixed in 066afafc10c9476ee36c47c9062527a17e763901 (fixed)
Vendor states this is fixed in 0c38c9c460bb (fixed)
Vendor states this is fixed in 0c38c9c460bb8ce8d6f6cf316e0d71a70983ec83 (fixed)
Vendor states this is fixed in 13857683126e (fixed)
Vendor states this is fixed in 13857683126e8a6492af73c74d702835f7a2175b (fixed)
Vendor states this is fixed in 87586467098281f04fa93e59fe3a516b954bddc4 (fixed)
Vendor states this is fixed in 5.17 (unaffected)
Vendor states this is fixed in 6.1.93 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.10_rc1 (unaffected)
Vendor states this is fixed in 6.6.33 (unaffected)
Vendor states this is fixed in 6.8.12 (unaffected)
Vendor states this is fixed in 6.9.3 (unaffected)
Vendor states this is fixed in 6.9.3 t (unaffected)

References (5)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/042a39bb8e0812466327a5102606e88a5a4f8c02
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/066afafc10c9476ee36c47c9062527a17e763901
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/0c38c9c460bb8ce8d6f6cf316e0d71a70983ec83
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/13857683126e8a6492af73c74d702835f7a2175b
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/87586467098281f04fa93e59fe3a516b954bddc4

SSVC — Action Prioritization

SSVCNo known exploitAutomatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

8.2HIGHCISA-ADP
Attack Vector
NETWORK
Complexity
LOW
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
LOW
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-400

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card