mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-18 02:43:55 +00:00
serial: ioc4_serial: Free memory when kzalloc fails during probe
Inside ioc4_attach_local() 4 memory was allocated using kzalloc and assign it to ports[] within loop. When kzalloc fails inside loop, it returns error without freeing previously allocated memory and we may have memory leak. Fix this by freeing ports[] before return. Signed-off-by: Souptick joarder <jrdr.linux@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
65dabaf532
commit
7f8b4ebeb2
@ -1082,7 +1082,7 @@ static int inline ioc4_attach_local(struct ioc4_driver_data *idd)
|
||||
if (!port) {
|
||||
printk(KERN_WARNING
|
||||
"IOC4 serial memory not available for port\n");
|
||||
return -ENOMEM;
|
||||
goto free;
|
||||
}
|
||||
spin_lock_init(&port->ip_lock);
|
||||
|
||||
@ -1190,6 +1190,11 @@ static int inline ioc4_attach_local(struct ioc4_driver_data *idd)
|
||||
handle_dma_error_intr, port);
|
||||
}
|
||||
return 0;
|
||||
|
||||
free:
|
||||
while (port_number)
|
||||
kfree(ports[--port_number]);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user