On 02/10/2019 04:51, David Gibson wrote: > Interface instances should never be directly dereferenced. So, the common > practice is to make them incomplete types to make sure no-one does that. > XICSFrabric, however, had a dummy type which is less safe. > > We were also using OBJECT_CHECK() where we should have been using > INTERFACE_CHECK(). > > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> > Reviewed-by: Greg Kurz <gr...@kaod.org>
Reviewed-by: Greg Kurz <gr...@kaod.org> > --- > include/hw/ppc/xics.h | 6 +----- > 1 file changed, 1 insertion(+), 5 deletions(-) > > diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h > index 64a2c8862a..faa33ae943 100644 > --- a/include/hw/ppc/xics.h > +++ b/include/hw/ppc/xics.h > @@ -147,13 +147,9 @@ struct ICSIRQState { > uint8_t flags; > }; > > -struct XICSFabric { > - Object parent; > -}; > - > #define TYPE_XICS_FABRIC "xics-fabric" > #define XICS_FABRIC(obj) \ > - OBJECT_CHECK(XICSFabric, (obj), TYPE_XICS_FABRIC) > + INTERFACE_CHECK(XICSFabric, (obj), TYPE_XICS_FABRIC) > #define XICS_FABRIC_CLASS(klass) \ > OBJECT_CLASS_CHECK(XICSFabricClass, (klass), TYPE_XICS_FABRIC) > #define XICS_FABRIC_GET_CLASS(obj) \ >