Description
In the Linux kernel, the following vulnerability has been resolved: crypto: qat - protect service table iterations with service_lock The service_table list is protected by service_lock when entries are added or removed (in adf_service_add() and adf_service_remove()), but several functions iterate over the list without holding this lock. A concurrent adf_service_register() or adf_service_unregister() call could modify the list during traversal, leading to list corruption or a use-after-free. Fix this by holding service_lock across all list_for_each_entry() iterations of service_table in adf_dev_init(), adf_dev_start(), adf_dev_stop(), adf_dev_shutdown(), adf_dev_restarting_notify(), adf_dev_restarted_notify(), and adf_error_notifier(). The lock ordering is safe: callers of the static helpers (adf_dev_up() and adf_dev_down()) acquire state_lock before service_lock, and no event_hld callback or service_lock holder ever acquires state_lock in the reverse order.
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
d8cba25d2c68992a6e7c1d329b690a9ebe01167d to < d36bff434e01d06d1e1fa98aa2b34ec32185c1abaffectedd8cba25d2c68992a6e7c1d329b690a9ebe01167d to < 11d48f777cf8fad00db044f4c15cdf821427746baffectedd8cba25d2c68992a6e7c1d329b690a9ebe01167d to < 222fa7b453b612f4407f260146d89a2ce2bc831daffectedd8cba25d2c68992a6e7c1d329b690a9ebe01167d to < c3c5925791cff3b84d313293fd60f384d877d793affectedd8cba25d2c68992a6e7c1d329b690a9ebe01167d to < 0dbcecea740d943002c1cbdafa39bdfc108e32a5affectedd8cba25d2c68992a6e7c1d329b690a9ebe01167d to < 5c6f845e77ec35f9b7b047cc8f9789bf397cdd3eaffected
Linux Linux
Default version status: affected
3.17affected0 to < 3.17unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.96 to ≤ 6.12.*unaffected6.18.39 to ≤ 6.18.*unaffected7.1.4 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/d36bff434e01d06d1e1fa98aa2b34ec32185c1ab ↗
- https://git.kernel.org/stable/c/11d48f777cf8fad00db044f4c15cdf821427746b ↗
- https://git.kernel.org/stable/c/222fa7b453b612f4407f260146d89a2ce2bc831d ↗
- https://git.kernel.org/stable/c/c3c5925791cff3b84d313293fd60f384d877d793 ↗
- https://git.kernel.org/stable/c/0dbcecea740d943002c1cbdafa39bdfc108e32a5 ↗
- https://git.kernel.org/stable/c/5c6f845e77ec35f9b7b047cc8f9789bf397cdd3e ↗