linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] cpufreq: intel_pstate: Fix unchecked MSR 0x773 access
@ 2021-11-04  5:19 Srinivas Pandruvada
  2021-11-04 13:30 ` Steven Rostedt
  0 siblings, 1 reply; 4+ messages in thread
From: Srinivas Pandruvada @ 2021-11-04  5:19 UTC (permalink / raw)
  To: rafael, viresh.kumar
  Cc: linux-pm, linux-kernel, rostedt, torvalds, lenb, Srinivas Pandruvada

It is possible that on some platforms HWP interrupts are disabled. In
that case accessing MSR 0x773 will result in warning.

So check X86_FEATURE_HWP_NOTIFY feature to access MSR 0x773. The other
places in code where this MSR is accessed, already checks this feature
except during disable path called during cpufreq offline and suspend
callbacks.

Fixes: 57577c996d73 ("cpufreq: intel_pstate: Process HWP Guaranteed change notification")
Reported-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
---
 drivers/cpufreq/intel_pstate.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 349ddbaef796..1e6898dc76b6 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -1620,6 +1620,9 @@ static void intel_pstate_disable_hwp_interrupt(struct cpudata *cpudata)
 {
 	unsigned long flags;
 
+	if (!boot_cpu_has(X86_FEATURE_HWP_NOTIFY))
+		return;
+
 	/* wrmsrl_on_cpu has to be outside spinlock as this can result in IPC */
 	wrmsrl_on_cpu(cpudata->cpu, MSR_HWP_INTERRUPT, 0x00);
 
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] cpufreq: intel_pstate: Fix unchecked MSR 0x773 access
  2021-11-04  5:19 [PATCH] cpufreq: intel_pstate: Fix unchecked MSR 0x773 access Srinivas Pandruvada
@ 2021-11-04 13:30 ` Steven Rostedt
  2021-11-04 14:15   ` Srinivas Pandruvada
  0 siblings, 1 reply; 4+ messages in thread
From: Steven Rostedt @ 2021-11-04 13:30 UTC (permalink / raw)
  To: Srinivas Pandruvada
  Cc: rafael, viresh.kumar, linux-pm, linux-kernel, torvalds, lenb

On Wed,  3 Nov 2021 22:19:25 -0700
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> wrote:

> It is possible that on some platforms HWP interrupts are disabled. In
> that case accessing MSR 0x773 will result in warning.
> 
> So check X86_FEATURE_HWP_NOTIFY feature to access MSR 0x773. The other
> places in code where this MSR is accessed, already checks this feature
> except during disable path called during cpufreq offline and suspend
> callbacks.
> 
> Fixes: 57577c996d73 ("cpufreq: intel_pstate: Process HWP Guaranteed change notification")
> Reported-by: Steven Rostedt <rostedt@goodmis.org>

I added this patch on top of the above commit and I verified that the issue
goes away. And just to confirm, I removed the patch, and the issue
reappeared.

Tested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

-- Steve


> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> ---
>  drivers/cpufreq/intel_pstate.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index 349ddbaef796..1e6898dc76b6 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -1620,6 +1620,9 @@ static void intel_pstate_disable_hwp_interrupt(struct cpudata *cpudata)
>  {
>  	unsigned long flags;
>  
> +	if (!boot_cpu_has(X86_FEATURE_HWP_NOTIFY))
> +		return;
> +
>  	/* wrmsrl_on_cpu has to be outside spinlock as this can result in IPC */
>  	wrmsrl_on_cpu(cpudata->cpu, MSR_HWP_INTERRUPT, 0x00);
>  


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] cpufreq: intel_pstate: Fix unchecked MSR 0x773 access
  2021-11-04 13:30 ` Steven Rostedt
@ 2021-11-04 14:15   ` Srinivas Pandruvada
  2021-11-04 18:51     ` Rafael J. Wysocki
  0 siblings, 1 reply; 4+ messages in thread
From: Srinivas Pandruvada @ 2021-11-04 14:15 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: rafael, viresh.kumar, linux-pm, linux-kernel, torvalds, lenb

