On 7/5/20 1:14 PM, Paolo Bonzini wrote:
> Are we sure that qdev_realize is never called with user-provided input?

I am not sure, but ...

> If it's a programming error, the call chain will end up passing
> &error_abort anyway, won't it?

... this is a good point :)

> 
> Paolo
> 
> Il dom 5 lug 2020, 12:05 Philippe Mathieu-Daudé <f4...@amsat.org
> <mailto:f4...@amsat.org>> ha scritto:
> 
>     On 7/5/20 7:46 AM, Paolo Bonzini wrote:
>     > On 20/06/20 17:38, Philippe Mathieu-Daudé wrote:
>     >> -    } else {
>     >> -        assert(!DEVICE_GET_CLASS(dev)->bus_type);
>     >> +    } else if (DEVICE_GET_CLASS(dev)->bus_type) {
>     >> +        error_report("%s: Unexpected bus '%s' for device '%s'",
>     >> +                     __func__, DEVICE_GET_CLASS(dev)->bus_type,
>     >> +                     object_get_typename(OBJECT(dev)));
>     >> +        abort();
>     >>      }
>     >> 
>     >
>     > Since there is an errp, should we use it and be even kinder?
> 
>     This is a programming error, not an user triggerable condition,
>     so I'm not sure. IOW this must not happen, but if it does, then
>     the error message helps the developer to notice the problem without
>     having to use gdb.
> 

Reply via email to