On 10/25/22 01:07, jcfaracco(a)gmail.com wrote:
From: Julio Faracco <jcfaracco(a)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 <jcfaracco(a)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