Re: linux-next: Tree for May 29 (__rdmsr_on_cpu() OOPS)
From: Eric Paris
Date: Mon Jun 01 2009 - 15:55:34 EST
On Sat, May 30, 2009 at 3:37 PM, Bartlomiej Zolnierkiewicz
<bzolnier@xxxxxxxxx> wrote:
> [ Borislav, feel free to fold it into the above change or replace by
> a more complete one if needed (there may be more rv fields needing
> initialization). ]
>
> From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
> Subject: [PATCH] x86: MSR: fix __rdmsr_on_cpu() OOPS
>
> {rd,wr}msr_on_cpu() need to explicitly initalize rv.msrs
> (since rv is allocated on the stack).
>
> Cc: Borislav Petkov <borislav.petkov@xxxxxxx>
> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
Still broken in 0601, none of my systems will even boot without this patch.
Tested-by: Eric Paris <eparis@xxxxxxxxxx>
> ---
> arch/x86/lib/msr.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> Index: b/arch/x86/lib/msr.c
> ===================================================================
> --- a/arch/x86/lib/msr.c
> +++ b/arch/x86/lib/msr.c
> @@ -44,6 +44,7 @@ int rdmsr_on_cpu(unsigned int cpu, u32 m
> int err;
> struct msr_info rv;
>
> + rv.msrs = NULL;
> rv.msr_no = msr_no;
> err = smp_call_function_single(cpu, __rdmsr_on_cpu, &rv, 1);
> *l = rv.reg.l;
> @@ -58,6 +59,7 @@ int wrmsr_on_cpu(unsigned int cpu, u32 m
> int err;
> struct msr_info rv;
>
> + rv.msrs = NULL;
> rv.msr_no = msr_no;
> rv.reg.l = l;
> rv.reg.h = h;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/