diff mbox series

[1/2] usb: typec: tcpm: free log buf memory when remove debug file

Message ID 20190717080646.30421-1-jun.li@nxp.com (mailing list archive)
State Mainlined
Commit fd5da3e2cc61b4a7c877172fdc9348c82cf6ccfc
Headers show
Series [1/2] usb: typec: tcpm: free log buf memory when remove debug file | expand

Commit Message

Jun Li July 17, 2019, 8:06 a.m. UTC
From: Li Jun <jun.li@nxp.com>

The logbuffer memory should be freed when remove debug file.

Cc: stable@vger.kernel.org # v4.15+
Fixes: 4b4e02c83167 ("typec: tcpm: Move out of staging")
Signed-off-by: Li Jun <jun.li@nxp.com>
---
 drivers/usb/typec/tcpm/tcpm.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Guenter Roeck July 17, 2019, 1:32 p.m. UTC | #1
On 7/17/19 1:06 AM, jun.li@nxp.com wrote:
> From: Li Jun <jun.li@nxp.com>
> 
> The logbuffer memory should be freed when remove debug file.
> 
> Cc: stable@vger.kernel.org # v4.15+
> Fixes: 4b4e02c83167 ("typec: tcpm: Move out of staging")
> Signed-off-by: Li Jun <jun.li@nxp.com>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>   drivers/usb/typec/tcpm/tcpm.c | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
> index fba32d8..1249d8e 100644
> --- a/drivers/usb/typec/tcpm/tcpm.c
> +++ b/drivers/usb/typec/tcpm/tcpm.c
> @@ -586,6 +586,15 @@ static void tcpm_debugfs_init(struct tcpm_port *port)
>   
>   static void tcpm_debugfs_exit(struct tcpm_port *port)
>   {
> +	int i;
> +
> +	mutex_lock(&port->logbuffer_lock);
> +	for (i = 0; i < LOG_BUFFER_ENTRIES; i++) {
> +		kfree(port->logbuffer[i]);
> +		port->logbuffer[i] = NULL;
> +	}
> +	mutex_unlock(&port->logbuffer_lock);
> +
>   	debugfs_remove(port->dentry);
>   }
>   
>
diff mbox series

Patch

diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
index fba32d8..1249d8e 100644
--- a/drivers/usb/typec/tcpm/tcpm.c
+++ b/drivers/usb/typec/tcpm/tcpm.c
@@ -586,6 +586,15 @@  static void tcpm_debugfs_init(struct tcpm_port *port)
 
 static void tcpm_debugfs_exit(struct tcpm_port *port)
 {
+	int i;
+
+	mutex_lock(&port->logbuffer_lock);
+	for (i = 0; i < LOG_BUFFER_ENTRIES; i++) {
+		kfree(port->logbuffer[i]);
+		port->logbuffer[i] = NULL;
+	}
+	mutex_unlock(&port->logbuffer_lock);
+
 	debugfs_remove(port->dentry);
 }