summaryrefslogtreecommitdiff
path: root/src/udev/udev-builtin-kmod.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-10-08 15:55:24 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-10-08 22:04:07 +0200
commit232ac0d6810498dc7a3a6b9d1fd4dca983e1535f (patch)
treec3d1cd6c5a89240374d52daeffc0490389336477 /src/udev/udev-builtin-kmod.c
parentb32bceb6c319f5a7b61f8bbfc14af8bb43effc11 (diff)
downloadsystemd-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.c10
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;
}