In the Linux kernel, the following vulnerability has been resolved: HID: roccat: free buffered reports when destroying device roccat_report_event() duplicates each report with kmemdup() and stores the allocation in a circular-buffer slot. The allocation is released only when that slot is reused. The device destruction paths free struct roccat_device without releasing reports still stored in cbuf[]. This makes those allocations unreachable and leaks up to ROCCAT_CBUF_SIZE report buffers per device. Add a small destructor that frees every buffered report before freeing the device, and use it in both paths that can destroy a registered device.
https://git.kernel.org/stable/c/fbb5a60f5c31b5625f0d89a79912fbcb2559289b
https://git.kernel.org/stable/c/da00eac19feef209c9591e48c860afc2014603be
https://git.kernel.org/stable/c/bbff0ccbff360a5498075525005f6a913239a3d7
https://git.kernel.org/stable/c/943b8dc2c6044c01e36395f51bb809a4b6bdfd22