================================================================== BUG: KCSAN: data-race in prepare_kernel_cred / prepare_kernel_cred write to 0xffffffff8685f8f0 of 4 bytes by task 783 on cpu 0: get_cred_rcu include/linux/cred.h:228 [inline] get_task_cred kernel/cred.c:162 [inline] prepare_kernel_cred+0xf5/0x680 kernel/cred.c:593 _request_firmware+0x446/0xbb0 drivers/base/firmware_loader/main.c:909 request_firmware drivers/base/firmware_loader/main.c:992 [inline] cache_firmware drivers/base/firmware_loader/main.c:1330 [inline] __async_dev_cache_fw_image+0x66/0x160 drivers/base/firmware_loader/main.c:1444 async_run_entry_fn+0x52/0x180 kernel/async.c:129 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3319 worker_thread+0x582/0x770 kernel/workqueue.c:3400 kthread+0x489/0x510 kernel/kthread.c:464 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read to 0xffffffff8685f848 of 184 bytes by task 3333 on cpu 1: prepare_kernel_cred+0x114/0x680 kernel/cred.c:595 _request_firmware+0x446/0xbb0 drivers/base/firmware_loader/main.c:909 request_firmware drivers/base/firmware_loader/main.c:992 [inline] cache_firmware drivers/base/firmware_loader/main.c:1330 [inline] __async_dev_cache_fw_image+0x66/0x160 drivers/base/firmware_loader/main.c:1444 async_run_entry_fn+0x52/0x180 kernel/async.c:129 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3319 worker_thread+0x582/0x770 kernel/workqueue.c:3400 kthread+0x489/0x510 kernel/kthread.c:464 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 3333 Comm: kworker/u8:6 Not tainted 6.15.0-rc6-syzkaller-00047-ge9565e23cd89 #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025 Workqueue: async async_run_entry_fn ================================================================== netdevsim netdevsim0 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 20001 - 0 netdevsim netdevsim0 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 20001 - 0 netdevsim netdevsim0 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 20001 - 0 netdevsim netdevsim0 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 20001 - 0 bond0 (unregistering): (slave bond_slave_0): Releasing backup interface bond0 (unregistering): (slave bond_slave_1): Releasing backup interface bond0 (unregistering): (slave macvlan1): Releasing backup interface veth1_vlan: left allmulticast mode bond0 (unregistering): Released all slaves bond1 (unregistering): Released all slaves bond2 (unregistering): Released all slaves bond3 (unregistering): Released all slaves bond4 (unregistering): Released all slaves bond5 (unregistering): Released all slaves batman_adv: batadv0: Removing interface: batadv_slave_0 batman_adv: batadv0: Removing interface: batadv_slave_1 team_slave_1 (unregistering): left promiscuous mode team0 (unregistering): Port device team_slave_1 removed team_slave_0 (unregistering): left promiscuous mode team0 (unregistering): Port device team_slave_0 removed dummy0 (unregistering): left promiscuous mode team0 (unregistering): Port device dummy0 removed IPVS: stop unused estimator thread 0... netdevsim netdevsim6 netdevsim3 (unregistering): unset [0, 0] type 1 family 0 port 8472 - 0 netdevsim netdevsim6 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim6 netdevsim2 (unregistering): unset [0, 0] type 1 family 0 port 8472 - 0 netdevsim netdevsim6 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim6 netdevsim1 (unregistering): unset [0, 0] type 1 family 0 port 8472 - 0 netdevsim netdevsim6 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim6 netdevsim0 (unregistering): unset [0, 0] type 1 family 0 port 8472 - 0 netdevsim netdevsim6 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim7 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim7 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim7 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim7 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim8 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim8 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim8 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 netdevsim netdevsim8 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 team0: Port device netdevsim0 removed bond0: left allmulticast mode bond_slave_0: left allmulticast mode bond_slave_1: left allmulticast mode bond0: left promiscuous mode bond_slave_0: left promiscuous mode bond_slave_1: left promiscuous mode bridge0: port 3(bond0) entered disabled state bridge_slave_1: left allmulticast mode bridge_slave_1: left promiscuous mode bridge0: port 2(bridge_slave_1) entered disabled state bridge_slave_0: left allmulticast mode bridge_slave_0: left promiscuous mode bridge0: port 1(bridge_slave_0) entered disabled state team0: left allmulticast mode team_slave_0: left allmulticast mode team_slave_1: left allmulticast mode bridge0: port 3(team0) entered disabled state bridge_slave_1: left allmulticast mode bridge_slave_1: left promiscuous mode bridge0: port 2(bridge_slave_1) entered disabled state bridge_slave_0: left allmulticast mode bridge_slave_0: left promiscuous mode bridge0: port 1(bridge_slave_0) entered disabled state bridge_slave_1: left allmulticast mode bridge_slave_1: left promiscuous mode bridge0: port 2(bridge_slave_1) entered disabled state bridge_slave_0: left allmulticast mode bridge_slave_0: left promiscuous mode bridge0: port 1(bridge_slave_0) entered disabled state bond0 (unregistering): (slave bond_slave_0): Releasing backup interface bond0 (unregistering): (slave bond_slave_1): Releasing backup interface bond0 (unregistering): Released all slaves bond1 (unregistering): Released all slaves bond0 (unregistering): (slave bond_slave_0): Releasing backup interface bond0 (unregistering): (slave bond_slave_1): Releasing backup interface bond0 (unregistering): Released all slaves bond0 (unregistering): (slave bond_slave_0): Releasing backup interface bond0 (unregistering): (slave bond_slave_1): Releasing backup interface bond0 (unregistering): Released all slaves  (unregistering): Released all slaves bond1 (unregistering): Released all slaves bond2 (unregistering): Released all slaves bond3 (unregistering): Released all slaves bond4 (unregistering): Released all slaves bond5 (unregistering): Released all slaves bond0 (unregistering): Released all slaves tipc: Left network mode tipc: Left network mode hsr_slave_0: left promiscuous mode hsr_slave_1: left promiscuous mode batman_adv: batadv0: Interface deactivated: batadv_slave_0 batman_adv: batadv0: Removing interface: batadv_slave_0 batman_adv: batadv0: Interface deactivated: batadv_slave_1 batman_adv: batadv0: Removing interface: batadv_slave_1 hsr_slave_0: left promiscuous mode hsr_slave_1: left promiscuous mode batman_adv: batadv0: Interface deactivated: batadv_slave_0 batman_adv: batadv0: Removing interface: batadv_slave_0 batman_adv: batadv0: Interface deactivated: batadv_slave_1 batman_adv: batadv0: Removing interface: batadv_slave_1 hsr_slave_0: left promiscuous mode hsr_slave_1: left promiscuous mode batman_adv: batadv0: Interface deactivated: batadv_slave_0 batman_adv: batadv0: Removing interface: batadv_slave_0 batman_adv: batadv0: Interface deactivated: batadv_slave_1 batman_adv: batadv0: Removing interface: batadv_slave_1 hsr_slave_0: left promiscuous mode hsr_slave_1: left promiscuous mode veth1_macvtap: left promiscuous mode veth0_macvtap: left promiscuous mode veth1_macvtap: left promiscuous mode veth0_macvtap: left promiscuous mode veth1_vlan: left promiscuous mode veth0_vlan: left promiscuous mode veth1_macvtap: left promiscuous mode veth0_macvtap: left promiscuous mode veth1_vlan: left promiscuous mode veth0_vlan: left promiscuous mode pimreg (unregistering): left allmulticast mode team0 (unregistering): Port device team_slave_1 removed team0 (unregistering): Port device team_slave_0 removed team_slave_1 (unregistering): left promiscuous mode team0 (unregistering): Port device team_slave_1 removed team_slave_0 (unregistering): left promiscuous mode team0 (unregistering): Port device team_slave_0 removed team0 (unregistering): Port device team_slave_1 removed team0 (unregistering): Port device team_slave_0 removed IPVS: stop unused estimator thread 0...