<?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-29T04:29:47.887221+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-2025-37988</id>
    <title>CVE-2025-37988 — fix a couple of races in MNT_TREE_BENEATH handling by do_move_mount()</title>
    <updated>2026-09-29T04:29:47.889687+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>fix a couple of races in MNT_TREE_BENEATH handling by do_move_mount()</p>
<p>Normally do_lock_mount(path, _) is locking a mountpoint pinned by
*path and at the time when matching unlock_mount() unlocks that
location it is still pinned by the same thing.</p>
<p>Unfortunately, for 'beneath' case it's no longer that simple -
the object being locked is not the one *path points to.  It's the
mountpoint of path-&gt;mnt.  The thing is, without sufficient locking
-&gt;mnt_parent may change under us and none of the locks are held
at that point.  The rules are
	* mount_lock stabilizes m-&gt;mnt_parent for any mount m.
	* namespace_sem stabilizes m-&gt;mnt_parent, provided that
m is mounted.
	* if either of the above holds and refcount of m is positive,
we are guaranteed the same for refcount of m-&gt;mnt_parent.</p>
<p>namespace_sem nests inside inode_lock(), so do_lock_mount() has
to take inode_lock() before grabbing namespace_sem.  It does
recheck that path-&gt;mnt is still mounted in the same place after
getting namespace_sem, and it does take care to pin the dentry.
It is needed, since otherwise we might end up with racing mount --move
(or umount) happening while we were getting locks; in that case
dentry would no longer be a mountpoint and could've been evicted
on memory pressure along with its inode - not something you want
when grabbing lock on that inode.</p>
<p>However, pinning a dentry is not enough - the matching mount is
also pinned only by the f…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2025-37988"/>
  </entry>
</feed>
