Description
In the Linux kernel, the following vulnerability has been resolved: pds_core: fix auxiliary device add/del races Two paths add or delete the same slot (pf->vfs[vf_id].padev): a VF's pdsc_reset_done() and the PF's devlink enable_vnet/disable_vnet handler. They serialize on config_lock, but neither guards the slot under it correctly. add() registers and stores a new auxiliary device without first checking the slot, so a second add of an already-populated slot leaks the first device. del() makes that check outside config_lock, so two concurrent dels can both pass it; the first clears the slot, and the second dereferences a NULL pointer. Check and update the slot under config_lock in both paths.
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
0861fccd43b8bafb533d97308862d20b7db3a2ad to < 646b58b543f3bb1641e9123b75ff7799fe7b42f1affectedf41e27b746241e57d968d1d61c008322338ca258 to < ef194751fed50cf3452017b63f00142a0ab40c70affectedb699bdc720c0255d1bb76cecba7382c1f2107af5 to < cf0ed2ba202f5c3b300ec1bf7ff0b5d555f7d518affectedb699bdc720c0255d1bb76cecba7382c1f2107af5 to < bdeab32a7a91acd295d52a2d4ab1cc3f2da5e454affectedb699bdc720c0255d1bb76cecba7382c1f2107af5 to < bfa33cd513c7ceb93c5a4c30e5662acd73c0a916affectedfec5f7af1d5f64a38f9224cd27b274d1af55a7edaffected6.6.90 to < 6.6.148affected6.12.28 to < 6.12.101affected6.14.6 to < 6.15affected
Linux Linux
Default version status: affected
6.15affected0 to < 6.15unaffected6.6.148 to ≤ 6.6.*unaffected6.12.101 to ≤ 6.12.*unaffected6.18.42 to ≤ 6.18.*unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/646b58b543f3bb1641e9123b75ff7799fe7b42f1 ↗
- https://git.kernel.org/stable/c/ef194751fed50cf3452017b63f00142a0ab40c70 ↗
- https://git.kernel.org/stable/c/cf0ed2ba202f5c3b300ec1bf7ff0b5d555f7d518 ↗
- https://git.kernel.org/stable/c/bdeab32a7a91acd295d52a2d4ab1cc3f2da5e454 ↗
- https://git.kernel.org/stable/c/bfa33cd513c7ceb93c5a4c30e5662acd73c0a916 ↗