On Wed, Dec 12, 2012 at 10:19:05AM -0800, Joe Perches wrote:
> Use the new vsprintf extension to avoid any possible
> message interleaving.
> 
> Signed-off-by: Joe Perches <j...@perches.com>
> ---
>  arch/x86/kernel/cpu/mcheck/mce.c |   13 +++++++------
>  arch/x86/kernel/dumpstack.c      |    5 ++---
>  arch/x86/kernel/process_32.c     |    2 +-
>  arch/x86/mm/mmio-mod.c           |    4 ++--
>  arch/x86/um/sysrq_32.c           |    9 +++------
>  5 files changed, 15 insertions(+), 18 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c 
> b/arch/x86/kernel/cpu/mcheck/mce.c
> index 80dbda8..996f98a 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
> @@ -242,13 +242,14 @@ static void print_mce(struct mce *m)
>              m->extcpu, m->mcgstatus, m->bank, m->status);
>  
>       if (m->ip) {
> -             pr_emerg(HW_ERR "RIP%s %02x:<%016Lx> ",
> -                     !(m->mcgstatus & MCG_STATUS_EIPV) ? " !INEXACT!" : "",
> -                             m->cs, m->ip);
> -
>               if (m->cs == __KERNEL_CS)
> -                     print_symbol("{%s}", m->ip);
> -             pr_cont("\n");
> +                     pr_emerg(HW_ERR "RIP%s %02x:<%016Lx> {%pSR}\n",
> +                              !(m->mcgstatus & MCG_STATUS_EIPV) ? " 
> !INEXACT!" : "",
> +                              m->cs, m->ip, (void *)m->ip);
> +             else
> +                     pr_emerg(HW_ERR "RIP%s %02x:<%016Lx>\n",
> +                              !(m->mcgstatus & MCG_STATUS_EIPV) ? " 
> !INEXACT!" : "",
> +                              m->cs, m->ip);
>       }

I think I'd go ahead and ACK this unless Tony has some comments. I'm not
happy about the two pr_emerg calls based on the conditional.

Or, Tony, what do you think, could we get away if we printed empty
string for when m->cs != __KERNEL_CS? I'm thinking of not breaking any
userspace which is parsing that output and seeing "... {}" in that case.

This assumes that vsprintf can print (void *)0 when passed as an
argument through %pSR. Joe?

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to