In the Linux kernel, the following vulnerability has been resolved:
drm/v3d: Fix global performance monitor reference counting
In the SET_GLOBAL ioctl, v3d_perfmon_find() bumps the reference count on the perfmon it returns, but v3d_perfmon_set_global_ioctl() and v3d_perfmon_delete() fail to release that reference on several paths:
- v3d_perfmon_set_global_ioctl() leaks the reference on its error
- CLEAR_GLOBAL leaks both the find reference and the reference
- Destroying a perfmon that is the current global perfmon leaks the
Release each of these references explicitly.