From: Michal Marek Date: Tue, 4 Mar 2014 15:51:25 +0000 (+0100) Subject: libkmod-config,depmod: Accept special files as configuration files, too X-Git-Tag: v17~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=519d27de5a209e3b64453e982feb6882ffd839c8;p=thirdparty%2Fkmod.git libkmod-config,depmod: Accept special files as configuration files, too If we can open it and read it, it's good enough for us. Otherwise, we cannot use -C /dev/null to skip the system configuration for instance: $ ./tools/modprobe -C /dev/null -c libkmod: ERROR libkmod/libkmod-config.c:821 conf_files_list: unsupported file mode /dev/null: 0x21b6 ... --- diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c index 32adb8bb..4417871a 100644 --- a/libkmod/libkmod-config.c +++ b/libkmod/libkmod-config.c @@ -813,13 +813,9 @@ static int conf_files_list(struct kmod_ctx *ctx, struct kmod_list **list, *path_stamp = stat_mstamp(&st); - if (S_ISREG(st.st_mode)) { + if (!S_ISDIR(st.st_mode)) { conf_files_insert_sorted(ctx, list, path, NULL); return 0; - } else if (!S_ISDIR(st.st_mode)) { - ERR(ctx, "unsupported file mode %s: %#x\n", - path, st.st_mode); - return -EINVAL; } d = opendir(path); diff --git a/tools/depmod.c b/tools/depmod.c index b1b58746..9f83ee85 100644 --- a/tools/depmod.c +++ b/tools/depmod.c @@ -846,12 +846,9 @@ static int cfg_files_list(struct cfg_file ***p_files, size_t *p_n_files, return err; } - if (S_ISREG(st.st_mode)) { + if (!S_ISDIR(st.st_mode)) { cfg_files_insert_sorted(p_files, p_n_files, path, NULL); return 0; - } else if (!S_ISDIR(st.st_mode)) { - ERR("unsupported file mode %s: %#x\n", path, st.st_mode); - return -EINVAL; } d = opendir(path);