Re: [GIT PULL] x86/platform updates for v5.10

From: Mike Travis
Date: Mon Oct 12 2020 - 17:58:22 EST




On 10/12/2020 2:42 PM, Mike Travis wrote:


On 10/12/2020 2:27 PM, Borislav Petkov wrote:
On Mon, Oct 12, 2020 at 02:15:55PM -0700, Mike Travis wrote:
Of course, it also looks like that 'uvh_nmi_mmrx_mask' thing is a
write-only variable so it doesn't matter, but can we _please_ get this
code fixed ASAP?

Yes, I'll look at it right now.  Thanks.

As this variable is write-only you could simply zap it now with a patch
ontop to fix the build and then introduce it properly later, when you
really need it?


It should have been an unsigned long instead of an int as Linus suggested.  I'm not sure it's a write only variable as I think the mask is used to check if the interrupt occurred (I'll have to look closer). I'm trying now to send the fixed patch.  It only has this change:

dog 74> diff -u patches/uv5_update_nmi{.v1,}
--- patches/uv5_update_nmi.v1   2020-10-12 16:30:06.083941459 -0500
+++ patches/uv5_update_nmi      2020-10-12 16:30:46.663903731 -0500
@@ -55,7 +55,7 @@
 +static unsigned long uvh_nmi_mmrx;            /* UVH_EVENT_OCCURRED0/1 */
 +static unsigned long uvh_nmi_mmrx_clear;      /* UVH_EVENT_OCCURRED0/1_ALIAS */
 +static int uvh_nmi_mmrx_shift;                        /* UVH_EVENT_OCCURRED0/1_EXTIO_INT0_SHFT */
-+static int uvh_nmi_mmrx_mask;                 /* UVH_EVENT_OCCURRED0/1_EXTIO_INT0_MASK */
++static unsigned long uvh_nmi_mmrx_mask;               /* UVH_EVENT_OCCURRED0/1_EXTIO_INT0_MASK */
 +static char *uvh_nmi_mmrx_type;                       /* "EXTIO_INT0" */
 +
 +/* Non-zero indicates newer SMM NMI handler present */

(or quoted)

dog 74> diff -u patches/uv5_update_nmi{.v1,}
--- patches/uv5_update_nmi.v1   2020-10-12 16:30:06.083941459 -0500
+++ patches/uv5_update_nmi      2020-10-12 16:30:46.663903731 -0500
@@ -55,7 +55,7 @@
 +static unsigned long uvh_nmi_mmrx;            /* UVH_EVENT_OCCURRED0/1 */
 +static unsigned long uvh_nmi_mmrx_clear;      /* UVH_EVENT_OCCURRED0/1_ALIAS */
 +static int uvh_nmi_mmrx_shift;                        /* UVH_EVENT_OCCURRED0/1_EXTIO_INT0_SHFT */
-+static int uvh_nmi_mmrx_mask;                 /* UVH_EVENT_OCCURRED0/1_EXTIO_INT0_MASK */
++static unsigned long uvh_nmi_mmrx_mask;               /* UVH_EVENT_OCCURRED0/1_EXTIO_INT0_MASK */
 +static char *uvh_nmi_mmrx_type;                       /* "EXTIO_INT0" */
 +
 +/* Non-zero indicates newer SMM NMI handler present */

I was in the process of tracing it through and perhaps it does need a bit more analysis to be correct. What does it mean to send a patch to fix the compile error, just remove it?