qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] target/i386: Check NULL monitor pointer when injecting MCE


From: Tao Su
Subject: Re: [PATCH] target/i386: Check NULL monitor pointer when injecting MCE
Date: Wed, 20 Mar 2024 15:53:04 +0800

On Wed, Mar 20, 2024 at 08:17:36AM +0100, Philippe Mathieu-Daudé wrote:
> Hi Tao,
> 
> On 20/3/24 07:02, Markus Armbruster wrote:
> > Tao Su <tao1.su@linux.intel.com> writes:
> > 
> > > monitor_puts() doesn't check the monitor pointer, but do_inject_x86_mce()
> > > may have a parameter with NULL monitor pointer. Check the monitor pointer
> > > before calling monitor_puts().
> > > 
> > > Fixes: bf0c50d4aa85 (monitor: expose monitor_puts to rest of code)
> > > Reviwed-by: Xiaoyao Li <xiaoyao.li@intel.com>
> > > Signed-off-by: Tao Su <tao1.su@linux.intel.com>
> > > ---
> > >   target/i386/helper.c | 3 ++-
> > >   1 file changed, 2 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/target/i386/helper.c b/target/i386/helper.c
> > > index 2070dd0dda..a9ff830a17 100644
> > > --- a/target/i386/helper.c
> > > +++ b/target/i386/helper.c
> > > @@ -430,7 +430,8 @@ static void do_inject_x86_mce(CPUState *cs, 
> > > run_on_cpu_data data)
> > >           if (need_reset) {
> > >               emit_guest_memory_failure(MEMORY_FAILURE_ACTION_RESET, ar,
> > >                                         recursive);
> > > -            monitor_puts(params->mon, msg);
> > > +            if (params->mon)
> 
> Missing braces, see QEMU coding style:
> https://www.qemu.org/docs/master/devel/style.html#block-structure

Yes, I prefer to revert the broken part.

Anyway, I got this point and will always pay attention to it, thanks for
reminding.

> 
> > > +                monitor_puts(params->mon, msg);
> > >               qemu_log_mask(CPU_LOG_RESET, "%s\n", msg);
> > >               qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET);
> > >               return;
> > 
> > Could instead revert the broken part of commit bf0c50d4aa85:
> > 
> >    -            monitor_puts(params->mon, msg);
> >    +            monitor_printf(params->mon, "%s", msg);
> >                 qemu_log_mask(CPU_LOG_RESET, "%s\n", msg);
> > 
> > Then the fact that we send the same message to monitor and log is again
> > more obvious.
> > 
> > Either way:
> > Reviewed-by: Markus Armbruster <armbru@redhat.com>
> > 
> > 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]