[PATCH] coresight: Fix uninitialised variable use in coresight_disable

Suzuki K Poulose suzuki.poulose at arm.com
Mon Jan 23 08:47:00 PST 2023


Kernel test robot reports:

 drivers/hwtracing/coresight/coresight-core.c:1176:7: warning: variable
 'hash' is used uninitialized whenever switch case is taken
 [-Wsometimes-uninitialized]

	case CORESIGHT_DEV_SUBTYPE_SOURCE_PROC:
	      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 drivers/hwtracing/coresight/coresight-core.c:1195:24: note: uninitialized
 use occurs here
		idr_remove(&path_idr, hash);
		                      ^~~~
Fix this by moving the usage of the hash variable to where it actually
should have been.

Cc: Mao Jinlong <quic_jinlmao at quicinc.com>
Reported-by: kernel test robot <lkp at intel.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose at arm.com>
---
 drivers/hwtracing/coresight/coresight-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hwtracing/coresight/coresight-core.c b/drivers/hwtracing/coresight/coresight-core.c
index a798008ac56e..d3bf82c0de1d 100644
--- a/drivers/hwtracing/coresight/coresight-core.c
+++ b/drivers/hwtracing/coresight/coresight-core.c
@@ -1189,13 +1189,13 @@ void coresight_disable(struct coresight_device *csdev)
 			pr_err("Path is not found for %s\n", dev_name(&csdev->dev));
 			goto out;
 		}
+		idr_remove(&path_idr, hash);
 		break;
 	default:
 		/* We can't be here */
 		break;
 	}
 
-	idr_remove(&path_idr, hash);
 	coresight_disable_path(path);
 	coresight_release_path(path);
 
-- 
2.34.1




More information about the linux-arm-kernel mailing list