[PATCH 4.19 65/93] stm class: Fix a double free of stm_source_device

From: Greg Kroah-Hartman
Date: Wed Sep 04 2019 - 14:20:52 EST


From: Ding Xiang <dingxiang@xxxxxxxxxxxxxxxxxxxx>

commit 961b6ffe0e2c403b09a8efe4a2e986b3c415391a upstream.

In the error path of stm_source_register_device(), the kfree is
unnecessary, as the put_device() before it ends up calling
stm_source_device_release() to free stm_source_device, leading to
a double free at the outer kfree() call. Remove it.

Signed-off-by: Ding Xiang <dingxiang@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Fixes: 7bd1d4093c2fa ("stm class: Introduce an abstraction for System Trace Module devices")
Link: https://lore.kernel.org/linux-arm-kernel/1563354988-23826-1-git-send-email-dingxiang@xxxxxxxxxxxxxxxxxxxx/
Cc: stable@xxxxxxxxxxxxxxx # v4.4+
Link: https://lore.kernel.org/r/20190821074955.3925-2-alexander.shishkin@xxxxxxxxxxxxxxx
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/hwtracing/stm/core.c | 1 -
1 file changed, 1 deletion(-)

--- a/drivers/hwtracing/stm/core.c
+++ b/drivers/hwtracing/stm/core.c
@@ -1098,7 +1098,6 @@ int stm_source_register_device(struct de

err:
put_device(&src->dev);
- kfree(src);

return err;
}