<?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>Sun, 04 Oct 2026 16:57:30 +0000</lastBuildDate>
    <item>
      <title>CVE-2021-47531 — drm/msm: Fix mmap to include VM_IO and VM_DONTDUMP</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2021-47531</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;drm/msm: Fix mmap to include VM_IO and VM_DONTDUMP&lt;/p&gt;
&lt;p&gt;In commit 510410bfc034 (&amp;#34;drm/msm: Implement mmap as GEM object
function&amp;#34;) we switched to a new/cleaner method of doing things. That&amp;#39;s
good, but we missed a little bit.&lt;/p&gt;
&lt;p&gt;Before that commit, we used to _first_ run through the
drm_gem_mmap_obj() case where `obj-&amp;gt;funcs-&amp;gt;mmap()` was NULL. That meant
that we ran:&lt;/p&gt;
&lt;p&gt;vma-&amp;gt;vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP;
  vma-&amp;gt;vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma-&amp;gt;vm_flags));
  vma-&amp;gt;vm_page_prot = pgprot_decrypted(vma-&amp;gt;vm_page_prot);&lt;/p&gt;
&lt;p&gt;...and _then_ we modified those mappings with our own. Now that
`obj-&amp;gt;funcs-&amp;gt;mmap()` is no longer NULL we don&amp;#39;t run the default
code. It looks like the fact that the vm_flags got VM_IO / VM_DONTDUMP
was important because we&amp;#39;re now getting crashes on Chromebooks that
use ARC++ while logging out. Specifically a crash that looks like this
(this is on a 5.10 kernel w/ relevant backports but also seen on a
5.15 kernel):&lt;/p&gt;
&lt;p&gt;Unable to handle kernel paging request at virtual address ffffffc008000000
  Mem abort info:
    ESR = 0x96000006
    EC = 0x25: DABT (current EL), IL = 32 bits
    SET = 0, FnV = 0
    EA = 0, S1PTW = 0
  Data abort info:
    ISV = 0, ISS = 0x00000006
    CM = 0, WnR = 0
  swapper pgtable: 4k pages, 39-bit VAs, pgdp=000000008293d000
  [ffffffc008000000] pgd=00000001002b3003, p4d=00000001002b3003,
                     pud=00000001002b3003…&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;drm/msm: Fix mmap to include VM_IO and VM_DONTDUMP&lt;/p&gt;
&lt;p&gt;In commit 510410bfc034 (&amp;#34;drm/msm: Implement mmap as GEM object
function&amp;#34;) we switched to a new/cleaner method of doing things. That&amp;#39;s
good, but we missed a little bit.&lt;/p&gt;
&lt;p&gt;Before that commit, we used to _first_ run through the
drm_gem_mmap_obj() case where `obj-&amp;gt;funcs-&amp;gt;mmap()` was NULL. That meant
that we ran:&lt;/p&gt;
&lt;p&gt;vma-&amp;gt;vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP;
  vma-&amp;gt;vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma-&amp;gt;vm_flags));
  vma-&amp;gt;vm_page_prot = pgprot_decrypted(vma-&amp;gt;vm_page_prot);&lt;/p&gt;
&lt;p&gt;...and _then_ we modified those mappings with our own. Now that
`obj-&amp;gt;funcs-&amp;gt;mmap()` is no longer NULL we don&amp;#39;t run the default
code. It looks like the fact that the vm_flags got VM_IO / VM_DONTDUMP
was important because we&amp;#39;re now getting crashes on Chromebooks that
use ARC++ while logging out. Specifically a crash that looks like this
(this is on a 5.10 kernel w/ relevant backports but also seen on a
5.15 kernel):&lt;/p&gt;
&lt;p&gt;Unable to handle kernel paging request at virtual address ffffffc008000000
  Mem abort info:
    ESR = 0x96000006
    EC = 0x25: DABT (current EL), IL = 32 bits
    SET = 0, FnV = 0
    EA = 0, S1PTW = 0
  Data abort info:
    ISV = 0, ISS = 0x00000006
    CM = 0, WnR = 0
  swapper pgtable: 4k pages, 39-bit VAs, pgdp=000000008293d000
  [ffffffc008000000] pgd=00000001002b3003, p4d=00000001002b3003,
                     pud=00000001002b3003…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2021-47531</guid>
    </item>
  </channel>
</rss>
