<?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-02T18:55:58.204160+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-2026-46025</id>
    <title>CVE-2026-46025 — mm/damon/core: fix damon_call() vs kdamond_fn() exit race</title>
    <updated>2026-10-02T18:55:58.206882+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>mm/damon/core: fix damon_call() vs kdamond_fn() exit race</p>
<p>Patch series "mm/damon/core: fix damon_call()/damos_walk() vs kdmond exit
race".</p>
<p>damon_call() and damos_walk() can leak memory and/or deadlock when they
race with kdamond terminations.  Fix those.</p>
<p>This patch (of 2);</p>
<p>When kdamond_fn() main loop is finished, the function cancels all
remaining damon_call() requests and unset the damon_ctx-&gt;kdamond so that
API callers and API functions themselves can know the context is
terminated.  damon_call() adds the caller's request to the queue first. 
After that, it shows if the kdamond of the damon_ctx is still running
(damon_ctx-&gt;kdamond is set).  Only if the kdamond is running, damon_call()
starts waiting for the kdamond's handling of the newly added request.</p>
<p>The damon_call() requests registration and damon_ctx-&gt;kdamond unset are
protected by different mutexes, though.  Hence, damon_call() could race
with damon_ctx-&gt;kdamond unset, and result in deadlocks.</p>
<p>For example, let's suppose kdamond successfully finished the damon_call()
requests cancelling.  Right after that, damon_call() is called for the
context.  It registers the new request, and shows the context is still
running, because damon_ctx-&gt;kdamond unset is not yet done.  Hence the
damon_call() caller starts waiting for the handling of the request. 
However, the kdamond is already on the termination steps, so it never
handles the new request.  As a r…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-46025"/>
  </entry>
</feed>
