<?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>Sat, 03 Oct 2026 20:30:50 +0000</lastBuildDate>
    <item>
      <title>CVE-2023-53791 — md: fix warning for holder mismatch from export_rdev()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2023-53791</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;md: fix warning for holder mismatch from export_rdev()&lt;/p&gt;
&lt;p&gt;Commit a1d767191096 (&amp;#34;md: use mddev-&amp;gt;external to select holder in
export_rdev()&amp;#34;) fix the problem that &amp;#39;claim_rdev&amp;#39; is used for
blkdev_get_by_dev() while &amp;#39;rdev&amp;#39; is used for blkdev_put().&lt;/p&gt;
&lt;p&gt;However, if mddev-&amp;gt;external is changed from 0 to 1, then &amp;#39;rdev&amp;#39; is used
for blkdev_get_by_dev() while &amp;#39;claim_rdev&amp;#39; is used for blkdev_put(). And
this problem can be reporduced reliably by following:&lt;/p&gt;
&lt;p&gt;New file: mdadm/tests/23rdev-lifetime&lt;/p&gt;
&lt;p&gt;devname=${dev0##*/}
devt=`cat /sys/block/$devname/dev`
pid=&amp;#34;&amp;#34;
runtime=2&lt;/p&gt;
&lt;p&gt;clean_up_test() {
        pill -9 $pid
        echo clear &amp;gt; /sys/block/md0/md/array_state
}&lt;/p&gt;
&lt;p&gt;trap &amp;#39;clean_up_test&amp;#39; EXIT&lt;/p&gt;
&lt;p&gt;add_by_sysfs() {
        while true; do
                echo $devt &amp;gt; /sys/block/md0/md/new_dev
        done
}&lt;/p&gt;
&lt;p&gt;remove_by_sysfs(){
        while true; do
                echo remove &amp;gt; /sys/block/md0/md/dev-${devname}/state
        done
}&lt;/p&gt;
&lt;p&gt;echo md0 &amp;gt; /sys/module/md_mod/parameters/new_array || die &amp;#34;create md0 failed&amp;#34;&lt;/p&gt;
&lt;p&gt;add_by_sysfs &amp;amp;
pid=&amp;#34;$pid $!&amp;#34;&lt;/p&gt;
&lt;p&gt;remove_by_sysfs &amp;amp;
pid=&amp;#34;$pid $!&amp;#34;&lt;/p&gt;
&lt;p&gt;sleep $runtime
exit 0&lt;/p&gt;
&lt;p&gt;Test cmd:&lt;/p&gt;
&lt;p&gt;./test --save-logs --logdir=/tmp/ --keep-going --dev=loop --tests=23rdev-lifetime&lt;/p&gt;
&lt;p&gt;Test result:&lt;/p&gt;
&lt;p&gt;------------[ cut here ]------------
WARNING: CPU: 0 PID: 960 at block/bdev.c:618 blkdev_put+0x27c/0x330
Modules linked in: multipath md_mod loop
CPU: 0 PID: 960 Comm: test Not tainted 6.5.0-rc2-00121-g01e55c376936-dirty #50
RIP: 0010:blkdev_p…&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;md: fix warning for holder mismatch from export_rdev()&lt;/p&gt;
&lt;p&gt;Commit a1d767191096 (&amp;#34;md: use mddev-&amp;gt;external to select holder in
export_rdev()&amp;#34;) fix the problem that &amp;#39;claim_rdev&amp;#39; is used for
blkdev_get_by_dev() while &amp;#39;rdev&amp;#39; is used for blkdev_put().&lt;/p&gt;
&lt;p&gt;However, if mddev-&amp;gt;external is changed from 0 to 1, then &amp;#39;rdev&amp;#39; is used
for blkdev_get_by_dev() while &amp;#39;claim_rdev&amp;#39; is used for blkdev_put(). And
this problem can be reporduced reliably by following:&lt;/p&gt;
&lt;p&gt;New file: mdadm/tests/23rdev-lifetime&lt;/p&gt;
&lt;p&gt;devname=${dev0##*/}
devt=`cat /sys/block/$devname/dev`
pid=&amp;#34;&amp;#34;
runtime=2&lt;/p&gt;
&lt;p&gt;clean_up_test() {
        pill -9 $pid
        echo clear &amp;gt; /sys/block/md0/md/array_state
}&lt;/p&gt;
&lt;p&gt;trap &amp;#39;clean_up_test&amp;#39; EXIT&lt;/p&gt;
&lt;p&gt;add_by_sysfs() {
        while true; do
                echo $devt &amp;gt; /sys/block/md0/md/new_dev
        done
}&lt;/p&gt;
&lt;p&gt;remove_by_sysfs(){
        while true; do
                echo remove &amp;gt; /sys/block/md0/md/dev-${devname}/state
        done
}&lt;/p&gt;
&lt;p&gt;echo md0 &amp;gt; /sys/module/md_mod/parameters/new_array || die &amp;#34;create md0 failed&amp;#34;&lt;/p&gt;
&lt;p&gt;add_by_sysfs &amp;amp;
pid=&amp;#34;$pid $!&amp;#34;&lt;/p&gt;
&lt;p&gt;remove_by_sysfs &amp;amp;
pid=&amp;#34;$pid $!&amp;#34;&lt;/p&gt;
&lt;p&gt;sleep $runtime
exit 0&lt;/p&gt;
&lt;p&gt;Test cmd:&lt;/p&gt;
&lt;p&gt;./test --save-logs --logdir=/tmp/ --keep-going --dev=loop --tests=23rdev-lifetime&lt;/p&gt;
&lt;p&gt;Test result:&lt;/p&gt;
&lt;p&gt;------------[ cut here ]------------
WARNING: CPU: 0 PID: 960 at block/bdev.c:618 blkdev_put+0x27c/0x330
Modules linked in: multipath md_mod loop
CPU: 0 PID: 960 Comm: test Not tainted 6.5.0-rc2-00121-g01e55c376936-dirty #50
RIP: 0010:blkdev_p…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2023-53791</guid>
    </item>
  </channel>
</rss>
