Description
In the Linux kernel, the following vulnerability has been resolved:
rxrpc: Fix data-race warning and potential load/store tearing
Fix the following:
BUG: KCSAN: data-race in rxrpc_peer_keepalive_worker / rxrpc_send_data_packet
which is reporting an issue with the reads and writes to ->last_tx_at in:
conn->peer->last_tx_at = ktime_get_seconds();
and:
keepalive_at = peer->last_tx_at + RXRPC_KEEPALIVE_TIME;
The lockless accesses to these to values aren't actually a problem as the read only needs an approximate time of last transmission for the purposes of deciding whether or not the transmission of a keepalive packet is warranted yet.
Also, as ->last_tx_at is a 64-bit value, tearing can occur on a 32-bit arch.
Fix both of these by switching to an unsigned int for ->last_tx_at and only storing the LSW of the time64_t. It can then be reconstructed at need provided no more than 68 years has elapsed since the last transmission.
Metrics
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= ace45bec6d77bc061c3c3d8ad99e298ea9800c2b, < 49b8ef1abfe7713e15d9128006cb76e413b12b57; >= ace45bec6d77bc061c3c3d8ad99e298ea9800c2b, < a426f29ac3fa3465093567ab763ada46762fb57c; >= ace45bec6d77bc061c3c3d8ad99e298ea9800c2b, < c08cf314191cd0f8699089715efb9eff030f0086; >= ace45bec6d77bc061c3c3d8ad99e298ea9800c2b, < f8cf1368e0a5491b27189a695c36f64e48f3d19d; >= ace45bec6d77bc061c3c3d8ad99e298ea9800c2b, < 5d5fe8bcd331f1e34e0943ec7c18432edfcf0e8b |
| Linux | Linux | 4.17 |
References
- https://git.kernel.org/stable/c/49b8ef1abfe7713e15d9128006cb76e413b12b57
- https://git.kernel.org/stable/c/5d5fe8bcd331f1e34e0943ec7c18432edfcf0e8bPatch
- https://git.kernel.org/stable/c/a426f29ac3fa3465093567ab763ada46762fb57c
- https://git.kernel.org/stable/c/c08cf314191cd0f8699089715efb9eff030f0086Patch
- https://git.kernel.org/stable/c/f8cf1368e0a5491b27189a695c36f64e48f3d19dPatch
Timeline
- Published
- Feb 14, 2026
- Last modified
- Nov 5, 2026
- NVD status
- Modified