linux/drivers
Yifan Zhang 99d7181bca amd/amdkfd: resolve a race in amdgpu_amdkfd_device_fini_sw
There is race in amdgpu_amdkfd_device_fini_sw and interrupt.
if amdgpu_amdkfd_device_fini_sw run in b/w kfd_cleanup_nodes and
  kfree(kfd), and KGD interrupt generated.

kernel panic log:

BUG: kernel NULL pointer dereference, address: 0000000000000098
amdgpu 0000:c8:00.0: amdgpu: Requesting 4 partitions through PSP

PGD d78c68067 P4D d78c68067

kfd kfd: amdgpu: Allocated 3969056 bytes on gart

PUD 1465b8067 PMD @

Oops: @002 [#1] SMP NOPTI

kfd kfd: amdgpu: Total number of KFD nodes to be created: 4
CPU: 115 PID: @ Comm: swapper/115 Kdump: loaded Tainted: G S W OE K

RIP: 0010:_raw_spin_lock_irqsave+0x12/0x40

Code: 89 e@ 41 5c c3 cc cc cc cc 66 66 2e Of 1f 84 00 00 00 00 00 OF 1f 40 00 Of 1f 44% 00 00 41 54 9c 41 5c fa 31 cO ba 01 00 00 00 <fO> OF b1 17 75 Ba 4c 89 e@ 41 Sc

89 c6 e8 07 38 5d

RSP: 0018: ffffc90@1a6b0e28 EFLAGS: 00010046

RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000018
0000000000000001 RSI: ffff8883bb623e00 RDI: 0000000000000098
ffff8883bb000000 RO8: ffff888100055020 ROO: ffff888100055020
0000000000000000 R11: 0000000000000000 R12: 0900000000000002
ffff888F2b97da0@ R14: @000000000000098 R15: ffff8883babdfo00

CS: 010 DS: 0000 ES: 0000 CRO: 0000000080050033

CR2: 0000000000000098 CR3: 0000000e7cae2006 CR4: 0000000002770ce0
0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
0000000000000000 DR6: 00000000fffeO7FO DR7: 0000000000000400

PKRU: 55555554

Call Trace:

<IRQ>

kgd2kfd_interrupt+@x6b/0x1f@ [amdgpu]

? amdgpu_fence_process+0xa4/0x150 [amdgpu]

kfd kfd: amdgpu: Node: 0, interrupt_bitmap: 3 YcpxFl Rant tErace

amdgpu_irq_dispatch+0x165/0x210 [amdgpu]

amdgpu_ih_process+0x80/0x100 [amdgpu]

amdgpu: Virtual CRAT table created for GPU

amdgpu_irq_handler+0x1f/@x60 [amdgpu]

__handle_irq_event_percpu+0x3d/0x170

amdgpu: Topology: Add dGPU node [0x74a2:0x1002]

handle_irq_event+0x5a/@xcO

handle_edge_irq+0x93/0x240

kfd kfd: amdgpu: KFD node 1 partition @ size 49148M

asm_call_irq_on_stack+0xf/@x20

</IRQ>

common_interrupt+0xb3/0x130

asm_common_interrupt+0x1le/0x40

5.10.134-010.a1i5000.a18.x86_64 #1

Signed-off-by: Yifan Zhang <yifan1.zhang@amd.com>
Reviewed-by: Philip Yang<Philip.Yang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2025-09-25 15:52:36 -04:00
..
accel Linux 6.17-rc6 2025-09-15 17:51:07 +10:00
accessibility
acpi Several RISC-V fixes for v6.17-rc5: 2025-09-07 08:15:56 -07:00
amba
android
ata ata: ahci_xgene: Use int type for 'rc' to store error codes 2025-08-28 13:36:14 +09:00
atm atm: atmtcp: Prevent arbitrary write in atmtcp_recv_control(). 2025-08-22 17:23:15 -07:00
auxdisplay
base Mitigate VMSCAPE issue with indirect branch predictor flushes 2025-09-10 20:52:16 -07:00
bcma
block ublk: avoid ublk_io_release() called after ublk char dev is closed 2025-08-28 07:56:57 -06:00
bluetooth Bluetooth: vhci: Prevent use-after-free by removing debugfs files early 2025-08-29 14:47:20 -04:00
bus
cache
cdrom
cdx cdx: Fix off-by-one error in cdx_rpmsg_probe() 2025-08-19 12:55:16 +02:00
char
clk
clocksource
comedi comedi: Make insn_rw_emulate_bits() do insn->n samples 2025-08-19 12:57:01 +02:00
connector
counter
cpufreq Merge branches 'pm-sleep' and 'pm-em' 2025-09-11 14:22:35 +02:00
cpuidle cpuidle: governors: menu: Avoid selecting states with too much latency 2025-08-18 19:04:25 +02:00
crypto
cxl
dax
dca
devfreq
dio
dma dmaengine: dw: dmamux: Fix device reference leak in rzn1_dmamux_route_allocate 2025-09-02 15:01:51 +05:30
dma-buf
dpll
edac EDAC/altera: Delete an inappropriate dma_free_coherent() call 2025-08-25 13:56:16 +02:00
eisa
extcon
firewire
firmware efi: stmm: Drop unneeded null pointer check 2025-08-26 14:49:42 +02:00
fpga fpga: zynq_fpga: Fix the wrong usage of dma_map_sgtable() 2025-08-19 12:54:45 +02:00
fsi
fwctl
gnss
gpio gpio: fix GPIO submenu in Kconfig 2025-09-02 11:29:43 +02:00
gpu amd/amdkfd: resolve a race in amdgpu_amdkfd_device_fini_sw 2025-09-25 15:52:36 -04:00
greybus
hid Linux 6.17-rc6 2025-09-15 17:51:07 +10:00
hsi
hte
hv
hwmon hwmon: (ina238) Correctly clamp power limits 2025-09-01 08:03:05 -07:00
hwspinlock
hwtracing
i2c i2c: rtl9300: remove broken SMBus Quick operation support 2025-09-04 00:31:34 +02:00
i3c
idle
iio iio: pressure: bmp280: Use IS_ERR() in bmp280_common_probe() 2025-08-18 19:22:18 +01:00
infiniband
input Input updates for v6.17-rc5 2025-09-14 08:09:37 -07:00
interconnect
iommu iommufd 6.17 first rc pull 2025-08-22 17:24:48 -04:00
ipack
irqchip irqchip/gic-v5: Remove undue WARN_ON()s in the IRS affinity parsing 2025-08-24 12:54:06 +02:00
isdn mISDN: Fix memory leak in dsp_hwec_enable() 2025-08-29 19:19:39 -07:00
leds
macintosh
mailbox
mcb
md md: prevent incorrect update of resync/recovery offset 2025-09-05 00:31:18 +08:00
media media: Remove redundant pm_runtime_mark_last_busy() calls 2025-08-18 09:55:08 +02:00
memory
memstick memstick: Fix deadlock by moving removing flag earlier 2025-08-18 12:01:20 +02:00
message
mfd
misc mei: late_bind: add late binding component driver 2025-09-18 09:32:00 -07:00
mmc mmc: sdhci_am654: Disable HS400 for AM62P SR1.0 and SR1.1 2025-08-21 11:07:16 +02:00
most most: core: Drop device reference after usage in get_channel() 2025-08-19 12:57:34 +02:00
mtd mtd: spinand: winbond: Fix oob_layout for W25N01JW 2025-09-05 17:03:44 +02:00
mux
net Revert "net: usb: asix: ax88772: drop phylink use in PM to avoid MDIO runtime PM wakeups" 2025-09-11 16:46:04 +02:00
nfc
ntb
nubus
nvdimm
nvme nvme: fix PI insert on write 2025-09-02 12:21:42 -07:00
nvmem
of 17 hotfixes. 13 are cc:stable and the remainder address post-6.16 issues 2025-09-02 13:18:00 -07:00
opp
parisc
parport
pci Linux 6.17-rc6 2025-09-15 17:51:07 +10:00
pcmcia pcmcia: Add error handling for add_interval() in do_validate_mem() 2025-08-16 15:49:58 +02:00
peci
perf
phy phy: qcom: qmp-pcie: Fix PHY initialization when powered down by firmware 2025-09-01 22:29:20 +05:30
pinctrl pinctrl: airoha: Fix return value in pinconf callbacks 2025-08-22 15:08:58 +02:00
platform platform-drivers-x86 for v6.17-3 2025-09-05 10:28:48 -07:00
pmdomain
pnp
power
powercap
pps
ps3
ptp ptp: ocp: fix use-after-free bugs causing by ptp_ocp_watchdog 2025-08-29 19:10:22 -07:00
pwm
rapidio
ras
regulator regulator: sy7636a: fix lifecycle of power good gpio 2025-09-08 16:33:24 +01:00
remoteproc
reset
rpmsg
rtc
s390 s390/sclp: Fix SCCB present check 2025-08-20 16:37:27 +02:00
sbus
scsi scsi: sr: Reinstate rotational media flag 2025-08-30 21:46:21 -04:00
sh
siox
slimbus
soc soc: fixes for 6.17, part 2 2025-09-03 14:44:34 -07:00
soundwire
spi spi: spi-qpic-snand: unregister ECC engine on probe error and device remove 2025-09-03 14:49:58 +01:00
spmi
ssb
staging
target
tc
tee OP-TEE driver fix for v6.17 2025-09-01 10:35:03 +02:00
thermal
thunderbolt
tty TTY/Serial fixes for 6.17-rc6 2025-09-14 10:54:54 -07:00
ufs scsi: ufs: ufs-qcom: Fix ESI null pointer dereference 2025-08-18 22:25:52 -04:00
uio
usb USB: core: remove the move buf action 2025-09-12 13:41:55 +02:00
vdpa
vfio
vhost vhost/net: Protect ubufs with rcu read lock in vhost_net_ubuf_put() 2025-08-26 03:38:10 -04:00
video video: screen_info: Add pixel-format helper for linear framebuffers 2025-08-26 09:54:16 +02:00
virt virt: sev-guest: Satisfy linear mapping requirement in get_derived_key() 2025-08-15 17:05:39 +02:00
virtio virtio_input: Improve freeze handling 2025-08-26 03:38:19 -04:00
w1
watchdog
xen drivers/xen/xenbus: remove quirk for Xen 3.x 2025-08-20 15:47:43 +02:00
zorro
Kconfig
Makefile