diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-10-08 15:55:24 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-10-08 22:04:07 +0200 |
commit | 232ac0d6810498dc7a3a6b9d1fd4dca983e1535f (patch) | |
tree | c3d1cd6c5a89240374d52daeffc0490389336477 /src/udev/udev-builtin-kmod.c | |
parent | b32bceb6c319f5a7b61f8bbfc14af8bb43effc11 (diff) | |
download | systemd-232ac0d6810498dc7a3a6b9d1fd4dca983e1535f.tar.gz |
util-lib: introdude _cleanup_ macros for kmod objects
Diffstat (limited to 'src/udev/udev-builtin-kmod.c')
-rw-r--r-- | src/udev/udev-builtin-kmod.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/udev/udev-builtin-kmod.c b/src/udev/udev-builtin-kmod.c index 9665f678fd..e0e0fa4b46 100644 --- a/src/udev/udev-builtin-kmod.c +++ b/src/udev/udev-builtin-kmod.c @@ -24,13 +24,14 @@ #include <stdio.h> #include <stdlib.h> +#include "module-util.h" #include "string-util.h" #include "udev.h" static struct kmod_ctx *ctx = NULL; static int load_module(struct udev *udev, const char *alias) { - struct kmod_list *list = NULL; + _cleanup_(kmod_module_unref_listp) struct kmod_list *list = NULL; struct kmod_list *l; int err; @@ -42,7 +43,9 @@ static int load_module(struct udev *udev, const char *alias) { log_debug("No module matches '%s'", alias); kmod_list_foreach(l, list) { - struct kmod_module *mod = kmod_module_get_module(l); + _cleanup_(kmod_module_unrefp) struct kmod_module *mod = NULL; + + mod = kmod_module_get_module(l); err = kmod_module_probe_insert_module(mod, KMOD_PROBE_APPLY_BLACKLIST, NULL, NULL, NULL, NULL); if (err == KMOD_PROBE_APPLY_BLACKLIST) @@ -51,11 +54,8 @@ static int load_module(struct udev *udev, const char *alias) { log_debug("Inserted '%s'", kmod_module_get_name(mod)); else log_debug("Failed to insert '%s'", kmod_module_get_name(mod)); - - kmod_module_unref(mod); } - kmod_module_unref_list(list); return err; } |