<?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-10-05T10:57:21.009782+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-26806</id>
    <title>CVE-2024-26806 — spi: cadence-qspi: remove system-wide suspend helper calls from runtime PM hooks</title>
    <updated>2026-10-05T10:57:21.012741+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>spi: cadence-qspi: remove system-wide suspend helper calls from runtime PM hooks</p>
<p>The -&gt;runtime_suspend() and -&gt;runtime_resume() callbacks are not
expected to call spi_controller_suspend() and spi_controller_resume().
Remove calls to those in the cadence-qspi driver.</p>
<p>Those helpers have two roles currently:
 - They stop/start the queue, including dealing with the kworker.
 - They toggle the SPI controller SPI_CONTROLLER_SUSPENDED flag. It
   requires acquiring ctlr-&gt;bus_lock_mutex.</p>
<p>Step one is irrelevant because cadence-qspi is not queued. Step two
however has two implications:
 - A deadlock occurs, because -&gt;runtime_resume() is called in a context
   where the lock is already taken (in the -&gt;exec_op() callback, where
   the usage count is incremented).
 - It would disallow all operations once the device is auto-suspended.</p>
<p>Here is a brief call tree highlighting the mutex deadlock:</p>
<p>spi_mem_exec_op()
        ...
        spi_mem_access_start()
                mutex_lock(&amp;ctlr-&gt;bus_lock_mutex)</p>
<p>cqspi_exec_mem_op()
                pm_runtime_resume_and_get()
                        cqspi_resume()
                                spi_controller_resume()
                                        mutex_lock(&amp;ctlr-&gt;bus_lock_mutex)
                ...</p>
<p>spi_mem_access_end()
                mutex_unlock(&amp;ctlr-&gt;bus_lock_mutex)
        ...</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2024-26806"/>
  </entry>
</feed>
