<?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://cve.radiocsirt.org</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>Wed, 07 Oct 2026 15:59:29 +0000</lastBuildDate>
    <item>
      <title>CVE-2021-47275 — bcache: avoid oversized read request in cache missing code path</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2021-47275</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;bcache: avoid oversized read request in cache missing code path&lt;/p&gt;
&lt;p&gt;In the cache missing code path of cached device, if a proper location
from the internal B+ tree is matched for a cache miss range, function
cached_dev_cache_miss() will be called in cache_lookup_fn() in the
following code block,
[code block 1]
  526         unsigned int sectors = KEY_INODE(k) == s-&amp;gt;iop.inode
  527                 ? min_t(uint64_t, INT_MAX,
  528                         KEY_START(k) - bio-&amp;gt;bi_iter.bi_sector)
  529                 : INT_MAX;
  530         int ret = s-&amp;gt;d-&amp;gt;cache_miss(b, s, bio, sectors);&lt;/p&gt;
&lt;p&gt;Here s-&amp;gt;d-&amp;gt;cache_miss() is the call backfunction pointer initialized as
cached_dev_cache_miss(), the last parameter &amp;#39;sectors&amp;#39; is an important
hint to calculate the size of read request to backing device of the
missing cache data.&lt;/p&gt;
&lt;p&gt;Current calculation in above code block may generate oversized value of
&amp;#39;sectors&amp;#39;, which consequently may trigger 2 different potential kernel
panics by BUG() or BUG_ON() as listed below,&lt;/p&gt;
&lt;p&gt;1) BUG_ON() inside bch_btree_insert_key(),
[code block 2]
   886         BUG_ON(b-&amp;gt;ops-&amp;gt;is_extents &amp;amp;&amp;amp; !KEY_SIZE(k));
2) BUG() inside biovec_slab(),
[code block 3]
   51         default:
   52                 BUG();
   53                 return NULL;&lt;/p&gt;
&lt;p&gt;All the above panics are original from cached_dev_cache_miss() by the
oversized parameter &amp;#39;sectors&amp;#39;.&lt;/p&gt;
&lt;p&gt;Inside cached_dev_cache_miss(), parameter &amp;#39;sectors&amp;#39; is used to calcu…&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;bcache: avoid oversized read request in cache missing code path&lt;/p&gt;
&lt;p&gt;In the cache missing code path of cached device, if a proper location
from the internal B+ tree is matched for a cache miss range, function
cached_dev_cache_miss() will be called in cache_lookup_fn() in the
following code block,
[code block 1]
  526         unsigned int sectors = KEY_INODE(k) == s-&amp;gt;iop.inode
  527                 ? min_t(uint64_t, INT_MAX,
  528                         KEY_START(k) - bio-&amp;gt;bi_iter.bi_sector)
  529                 : INT_MAX;
  530         int ret = s-&amp;gt;d-&amp;gt;cache_miss(b, s, bio, sectors);&lt;/p&gt;
&lt;p&gt;Here s-&amp;gt;d-&amp;gt;cache_miss() is the call backfunction pointer initialized as
cached_dev_cache_miss(), the last parameter &amp;#39;sectors&amp;#39; is an important
hint to calculate the size of read request to backing device of the
missing cache data.&lt;/p&gt;
&lt;p&gt;Current calculation in above code block may generate oversized value of
&amp;#39;sectors&amp;#39;, which consequently may trigger 2 different potential kernel
panics by BUG() or BUG_ON() as listed below,&lt;/p&gt;
&lt;p&gt;1) BUG_ON() inside bch_btree_insert_key(),
[code block 2]
   886         BUG_ON(b-&amp;gt;ops-&amp;gt;is_extents &amp;amp;&amp;amp; !KEY_SIZE(k));
2) BUG() inside biovec_slab(),
[code block 3]
   51         default:
   52                 BUG();
   53                 return NULL;&lt;/p&gt;
&lt;p&gt;All the above panics are original from cached_dev_cache_miss() by the
oversized parameter &amp;#39;sectors&amp;#39;.&lt;/p&gt;
&lt;p&gt;Inside cached_dev_cache_miss(), parameter &amp;#39;sectors&amp;#39; is used to calcu…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2021-47275</guid>
    </item>
  </channel>
</rss>
