linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] x86/mce: fix a wrong assignment of i_mce.status
@ 2020-06-11  2:32 Zhenzhong Duan
  2020-06-11 16:55 ` Luck, Tony
  2020-06-15 11:42 ` [tip: ras/core] x86/mce/inject: Fix " tip-bot2 for Zhenzhong Duan
  0 siblings, 2 replies; 5+ messages in thread
From: Zhenzhong Duan @ 2020-06-11  2:32 UTC (permalink / raw)
  To: linux-kernel, linux-edac
  Cc: x86, tony.luck, bp, tglx, mingo, hpa, Zhenzhong Duan

The original code is a nop as i_mce.status is or'ed with part of itself,
fix it.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@gmail.com>
---
 arch/x86/kernel/cpu/mce/inject.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mce/inject.c b/arch/x86/kernel/cpu/mce/inject.c
index 3413b41..dc28a61 100644
--- a/arch/x86/kernel/cpu/mce/inject.c
+++ b/arch/x86/kernel/cpu/mce/inject.c
@@ -511,7 +511,7 @@ static void do_inject(void)
 	 */
 	if (inj_type == DFR_INT_INJ) {
 		i_mce.status |= MCI_STATUS_DEFERRED;
-		i_mce.status |= (i_mce.status & ~MCI_STATUS_UC);
+		i_mce.status &= ~MCI_STATUS_UC;
 	}
 
 	/*
-- 
1.8.3.1


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

* Re: [PATCH] x86/mce: fix a wrong assignment of i_mce.status
  2020-06-11  2:32 [PATCH] x86/mce: fix a wrong assignment of i_mce.status Zhenzhong Duan
@ 2020-06-11 16:55 ` Luck, Tony
  2020-06-11 18:36   ` Yazen Ghannam
  2020-06-15 11:36   ` Borislav Petkov
  2020-06-15 11:42 ` [tip: ras/core] x86/mce/inject: Fix " tip-bot2 for Zhenzhong Duan
  1 sibling, 2 replies; 5+ messages in thread
From: Luck, Tony @ 2020-06-11 16:55 UTC (permalink / raw)
  To: Zhenzhong Duan
  Cc: linux-kernel, linux-edac, x86, bp, tglx, mingo, hpa, Yazen Ghannam

+Yazen

On Thu, Jun 11, 2020 at 10:32:38AM +0800, Zhenzhong Duan wrote:
> The original code is a nop as i_mce.status is or'ed with part of itself,
> fix it.
> 
> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@gmail.com>
> ---
>  arch/x86/kernel/cpu/mce/inject.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kernel/cpu/mce/inject.c b/arch/x86/kernel/cpu/mce/inject.c
> index 3413b41..dc28a61 100644
> --- a/arch/x86/kernel/cpu/mce/inject.c
> +++ b/arch/x86/kernel/cpu/mce/inject.c
> @@ -511,7 +511,7 @@ static void do_inject(void)
>  	 */
>  	if (inj_type == DFR_INT_INJ) {
>  		i_mce.status |= MCI_STATUS_DEFERRED;
> -		i_mce.status |= (i_mce.status & ~MCI_STATUS_UC);
> +		i_mce.status &= ~MCI_STATUS_UC;

Boris: "git blame" says you wrote this code. Patch looks right (in
that it makes the code do what the comment just above says it is trying
to do):

         * - MCx_STATUS[UC] cleared: deferred errors are _not_ UC

But this is AMD specific, so I'll defer judgement

-Tony

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

* Re: [PATCH] x86/mce: fix a wrong assignment of i_mce.status
  2020-06-11 16:55 ` Luck, Tony
@ 2020-06-11 18:36   ` Yazen Ghannam
  2020-06-15 11:36   ` Borislav Petkov
  1 sibling, 0 replies; 5+ messages in thread
From: Yazen Ghannam @ 2020-06-11 18:36 UTC (permalink / raw)
  To: Luck, Tony
  Cc: Zhenzhong Duan, linux-kernel, linux-edac, x86, bp, tglx, mingo, hpa

On Thu, Jun 11, 2020 at 12:55:00PM -0400, Luck, Tony wrote:
> +Yazen
> 
> On Thu, Jun 11, 2020 at 10:32:38AM +0800, Zhenzhong Duan wrote:
> > The original code is a nop as i_mce.status is or'ed with part of itself,
> > fix it.
> > 
> > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@gmail.com>
> > ---
> >  arch/x86/kernel/cpu/mce/inject.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/x86/kernel/cpu/mce/inject.c b/arch/x86/kernel/cpu/mce/inject.c
> > index 3413b41..dc28a61 100644
> > --- a/arch/x86/kernel/cpu/mce/inject.c
> > +++ b/arch/x86/kernel/cpu/mce/inject.c
> > @@ -511,7 +511,7 @@ static void do_inject(void)
> >  	 */
> >  	if (inj_type == DFR_INT_INJ) {
> >  		i_mce.status |= MCI_STATUS_DEFERRED;
> > -		i_mce.status |= (i_mce.status & ~MCI_STATUS_UC);
> > +		i_mce.status &= ~MCI_STATUS_UC;
> 
> Boris: "git blame" says you wrote this code. Patch looks right (in
> that it makes the code do what the comment just above says it is trying
> to do):
> 
>          * - MCx_STATUS[UC] cleared: deferred errors are _not_ UC
> 
> But this is AMD specific, so I'll defer judgement
>

Acked-by: Yazen Ghannam <yazen.ghannam@amd.com>

Thanks,
Yazen

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

* Re: [PATCH] x86/mce: fix a wrong assignment of i_mce.status
  2020-06-11 16:55 ` Luck, Tony
  2020-06-11 18:36   ` Yazen Ghannam
@ 2020-06-15 11:36   ` Borislav Petkov
  1 sibling, 0 replies; 5+ messages in thread
From: Borislav Petkov @ 2020-06-15 11:36 UTC (permalink / raw)
  To: Luck, Tony
  Cc: Zhenzhong Duan, linux-kernel, linux-edac, x86, tglx, mingo, hpa,
	Yazen Ghannam

On Thu, Jun 11, 2020 at 09:55:00AM -0700, Luck, Tony wrote:
> +Yazen
> 
> On Thu, Jun 11, 2020 at 10:32:38AM +0800, Zhenzhong Duan wrote:
> > The original code is a nop as i_mce.status is or'ed with part of itself,
> > fix it.
> > 
> > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@gmail.com>
> > ---
> >  arch/x86/kernel/cpu/mce/inject.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/x86/kernel/cpu/mce/inject.c b/arch/x86/kernel/cpu/mce/inject.c
> > index 3413b41..dc28a61 100644
> > --- a/arch/x86/kernel/cpu/mce/inject.c
> > +++ b/arch/x86/kernel/cpu/mce/inject.c
> > @@ -511,7 +511,7 @@ static void do_inject(void)
> >  	 */
> >  	if (inj_type == DFR_INT_INJ) {
> >  		i_mce.status |= MCI_STATUS_DEFERRED;
> > -		i_mce.status |= (i_mce.status & ~MCI_STATUS_UC);
> > +		i_mce.status &= ~MCI_STATUS_UC;
> 
> Boris: "git blame" says you wrote this code.

Not me but I should've caught it:

a1300e505297 ("x86/ras/mce_amd_inj: Trigger deferred and thresholding errors interrupts")

:-\

I believe Aravind wanted to do the &= thing, i.e.,

	i_mce.status = (i_mce.status & ~MCI_STATUS_UC);

or the short version above.

:-)

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette

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

* [tip: ras/core] x86/mce/inject: Fix a wrong assignment of i_mce.status
  2020-06-11  2:32 [PATCH] x86/mce: fix a wrong assignment of i_mce.status Zhenzhong Duan
  2020-06-11 16:55 ` Luck, Tony
@ 2020-06-15 11:42 ` tip-bot2 for Zhenzhong Duan
  1 sibling, 0 replies; 5+ messages in thread
From: tip-bot2 for Zhenzhong Duan @ 2020-06-15 11:42 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Zhenzhong Duan, Borislav Petkov, Yazen Ghannam, x86, LKML

The following commit has been merged into the ras/core branch of tip:

Commit-ID:     5d7f7d1d5e01c22894dee7c9c9266500478dca99
Gitweb:        https://git.kernel.org/tip/5d7f7d1d5e01c22894dee7c9c9266500478dca99
Author:        Zhenzhong Duan <zhenzhong.duan@gmail.com>
AuthorDate:    Thu, 11 Jun 2020 10:32:38 +08:00
Committer:     Borislav Petkov <bp@suse.de>
CommitterDate: Mon, 15 Jun 2020 13:38:55 +02:00

x86/mce/inject: Fix a wrong assignment of i_mce.status

The original code is a nop as i_mce.status is or'ed with part of itself,
fix it.

Fixes: a1300e505297 ("x86/ras/mce_amd_inj: Trigger deferred and thresholding errors interrupts")
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Yazen Ghannam <yazen.ghannam@amd.com>
Link: https://lkml.kernel.org/r/20200611023238.3830-1-zhenzhong.duan@gmail.com
---
 arch/x86/kernel/cpu/mce/inject.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mce/inject.c b/arch/x86/kernel/cpu/mce/inject.c
index 0593b19..7843ab3 100644
--- a/arch/x86/kernel/cpu/mce/inject.c
+++ b/arch/x86/kernel/cpu/mce/inject.c
@@ -511,7 +511,7 @@ static void do_inject(void)
 	 */
 	if (inj_type == DFR_INT_INJ) {
 		i_mce.status |= MCI_STATUS_DEFERRED;
-		i_mce.status |= (i_mce.status & ~MCI_STATUS_UC);
+		i_mce.status &= ~MCI_STATUS_UC;
 	}
 
 	/*

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

end of thread, other threads:[~2020-06-15 11:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-11  2:32 [PATCH] x86/mce: fix a wrong assignment of i_mce.status Zhenzhong Duan
2020-06-11 16:55 ` Luck, Tony
2020-06-11 18:36   ` Yazen Ghannam
2020-06-15 11:36   ` Borislav Petkov
2020-06-15 11:42 ` [tip: ras/core] x86/mce/inject: Fix " tip-bot2 for Zhenzhong Duan

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).