Description
In the Linux kernel, the following vulnerability has been resolved: apparmor: avoid per-cpu hold underflow in aa_get_buffer When aa_get_buffer() pulls from the per-cpu list it unconditionally decrements cache->hold. If hold reaches 0 while count is still non-zero, the unsigned decrement wraps to UINT_MAX. This keeps hold non-zero for a very long time, so aa_put_buffer() never returns buffers to the global list, which can starve other CPUs and force repeated kmalloc(aa_g_path_max) allocations. Guard the decrement so hold never underflows.
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
ea9bae12d02819556db63348db8bd8441eb316f2 to < 202824a1f89a9786c20a3d646a7c88d223abb1b2affectedea9bae12d02819556db63348db8bd8441eb316f2 to < 80c334acc6d0bee8605a358a33e69b4aea1ffb92affectedea9bae12d02819556db63348db8bd8441eb316f2 to < 4bcddd0f6b2e52b4c7b520e4d36a115caf5b7169affectedea9bae12d02819556db63348db8bd8441eb316f2 to < 640cf2f09575c9dc344b3f7be2498d31e3923eadaffected
Linux Linux
Default version status: affected
6.7affected0 to < 6.7unaffected6.12.75 to ≤ 6.12.*unaffected6.18.14 to ≤ 6.18.*unaffected6.19.4 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected