<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Wed, 30 Sep 2026 01:34:44 +0000</lastBuildDate>
    <item>
      <title>CVE-2024-46693 — soc: qcom: pmic_glink: Fix race during initialization</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2024-46693</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;soc: qcom: pmic_glink: Fix race during initialization&lt;/p&gt;
&lt;p&gt;As pointed out by Stephen Boyd it is possible that during initialization
of the pmic_glink child drivers, the protection-domain notifiers fires,
and the associated work is scheduled, before the client registration
returns and as a result the local &amp;#34;client&amp;#34; pointer has been initialized.&lt;/p&gt;
&lt;p&gt;The outcome of this is a NULL pointer dereference as the &amp;#34;client&amp;#34;
pointer is blindly dereferenced.&lt;/p&gt;
&lt;p&gt;Timeline provided by Stephen:
 CPU0                               CPU1
 ----                               ----
 ucsi-&amp;gt;client = NULL;
 devm_pmic_glink_register_client()
  client-&amp;gt;pdr_notify(client-&amp;gt;priv, pg-&amp;gt;client_state)
   pmic_glink_ucsi_pdr_notify()
    schedule_work(&amp;amp;ucsi-&amp;gt;register_work)
    &amp;lt;schedule away&amp;gt;
                                    pmic_glink_ucsi_register()
                                     ucsi_register()
                                      pmic_glink_ucsi_read_version()
                                       pmic_glink_ucsi_read()
                                        pmic_glink_ucsi_read()
                                         pmic_glink_send(ucsi-&amp;gt;client)
                                         &amp;lt;client is NULL BAD&amp;gt;
 ucsi-&amp;gt;client = client // Too late!&lt;/p&gt;
&lt;p&gt;This code is identical across the altmode, battery manager and usci
child drivers.&lt;/p&gt;
&lt;p&gt;Resolve this by splitting the allocation of the &amp;#34;client&amp;#34; object and the
registration thereof into two operati…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;soc: qcom: pmic_glink: Fix race during initialization&lt;/p&gt;
&lt;p&gt;As pointed out by Stephen Boyd it is possible that during initialization
of the pmic_glink child drivers, the protection-domain notifiers fires,
and the associated work is scheduled, before the client registration
returns and as a result the local &amp;#34;client&amp;#34; pointer has been initialized.&lt;/p&gt;
&lt;p&gt;The outcome of this is a NULL pointer dereference as the &amp;#34;client&amp;#34;
pointer is blindly dereferenced.&lt;/p&gt;
&lt;p&gt;Timeline provided by Stephen:
 CPU0                               CPU1
 ----                               ----
 ucsi-&amp;gt;client = NULL;
 devm_pmic_glink_register_client()
  client-&amp;gt;pdr_notify(client-&amp;gt;priv, pg-&amp;gt;client_state)
   pmic_glink_ucsi_pdr_notify()
    schedule_work(&amp;amp;ucsi-&amp;gt;register_work)
    &amp;lt;schedule away&amp;gt;
                                    pmic_glink_ucsi_register()
                                     ucsi_register()
                                      pmic_glink_ucsi_read_version()
                                       pmic_glink_ucsi_read()
                                        pmic_glink_ucsi_read()
                                         pmic_glink_send(ucsi-&amp;gt;client)
                                         &amp;lt;client is NULL BAD&amp;gt;
 ucsi-&amp;gt;client = client // Too late!&lt;/p&gt;
&lt;p&gt;This code is identical across the altmode, battery manager and usci
child drivers.&lt;/p&gt;
&lt;p&gt;Resolve this by splitting the allocation of the &amp;#34;client&amp;#34; object and the
registration thereof into two operati…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2024-46693</guid>
    </item>
  </channel>
</rss>
