libkmod-config,depmod: Accept special files as configuration files, too
authorMichal Marek <mmarek@suse.cz>
Tue, 4 Mar 2014 15:51:25 +0000 (16:51 +0100)
committerLucas De Marchi <lucas.demarchi@intel.com>
Wed, 5 Mar 2014 15:27:24 +0000 (12:27 -0300)
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
...

libkmod/libkmod-config.c
tools/depmod.c

index 32adb8b..4417871 100644 (file)
@@ -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);
index b1b5874..9f83ee8 100644 (file)
@@ -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);