On Fri, Oct 15, 2021 at 04:55:43PM +0800, Wang Hai wrote: > I got memory leak as follows when doing fault injection test: > > unreferenced object 0xffff888258228440 (size 64): > comm "kworker/7:2", pid 2005, jiffies 4294989509 (age 824.540s) > hex dump (first 32 bytes): > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > backtrace: > [<ffffffff8167939c>] slab_post_alloc_hook+0x9c/0x490 > [<ffffffff8167f627>] kmem_cache_alloc_trace+0x1f7/0x470 > [<ffffffffa02ac0e4>] keyspan_port_probe+0xa4/0x5d0 [keyspan] > [<ffffffffa0294c07>] usb_serial_device_probe+0x97/0x1d0 [usbserial] > [<ffffffff82b50ca7>] really_probe+0x167/0x460 > [<ffffffff82b51099>] __driver_probe_device+0xf9/0x180 > [<ffffffff82b51173>] driver_probe_device+0x53/0x130 > [<ffffffff82b516f5>] __device_attach_driver+0x105/0x130 > [<ffffffff82b4cfe9>] bus_for_each_drv+0x129/0x190 > [<ffffffff82b50a69>] __device_attach+0x1c9/0x270 > [<ffffffff82b518d0>] device_initial_probe+0x20/0x30 > [<ffffffff82b4f062>] bus_probe_device+0x142/0x160 > [<ffffffff82b4a4e9>] device_add+0x829/0x1300 > [<ffffffffa0295fda>] usb_serial_probe.cold+0xc9b/0x14ac [usbserial] > [<ffffffffa02266aa>] usb_probe_interface+0x1aa/0x3c0 [usbcore] > [<ffffffff82b50ca7>] really_probe+0x167/0x460 > > If it fails to allocate memory for an out_buffer[i] or in_buffer[i], > the previously allocated memory for out_buffer or in_buffer needs to > be freed on the error handling path, otherwise a memory leak will result. > > Fixes: bad41a5bf177 ("USB: keyspan: fix port DMA-buffer allocations") > Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> > Signed-off-by: Wang Hai <wanghai38@xxxxxxxxxx> > --- > v1->v2: rename error labels Thanks for the update. Now applied with a slightly amended commit message: USB: serial: keyspan: fix memleak on probe errors ... If keyspan_port_probe() fails... Johan