coresight: Fix uninitialised variable use in coresight_disable
authorSuzuki K Poulose <suzuki.poulose@arm.com>
Mon, 23 Jan 2023 16:08:45 +0000 (16:08 +0000)
committerSuzuki K Poulose <suzuki.poulose@arm.com>
Tue, 24 Jan 2023 10:36:53 +0000 (10:36 +0000)
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@quicinc.com>
Link: https://lkml.kernel.org/r/202301211339.9mU0dccO-lkp@intel.com
Reported-by: kernel test robot <lkp@intel.com>
Reviewed-by: James Clark <james.clark@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lkml.kernel.org/r/20230123164700.1074064-1-suzuki.poulose@arm.com
drivers/hwtracing/coresight/coresight-core.c

index a798008..d3bf82c 100644 (file)
@@ -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);