]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
platform/x86/intel-uncore-freq: Check write blocked for ELC
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Sun, 27 Jul 2025 21:05:13 +0000 (14:05 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:34:36 +0000 (16:34 +0200)
commit dff6f36878799a5ffabd15336ce993dc737374dc upstream.

Add the missing write_blocked check for updating sysfs related to uncore
efficiency latency control (ELC). If write operation is blocked return
error.

Fixes: bb516dc79c4a ("platform/x86/intel-uncore-freq: Add support for efficiency latency control")
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250727210513.2898630-1-srinivas.pandruvada@linux.intel.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/platform/x86/intel/uncore-frequency/uncore-frequency-tpmi.c

index 44d9948ed2241b09132917677799de4f563d62aa..dd7cdae5bb86626bd44c97c28da29fc2b9769b4b 100644 (file)
@@ -191,9 +191,14 @@ static int uncore_read_control_freq(struct uncore_data *data, unsigned int *valu
 static int write_eff_lat_ctrl(struct uncore_data *data, unsigned int val, enum uncore_index index)
 {
        struct tpmi_uncore_cluster_info *cluster_info;
+       struct tpmi_uncore_struct *uncore_root;
        u64 control;
 
        cluster_info = container_of(data, struct tpmi_uncore_cluster_info, uncore_data);
+       uncore_root = cluster_info->uncore_root;
+
+       if (uncore_root->write_blocked)
+               return -EPERM;
 
        if (cluster_info->root_domain)
                return -ENODATA;