On Thu, 2021-11-04 at 09:30 -0400, Steven Rostedt wrote:
> On Wed,  3 Nov 2021 22:19:25 -0700
> Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> wrote:
> 
> > It is possible that on some platforms HWP interrupts are disabled.
> > In
> > that case accessing MSR 0x773 will result in warning.
> > 
> > So check X86_FEATURE_HWP_NOTIFY feature to access MSR 0x773. The
> > other
> > places in code where this MSR is accessed, already checks this
> > feature
> > except during disable path called during cpufreq offline and
> > suspend
> > callbacks.
> > 
> > Fixes: 57577c996d73 ("cpufreq: intel_pstate: Process HWP Guaranteed
> > change notification")
> > Reported-by: Steven Rostedt <rostedt@goodmis.org>
> 
> I added this patch on top of the above commit and I verified that the
> issue
> goes away. And just to confirm, I removed the patch, and the issue
> reappeared.
> 
> Tested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
> 
Thanks for the test.
Sorry again for the mess up.

-Srinivas

> -- Steve
> 
> 
> > Signed-off-by: Srinivas Pandruvada <
> > srinivas.pandruvada@linux.intel.com>
> > ---
> >  drivers/cpufreq/intel_pstate.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/cpufreq/intel_pstate.c
> > b/drivers/cpufreq/intel_pstate.c
> > index 349ddbaef796..1e6898dc76b6 100644
> > --- a/drivers/cpufreq/intel_pstate.c
> > +++ b/drivers/cpufreq/intel_pstate.c
> > @@ -1620,6 +1620,9 @@ static void
> > intel_pstate_disable_hwp_interrupt(struct cpudata *cpudata)
> >  {
> >         unsigned long flags;
> >  
> > +       if (!boot_cpu_has(X86_FEATURE_HWP_NOTIFY))
> > +               return;
> > +
> >         /* wrmsrl_on_cpu has to be outside spinlock as this can
> > result in IPC */
> >         wrmsrl_on_cpu(cpudata->cpu, MSR_HWP_INTERRUPT, 0x00);
> >  
> 



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] cpufreq: intel_pstate: Fix unchecked MSR 0x773 access
  2021-11-04 14:15   ` Srinivas Pandruvada
@ 2021-11-04 18:51     ` Rafael J. Wysocki
  0 siblings, 0 replies; 4+ messages in thread
From: Rafael J. Wysocki @ 2021-11-04 18:51 UTC (permalink / raw)
  To: Srinivas Pandruvada
  Cc: Steven Rostedt, Rafael J. Wysocki, Viresh Kumar, Linux PM,
	Linux Kernel Mailing List, Linus Torvalds, Len Brown

On Thu, Nov 4, 2021 at 3:17 PM Srinivas Pandruvada
<srinivas.pandruvada@linux.intel.com> wrote:
>
> On Thu, 2021-11-04 at 09:30 -0400, Steven Rostedt wrote:
> > On Wed,  3 Nov 2021 22:19:25 -0700
> > Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> wrote:
> >
> > > It is possible that on some platforms HWP interrupts are disabled.
> > > In
> > > that case accessing MSR 0x773 will result in warning.
> > >
> > > So check X86_FEATURE_HWP_NOTIFY feature to access MSR 0x773. The
> > > other
> > > places in code where this MSR is accessed, already checks this
> > > feature
> > > except during disable path called during cpufreq offline and
> > > suspend
> > > callbacks.
> > >
> > > Fixes: 57577c996d73 ("cpufreq: intel_pstate: Process HWP Guaranteed
> > > change notification")
> > > Reported-by: Steven Rostedt <rostedt@goodmis.org>
> >
> > I added this patch on top of the above commit and I verified that the
> > issue
> > goes away. And just to confirm, I removed the patch, and the issue
> > reappeared.
> >
> > Tested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
> >
> Thanks for the test.
> Sorry again for the mess up.
>
> -Srinivas
>
> > -- Steve
> >
> >
> > > Signed-off-by: Srinivas Pandruvada <
> > > srinivas.pandruvada@linux.intel.com>
> > > ---
> > >  drivers/cpufreq/intel_pstate.c | 3 +++
> > >  1 file changed, 3 insertions(+)
> > >
> > > diff --git a/drivers/cpufreq/intel_pstate.c
> > > b/drivers/cpufreq/intel_pstate.c
> > > index 349ddbaef796..1e6898dc76b6 100644
> > > --- a/drivers/cpufreq/intel_pstate.c
> > > +++ b/drivers/cpufreq/intel_pstate.c
> > > @@ -1620,6 +1620,9 @@ static void
> > > intel_pstate_disable_hwp_interrupt(struct cpudata *cpudata)
> > >  {
> > >         unsigned long flags;
> > >
> > > +       if (!boot_cpu_has(X86_FEATURE_HWP_NOTIFY))
> > > +               return;
> > > +
> > >         /* wrmsrl_on_cpu has to be outside spinlock as this can
> > > result in IPC */
> > >         wrmsrl_on_cpu(cpudata->cpu, MSR_HWP_INTERRUPT, 0x00);
> > >

Applied as 5.16-rc material, thanks!

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-11-04 18:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-04  5:19 [PATCH] cpufreq: intel_pstate: Fix unchecked MSR 0x773 access Srinivas Pandruvada
2021-11-04 13:30 ` Steven Rostedt
2021-11-04 14:15   ` Srinivas Pandruvada
2021-11-04 18:51     ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).