CVE-2024-26765

LoongArch: Disable IRQ before init_fn() for nonboot CPUs

published April 3, 2024

CVSS
—
EPSS
0%
Percentile
13.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

LoongArch: Disable IRQ before init_fn() for nonboot CPUs

Disable IRQ before init_fn() for nonboot CPUs when hotplug, in order to

silence such warnings (and also avoid potential errors due to unexpected

interrupts):

WARNING: CPU: 1 PID: 0 at kernel/rcu/tree.c:4503 rcu_cpu_starting+0x214/0x280

CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.6.17+ #1198

pc 90000000048e3334 ra 90000000047bd56c tp 900000010039c000 sp 900000010039fdd0

a0 0000000000000001 a1 0000000000000006 a2 900000000802c040 a3 0000000000000000

a4 0000000000000001 a5 0000000000000004 a6 0000000000000000 a7 90000000048e3f4c

t0 0000000000000001 t1 9000000005c70968 t2 0000000004000000 t3 000000000005e56e

t4 00000000000002e4 t5 0000000000001000 t6 ffffffff80000000 t7 0000000000040000

t8 9000000007931638 u0 0000000000000006 s9 0000000000000004 s0 0000000000000001

s1 9000000006356ac0 s2 9000000007244000 s3 0000000000000001 s4 0000000000000001

s5 900000000636f000 s6 7fffffffffffffff s7 9000000002123940 s8 9000000001ca55f8

ra: 90000000047bd56c tlb_init+0x24c/0x528

ERA: 90000000048e3334 rcu_cpu_starting+0x214/0x280

CRMD: 000000b0 (PLV0 -IE -DA +PG DACF=CC DACM=CC -WE)

PRMD: 00000000 (PPLV0 -PIE -PWE)

EUEN: 00000000 (-FPE -SXE -ASXE -BTE)

ECFG: 00071000 (LIE=12 VS=7)

ESTAT: 000c0000 [BRK] (IS= ECode=12 EsubCode=0)

PRID: 0014c010 (Loongson-64bit, Loongson-3A5000)

CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.6.17+ #1198

Stack : 0000000000000000 9000000006375000 9000000005b61878 900000010039c000

900000010039fa30 0000000000000000 900000010039fa38 900000000619a140

9000000006456888 9000000006456880 900000010039f950 0000000000000001

0000000000000001 cb0cb028ec7e52e1 0000000002b90000 9000000100348700

0000000000000000 0000000000000001 ffffffff916d12f1 0000000000000003

0000000000040000 9000000007930370 0000000002b90000 0000000000000004

9000000006366000 900000000619a140 0000000000000000 0000000000000004

0000000000000000 0000000000000009 ffffffffffc681f2 9000000002123940

9000000001ca55f8 9000000006366000 90000000047a4828 00007ffff057ded8

00000000000000b0 0000000000000000 0000000000000000 0000000000071000

...

Call Trace:

[<90000000047a4828>] show_stack+0x48/0x1a0

[<9000000005b61874>] dump_stack_lvl+0x84/0xcc

[<90000000047f60ac>] __warn+0x8c/0x1e0

[<9000000005b0ab34>] report_bug+0x1b4/0x280

[<9000000005b63110>] do_bp+0x2d0/0x480

[<90000000047a2e20>] handle_bp+0x120/0x1c0

[<90000000048e3334>] rcu_cpu_starting+0x214/0x280

[<90000000047bd568>] tlb_init+0x248/0x528

[<90000000047a4c44>] per_cpu_trap_init+0x124/0x160

[<90000000047a19f4>] cpu_probe+0x494/0xa00

[<90000000047b551c>] start_secondary+0x3c/0xc0

[<9000000005b66134>] smpboot_entry+0x50/0x58

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00236 · 13.7th percentile
Published
2024-04-03T17:00Z
EPSS history
Timeline
  • 03 APR 17:00Z
    LoongArch: Disable IRQ before init_fn() for nonboot CPUs
    cvelistv5