On 10/25/22 01:07, jcfara...@gmail.com wrote: > From: Julio Faracco <jcfara...@gmail.com> > > The function nodedevRegister() (or all register functions) requires an > integer as a return. That function is not returning a value when UDEV is > not set. This commit just adds a generic return for that specific case. > > Signed-off-by: Julio Faracco <jcfara...@gmail.com> > --- > src/node_device/node_device_driver.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/src/node_device/node_device_driver.c > b/src/node_device/node_device_driver.c > index 8e93b0dd6f..4d51851cfd 100644 > --- a/src/node_device/node_device_driver.c > +++ b/src/node_device/node_device_driver.c > @@ -1584,6 +1584,8 @@ nodedevRegister(void) > { > #ifdef WITH_UDEV > return udevNodeRegister(); > +#else > + return 0; > #endif
Technically, this patch is correct. Because if WITH_UDEV is undefined then this is an empty body function. But in that case this source file shouldn't be compiled at all, because src/node_device/meson.build has: if conf.has('WITH_NODE_DEVICES') node_device_driver_impl = static_library( 'virt_driver_nodedev_impl', [ node_device_driver_sources, ], ... endif and toplevel meson.build has: if udev_dep.found() and conf.has('WITH_LIBVIRTD') conf.set('WITH_NODE_DEVICES', 1) endif Therefore, I'm failing to see how the driver is even attempted to be compiled without udev, at which point the function is not empty bodied. If anything, we should remove WITH_UDEV because that's the only backend we support anyway. Michal