Description
In the Linux kernel, the following vulnerability has been resolved: KVM: Move kvm_io_bus_get_dev() locking responsibilities to callers kvm_io_bus_get_dev() returns a device that is only matched by the address, and nothing else. This can cause a lifetime issue if the matched device is not the expected type, as by the time the caller can introspect the object, it might be gone (the srcu lock having been dropped). Given that there is only a single user of this helper, the simplest option is to move the locking responsibility to the caller, which can keep the srcu lock held for as long as it wants. Note that this aligns with other kvm_io_bus*() helpers, which already require the srcu lock to be held by the callers.
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
8a39d00670f0792c1186e442e1dd28fe0326f2ee to < f398b7d92cd999191249830b9171c9bd787a9a91affected8a39d00670f0792c1186e442e1dd28fe0326f2ee to < 1b4a3c2f0509e7b0e65667f3c36676a849ee2755affected8a39d00670f0792c1186e442e1dd28fe0326f2ee to < cfe107b02a3c3f049e0dc15b6a36625f048eda2aaffected8a39d00670f0792c1186e442e1dd28fe0326f2ee to < 90d35d2b8e47afd68fe2a4dd0eeb60bc71641775affected8a39d00670f0792c1186e442e1dd28fe0326f2ee to < e01071ea006c9b952125ed8b0cc90ac7bd356cceaffected8a39d00670f0792c1186e442e1dd28fe0326f2ee to < 7099e7148f81c605bbc319b16ce0131540341560affected8a39d00670f0792c1186e442e1dd28fe0326f2ee to < 0cbae0e296d27ce4c4cce83e34d40c2bfd8133aaaffected8a39d00670f0792c1186e442e1dd28fe0326f2ee to < 3a07249981629ace483ebbef81ef6b34c2d2afecaffected
Linux Linux
Default version status: affected
4.8affected0 to < 4.8unaffected5.10.261 to ≤ 5.10.*unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/f398b7d92cd999191249830b9171c9bd787a9a91 ↗
- https://git.kernel.org/stable/c/1b4a3c2f0509e7b0e65667f3c36676a849ee2755 ↗
- https://git.kernel.org/stable/c/cfe107b02a3c3f049e0dc15b6a36625f048eda2a ↗
- https://git.kernel.org/stable/c/90d35d2b8e47afd68fe2a4dd0eeb60bc71641775 ↗
- https://git.kernel.org/stable/c/e01071ea006c9b952125ed8b0cc90ac7bd356cce ↗
- https://git.kernel.org/stable/c/7099e7148f81c605bbc319b16ce0131540341560 ↗
- https://git.kernel.org/stable/c/0cbae0e296d27ce4c4cce83e34d40c2bfd8133aa ↗
- https://git.kernel.org/stable/c/3a07249981629ace483ebbef81ef6b34c2d2afec ↗