Description
In the Linux kernel, the following vulnerability has been resolved: net: airoha: Fix potential use-after-free in airoha_ppe_deinit() airoha_ppe_deinit() replaces the NPU pointer with NULL via rcu_replace_pointer() but does not wait for existing RCU readers to exit before calling ppe_deinit() and airoha_npu_put(). This can cause a use-after-free if a reader in an RCU read-side critical section still holds a reference to the NPU when it is freed. The init path (airoha_ppe_init) already calls synchronize_rcu() after rcu_assign_pointer(), but the deinit path introduced in commit 6abcf751bc08 ("net: airoha: Fix schedule while atomic in airoha_ppe_deinit()") omitted the matching barrier when switching from rcu_read_lock()/rcu_dereference() to rcu_replace_pointer(). Add synchronize_rcu() before ppe_deinit() to ensure all existing RCU readers have completed before the NPU resources are released.
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
72f93dc6d1a6b157e0c3d247085c74935893cca0 to < 46e3bed4b071095ecc9384a7b349e1908728531faffected6abcf751bc084804a9e5b3051442e8a2ce67f48a to < ad28c4f9e0eae4993cb3fde3e7cea330acd8b97caffected6abcf751bc084804a9e5b3051442e8a2ce67f48a to < 2484568a335cd7bda951c75b3a7d95ea36161ae7affected6.18.6 to < 6.18.42affected
Linux Linux
Default version status: affected
6.19affected0 to < 6.19unaffected6.18.42 to ≤ 6.18.*unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected