Description
In the Linux kernel, the following vulnerability has been resolved: net: ethernet: arc: emac: quiesce interrupts before requesting IRQ Normal RX/TX interrupts are enabled later, in arc_emac_open(), so probe should not see interrupt delivery in the usual case. However, hardware may still present stale or latched interrupt status left by firmware or the bootloader. If probe later unwinds after devm_request_irq() has installed the handler, such a stale interrupt can still reach arc_emac_intr() during teardown and race with release of the associated net_device. Avoid that window by putting the device into a known quiescent state before requesting the IRQ: disable all EMAC interrupt sources and clear any pending EMAC interrupt status bits. This keeps the change hardware-focused and minimal, while preventing spurious IRQ delivery from leftover state.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
e4f2379db6c6823c5d4a4c2c912df00c65de51d7 to < abd338da658d7faa8e26cfefc8f83f0066707564affectede4f2379db6c6823c5d4a4c2c912df00c65de51d7 to < 5f29dd540fe5ea3c826fc8ec759ba488b31f9707affectede4f2379db6c6823c5d4a4c2c912df00c65de51d7 to < 6fc7449773748c7b904235a09a67054d78ab1172affectede4f2379db6c6823c5d4a4c2c912df00c65de51d7 to < 81431da777924dddaefa5c9b0ca9da4a93f9df96affectede4f2379db6c6823c5d4a4c2c912df00c65de51d7 to < d0f2386f529807826e7404d40a245ee428f89f62affectede4f2379db6c6823c5d4a4c2c912df00c65de51d7 to < 8efd5dcd31e22a9308b16b107a052fcd568c0a99affectede4f2379db6c6823c5d4a4c2c912df00c65de51d7 to < 8f9adb3605e36f75639de529bb3d66e94194a388affectede4f2379db6c6823c5d4a4c2c912df00c65de51d7 to < 2503d08f8a2de618e5c3a8183b250ff4a2e2d52caffected
Linux Linux
Default version status: affected
3.11affected0 to < 3.11unaffected5.10.253 to ≤ 5.10.*unaffected5.15.203 to ≤ 5.15.*unaffected6.1.167 to ≤ 6.1.*unaffected6.6.130 to ≤ 6.6.*unaffected6.12.78 to ≤ 6.12.*unaffected6.18.19 to ≤ 6.18.*unaffected6.19.9 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/abd338da658d7faa8e26cfefc8f83f0066707564 ↗
- https://git.kernel.org/stable/c/5f29dd540fe5ea3c826fc8ec759ba488b31f9707 ↗
- https://git.kernel.org/stable/c/6fc7449773748c7b904235a09a67054d78ab1172 ↗
- https://git.kernel.org/stable/c/81431da777924dddaefa5c9b0ca9da4a93f9df96 ↗
- https://git.kernel.org/stable/c/d0f2386f529807826e7404d40a245ee428f89f62 ↗
- https://git.kernel.org/stable/c/8efd5dcd31e22a9308b16b107a052fcd568c0a99 ↗
- https://git.kernel.org/stable/c/8f9adb3605e36f75639de529bb3d66e94194a388 ↗
- https://git.kernel.org/stable/c/2503d08f8a2de618e5c3a8183b250ff4a2e2d52c ↗