<?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>Tue, 29 Sep 2026 03:00:20 +0000</lastBuildDate>
    <item>
      <title>CVE-2024-56544 — udmabuf: change folios array from kmalloc to kvmalloc</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2024-56544</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;udmabuf: change folios array from kmalloc to kvmalloc&lt;/p&gt;
&lt;p&gt;When PAGE_SIZE 4096, MAX_PAGE_ORDER 10, 64bit machine,
page_alloc only support 4MB.
If above this, trigger this warn and return NULL.&lt;/p&gt;
&lt;p&gt;udmabuf can change size limit, if change it to 3072(3GB), and then alloc
3GB udmabuf, will fail create.&lt;/p&gt;
&lt;p&gt;[ 4080.876581] ------------[ cut here ]------------
[ 4080.876843] WARNING: CPU: 3 PID: 2015 at mm/page_alloc.c:4556 __alloc_pages+0x2c8/0x350
[ 4080.878839] RIP: 0010:__alloc_pages+0x2c8/0x350
[ 4080.879470] Call Trace:
[ 4080.879473]  &amp;lt;TASK&amp;gt;
[ 4080.879473]  ? __alloc_pages+0x2c8/0x350
[ 4080.879475]  ? __warn.cold+0x8e/0xe8
[ 4080.880647]  ? __alloc_pages+0x2c8/0x350
[ 4080.880909]  ? report_bug+0xff/0x140
[ 4080.881175]  ? handle_bug+0x3c/0x80
[ 4080.881556]  ? exc_invalid_op+0x17/0x70
[ 4080.881559]  ? asm_exc_invalid_op+0x1a/0x20
[ 4080.882077]  ? udmabuf_create+0x131/0x400&lt;/p&gt;
&lt;p&gt;Because MAX_PAGE_ORDER, kmalloc can max alloc 4096 * (1 &amp;lt;&amp;lt; 10), 4MB
memory, each array entry is pointer(8byte), so can save 524288 pages(2GB).&lt;/p&gt;
&lt;p&gt;Further more, costly order(order 3) may not be guaranteed that it can be
applied for, due to fragmentation.&lt;/p&gt;
&lt;p&gt;This patch change udmabuf array use kvmalloc_array, this can fallback
alloc into vmalloc, which can guarantee allocation for any size and does
not affect the performance of kmalloc allocations.&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;udmabuf: change folios array from kmalloc to kvmalloc&lt;/p&gt;
&lt;p&gt;When PAGE_SIZE 4096, MAX_PAGE_ORDER 10, 64bit machine,
page_alloc only support 4MB.
If above this, trigger this warn and return NULL.&lt;/p&gt;
&lt;p&gt;udmabuf can change size limit, if change it to 3072(3GB), and then alloc
3GB udmabuf, will fail create.&lt;/p&gt;
&lt;p&gt;[ 4080.876581] ------------[ cut here ]------------
[ 4080.876843] WARNING: CPU: 3 PID: 2015 at mm/page_alloc.c:4556 __alloc_pages+0x2c8/0x350
[ 4080.878839] RIP: 0010:__alloc_pages+0x2c8/0x350
[ 4080.879470] Call Trace:
[ 4080.879473]  &amp;lt;TASK&amp;gt;
[ 4080.879473]  ? __alloc_pages+0x2c8/0x350
[ 4080.879475]  ? __warn.cold+0x8e/0xe8
[ 4080.880647]  ? __alloc_pages+0x2c8/0x350
[ 4080.880909]  ? report_bug+0xff/0x140
[ 4080.881175]  ? handle_bug+0x3c/0x80
[ 4080.881556]  ? exc_invalid_op+0x17/0x70
[ 4080.881559]  ? asm_exc_invalid_op+0x1a/0x20
[ 4080.882077]  ? udmabuf_create+0x131/0x400&lt;/p&gt;
&lt;p&gt;Because MAX_PAGE_ORDER, kmalloc can max alloc 4096 * (1 &amp;lt;&amp;lt; 10), 4MB
memory, each array entry is pointer(8byte), so can save 524288 pages(2GB).&lt;/p&gt;
&lt;p&gt;Further more, costly order(order 3) may not be guaranteed that it can be
applied for, due to fragmentation.&lt;/p&gt;
&lt;p&gt;This patch change udmabuf array use kvmalloc_array, this can fallback
alloc into vmalloc, which can guarantee allocation for any size and does
not affect the performance of kmalloc allocations.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2024-56544</guid>
    </item>
  </channel>
</rss>
