serial: sunhv: Free memory when remove() is called
authorSouptick Joarder <jrdr.linux@gmail.com>
Mon, 14 Nov 2016 12:37:36 +0000 (18:07 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Nov 2016 09:57:25 +0000 (10:57 +0100)
In each call to hv_remove(), con_read_page and con_write_page is not
getting freed and lead to memory leakage. Fix this by freeing both
pointers in hv_remove().

Signed-off-by: Souptick joarder <jrdr.linux@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sunhv.c

index 4e603d060e80c91b36aabb3961dc22c3596d37ec..99ef5c6e47669a4c32a19ce614c52189bf251f62 100644 (file)
@@ -598,7 +598,8 @@ static int hv_remove(struct platform_device *dev)
        uart_remove_one_port(&sunhv_reg, port);
 
        sunserial_unregister_minors(&sunhv_reg, 1);
-
+       kfree(con_read_page);
+       kfree(con_write_page);
        kfree(port);
        sunhv_port = NULL;