can: j1939: prevent deadlock by changing j1939_socks_lock to rwlock
The following 3 locks would race against each other, causing the
deadlock situation in the Syzbot bug report:
- j1939_socks_lock
- active_session_list_lock
- sk_session_queue_lock
A reasonable fix is to change j1939_socks_lock to an rwlock, since in
the rare situations where a write lock is required for the linked list
that j1939_socks_lock is protecting, the code does not attempt to
acquire any more locks. This would break the circular lock dependency,
where, for example, the current thread already locks j1939_socks_lock
and attempts to acquire sk_session_queue_lock, and at the same time,
another thread attempts to acquire j1939_socks_lock while holding
sk_session_queue_lock.
NOTE: This patch along does not fix the unregister_netdevice bug
reported by Syzbot; instead, it solves a deadlock situation to prepare
for one or more further patches to actually fix the Syzbot bug, which
appears to be a reference counting problem within the j1939 codebase.
[mkl: remove unrelated newline change]
Analysis and contextual insights are available on OpenCVE Cloud.
No vendor fix or workaround currently provided.
Additional remediation guidance may be available on OpenCVE Cloud.
Tracking
Sign in to view the affected projects.
| Source | ID | Title |
|---|---|---|
Debian DSA |
DSA-5658-1 | linux security update |
Ubuntu USN |
USN-6766-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6766-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6766-3 | Linux kernel (AWS) vulnerabilities |
Ubuntu USN |
USN-6795-1 | Linux kernel (Intel IoTG) vulnerabilities |
Ubuntu USN |
USN-6828-1 | Linux kernel (Intel IoTG) vulnerabilities |
Ubuntu USN |
USN-6895-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6895-2 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6895-3 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6895-4 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-6900-1 | Linux kernel vulnerabilities |
Mon, 03 Feb 2025 16:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Linux
Linux linux Kernel |
|
| Weaknesses | CWE-667 | |
| CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:* |
|
| Vendors & Products |
Linux
Linux linux Kernel |
Mon, 04 Nov 2024 13:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2026-05-11T19:30:50.170Z
Reserved: 2024-03-06T09:52:12.093Z
Link: CVE-2023-52638
Updated: 2024-08-02T23:03:21.237Z
Status : Analyzed
Published: 2024-04-03T15:15:51.417
Modified: 2025-02-03T16:16:43.840
Link: CVE-2023-52638
OpenCVE Enrichment
No data.
Debian DSA
Ubuntu USN