Message ID | 20240715183332.27287-9-kowal@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Series | XIVE changes for Cache Watch, VSTs, STT and info pic | expand |
On 7/15/24 20:33, Michael Kowal wrote: > From: Frederic Barrat <fbarrat@linux.ibm.com> > > Fail VST entry address computation if firmware doesn't define a descriptor > for one of the Virtualization Structure Tables (VST), there's no point in > trying to compute the address of its entry. Abort the operation and log > an error. > > Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com> > Signed-off-by: Michael Kowal <kowal@linux.vnet.ibm.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Thanks, C. > --- > hw/intc/pnv_xive2.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/hw/intc/pnv_xive2.c b/hw/intc/pnv_xive2.c > index 24ecab46a1..ad0d6f45e4 100644 > --- a/hw/intc/pnv_xive2.c > +++ b/hw/intc/pnv_xive2.c > @@ -244,6 +244,11 @@ static uint64_t pnv_xive2_vst_addr(PnvXive2 *xive, uint32_t type, uint8_t blk, > } > > vsd = xive->vsds[type][blk]; > + if (vsd == 0) { > + xive2_error(xive, "VST: vsd == 0 block id %d for VST %s %d !?", > + blk, info->name, idx); > + return 0; > + } > > /* Remote VST access */ > if (GETFIELD(VSD_MODE, vsd) == VSD_MODE_FORWARD) {
diff --git a/hw/intc/pnv_xive2.c b/hw/intc/pnv_xive2.c index 24ecab46a1..ad0d6f45e4 100644 --- a/hw/intc/pnv_xive2.c +++ b/hw/intc/pnv_xive2.c @@ -244,6 +244,11 @@ static uint64_t pnv_xive2_vst_addr(PnvXive2 *xive, uint32_t type, uint8_t blk, } vsd = xive->vsds[type][blk]; + if (vsd == 0) { + xive2_error(xive, "VST: vsd == 0 block id %d for VST %s %d !?", + blk, info->name, idx); + return 0; + } /* Remote VST access */ if (GETFIELD(VSD_MODE, vsd) == VSD_MODE_FORWARD) {