Commit 548183e
iommu/vt-d: Wire up irq_ack() to irq_move_irq() for posted MSIs
Set the posted MSI irq_chip's irq_ack() hook to irq_move_irq() instead of
a dummy/empty callback so that posted MSIs process pending changes to the
IRQ's SMP affinity. Failure to honor a pending set-affinity results in
userspace being unable to change the effective affinity of the IRQ, as
IRQD_SETAFFINITY_PENDING is never cleared and so irq_set_affinity_locked()
always defers moving the IRQ.
The issue is most easily reproducible by setting /proc/irq/xx/smp_affinity
multiple times in quick succession, as only the first update is likely to
be handled in process context.
Fixes: ed1e48e ("iommu/vt-d: Enable posted mode for device MSIs")
Cc: Robert Lippert <rlippert@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Reported-by: Wentao Yang <wentaoyang@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20250321194249.1217961-1-seanjc@google.com
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>1 parent df4bf3f commit 548183e
1 file changed
Lines changed: 15 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1287 | 1287 | | |
1288 | 1288 | | |
1289 | 1289 | | |
1290 | | - | |
1291 | | - | |
1292 | | - | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
1293 | 1296 | | |
1294 | | - | |
1295 | | - | |
1296 | | - | |
| 1297 | + | |
| 1298 | + | |
1297 | 1299 | | |
1298 | 1300 | | |
1299 | | - | |
| 1301 | + | |
| 1302 | + | |
1300 | 1303 | | |
1301 | 1304 | | |
1302 | 1305 | | |
1303 | 1306 | | |
1304 | 1307 | | |
1305 | | - | |
| 1308 | + | |
1306 | 1309 | | |
1307 | 1310 | | |
1308 | 1311 | | |
1309 | 1312 | | |
1310 | | - | |
| 1313 | + | |
1311 | 1314 | | |
1312 | 1315 | | |
1313 | 1316 | | |
1314 | 1317 | | |
1315 | | - | |
| 1318 | + | |
1316 | 1319 | | |
1317 | 1320 | | |
1318 | 1321 | | |
1319 | 1322 | | |
| 1323 | + | |
1320 | 1324 | | |
1321 | | - | |
1322 | | - | |
1323 | | - | |
1324 | 1325 | | |
1325 | 1326 | | |
1326 | | - | |
| 1327 | + | |
1327 | 1328 | | |
1328 | 1329 | | |
1329 | 1330 | | |
| |||
0 commit comments