summaryrefslogtreecommitdiff
path: root/testing/kmod/0007-modinfo-handle-arguments-more-carefully.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/kmod/0007-modinfo-handle-arguments-more-carefully.patch')
-rw-r--r--testing/kmod/0007-modinfo-handle-arguments-more-carefully.patch86
1 files changed, 0 insertions, 86 deletions
diff --git a/testing/kmod/0007-modinfo-handle-arguments-more-carefully.patch b/testing/kmod/0007-modinfo-handle-arguments-more-carefully.patch
deleted file mode 100644
index 389008414..000000000
--- a/testing/kmod/0007-modinfo-handle-arguments-more-carefully.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 2b77a48833818feb8cf35ffac3adcba8de503aec Mon Sep 17 00:00:00 2001
-From: Dan McGee <dan@archlinux.org>
-Date: Fri, 3 Feb 2012 20:20:21 -0600
-Subject: [PATCH 7/8] modinfo: handle arguments more carefully
-
-A simple case of breakage before this commit:
-
- $ touch aes
- $ modinfo aes
- filename: /tmp/aes
- ERROR: could not get modinfo from 'aes': Invalid argument
-
-Add a new is_module_filename() function that attempts to do more than
-just check if the passed argument is a regular file. We look at the name
-for a '.ko' string, and if that is found, ensure it is either at the end
-of the string or followed by another '.' (for .gz and .xz modules, for
-instance). We don't make this second option conditional on the way the
-tools are built with compression support; the file is a module file
-regardless and should always be treated that way.
-
-When doing this, and noticed in the test suite output, we open the
-system modules index unconditionally, even if it is never going to be
-used during the modinfo call, which is the case when passing module
-filenames directly. Delay the opening of the index file until we get an
-argument that is not a module filename.
-
-With-help-from: Dave Reisner <dreisner@archlinux.org>
-Signed-off-by: Dan McGee <dan@archlinux.org>
----
- tools/kmod-modinfo.c | 20 +++++++++++++++++---
- 1 files changed, 17 insertions(+), 3 deletions(-)
-
-diff --git a/tools/kmod-modinfo.c b/tools/kmod-modinfo.c
-index 87483a5..ace5d3f 100644
---- a/tools/kmod-modinfo.c
-+++ b/tools/kmod-modinfo.c
-@@ -19,6 +19,7 @@
-
- #include <stdio.h>
- #include <stdlib.h>
-+#include <stdbool.h>
- #include <getopt.h>
- #include <errno.h>
- #include <string.h>
-@@ -332,6 +333,21 @@ static void help(const char *progname)
- progname);
- }
-
-+static bool is_module_filename(const char *name)
-+{
-+ struct stat st;
-+ const char *ptr;
-+ if (stat(name, &st) == 0 && S_ISREG(st.st_mode) &&
-+ (ptr = strstr(name, ".ko")) != NULL) {
-+ /* we screened for .ko; make sure this is either at the end of the name
-+ * or followed by another '.' (e.g. gz or xz modules) */
-+ if(ptr[3] != '\0' && ptr[3] != '.')
-+ return false;
-+ return true;
-+ }
-+ return false;
-+}
-+
- static int do_modinfo(int argc, char *argv[])
- {
- struct kmod_ctx *ctx;
-@@ -418,15 +434,13 @@ static int do_modinfo(int argc, char *argv[])
- fputs("Error: kmod_new() failed!\n", stderr);
- return EXIT_FAILURE;
- }
-- kmod_load_resources(ctx);
-
- err = 0;
- for (i = optind; i < argc; i++) {
- const char *name = argv[i];
-- struct stat st;
- int r;
-
-- if (stat(name, &st) == 0 && S_ISREG(st.st_mode))
-+ if (is_module_filename(name))
- r = modinfo_path_do(ctx, name);
- else
- r = modinfo_alias_do(ctx, name);
---
-1.7.9
-