<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-29T09:27:49.842034+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2024-35977</id>
    <title>CVE-2024-35977 — platform/chrome: cros_ec_uart: properly fix race condition</title>
    <updated>2026-09-29T09:27:49.844752+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>platform/chrome: cros_ec_uart: properly fix race condition</p>
<p>The cros_ec_uart_probe() function calls devm_serdev_device_open() before
it calls serdev_device_set_client_ops(). This can trigger a NULL pointer
dereference:</p>
<p>BUG: kernel NULL pointer dereference, address: 0000000000000000
    ...
    Call Trace:
     &lt;TASK&gt;
     ...
     ? ttyport_receive_buf</p>
<p>A simplified version of crashing code is as follows:</p>
<p>static inline size_t serdev_controller_receive_buf(struct serdev_controller *ctrl,
                                                      const u8 *data,
                                                      size_t count)
    {
            struct serdev_device *serdev = ctrl-&gt;serdev;</p>
<p>if (!serdev || !serdev-&gt;ops-&gt;receive_buf) // CRASH!
                return 0;</p>
<p>return serdev-&gt;ops-&gt;receive_buf(serdev, data, count);
    }</p>
<p>It assumes that if SERPORT_ACTIVE is set and serdev exists, serdev-&gt;ops
will also exist. This conflicts with the existing cros_ec_uart_probe()
logic, as it first calls devm_serdev_device_open() (which sets
SERPORT_ACTIVE), and only later sets serdev-&gt;ops via
serdev_device_set_client_ops().</p>
<p>Commit 01f95d42b8f4 ("platform/chrome: cros_ec_uart: fix race
condition") attempted to fix a similar race condition, but while doing
so, made the window of error for this race condition to happen much
wider.</p>
<p>Attempt to fix the race condition again, making sure we fully…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2024-35977"/>
  </entry>
</feed>
