On Fri, 2 Feb 2018 07:11:08 -0200 Daniel Henrique Barboza <danie...@linux.vnet.ibm.com> wrote:
> On 02/01/2018 05:47 PM, Greg Kurz wrote: > > Detected by Coverity (CID 1385702). This fixes the recently added hypercall > > to let guests properly apply Spectre and Meltdown workarounds. > > Paolo Bonzini reported this error in a reply to the pull request that > added the patch: > > "Re: [Qemu-ppc] [Qemu-devel] [PULL 12/12] target/ppc/spapr: Add H-Call > H_GET_CPU_CHARACTERISTICS > > On 28/01/2018 22:28, David Gibson wrote: > > > + switch (safe_indirect_branch) { > > + case SPAPR_CAP_FIXED: > > + characteristics |= H_CPU_CHAR_BCCTRL_SERIALISED; > > Missing "break;" here. > > Paolo > > " > > I think it is nice to mention in the commit msg that Paolo also detected > this same error, > specially given that his email was sent before this patch. > Heh, Paolo's mail landed in the pull req thread in my mail client and I saw it after sending the patch :P ... also I'm pretty sure Paolo was made aware of this issue by Coverity, just as I was :) From: scan-ad...@coverity.com To: gr...@kaod.org Subject: New Defects reported by Coverity Scan for QEMU Date: Thu, 01 Feb 2018 18:11:33 +0000 (UTC) Hi, Please find the latest report on new defect(s) introduced to QEMU found with Coverity Scan. ... *** CID 1385702: Control flow issues (MISSING_BREAK) /hw/ppc/spapr_hcall.c: 1700 in h_get_cpu_characteristics() 1694 break; 1695 } 1696 1697 switch (safe_indirect_branch) { 1698 case SPAPR_CAP_FIXED: 1699 characteristics |= H_CPU_CHAR_BCCTRL_SERIALISED; >>> CID 1385702: Control flow issues (MISSING_BREAK) >>> The above case falls through to this one. 1700 default: /* broken */ 1701 assert(safe_indirect_branch == SPAPR_CAP_BROKEN); 1702 break; 1703 } 1704 1705 args[0] = characteristics; No big deal I guess :) > > Thanks, > > > Daniel > > > > > > Fixes: c59704b25473 "target/ppc/spapr: Add H-Call H_GET_CPU_CHARACTERISTICS" > > Signed-off-by: Greg Kurz <gr...@kaod.org> > > --- > > hw/ppc/spapr_hcall.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c > > index 4d0e6eb0cf1d..596f58378a40 100644 > > --- a/hw/ppc/spapr_hcall.c > > +++ b/hw/ppc/spapr_hcall.c > > @@ -1697,6 +1697,7 @@ static target_ulong > > h_get_cpu_characteristics(PowerPCCPU *cpu, > > switch (safe_indirect_branch) { > > case SPAPR_CAP_FIXED: > > characteristics |= H_CPU_CHAR_BCCTRL_SERIALISED; > > + break; > > default: /* broken */ > > assert(safe_indirect_branch == SPAPR_CAP_BROKEN); > > break; > > > > >