<?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>Mon, 05 Oct 2026 21:52:22 +0000</lastBuildDate>
    <item>
      <title>CVE-2021-47454 — powerpc/smp: do not decrement idle task preempt count in CPU offline</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2021-47454</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;powerpc/smp: do not decrement idle task preempt count in CPU offline&lt;/p&gt;
&lt;p&gt;With PREEMPT_COUNT=y, when a CPU is offlined and then onlined again, we
get:&lt;/p&gt;
&lt;p&gt;BUG: scheduling while atomic: swapper/1/0/0x00000000
no locks held by swapper/1/0.
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.15.0-rc2+ #100
Call Trace:
 dump_stack_lvl+0xac/0x108
 __schedule_bug+0xac/0xe0
 __schedule+0xcf8/0x10d0
 schedule_idle+0x3c/0x70
 do_idle+0x2d8/0x4a0
 cpu_startup_entry+0x38/0x40
 start_secondary+0x2ec/0x3a0
 start_secondary_prolog+0x10/0x14&lt;/p&gt;
&lt;p&gt;This is because powerpc&amp;#39;s arch_cpu_idle_dead() decrements the idle task&amp;#39;s
preempt count, for reasons explained in commit a7c2bb8279d2 (&amp;#34;powerpc:
Re-enable preemption before cpu_die()&amp;#34;), specifically &amp;#34;start_secondary()
expects a preempt_count() of 0.&amp;#34;&lt;/p&gt;
&lt;p&gt;However, since commit 2c669ef6979c (&amp;#34;powerpc/preempt: Don&amp;#39;t touch the idle
task&amp;#39;s preempt_count during hotplug&amp;#34;) and commit f1a0a376ca0c (&amp;#34;sched/core:
Initialize the idle task with preemption disabled&amp;#34;), that justification no
longer holds.&lt;/p&gt;
&lt;p&gt;The idle task isn&amp;#39;t supposed to re-enable preemption, so remove the
vestigial preempt_enable() from the CPU offline path.&lt;/p&gt;
&lt;p&gt;Tested with pseries and powernv in qemu, and pseries on PowerVM.&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;powerpc/smp: do not decrement idle task preempt count in CPU offline&lt;/p&gt;
&lt;p&gt;With PREEMPT_COUNT=y, when a CPU is offlined and then onlined again, we
get:&lt;/p&gt;
&lt;p&gt;BUG: scheduling while atomic: swapper/1/0/0x00000000
no locks held by swapper/1/0.
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.15.0-rc2+ #100
Call Trace:
 dump_stack_lvl+0xac/0x108
 __schedule_bug+0xac/0xe0
 __schedule+0xcf8/0x10d0
 schedule_idle+0x3c/0x70
 do_idle+0x2d8/0x4a0
 cpu_startup_entry+0x38/0x40
 start_secondary+0x2ec/0x3a0
 start_secondary_prolog+0x10/0x14&lt;/p&gt;
&lt;p&gt;This is because powerpc&amp;#39;s arch_cpu_idle_dead() decrements the idle task&amp;#39;s
preempt count, for reasons explained in commit a7c2bb8279d2 (&amp;#34;powerpc:
Re-enable preemption before cpu_die()&amp;#34;), specifically &amp;#34;start_secondary()
expects a preempt_count() of 0.&amp;#34;&lt;/p&gt;
&lt;p&gt;However, since commit 2c669ef6979c (&amp;#34;powerpc/preempt: Don&amp;#39;t touch the idle
task&amp;#39;s preempt_count during hotplug&amp;#34;) and commit f1a0a376ca0c (&amp;#34;sched/core:
Initialize the idle task with preemption disabled&amp;#34;), that justification no
longer holds.&lt;/p&gt;
&lt;p&gt;The idle task isn&amp;#39;t supposed to re-enable preemption, so remove the
vestigial preempt_enable() from the CPU offline path.&lt;/p&gt;
&lt;p&gt;Tested with pseries and powernv in qemu, and pseries on PowerVM.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2021-47454</guid>
    </item>
  </channel>
</rss>
