BUG: KCSAN: data-race in do_page_fault / spectre_v4_enable_task_mitigation

From: Naresh Kamboju
Date: Thu Dec 15 2022 - 02:32:25 EST


[Please ignore if it is already reported, and not an expert of KCSAN]

On Linux next-20221215 tag arm64 allmodconfig boot failed due to following
data-race reported by KCSAN.

Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>

[ 0.000000][ T0] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000][ T0] Linux version 6.1.0-next-20221214
(tuxmake@tuxmake) (aarch64-linux-gnu-gcc (Debian 12.2.0-9) 12.2.0, GNU
ld (GNU Binutils for Debian) 2.39) #2 SMP PREEMPT_DYNAMIC @1671022464
[ 0.000000][ T0] random: crng init done
[ 0.000000][ T0] Machine model: linux,dummy-virt
...
[ 1067.461794][ T132] BUG: KCSAN: data-race in do_page_fault /
spectre_v4_enable_task_mitigation
[ 1067.467529][ T132]
[ 1067.469146][ T132] write to 0xffff80000f00bfb8 of 8 bytes by task
93 on cpu 0:
[ 1067.473790][ T132] spectre_v4_enable_task_mitigation+0x2f8/0x340
[ 1067.477964][ T132] __switch_to+0xc4/0x200
[ 1067.480877][ T132] __schedule+0x5ec/0x6c0
[ 1067.483764][ T132] schedule+0x6c/0x100
[ 1067.486526][ T132] worker_thread+0x7d8/0x8c0
[ 1067.489581][ T132] kthread+0x1b8/0x200
[ 1067.492483][ T132] ret_from_fork+0x10/0x20
[ 1067.495450][ T132]
[ 1067.497034][ T132] read to 0xffff80000f00bfb8 of 8 bytes by task
132 on cpu 0:
[ 1067.501684][ T132] do_page_fault+0x568/0xa40
[ 1067.504938][ T132] do_mem_abort+0x7c/0x180
[ 1067.508051][ T132] el0_da+0x64/0x100
[ 1067.510712][ T132] el0t_64_sync_handler+0x90/0x180
[ 1067.514191][ T132] el0t_64_sync+0x1a4/0x1a8
[ 1067.517200][ T132]
[ 1067.518758][ T132] 1 lock held by (udevadm)/132:
[ 1067.521883][ T132] #0: ffff00000b802c28
(&mm->mmap_lock){++++}-{3:3}, at: do_page_fault+0x480/0xa40
[ 1067.528399][ T132] irq event stamp: 1461
[ 1067.531041][ T132] hardirqs last enabled at (1460):
[<ffff80000af83e40>] preempt_schedule_irq+0x40/0x100
[ 1067.537176][ T132] hardirqs last disabled at (1461):
[<ffff80000af82c84>] __schedule+0x84/0x6c0
[ 1067.542788][ T132] softirqs last enabled at (1423):
[<ffff800008020688>] fpsimd_restore_current_state+0x148/0x1c0
[ 1067.549480][ T132] softirqs last disabled at (1421):
[<ffff8000080205fc>] fpsimd_restore_current_state+0xbc/0x1c0
[ 1067.556127][ T132]
[ 1067.557687][ T132] value changed: 0x0000000060000000 -> 0x0000000060001000
[ 1067.562039][ T132]
[ 1067.563631][ T132] Reported by Kernel Concurrency Sanitizer on:
[ 1067.567480][ T132] CPU: 0 PID: 132 Comm: (udevadm) Tainted: G
T 6.1.0-next-20221214 #2
4185b46758ba972fed408118afddb8c426bff43a
[ 1067.575669][ T132] Hardware name: linux,dummy-virt (DT)


metadata:
repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/?h=next-20221214
config: allmodconfig
arch: arm64
Build details:
https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20221214/

--
Linaro LKFT
https://lkft.linaro.org