Messages in this thread Patch in this message | | | From | Yang Yingliang <> | Subject | [PATCH 1/2] pcmcia: ds: fix refcount leak in pcmcia_device_add() | Date | Sat, 12 Nov 2022 17:29:23 +0800 |
| |
If device_register() returns error, the refcount of function_config need be put.
Fixes: 360b65b95bae ("[PATCH] pcmcia: make config_t independent, add reference counting") Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> --- drivers/pcmcia/ds.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index ace133b9f7d4..7d3258a1f8f8 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c @@ -574,10 +574,12 @@ static struct pcmcia_device *pcmcia_device_add(struct pcmcia_socket *s, pcmcia_device_query(p_dev); if (device_register(&p_dev->dev)) - goto err_unreg; + goto err_put_ref; return p_dev; + err_put_ref: + kref_put(&p_dev->function_config->ref, pcmcia_release_function); err_unreg: mutex_lock(&s->ops_mutex); list_del(&p_dev->socket_device_list); -- 2.25.1
| |