Commit fad92b11 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Greg Kroah-Hartman
Browse files

tty: serial: 8250: serial_cs: Fix a memory leak in error handling path



In the probe function, if the final 'serial_config()' fails, 'info' is
leaking.

Add a resource handling path to free this memory.

Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/dc25f96b7faebf42e60fe8d02963c941cf4d8124.1621971720.git.christophe.jaillet@wanadoo.fr


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6ae7d0f5
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -306,6 +306,7 @@ static int serial_resume(struct pcmcia_device *link)
static int serial_probe(struct pcmcia_device *link)
{
	struct serial_info *info;
	int ret;

	dev_dbg(&link->dev, "serial_attach()\n");

@@ -320,7 +321,15 @@ static int serial_probe(struct pcmcia_device *link)
	if (do_sound)
		link->config_flags |= CONF_ENABLE_SPKR;

	return serial_config(link);
	ret = serial_config(link);
	if (ret)
		goto free_info;

	return 0;

free_info:
	kfree(info);
	return ret;
}

static void serial_detach(struct pcmcia_device *link)