coresight: etm4x: Add lock for reading virtual context ID comparator
authorLeo Yan <leo.yan@linaro.org>
Fri, 4 Feb 2022 15:24:00 +0000 (23:24 +0800)
committerSuzuki K Poulose <suzuki.poulose@arm.com>
Fri, 11 Mar 2022 10:07:47 +0000 (10:07 +0000)
Updates to the values and the index are protected via the spinlock.
Ensure we use the same lock to read the value safely.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20220204152403.71775-2-leo.yan@linaro.org
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c

index 57e94424a8d65d883548cd3b8b28d0e7553b5cfb..c376f9e230d362f97ba8c06825ab5f2164ce764a 100644 (file)
@@ -2115,7 +2115,9 @@ static ssize_t vmid_val_show(struct device *dev,
        struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
        struct etmv4_config *config = &drvdata->config;
 
+       spin_lock(&drvdata->spinlock);
        val = (unsigned long)config->vmid_val[config->vmid_idx];
+       spin_unlock(&drvdata->spinlock);
        return scnprintf(buf, PAGE_SIZE, "%#lx\n", val);
 }