Commit 4fef4e43 authored by Nicholas Bellinger's avatar Nicholas Bellinger

tcm_usb_gadget: Fix nexus leak

This patch adds the missing tcm_usbg_drop_nexus() to properly
release tcm_usbg_nexus memory during typical ->fabric_drop_tpg()
callback shutdown.
Reported-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Acked-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent a0841d44
...@@ -1423,11 +1423,14 @@ static struct se_portal_group *usbg_make_tpg( ...@@ -1423,11 +1423,14 @@ static struct se_portal_group *usbg_make_tpg(
return &tpg->se_tpg; return &tpg->se_tpg;
} }
static int tcm_usbg_drop_nexus(struct usbg_tpg *);
static void usbg_drop_tpg(struct se_portal_group *se_tpg) static void usbg_drop_tpg(struct se_portal_group *se_tpg)
{ {
struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg *tpg = container_of(se_tpg,
struct usbg_tpg, se_tpg); struct usbg_tpg, se_tpg);
tcm_usbg_drop_nexus(tpg);
core_tpg_deregister(se_tpg); core_tpg_deregister(se_tpg);
destroy_workqueue(tpg->workqueue); destroy_workqueue(tpg->workqueue);
kfree(tpg); kfree(tpg);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment