└─$ sed -n '/^You are right/,$p' /home/iviel/xdna-audit/aie4-kmq-v2-reply-16-retraction.md You are right, and I withdraw the claim.
The step I missed is pci_device_remove(), which calls pm_runtime_get_sync() at drivers/pci/pci-driver.c:527 before drv->remove() at :535 and only drops it at :536 once remove returns. Once that get succeeds, the device is RPM_ACTIVE for all of amdxdna_remove(), so pm_runtime_forbid() takes the early return in rpm_resume() at drivers/base/power/runtime.c:820 and never fetches the ->runtime_resume callback at :936 at all. No second dev_lock acquisition, no deadlock. The AIE2 deadlock claim is therefore wrong, and the Fixes: 1aa82181a3c2, Cc: stable and split-to-drm-misc-fixes suggestions go with it. I withdraw the drm_dev_unplug() question too, since nothing resumes on that path. I had not reproduced this before sending. Sorry for the noise. Eva Crystal (0xiviel) XSource Security https://xsourcesec.com
