In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_printer: take kref only for successful open printer_open() returns -EBUSY when the character device is already open, but it increments dev->kref regardless of the return value. VFS does not call ->release() for a failed open, so every rejected second open permanently leaks one reference. Move kref_get() into the successful-open branch.
https://git.kernel.org/stable/c/bf20c94fa6aaff945f0ae3a23f3212cd299f28d9
https://git.kernel.org/stable/c/94ec20d97aa51547965a539f660a1fe79c6929a3
https://git.kernel.org/stable/c/8a5eba992c862b0c94411eecf9b7121e8636db38
https://git.kernel.org/stable/c/7f1f24c367938c5537e2308bf9a965f051d14774
https://git.kernel.org/stable/c/75c0ad13e136961328253742501b4efc3988a587
https://git.kernel.org/stable/c/30adce93d5c4a5a1ec29d9249e3fdfcc391d406b