In the Linux kernel, the following vulnerability has been resolved: misc: fastrpc: Fix NULL pointer dereference in rpmsg callback A NULL pointer… (CVE-2026-53158)
In the Linux kernel, the following vulnerability has been resolved: misc: fastrpc: Fix NULL pointer dereference in rpmsg callback A NULL pointer dereference was observed on Hawi at boot when the DSP sends a glink message before fastrpc_rpmsg_probe() has completed initialization: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000178 pc : _raw_spin_lock_irqsave+0x34/0x8c lr : fastrpc_rpmsg_callback+0x3c/0xcc [fastrpc] ... Call trace: _raw_spin_lock_irqsave+0x34/0x8c (P) fastrpc_rpmsg_callback+0x3c/0xcc [fastrpc] qcom_glink_native_rx+0x538/0x6a4 qcom_glink_smem_intr+0x14/0x24 [qcom_glink_smem] The faulting address 0x178 corresponds to the lock variable inside struct fastrpc_channel_ctx, confirming that cctx is NULL when fastrpc_rpmsg_callback() attempts to take the spinlock. There are two issues here. First, dev_set_drvdata() is called before spin_lock_init() and idr_init(), leaving a window where the callback can retrieve a valid cctx pointer but operate on an uninitialized spinlock. Second, the rpmsg channel becomes live as soon as the driver is bound, so fastrpc_rpmsg_callback() can fire before dev_set_drvdata() is called at all, resulting in dev_get_drvdata() returning NULL. Fix both issues by moving all cctx initialization ahead of dev_set_drvdata() so the structure is fully initialized before it becomes visible to the callback, and add a NULL check in fastrpc_rpmsg_callback() as a guard against any remaining window.
AI Analysis
Technical Summary
The Linux kernel fastrpc driver had a vulnerability where the rpmsg callback could dereference a NULL pointer due to a race condition during initialization. Specifically, dev_set_drvdata() was called before spin_lock_init() and idr_init(), allowing the callback to access a partially initialized context structure or NULL pointer. Additionally, the rpmsg channel becomes active as soon as the driver binds, so the callback could be triggered before dev_set_drvdata() is called, resulting in a NULL pointer dereference. The patch moves all context initialization before dev_set_drvdata() and adds a NULL check in the callback to prevent this.
Potential Impact
This vulnerability causes a kernel NULL pointer dereference, leading to a kernel crash (panic) during system boot on affected devices. This results in denial of service by preventing the system from booting properly. There is no indication of privilege escalation or code execution from the provided data.
Mitigation Recommendations
A fix has been implemented in the Linux kernel to reorder initialization steps and add a NULL pointer check in the fastrpc rpmsg callback. Users should update to the fixed kernel version containing this patch. Patch status is not explicitly confirmed in the provided data; therefore, check the official Linux kernel vendor advisory or source repository for the exact fixed version and apply the update accordingly.
In the Linux kernel, the following vulnerability has been resolved: misc: fastrpc: Fix NULL pointer dereference in rpmsg callback A NULL pointer… (CVE-2026-53158)
Description
In the Linux kernel, the following vulnerability has been resolved: misc: fastrpc: Fix NULL pointer dereference in rpmsg callback A NULL pointer dereference was observed on Hawi at boot when the DSP sends a glink message before fastrpc_rpmsg_probe() has completed initialization: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000178 pc : _raw_spin_lock_irqsave+0x34/0x8c lr : fastrpc_rpmsg_callback+0x3c/0xcc [fastrpc] ... Call trace: _raw_spin_lock_irqsave+0x34/0x8c (P) fastrpc_rpmsg_callback+0x3c/0xcc [fastrpc] qcom_glink_native_rx+0x538/0x6a4 qcom_glink_smem_intr+0x14/0x24 [qcom_glink_smem] The faulting address 0x178 corresponds to the lock variable inside struct fastrpc_channel_ctx, confirming that cctx is NULL when fastrpc_rpmsg_callback() attempts to take the spinlock. There are two issues here. First, dev_set_drvdata() is called before spin_lock_init() and idr_init(), leaving a window where the callback can retrieve a valid cctx pointer but operate on an uninitialized spinlock. Second, the rpmsg channel becomes live as soon as the driver is bound, so fastrpc_rpmsg_callback() can fire before dev_set_drvdata() is called at all, resulting in dev_get_drvdata() returning NULL. Fix both issues by moving all cctx initialization ahead of dev_set_drvdata() so the structure is fully initialized before it becomes visible to the callback, and add a NULL check in fastrpc_rpmsg_callback() as a guard against any remaining window.
CVSS v3.1
Score 5.5medium
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Linux kernel fastrpc driver had a vulnerability where the rpmsg callback could dereference a NULL pointer due to a race condition during initialization. Specifically, dev_set_drvdata() was called before spin_lock_init() and idr_init(), allowing the callback to access a partially initialized context structure or NULL pointer. Additionally, the rpmsg channel becomes active as soon as the driver binds, so the callback could be triggered before dev_set_drvdata() is called, resulting in a NULL pointer dereference. The patch moves all context initialization before dev_set_drvdata() and adds a NULL check in the callback to prevent this.
Potential Impact
This vulnerability causes a kernel NULL pointer dereference, leading to a kernel crash (panic) during system boot on affected devices. This results in denial of service by preventing the system from booting properly. There is no indication of privilege escalation or code execution from the provided data.
Mitigation Recommendations
A fix has been implemented in the Linux kernel to reorder initialization steps and add a NULL pointer check in the fastrpc rpmsg callback. Users should update to the fixed kernel version containing this patch. Patch status is not explicitly confirmed in the provided data; therefore, check the official Linux kernel vendor advisory or source repository for the exact fixed version and apply the update accordingly.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-j24m-w36c-325g
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-53158"]
- Ecosystems
- []
- Database Specific Severity
- null
- Cvss Version
- 3.1
Threat ID: 6a498a7727e9c7971936ee5f
Added to database: 07/04/2026, 22:34:31 UTC
Last enriched: 07/04/2026, 22:37:55 UTC
Last updated: 07/31/2026, 19:24:47 UTC
Views: 3
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.