From: Tony Luck <tony.luck@intel.com>
To: Fenghua Yu <fenghuay@nvidia.com>,
Reinette Chatre <reinette.chatre@intel.com>,
Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>,
Peter Newman <peternewman@google.com>,
James Morse <james.morse@arm.com>,
Babu Moger <babu.moger@amd.com>,
Drew Fustini <dfustini@baylibre.com>,
Dave Martin <Dave.Martin@arm.com>, Chen Yu <yu.c.chen@intel.com>,
David E Box <david.e.box@intel.com>,
x86@kernel.org
Cc: Christoph Hellwig <hch@infradead.org>,
linux-kernel@vger.kernel.org, patches@lists.linux.dev,
Tony Luck <tony.luck@intel.com>
Subject: [PATCH v8 05/16] platform/x86/intel/pmt: Prevent unbind of PMT telemetry driver
Date: Mon, 15 Jun 2026 11:24:46 -0700 [thread overview]
Message-ID: <20260615182457.14725-6-tony.luck@intel.com> (raw)
In-Reply-To: <20260615182457.14725-1-tony.luck@intel.com>
The resctrl AET code uses intel_pmt_get_regions_by_feature() (exported
by the pmt_telemetry module) to obtain pmt_feature_group instances that
are populated using data from the pmt_discovery module. The returned
telemetry_region::addr values are MMIO mappings created in the
telemetry driver's probe path, and resctrl reads from them while a
mount is active.
However, a user can unbind the auxiliary driver from its device
via the sysfs "unbind" attribute. Unbinding the telemetry driver would
tear down the MMIO mappings, leaving resctrl with stale pointers and
causing a fault on the next access.
It is safe for the discovery driver to be unbound. It does all its work
at initial probe time and saves a copy of the features and RMID count.
Set device_driver::suppress_bind_attrs in the telemetry driver so
that the "bind" and "unbind" sysfs attributes are not exposed and the
user cannot detach the driver from its devices while resctrl (or
any other in-kernel consumer) may be using the resources.
Fixes: 1fb2daa60de6 ("x86/resctrl: Discover hardware telemetry events")
Assisted-by: Claude:Opus-4.7
Signed-off-by: Tony Luck <tony.luck@intel.com>
--
v8:
New patch
---
drivers/platform/x86/intel/pmt/telemetry.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/platform/x86/intel/pmt/telemetry.c b/drivers/platform/x86/intel/pmt/telemetry.c
index bdc7c24a3678..daa6da9bad2a 100644
--- a/drivers/platform/x86/intel/pmt/telemetry.c
+++ b/drivers/platform/x86/intel/pmt/telemetry.c
@@ -421,6 +421,9 @@ static struct auxiliary_driver pmt_telem_aux_driver = {
.id_table = pmt_telem_id_table,
.remove = pmt_telem_remove,
.probe = pmt_telem_probe,
+ .driver = {
+ .suppress_bind_attrs = true,
+ },
};
static int __init pmt_telem_init(void)
--
2.54.0
next prev parent reply other threads:[~2026-06-15 18:25 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-15 18:24 [PATCH v8 00/16] Allow AET to use PMT as loadable module Tony Luck
2026-06-15 18:24 ` [PATCH v8 01/16] fs/resctrl: Move functions to avoid forward references in subsequent fixes Tony Luck
2026-06-15 18:24 ` [PATCH v8 02/16] fs/resctrl: Free mon_data structures on rdt_get_tree() failure Tony Luck
2026-06-15 18:24 ` [PATCH v8 03/16] fs/resctrl: Fix use-after-free during unmount Tony Luck
2026-06-15 18:24 ` [PATCH v8 04/16] fs/resctrl: Fix deadlock on errors during mount Tony Luck
2026-06-15 18:24 ` Tony Luck [this message]
2026-06-15 18:24 ` [PATCH v8 06/16] fs/resctrl: Remove redundant calls to resctrl_arch_mon_capable() Tony Luck
2026-06-15 18:24 ` [PATCH v8 07/16] x86/resctrl: Honor rdt=perf option to force enable AET perf events Tony Luck
2026-06-15 18:24 ` [PATCH v8 08/16] fs/resctrl: Add interface to disable a monitor event Tony Luck
2026-06-15 18:24 ` [PATCH v8 09/16] x86/resctrl: Drop global 'rdt_mon_capable' flag Tony Luck
2026-06-15 18:24 ` [PATCH v8 10/16] arm,x86,fs/resctrl: Handle change in number of RMIDs on each mount Tony Luck
2026-06-15 18:24 ` [PATCH v8 11/16] x86/resctrl: Add PMT registration API for AET enumeration callbacks Tony Luck
2026-06-15 18:24 ` [PATCH v8 12/16] platform/x86/intel/pmt: Register enumeration functions with resctrl Tony Luck
2026-06-15 18:24 ` [PATCH v8 13/16] arm,x86/resctrl: Resolve INTEL_PMT_TELEMETRY symbols at runtime Tony Luck
2026-06-15 18:24 ` [PATCH v8 14/16] fs/resctrl: Call architecture hooks for every mount/unmount Tony Luck
2026-06-15 18:24 ` [PATCH v8 15/16] x86/resctrl: Simplify Kconfig options for resctrl Tony Luck
2026-06-15 18:24 ` [PATCH v8 16/16] Documentation/filesystems/resctrl: Add footnote for telemetry fstab mount caveat Tony Luck
2026-06-16 17:50 ` [PATCH v8 00/16] Allow AET to use PMT as loadable module Luck, Tony
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260615182457.14725-6-tony.luck@intel.com \
--to=tony.luck@intel.com \
--cc=Dave.Martin@arm.com \
--cc=babu.moger@amd.com \
--cc=david.e.box@intel.com \
--cc=dfustini@baylibre.com \
--cc=fenghuay@nvidia.com \
--cc=hch@infradead.org \
--cc=james.morse@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.wieczor-retman@intel.com \
--cc=patches@lists.linux.dev \
--cc=peternewman@google.com \
--cc=reinette.chatre@intel.com \
--cc=x86@kernel.org \
--cc=yu.c.chen@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome