2020-05-08 14:52:40 +00:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2020-04-23 20:47:21 +00:00
|
|
|
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
|
2020-06-04 21:46:33 +00:00
|
|
|
index 2e6670860d27..8c35a5db7d7e 100644
|
2020-04-23 20:47:21 +00:00
|
|
|
--- 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;
|
2020-06-29 18:02:20 +00:00
|
|
|
|
2020-04-23 20:47:21 +00:00
|
|
|
/* Exported symbols */
|
|
|
|
diff --git a/kernel/module.c b/kernel/module.c
|
2020-06-29 18:02:20 +00:00
|
|
|
index 0c6573b98c36..4898faa4e8e1 100644
|
2020-04-23 20:47:21 +00:00
|
|
|
--- a/kernel/module.c
|
|
|
|
+++ b/kernel/module.c
|
2020-06-04 21:46:33 +00:00
|
|
|
@@ -802,6 +802,7 @@ static struct module_attribute modinfo_##field = { \
|
2020-06-29 18:02:20 +00:00
|
|
|
|
2020-04-23 20:47:21 +00:00
|
|
|
MODINFO_ATTR(version);
|
|
|
|
MODINFO_ATTR(srcversion);
|
|
|
|
+MODINFO_ATTR(rhelversion);
|
2020-06-29 18:02:20 +00:00
|
|
|
|
2020-04-23 20:47:21 +00:00
|
|
|
static char last_unloaded_module[MODULE_NAME_LEN+1];
|
2020-06-29 18:02:20 +00:00
|
|
|
|
2020-06-04 21:46:33 +00:00
|
|
|
@@ -1266,6 +1267,7 @@ static struct module_attribute *modinfo_attrs[] = {
|
2020-04-23 20:47:21 +00:00
|
|
|
&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
|
2020-06-08 15:07:17 +00:00
|
|
|
index 6aea65c65745..ed3c4d8a1c7f 100644
|
2020-04-23 20:47:21 +00:00
|
|
|
--- 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"
|
2020-06-29 18:02:20 +00:00
|
|
|
|
2020-04-23 20:47:21 +00:00
|
|
|
/* Are we using CONFIG_MODVERSIONS? */
|
|
|
|
static int modversions = 0;
|
2020-06-08 15:07:17 +00:00
|
|
|
@@ -2384,6 +2385,12 @@ static void write_buf(struct buffer *b, const char *fname)
|
2020-04-23 20:47:21 +00:00
|
|
|
}
|
|
|
|
}
|
2020-06-29 18:02:20 +00:00
|
|
|
|
2020-04-23 20:47:21 +00:00
|
|
|
+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;
|
2020-06-08 15:07:17 +00:00
|
|
|
@@ -2636,6 +2643,7 @@ int main(int argc, char **argv)
|
2020-04-23 20:47:21 +00:00
|
|
|
add_depends(&buf, mod);
|
|
|
|
add_moddevtable(&buf, mod);
|
|
|
|
add_srcversion(&buf, mod);
|
|
|
|
+ add_rhelversion(&buf, mod);
|
2020-06-29 18:02:20 +00:00
|
|
|
|
2020-04-23 20:47:21 +00:00
|
|
|
sprintf(fname, "%s.mod.c", mod->name);
|
|
|
|
write_if_changed(&buf, fname);
|
|
|
|
--
|
2020-06-29 18:02:20 +00:00
|
|
|
2.25.4
|
2020-04-23 20:47:21 +00:00
|
|
|
|