Activity log
- Created & dismissed (max. allowed matches exceeded) suggestion
drm/vmwgfx: fix guest_memory_dirty bitfield clobbered as size
In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: fix guest_memory_dirty bitfield clobbered as size Two sites in vmwgfx_resource.c assign boolean literals to res->guest_memory_size, which is an unsigned long allocation-size field; the intended target is the adjacent res->guest_memory_dirty bitfield. After the assignments the field holds 0 or 1 instead of the resource's MOB allocation size: - vmw_resource_release() writes 0 (false), and - vmw_resource_unbind_list() writes 1 (true). Subsequent revalidation paths read guest_memory_size when computing the dirty page range (vmw_bo_dirty_transfer_to_res()) and the buffer allocation size (vmw_resource_buf_alloc()), producing zero-length walks or wrap-around ranges that read or write past the MOB bitmap. The dirty-tracking intent of the original code (mark the resource as dirtied since the last sync) is also lost, since guest_memory_dirty is never updated. Rename both assignments to guest_memory_dirty.
References
Affected products
- <9d6cbb76fe9cd760351f6b0b20f1bf788eab8fa6
- <6.4
- =<6.18.*
- =<6.12.*
- =<7.1.*
- <3b2bb16a5b622867140d69925db411ac8ecb3b2b
- <83195b778f2d109a3a4f3ffaba4dce7e4cdb58aa
- =<6.6.*
- <282f261cb035e5f01a486f76d356b7e9dbfba73f
- <21bbe38faee4a195d33a93e3908e307807f7745d
- =<*
- ==6.4