<?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>Thu, 01 Oct 2026 11:38:02 +0000</lastBuildDate>
    <item>
      <title>CVE-2023-53623 — mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2023-53623</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;mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()&lt;/p&gt;
&lt;p&gt;The si-&amp;gt;lock must be held when deleting the si from the available list. 
Otherwise, another thread can re-add the si to the available list, which
can lead to memory corruption.  The only place we have found where this
happens is in the swapoff path.  This case can be described as below:&lt;/p&gt;
&lt;p&gt;core 0                       core 1
swapoff&lt;/p&gt;
&lt;p&gt;del_from_avail_list(si)      waiting&lt;/p&gt;
&lt;p&gt;try lock si-&amp;gt;lock            acquire swap_avail_lock
                             and re-add si into
                             swap_avail_head&lt;/p&gt;
&lt;p&gt;acquire si-&amp;gt;lock but missing si already being added again, and continuing
to clear SWP_WRITEOK, etc.&lt;/p&gt;
&lt;p&gt;It can be easily found that a massive warning messages can be triggered
inside get_swap_pages() by some special cases, for example, we call
madvise(MADV_PAGEOUT) on blocks of touched memory concurrently, meanwhile,
run much swapon-swapoff operations (e.g.  stress-ng-swap).&lt;/p&gt;
&lt;p&gt;However, in the worst case, panic can be caused by the above scene.  In
swapoff(), the memory used by si could be kept in swap_info[] after
turning off a swap.  This means memory corruption will not be caused
immediately until allocated and reset for a new swap in the swapon path. 
A panic message caused: (with CONFIG_PLIST_DEBUG enabled)&lt;/p&gt;
&lt;p&gt;------------[ cut here ]------------
top: 00000000e58a3003, n: 0000000013e75cda, p: 000000008cd4451a
prev: 0000000035b1…&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;mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()&lt;/p&gt;
&lt;p&gt;The si-&amp;gt;lock must be held when deleting the si from the available list. 
Otherwise, another thread can re-add the si to the available list, which
can lead to memory corruption.  The only place we have found where this
happens is in the swapoff path.  This case can be described as below:&lt;/p&gt;
&lt;p&gt;core 0                       core 1
swapoff&lt;/p&gt;
&lt;p&gt;del_from_avail_list(si)      waiting&lt;/p&gt;
&lt;p&gt;try lock si-&amp;gt;lock            acquire swap_avail_lock
                             and re-add si into
                             swap_avail_head&lt;/p&gt;
&lt;p&gt;acquire si-&amp;gt;lock but missing si already being added again, and continuing
to clear SWP_WRITEOK, etc.&lt;/p&gt;
&lt;p&gt;It can be easily found that a massive warning messages can be triggered
inside get_swap_pages() by some special cases, for example, we call
madvise(MADV_PAGEOUT) on blocks of touched memory concurrently, meanwhile,
run much swapon-swapoff operations (e.g.  stress-ng-swap).&lt;/p&gt;
&lt;p&gt;However, in the worst case, panic can be caused by the above scene.  In
swapoff(), the memory used by si could be kept in swap_info[] after
turning off a swap.  This means memory corruption will not be caused
immediately until allocated and reset for a new swap in the swapon path. 
A panic message caused: (with CONFIG_PLIST_DEBUG enabled)&lt;/p&gt;
&lt;p&gt;------------[ cut here ]------------
top: 00000000e58a3003, n: 0000000013e75cda, p: 000000008cd4451a
prev: 0000000035b1…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2023-53623</guid>
    </item>
  </channel>
</rss>
