<?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 13:39:48 +0000</lastBuildDate>
    <item>
      <title>CVE-2024-50140 — sched/core: Disable page allocation in task_tick_mm_cid()</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2024-50140</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;sched/core: Disable page allocation in task_tick_mm_cid()&lt;/p&gt;
&lt;p&gt;With KASAN and PREEMPT_RT enabled, calling task_work_add() in
task_tick_mm_cid() may cause the following splat.&lt;/p&gt;
&lt;p&gt;[   63.696416] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48
[   63.696416] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 610, name: modprobe
[   63.696416] preempt_count: 10001, expected: 0
[   63.696416] RCU nest depth: 1, expected: 1&lt;/p&gt;
&lt;p&gt;This problem is caused by the following call trace.&lt;/p&gt;
&lt;p&gt;sched_tick() [ acquire rq-&amp;gt;__lock ]
   -&amp;gt; task_tick_mm_cid()
    -&amp;gt; task_work_add()
     -&amp;gt; __kasan_record_aux_stack()
      -&amp;gt; kasan_save_stack()
       -&amp;gt; stack_depot_save_flags()
        -&amp;gt; alloc_pages_mpol_noprof()
         -&amp;gt; __alloc_pages_noprof()
	  -&amp;gt; get_page_from_freelist()
	   -&amp;gt; rmqueue()
	    -&amp;gt; rmqueue_pcplist()
	     -&amp;gt; __rmqueue_pcplist()
	      -&amp;gt; rmqueue_bulk()
	       -&amp;gt; rt_spin_lock()&lt;/p&gt;
&lt;p&gt;The rq lock is a raw_spinlock_t. We can&amp;#39;t sleep while holding
it. IOW, we can&amp;#39;t call alloc_pages() in stack_depot_save_flags().&lt;/p&gt;
&lt;p&gt;The task_tick_mm_cid() function with its task_work_add() call was
introduced by commit 223baf9d17f2 (&amp;#34;sched: Fix performance regression
introduced by mm_cid&amp;#34;) in v6.4 kernel.&lt;/p&gt;
&lt;p&gt;Fortunately, there is a kasan_record_aux_stack_noalloc() variant that
calls stack_depot_save_flags() while not allowing it to allocate
new pages.  To allow task_tick_mm_cid() to use task_work without
pa…&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;sched/core: Disable page allocation in task_tick_mm_cid()&lt;/p&gt;
&lt;p&gt;With KASAN and PREEMPT_RT enabled, calling task_work_add() in
task_tick_mm_cid() may cause the following splat.&lt;/p&gt;
&lt;p&gt;[   63.696416] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48
[   63.696416] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 610, name: modprobe
[   63.696416] preempt_count: 10001, expected: 0
[   63.696416] RCU nest depth: 1, expected: 1&lt;/p&gt;
&lt;p&gt;This problem is caused by the following call trace.&lt;/p&gt;
&lt;p&gt;sched_tick() [ acquire rq-&amp;gt;__lock ]
   -&amp;gt; task_tick_mm_cid()
    -&amp;gt; task_work_add()
     -&amp;gt; __kasan_record_aux_stack()
      -&amp;gt; kasan_save_stack()
       -&amp;gt; stack_depot_save_flags()
        -&amp;gt; alloc_pages_mpol_noprof()
         -&amp;gt; __alloc_pages_noprof()
	  -&amp;gt; get_page_from_freelist()
	   -&amp;gt; rmqueue()
	    -&amp;gt; rmqueue_pcplist()
	     -&amp;gt; __rmqueue_pcplist()
	      -&amp;gt; rmqueue_bulk()
	       -&amp;gt; rt_spin_lock()&lt;/p&gt;
&lt;p&gt;The rq lock is a raw_spinlock_t. We can&amp;#39;t sleep while holding
it. IOW, we can&amp;#39;t call alloc_pages() in stack_depot_save_flags().&lt;/p&gt;
&lt;p&gt;The task_tick_mm_cid() function with its task_work_add() call was
introduced by commit 223baf9d17f2 (&amp;#34;sched: Fix performance regression
introduced by mm_cid&amp;#34;) in v6.4 kernel.&lt;/p&gt;
&lt;p&gt;Fortunately, there is a kasan_record_aux_stack_noalloc() variant that
calls stack_depot_save_flags() while not allowing it to allocate
new pages.  To allow task_tick_mm_cid() to use task_work without
pa…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2024-50140</guid>
    </item>
  </channel>
</rss>
