summaryrefslogtreecommitdiffstats
path: root/0001-modules-add-rhelversion-MODULE_INFO-tag.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-modules-add-rhelversion-MODULE_INFO-tag.patch')
-rw-r--r--0001-modules-add-rhelversion-MODULE_INFO-tag.patch151
1 files changed, 151 insertions, 0 deletions
diff --git a/0001-modules-add-rhelversion-MODULE_INFO-tag.patch b/0001-modules-add-rhelversion-MODULE_INFO-tag.patch
new file mode 100644
index 000000000..5fbcc61e2
--- /dev/null
+++ b/0001-modules-add-rhelversion-MODULE_INFO-tag.patch
@@ -0,0 +1,151 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Laura Abbott <labbott@redhat.com>
+Date: Mon, 7 Jan 2019 21:03:10 +0000
+Subject: [PATCH] modules: add rhelversion MODULE_INFO tag
+
+There were several changes in the 5.0-rc1 kernel that required
+this patch to be rebased with some context diff.
+
+ Patchwork-id: 7379
+ O-Subject: [kernel team] [RHEL8.0 BZ 1544999 1/2] modules: add rhelversion MODULE_INFO tag
+ Bugzilla: 1544999
+ RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
+ RH-Acked-by: Oleg Nesterov <oleg@redhat.com>
+ RH-Acked-by: Jarod Wilson <jarod@redhat.com>
+
+ Bugzilla: http://bugzilla.redhat.com/1544999
+
+ kernel-alt commit 9816b4b6ca5d4c0504d8806ce99442c90afbc8e6
+ Author: Prarit Bhargava <prarit@redhat.com>
+ Date: Fri Feb 9 18:09:26 2018 -0500
+
+ [kernel] modules: add rhelversion MODULE_INFO tag
+
+ Message-id: <20180209180926.5955-3-prarit@redhat.com>
+ Patchwork-id: 205587
+ O-Subject: [RHEL-ALT-7.5 BZ 1542796 2/2] modules: add rhelversion MODULE_INFO tag
+ Bugzilla: 1542796
+ RH-Acked-by: David Arcari <darcari@redhat.com>
+ RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
+ RH-Acked-by: Steve Best <sbest@redhat.com>
+
+ Bugzilla: http://bugzilla.redhat.com/1542796
+
+ rhel7 commit 9af8c3992ce5fff253c49abc0dedb3ec77badba4
+ Author: Kyle McMartin <kmcmarti@redhat.com>
+ Date: Fri Sep 12 17:46:12 2014 -0400
+
+ [kernel] modules: add rhelversion MODULE_INFO tag
+
+ Message-id: <20140912174612.GS29420@redacted.bos.redhat.com>
+ Patchwork-id: 94052
+ O-Subject: [RHEL7.1 PATCH 2/6 v4] modules: add rhelversion MODULE_INFO tag
+ Bugzilla: 1110315
+ RH-Acked-by: Prarit Bhargava <prarit@redhat.com>
+ RH-Acked-by: Johannes Weiner <jweiner@redhat.com>
+ RH-Acked-by: Don Zickus <dzickus@redhat.com>
+
+ From: Kyle McMartin <kmcmarti@redhat.com>
+
+ Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1110315
+
+ >From kylem's RHEL8 post:
+
+ Let's not lose this ability in RHEL8. Sadly can't be applied to RHEL7
+ because it breaks KABI due to the struct module change.
+
+ Inspired by bits of a147e4729d9920ccae2c717ca65c811cc0f93a1d in RHEL6,
+ which got lost for RHEL7.0. :/
+
+ Kyle is correct and doing this would break RHEL7's KABI. I'm taking this
+ patch in as a base and the next patch will resolve the KABI issues.
+
+ [v2]: dzickus, cleanup add_rhelversion()
+ [v4]: resubmitted along with 16k stacks change
+
+ Signed-off-by: Jarod Wilson <jarod@redhat.com>
+
+ Cc: Richard Guy Briggs <rgb@redhat.com>
+ Cc: Peter Rajnoha <prajnoha@redhat.com>
+ Cc: Laura Abbott <labbott@redhat.com>
+ Cc: Josh Poimboeuf <jpoimboe@redhat.com>
+ Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+
+Upstream Status: RHEL only
+Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+Acked-by: Don Zickus <dzickus@redhat.com>
+Acked-by: Prarit Bhargava <prarit@redhat.com>
+---
+ include/linux/module.h | 1 +
+ kernel/module.c | 2 ++
+ scripts/mod/modpost.c | 8 ++++++++
+ 3 files changed, 11 insertions(+)
+
+diff --git a/include/linux/module.h b/include/linux/module.h
+index 1ad393e62bef..3fb19abee033 100644
+--- a/include/linux/module.h
++++ b/include/linux/module.h
+@@ -371,6 +371,7 @@ struct module {
+ struct module_attribute *modinfo_attrs;
+ const char *version;
+ const char *srcversion;
++ const char *rhelversion;
+ struct kobject *holders_dir;
+
+ /* Exported symbols */
+diff --git a/kernel/module.c b/kernel/module.c
+index 646f1e2330d2..aed5b1fcadf8 100644
+--- a/kernel/module.c
++++ b/kernel/module.c
+@@ -799,6 +799,7 @@ static struct module_attribute modinfo_##field = { \
+
+ MODINFO_ATTR(version);
+ MODINFO_ATTR(srcversion);
++MODINFO_ATTR(rhelversion);
+
+ static char last_unloaded_module[MODULE_NAME_LEN+1];
+
+@@ -1263,6 +1264,7 @@ static struct module_attribute *modinfo_attrs[] = {
+ &module_uevent,
+ &modinfo_version,
+ &modinfo_srcversion,
++ &modinfo_rhelversion,
+ &modinfo_initstate,
+ &modinfo_coresize,
+ &modinfo_initsize,
+diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
+index 5c3c50c5ec52..188eb460cede 100644
+--- a/scripts/mod/modpost.c
++++ b/scripts/mod/modpost.c
+@@ -21,6 +21,7 @@
+ #include <errno.h>
+ #include "modpost.h"
+ #include "../../include/linux/license.h"
++#include "../../include/generated/uapi/linux/version.h"
+
+ /* Are we using CONFIG_MODVERSIONS? */
+ static int modversions = 0;
+@@ -2381,6 +2382,12 @@ static void add_srcversion(struct buffer *b, struct module *mod)
+ }
+ }
+
++static void add_rhelversion(struct buffer *b, struct module *mod)
++{
++ buf_printf(b, "MODULE_INFO(rhelversion, \"%d.%d\");\n", RHEL_MAJOR,
++ RHEL_MINOR);
++}
++
+ static void write_if_changed(struct buffer *b, const char *fname)
+ {
+ char *tmp;
+@@ -2644,6 +2651,7 @@ int main(int argc, char **argv)
+ add_depends(&buf, mod);
+ add_moddevtable(&buf, mod);
+ add_srcversion(&buf, mod);
++ add_rhelversion(&buf, mod);
+
+ sprintf(fname, "%s.mod.c", mod->name);
+ write_if_changed(&buf, fname);
+--
+2.26.2
+