Re: [PATCH v2 wireless-drivers 1/2] libertas_tf: Fix possible memory leak in probe and disconnect

From: Kalle Valo
Date: Wed Oct 27 2021 - 03:32:50 EST


Wang Hai <wanghai38@xxxxxxxxxx> wrote:

> I got memory leak as follows when doing fault injection test:
>
> unreferenced object 0xffff88810a2ddc00 (size 512):
> comm "kworker/6:1", pid 176, jiffies 4295009893 (age 757.220s)
> hex dump (first 32 bytes):
> 00 50 05 18 81 88 ff ff 00 00 00 00 00 00 00 00 .P..............
> 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
> [<ffffffffa02a1530>] if_usb_probe+0x60/0x37c [libertas_tf_usb]
> [<ffffffffa022668a>] usb_probe_interface+0x1aa/0x3c0 [usbcore]
> [<ffffffff82b59630>] really_probe+0x190/0x480
> [<ffffffff82b59a19>] __driver_probe_device+0xf9/0x180
> [<ffffffff82b59af3>] driver_probe_device+0x53/0x130
> [<ffffffff82b5a075>] __device_attach_driver+0x105/0x130
> [<ffffffff82b55949>] bus_for_each_drv+0x129/0x190
> [<ffffffff82b593c9>] __device_attach+0x1c9/0x270
> [<ffffffff82b5a250>] device_initial_probe+0x20/0x30
> [<ffffffff82b579c2>] bus_probe_device+0x142/0x160
> [<ffffffff82b52e49>] device_add+0x829/0x1300
> [<ffffffffa02229b1>] usb_set_configuration+0xb01/0xcc0 [usbcore]
> [<ffffffffa0235c4e>] usb_generic_driver_probe+0x6e/0x90 [usbcore]
> [<ffffffffa022641f>] usb_probe_device+0x6f/0x130 [usbcore]
>
> cardp is missing being freed in the error handling path of the probe
> and the path of the disconnect, which will cause memory leak.
>
> This patch adds the missing kfree().
>
> Fixes: c305a19a0d0a ("libertas_tf: usb specific functions")
> Reported-by: Hulk Robot <hulkci@xxxxxxxxxx>
> Signed-off-by: Wang Hai <wanghai38@xxxxxxxxxx>

2 patches applied to wireless-drivers-next.git, thanks.

d549107305b4 libertas_tf: Fix possible memory leak in probe and disconnect
9692151e2fe7 libertas: Fix possible memory leak in probe and disconnect

--
https://patchwork.kernel.org/project/linux-wireless/patch/20211020120345.2016045-2-wanghai38@xxxxxxxxxx/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches