CVE-2024-46691

usb: typec: ucsi: Move unregister out of atomic section

State
Published
Severity
Not scored
Published
Sep 13, 2024
Updated
May 23, 2026
Reserved
Sep 11, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

usb: typec: ucsi: Move unregister out of atomic section

Commit '9329933699b3 ("soc: qcom: pmic_glink: Make client-lock non-sleeping")' moved the pmic_glink client list under a spinlock, as it is accessed by the rpmsg/glink callback, which in turn is invoked from IRQ context.

This means that ucsi_unregister() is now called from atomic context, which isn't feasible as it's expecting a sleepable context. An effort is under way to get GLINK to invoke its callbacks in a sleepable context, but until then lets schedule the unregistration.

A side effect of this is that ucsi_unregister() can now happen after the remote processor, and thereby the communication link with it, is gone. pmic_glink_send() is amended with a check to avoid the resulting NULL pointer dereference. This does however result in the user being informed about this error by the following entry in the kernel log:

ucsi_glink.pmic_glink_ucsi pmic_glink.ucsi.0: failed to send UCSI write request: -5

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • fbadcde1572f6b00e1e343d8b24ec8bf7f3ec08d to before 1e3769aa0946c2b6e509c06d7a0aa9b955eaef9eAffected
  • 9329933699b32d467a99befa20415c4b2172389a to before 095b0001aefddcd9361097c971b7debc84e72714Affected
  • 9329933699b32d467a99befa20415c4b2172389a to before 11bb2ffb679399f99041540cf662409905179e3aAffected
  • 8d62ab7d89a4906385ea8c11a4b2475578bec0f0Affected
  • bd54d7c8e76d235b4a70be3a545eb13f5ac531e4Affected
  • 6.6.33 to before 6.6.130Affected
  • 6.8.12 to before 6.9Affected
  • 6.9.3 to before 6.10Affected
LinuxLinux
  • 6.10Affected
  • before 6.10Not affected
  • 6.6.130 through 6.6.*Not affected
  • 6.10.8 through 6.10.*Not affected
  • 6.11 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.