Description
In the Linux kernel, the following vulnerability has been resolved: zram: fix slot write race condition Parallel concurrent writes to the same zram index result in leaked zsmalloc handles. Schematically we can have something like this: CPU0 CPU1 zram_slot_lock() zs_free(handle) zram_slot_lock() zram_slot_lock() zs_free(handle) zram_slot_lock() compress compress handle = zs_malloc() handle = zs_malloc() zram_slot_lock zram_set_handle(handle) zram_slot_lock zram_slot_lock zram_set_handle(handle) zram_slot_lock Either CPU0 or CPU1 zsmalloc handle will leak because zs_free() is done too early. In fact, we need to reset zram entry right before we set its new handle, all under the same slot lock scope.
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
71268035f5d734ad6373d953298bd5779985497a to < ff750e9f2c4d63854c33967d1646b5e89a9a19a2affected71268035f5d734ad6373d953298bd5779985497a to < ce4be9e4307c5a60701ff6e0cafa74caffdc54ceaffected
Linux Linux
Default version status: affected
6.14affected0 to < 6.14unaffected6.16.9 to ≤ 6.16.*unaffected6.17 to ≤ *unaffected