SHA256
1
0
forked from pool/kmod

Accepting request 247492 from home:michal-m:branches:Base:System

- Do not filter unsupported modules when running a vanilla kernel
  (bnc#871066)
  new patch: 0005-Do-not-filter-unsupported-modules-when-running-a-van.patch
- Renumbered remaining patches.

OBS-URL: https://build.opensuse.org/request/show/247492
OBS-URL: https://build.opensuse.org/package/show/Base:System/kmod?expand=0&rev=76
This commit is contained in:
Jan Engelhardt 2014-09-04 09:27:48 +00:00 committed by Git OBS Bridge
parent 8797ee9329
commit bb5bee2e71
7 changed files with 87 additions and 26 deletions

View File

@ -1,7 +1,7 @@
From 820ce4a006eeb230ee597e7565b17cec464ef15d Mon Sep 17 00:00:00 2001
From ae166d55534d92e12e4892431075539474c59918 Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.cz>
Date: Wed, 26 Feb 2014 13:48:55 +0100
Subject: [PATCH 02/10] modprobe: Recognize --allow-unsupported-modules on
Subject: [PATCH 1/5] modprobe: Recognize --allow-unsupported-modules on
commandline
The option does not do anything yet, but it does not return error

View File

@ -1,7 +1,7 @@
From 717e10547654bceebbcb84144be72a40d78e577a Mon Sep 17 00:00:00 2001
From d607994c7b086afae09a8cded8bf6c5e8682541e Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.cz>
Date: Wed, 26 Feb 2014 13:53:38 +0100
Subject: [PATCH 03/10] libkmod-config: Recognize allow_unsupported_modules in
Subject: [PATCH 2/5] libkmod-config: Recognize allow_unsupported_modules in
the configuration
References: fate#316971
@ -11,10 +11,10 @@ Patch-mainline: never
1 file changed, 3 insertions(+)
diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
index 32adb8b..3950923 100644
index 0953924..79bfb9b 100644
--- a/libkmod/libkmod-config.c
+++ b/libkmod/libkmod-config.c
@@ -662,6 +662,9 @@ static int kmod_config_parse(struct kmod_config *config, int fd,
@@ -667,6 +667,9 @@ static int kmod_config_parse(struct kmod_config *config, int fd,
|| streq(cmd, "config")) {
ERR(ctx, "%s: command %s is deprecated and not parsed anymore\n",
filename, cmd);

View File

@ -1,8 +1,8 @@
From 36bb8bc7f4100d7ffc4d6d0436e36e48fa7c075f Mon Sep 17 00:00:00 2001
From 153da67042852b7667ce4479d14835450c908417 Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.cz>
Date: Wed, 5 Mar 2014 14:40:14 +0100
Subject: [PATCH 09/10] libkmod: Implement filtering of unsupported modules
(off by default)
Subject: [PATCH 3/5] libkmod: Implement filtering of unsupported modules (off
by default)
References: fate#316971
Patch-mainline: never
@ -13,10 +13,10 @@ Patch-mainline: never
3 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
index 3950923..385a224 100644
index 79bfb9b..9f47cfd 100644
--- a/libkmod/libkmod-config.c
+++ b/libkmod/libkmod-config.c
@@ -663,8 +663,16 @@ static int kmod_config_parse(struct kmod_config *config, int fd,
@@ -668,8 +668,16 @@ static int kmod_config_parse(struct kmod_config *config, int fd,
ERR(ctx, "%s: command %s is deprecated and not parsed anymore\n",
filename, cmd);
} else if (streq(cmd, "allow_unsupported_modules")) {
@ -36,10 +36,10 @@ index 3950923..385a224 100644
syntax_error:
ERR(ctx, "%s line %u: ignoring bad line starting with '%s'\n",
diff --git a/libkmod/libkmod-internal.h b/libkmod/libkmod-internal.h
index 0180124..596db5d 100644
index 93a00c1..3a46b6b 100644
--- a/libkmod/libkmod-internal.h
+++ b/libkmod/libkmod-internal.h
@@ -118,6 +118,7 @@ struct kmod_config {
@@ -119,6 +119,7 @@ struct kmod_config {
struct kmod_list *softdeps;
struct kmod_list *paths;
@ -48,10 +48,10 @@ index 0180124..596db5d 100644
int kmod_config_new(struct kmod_ctx *ctx, struct kmod_config **config, const char * const *config_paths) __attribute__((nonnull(1, 2,3)));
diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c
index b94abd4..ee52b97 100644
index e3cc5a7..3a9ce7c 100644
--- a/libkmod/libkmod-module.c
+++ b/libkmod/libkmod-module.c
@@ -769,6 +769,24 @@ KMOD_EXPORT int kmod_module_remove_module(struct kmod_module *mod,
@@ -782,6 +782,24 @@ KMOD_EXPORT int kmod_module_remove_module(struct kmod_module *mod,
extern long init_module(const void *mem, unsigned long len, const char *args);
@ -76,7 +76,7 @@ index b94abd4..ee52b97 100644
/**
* kmod_module_insert_module:
* @mod: kmod module
@@ -794,6 +812,7 @@ KMOD_EXPORT int kmod_module_insert_module(struct kmod_module *mod,
@@ -807,6 +825,7 @@ KMOD_EXPORT int kmod_module_insert_module(struct kmod_module *mod,
struct kmod_elf *elf;
const char *path;
const char *args = options ? options : "";
@ -84,7 +84,7 @@ index b94abd4..ee52b97 100644
if (mod == NULL)
return -ENOENT;
@@ -810,6 +829,18 @@ KMOD_EXPORT int kmod_module_insert_module(struct kmod_module *mod,
@@ -823,6 +842,18 @@ KMOD_EXPORT int kmod_module_insert_module(struct kmod_module *mod,
return err;
}

View File

@ -1,7 +1,7 @@
From 714b9b5241f5fc6120c74f35d6a374e032bad6df Mon Sep 17 00:00:00 2001
From ea7f79db6890b99558adc9badd543e8ab59bc756 Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.cz>
Date: Wed, 5 Mar 2014 15:02:44 +0100
Subject: [PATCH 10/10] modprobe: Implement --allow-unsupported-modules
Subject: [PATCH 4/5] modprobe: Implement --allow-unsupported-modules
References: fate#316971
Patch-mainline: never
@ -15,10 +15,10 @@ Patch-mainline: never
create mode 100644 libkmod/libkmod-unsupported.h
diff --git a/Makefile.am b/Makefile.am
index 46b7652..9986730 100644
index eb63073..1c3eee4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -78,7 +78,9 @@ libkmod_libkmod_la_LIBADD = libkmod/libkmod-util.la \
@@ -79,7 +79,9 @@ libkmod_libkmod_la_LIBADD = libkmod/libkmod-util.la \
${liblzma_LIBS} ${zlib_LIBS}
noinst_LTLIBRARIES += libkmod/libkmod-internal.la

View File

@ -0,0 +1,52 @@
From be9bfe0f3724624d4b0240dbe6d580b7ae8b5256 Mon Sep 17 00:00:00 2001
From: Michal Marek <mmarek@suse.cz>
Date: Fri, 4 Apr 2014 10:08:01 +0200
Subject: [PATCH 5/5] Do not filter unsupported modules when running a vanilla
kernel
References: bnc#871066
Patch-mainline: never
---
libkmod/libkmod-config.c | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c
index 9f47cfd..9a486c4 100644
--- a/libkmod/libkmod-config.c
+++ b/libkmod/libkmod-config.c
@@ -573,6 +573,18 @@ static int kmod_config_parse_kcmdline(struct kmod_config *config)
}
/*
+ * Check if kernel is built with the SUSE "suppported-flag" patch
+ */
+static int is_suse_kernel(void)
+{
+ if (access("/proc/sys/kernel/", F_OK) == 0 &&
+ access("/proc/sys/kernel/unsupported", F_OK) == -1 &&
+ errno == ENOENT)
+ return 0;
+ return 1;
+}
+
+/*
* Take an fd and own it. It will be closed on return. filename is used only
* for debug messages
*/
@@ -674,9 +686,10 @@ static int kmod_config_parse(struct kmod_config *config, int fd,
goto syntax_error;
if (streq(param, "yes") || streq(param, "1"))
config->block_unsupported = 0;
- else if (streq(param, "no") || streq(param, "0"))
- config->block_unsupported = 1;
- else
+ else if (streq(param, "no") || streq(param, "0")) {
+ if (is_suse_kernel())
+ config->block_unsupported = 1;
+ } else
goto syntax_error;
} else {
syntax_error:
--
1.8.4.5

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Thu Sep 4 09:16:19 UTC 2014 - mmarek@suse.cz
- Do not filter unsupported modules when running a vanilla kernel
(bnc#871066)
new patch: 0005-Do-not-filter-unsupported-modules-when-running-a-van.patch
- Renumbered remaining patches.
-------------------------------------------------------------------
Tue Jun 24 13:15:37 UTC 2014 - jengelh@inai.de

View File

@ -30,10 +30,11 @@ Url: http://www.jonmasters.org/blog/2011/12/20/libkmod-replaces-modul
#Git-Clone: git://git.kernel.org/pub/scm/utils/kernel/kmod/kmod
Source: ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/%name-%version.tar.xz
Source2: ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/%name-%version.tar.sign
Patch2: 0002-modprobe-Recognize-allow-unsupported-modules-on-comm.patch
Patch3: 0003-libkmod-config-Recognize-allow_unsupported_modules-i.patch
Patch9: 0009-libkmod-Implement-filtering-of-unsupported-modules-o.patch
Patch10: 0010-modprobe-Implement-allow-unsupported-modules.patch
Patch1: 0001-modprobe-Recognize-allow-unsupported-modules-on-comm.patch
Patch2: 0002-libkmod-config-Recognize-allow_unsupported_modules-i.patch
Patch3: 0003-libkmod-Implement-filtering-of-unsupported-modules-o.patch
Patch4: 0004-modprobe-Implement-allow-unsupported-modules.patch
Patch5: 0005-Do-not-filter-unsupported-modules-when-running-a-van.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
BuildRequires: automake
@ -98,7 +99,7 @@ in %lname.
%prep
%setup -q
%patch -P 2 -P 3 -P 9 -P 10 -p1
%patch -P 1 -P 2 -P 3 -P 4 -P 5 -p1
%build
autoreconf -fi