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 @@ -1020,7 +1020,6 @@ int stm_source_register_device(struct de err: put_device(&src->dev); - kfree(src); return err; }