]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
shared/module-util: fix errno value passed to log function
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 14 Apr 2021 15:10:36 +0000 (17:10 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 14 Apr 2021 15:10:36 +0000 (17:10 +0200)
If r == 0, no harm done. But if r > 0, this would be interpreted as an
errno value, wrongly.

src/shared/module-util.c

index 587e6369fb89f8b2f08ede3ec20e86d1ee627126..1526f59b0aa028fc1ea8b6e51d7e610a699dbc56 100644 (file)
@@ -20,11 +20,10 @@ int module_load_and_warn(struct kmod_ctx *ctx, const char *module, bool verbose)
                 return log_full_errno(verbose ? LOG_ERR : LOG_DEBUG, r,
                                       "Failed to look up module alias '%s': %m", module);
 
-        if (!modlist) {
-                log_full_errno(verbose ? LOG_ERR : LOG_DEBUG, r,
-                               "Failed to find module '%s'", module);
-                return -ENOENT;
-        }
+        if (!modlist)
+                return log_full_errno(verbose ? LOG_ERR : LOG_DEBUG,
+                                      SYNTHETIC_ERRNO(ENOENT),
+                                      "Failed to find module '%s'", module);
 
         kmod_list_foreach(itr, modlist) {
                 _cleanup_(kmod_module_unrefp) struct kmod_module *mod = NULL;