Compare commits
No commits in common. "c8" and "a9-beta" have entirely different histories.
20
.gitignore
vendored
20
.gitignore
vendored
@ -1,12 +1,12 @@
|
||||
SOURCES/centossecureboot201.cer
|
||||
SOURCES/centossecurebootca2.cer
|
||||
SOURCES/kernel-abi-stablelists-4.18.0-553.tar.bz2
|
||||
SOURCES/kernel-kabi-dw-4.18.0-553.tar.bz2
|
||||
SOURCES/linux-4.18.0-553.117.1.el8_10.tar.xz
|
||||
SOURCES/redhatsecureboot302.cer
|
||||
SOURCES/redhatsecureboot303.cer
|
||||
SOURCES/redhatsecureboot501.cer
|
||||
SOURCES/redhatsecurebootca3.cer
|
||||
SOURCES/redhatsecurebootca7.cer
|
||||
SOURCES/kernel-abi-stablelists-5.14.0-687.5.1.el9_8.tar.bz2
|
||||
SOURCES/kernel-kabi-dw-5.14.0-687.5.1.el9_8.tar.bz2
|
||||
SOURCES/linux-5.14.0-687.5.1.el9_8.tar.xz
|
||||
SOURCES/nvidiabfdpu.x509
|
||||
SOURCES/nvidiagpuoot001.x509
|
||||
SOURCES/nvidiajetsonsoc.x509
|
||||
SOURCES/redhatsecureboot504.cer
|
||||
SOURCES/rheldup3.x509
|
||||
SOURCES/rhelima.x509
|
||||
SOURCES/rhelima_centos.x509
|
||||
SOURCES/rhelimaca1.x509
|
||||
SOURCES/rhelkpatch1.x509
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
2ba40bf9138b48311e5aa1b737b7f0a8ad66066f SOURCES/centossecureboot201.cer
|
||||
bfdb3d7cffc43f579655af5155d50c08671d95e5 SOURCES/centossecurebootca2.cer
|
||||
e5fac5a58d81817f9abf876b5737ea2099069875 SOURCES/kernel-abi-stablelists-4.18.0-553.tar.bz2
|
||||
518a38408b3bcf6d6d49e6e962832c665d6e5a85 SOURCES/kernel-kabi-dw-4.18.0-553.tar.bz2
|
||||
a1744b2de48d20fa04193c188bf1fcf81de1c5eb SOURCES/linux-4.18.0-553.117.1.el8_10.tar.xz
|
||||
13e5cd3f856b472fde80a4deb75f4c18dfb5b255 SOURCES/redhatsecureboot302.cer
|
||||
e89890ca0ded2f9058651cc5fa838b78db2e6cc2 SOURCES/redhatsecureboot303.cer
|
||||
ba0b760e594ff668ee72ae348adf3e49b97f75fb SOURCES/redhatsecureboot501.cer
|
||||
cf9230e69000076727e5b784ec871d22716dc5da SOURCES/redhatsecurebootca3.cer
|
||||
905d91a282727c7f5ad433a49ac42a0772311c6a SOURCES/redhatsecurebootca7.cer
|
||||
f21a5c6a56106e2790e9fff02046059845b21c27 SOURCES/kernel-abi-stablelists-5.14.0-687.5.1.el9_8.tar.bz2
|
||||
5840fe94117e01fee7ab3d75d86f0f6c7182c85f SOURCES/kernel-kabi-dw-5.14.0-687.5.1.el9_8.tar.bz2
|
||||
0abcd2db91df05c71e974123c6dfd915b422fdca SOURCES/linux-5.14.0-687.5.1.el9_8.tar.xz
|
||||
3dc4997e0273ca116d52a52238a57403aba5dafb SOURCES/nvidiabfdpu.x509
|
||||
4fff8080e88afffc06d8ef5004db8d53bb21237f SOURCES/nvidiagpuoot001.x509
|
||||
18378ab150ef13ef65609224e10a2e8501d82915 SOURCES/nvidiajetsonsoc.x509
|
||||
1d51d3a037ad287095b0a13c4deeb1252d8ff0cc SOURCES/redhatsecureboot504.cer
|
||||
95b9b811c7b0a6c98b2eafc4e7d6d24f2cb63289 SOURCES/rheldup3.x509
|
||||
99e571f9de4188f3b5fdf1f84ff73f6cc4bb6a0e SOURCES/rhelima.x509
|
||||
61d5a223ff0c79189505abae77e0087c4b2d2b47 SOURCES/rhelima_centos.x509
|
||||
f882610d2554fef65703e5d3c342f005af0390ad SOURCES/rhelimaca1.x509
|
||||
d90885108d225a234a5a9d054fc80893a5bd54d0 SOURCES/rhelkpatch1.x509
|
||||
|
||||
@ -0,0 +1,38 @@
|
||||
From 2ecae960349c68360744ed3cba0c47ad18b402cc Mon Sep 17 00:00:00 2001
|
||||
From: eabdullin <eabdullin@almalinux.org>
|
||||
Date: Tue, 11 Mar 2025 10:22:08 +0300
|
||||
Subject: [PATCH] Enable all disabled pci devices by moving to unmaintained
|
||||
|
||||
---
|
||||
kernel/rh_messages.h | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/kernel/rh_messages.h b/kernel/rh_messages.h
|
||||
index 647d7b9a4..483824c9c 100644
|
||||
--- a/kernel/rh_messages.h
|
||||
+++ b/kernel/rh_messages.h
|
||||
@@ -123,6 +123,10 @@ static const struct pci_device_id rh_deprecated_pci_devices[] = {
|
||||
};
|
||||
|
||||
static const struct pci_device_id rh_disabled_pci_devices[] = {
|
||||
+ {0} /* Terminating entry */
|
||||
+};
|
||||
+
|
||||
+static const struct pci_device_id rh_unmaintained_pci_devices[] = {
|
||||
{ 0x1011, 0x0046, 0x103c, 0x10c2 },
|
||||
{ 0x1011, 0x0046, 0x9005, 0x0364 },
|
||||
{ 0x1011, 0x0046, 0x9005, 0x0365 },
|
||||
@@ -288,10 +292,6 @@ static const struct pci_device_id rh_disabled_pci_devices[] = {
|
||||
{ 0x1077, 0x8022, PCI_ANY_ID, PCI_ANY_ID },
|
||||
{ 0x1077, 0x8032, PCI_ANY_ID, PCI_ANY_ID },
|
||||
{ 0x1077, 0x8042, PCI_ANY_ID, PCI_ANY_ID },
|
||||
- {0} /* Terminating entry */
|
||||
-};
|
||||
-
|
||||
-static const struct pci_device_id rh_unmaintained_pci_devices[] = {
|
||||
{ 0x10df, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
|
||||
{ 0x10df, 0x0724, PCI_ANY_ID, PCI_ANY_ID },
|
||||
{ 0x10df, 0xe200, PCI_ANY_ID, PCI_ANY_ID },
|
||||
--
|
||||
2.39.5 (Apple Git-154)
|
||||
|
||||
@ -0,0 +1,53 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Eduard Abdullin <eabdullin@almalinux.org>
|
||||
Date: Sun, 6 Apr 2026 00:00:00 +0000
|
||||
Subject: [PATCH] KVM: PPC: Book3S HV: Make PMU save/restore symbols global for
|
||||
module builds
|
||||
|
||||
---
|
||||
arch/powerpc/kvm/book3s_hv_interrupts.S | 2 +-
|
||||
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 6 +++---
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
|
||||
--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S
|
||||
+++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S
|
||||
@@ -2788,7 +2788,7 @@
|
||||
/*
|
||||
* Load up guest PMU state. R3 points to the vcpu struct.
|
||||
*/
|
||||
-SYM_FUNC_START_LOCAL(kvmhv_load_guest_pmu)
|
||||
+SYM_FUNC_START(kvmhv_load_guest_pmu)
|
||||
EXPORT_SYMBOL_GPL(kvmhv_load_guest_pmu)
|
||||
mr r4, r3
|
||||
mflr r0
|
||||
@@ -2854,7 +2854,7 @@
|
||||
/*
|
||||
* Reload host PMU state saved in the PACA by kvmhv_save_host_pmu.
|
||||
*/
|
||||
-SYM_FUNC_START_LOCAL(kvmhv_load_host_pmu)
|
||||
+SYM_FUNC_START(kvmhv_load_host_pmu)
|
||||
EXPORT_SYMBOL_GPL(kvmhv_load_host_pmu)
|
||||
mflr r0
|
||||
lbz r4, PACA_PMCINUSE(r13) /* is the host using the PMU? */
|
||||
@@ -2911,7 +2911,7 @@
|
||||
* Save guest PMU state into the vcpu struct.
|
||||
* r3 = vcpu, r4 = full save flag (PMU in use flag set in VPA)
|
||||
*/
|
||||
-SYM_FUNC_START_LOCAL(kvmhv_save_guest_pmu)
|
||||
+SYM_FUNC_START(kvmhv_save_guest_pmu)
|
||||
EXPORT_SYMBOL_GPL(kvmhv_save_guest_pmu)
|
||||
mr r9, r3
|
||||
mr r8, r4
|
||||
diff --git a/arch/powerpc/kvm/book3s_hv_interrupts.S b/arch/powerpc/kvm/book3s_hv_interrupts.S
|
||||
--- a/arch/powerpc/kvm/book3s_hv_interrupts.S
|
||||
+++ b/arch/powerpc/kvm/book3s_hv_interrupts.S
|
||||
@@ -105,7 +105,7 @@
|
||||
mtlr r0
|
||||
blr
|
||||
|
||||
-SYM_FUNC_START_LOCAL(kvmhv_save_host_pmu)
|
||||
+SYM_FUNC_START(kvmhv_save_host_pmu)
|
||||
BEGIN_FTR_SECTION
|
||||
/* Work around P8 PMAE bug */
|
||||
li r3, -1
|
||||
@ -0,0 +1,172 @@
|
||||
From 9f855caf390cf2b760c65a60649c88a7d7d60b01 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
Date: Fri, 9 Jan 2026 10:09:48 +0000
|
||||
Subject: [PATCH] proc: fix a dentry lock race between release_task and lookup
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
JIRA: https://issues.redhat.com/browse/RHEL-124568
|
||||
|
||||
commit d919a1e79bac890421537cf02ae773007bf55e6b
|
||||
Author: Zhihao Cheng <chengzhihao1@huawei.com>
|
||||
Date: Wed Jul 13 21:00:29 2022 +0800
|
||||
|
||||
proc: fix a dentry lock race between release_task and lookup
|
||||
|
||||
Commit 7bc3e6e55acf06 ("proc: Use a list of inodes to flush from proc")
|
||||
moved proc_flush_task() behind __exit_signal(). Then, process systemd can
|
||||
take long period high cpu usage during releasing task in following
|
||||
concurrent processes:
|
||||
|
||||
systemd ps
|
||||
kernel_waitid stat(/proc/tgid)
|
||||
do_wait filename_lookup
|
||||
wait_consider_task lookup_fast
|
||||
release_task
|
||||
__exit_signal
|
||||
__unhash_process
|
||||
detach_pid
|
||||
__change_pid // remove task->pid_links
|
||||
d_revalidate -> pid_revalidate // 0
|
||||
d_invalidate(/proc/tgid)
|
||||
shrink_dcache_parent(/proc/tgid)
|
||||
d_walk(/proc/tgid)
|
||||
spin_lock_nested(/proc/tgid/fd)
|
||||
// iterating opened fd
|
||||
proc_flush_pid |
|
||||
d_invalidate (/proc/tgid/fd) |
|
||||
shrink_dcache_parent(/proc/tgid/fd) |
|
||||
shrink_dentry_list(subdirs) ↓
|
||||
shrink_lock_dentry(/proc/tgid/fd) --> race on dentry lock
|
||||
|
||||
Function d_invalidate() will remove dentry from hash firstly, but why does
|
||||
proc_flush_pid() process dentry '/proc/tgid/fd' before dentry
|
||||
'/proc/tgid'? That's because proc_pid_make_inode() adds proc inode in
|
||||
reverse order by invoking hlist_add_head_rcu(). But proc should not add
|
||||
any inodes under '/proc/tgid' except '/proc/tgid/task/pid', fix it by
|
||||
adding inode into 'pid->inodes' only if the inode is /proc/tgid or
|
||||
/proc/tgid/task/pid.
|
||||
|
||||
Performance regression:
|
||||
Create 200 tasks, each task open one file for 50,000 times. Kill all
|
||||
tasks when opened files exceed 10,000,000 (cat /proc/sys/fs/file-nr).
|
||||
|
||||
Before fix:
|
||||
$ time killall -wq aa
|
||||
real 4m40.946s # During this period, we can see 'ps' and 'systemd'
|
||||
taking high cpu usage.
|
||||
|
||||
After fix:
|
||||
$ time killall -wq aa
|
||||
real 1m20.732s # During this period, we can see 'systemd' taking
|
||||
high cpu usage.
|
||||
|
||||
Link: https://lkml.kernel.org/r/20220713130029.4133533-1-chengzhihao1@huawei.com
|
||||
Fixes: 7bc3e6e55acf06 ("proc: Use a list of inodes to flush from proc")
|
||||
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216054
|
||||
Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
|
||||
Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
|
||||
Suggested-by: Brian Foster <bfoster@redhat.com>
|
||||
Reviewed-by: Brian Foster <bfoster@redhat.com>
|
||||
Cc: Al Viro <viro@zeniv.linux.org.uk>
|
||||
Cc: Alexey Dobriyan <adobriyan@gmail.com>
|
||||
Cc: Eric Biederman <ebiederm@xmission.com>
|
||||
Cc: Matthew Wilcox <willy@infradead.org>
|
||||
Cc: Baoquan He <bhe@redhat.com>
|
||||
Cc: Kalesh Singh <kaleshsingh@google.com>
|
||||
Cc: Yu Kuai <yukuai3@huawei.com>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
|
||||
Signed-off-by: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
---
|
||||
fs/proc/base.c | 46 ++++++++++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 38 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/fs/proc/base.c b/fs/proc/base.c
|
||||
index dbb251465954..67d1afedaa47 100644
|
||||
--- a/fs/proc/base.c
|
||||
+++ b/fs/proc/base.c
|
||||
@@ -1887,7 +1887,7 @@ void proc_pid_evict_inode(struct proc_inode *ei)
|
||||
put_pid(pid);
|
||||
}
|
||||
|
||||
-struct inode *proc_pid_make_inode(struct super_block * sb,
|
||||
+struct inode *proc_pid_make_inode(struct super_block *sb,
|
||||
struct task_struct *task, umode_t mode)
|
||||
{
|
||||
struct inode * inode;
|
||||
@@ -1916,11 +1916,6 @@ struct inode *proc_pid_make_inode(struct super_block * sb,
|
||||
|
||||
/* Let the pid remember us for quick removal */
|
||||
ei->pid = pid;
|
||||
- if (S_ISDIR(mode)) {
|
||||
- spin_lock(&pid->lock);
|
||||
- hlist_add_head_rcu(&ei->sibling_inodes, &pid->inodes);
|
||||
- spin_unlock(&pid->lock);
|
||||
- }
|
||||
|
||||
task_dump_owner(task, 0, &inode->i_uid, &inode->i_gid);
|
||||
security_task_to_inode(task, inode);
|
||||
@@ -1933,6 +1928,39 @@ struct inode *proc_pid_make_inode(struct super_block * sb,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Generating an inode and adding it into @pid->inodes, so that task will
|
||||
+ * invalidate inode's dentry before being released.
|
||||
+ *
|
||||
+ * This helper is used for creating dir-type entries under '/proc' and
|
||||
+ * '/proc/<tgid>/task'. Other entries(eg. fd, stat) under '/proc/<tgid>'
|
||||
+ * can be released by invalidating '/proc/<tgid>' dentry.
|
||||
+ * In theory, dentries under '/proc/<tgid>/task' can also be released by
|
||||
+ * invalidating '/proc/<tgid>' dentry, we reserve it to handle single
|
||||
+ * thread exiting situation: Any one of threads should invalidate its
|
||||
+ * '/proc/<tgid>/task/<pid>' dentry before released.
|
||||
+ */
|
||||
+static struct inode *proc_pid_make_base_inode(struct super_block *sb,
|
||||
+ struct task_struct *task, umode_t mode)
|
||||
+{
|
||||
+ struct inode *inode;
|
||||
+ struct proc_inode *ei;
|
||||
+ struct pid *pid;
|
||||
+
|
||||
+ inode = proc_pid_make_inode(sb, task, mode);
|
||||
+ if (!inode)
|
||||
+ return NULL;
|
||||
+
|
||||
+ /* Let proc_flush_pid find this directory inode */
|
||||
+ ei = PROC_I(inode);
|
||||
+ pid = ei->pid;
|
||||
+ spin_lock(&pid->lock);
|
||||
+ hlist_add_head_rcu(&ei->sibling_inodes, &pid->inodes);
|
||||
+ spin_unlock(&pid->lock);
|
||||
+
|
||||
+ return inode;
|
||||
+}
|
||||
+
|
||||
int pid_getattr(struct mnt_idmap *idmap, const struct path *path,
|
||||
struct kstat *stat, u32 request_mask, unsigned int query_flags)
|
||||
{
|
||||
@@ -3401,7 +3429,8 @@ static struct dentry *proc_pid_instantiate(struct dentry * dentry,
|
||||
{
|
||||
struct inode *inode;
|
||||
|
||||
- inode = proc_pid_make_inode(dentry->d_sb, task, S_IFDIR | S_IRUGO | S_IXUGO);
|
||||
+ inode = proc_pid_make_base_inode(dentry->d_sb, task,
|
||||
+ S_IFDIR | S_IRUGO | S_IXUGO);
|
||||
if (!inode)
|
||||
return ERR_PTR(-ENOENT);
|
||||
|
||||
@@ -3705,7 +3734,8 @@ static struct dentry *proc_task_instantiate(struct dentry *dentry,
|
||||
struct task_struct *task, const void *ptr)
|
||||
{
|
||||
struct inode *inode;
|
||||
- inode = proc_pid_make_inode(dentry->d_sb, task, S_IFDIR | S_IRUGO | S_IXUGO);
|
||||
+ inode = proc_pid_make_base_inode(dentry->d_sb, task,
|
||||
+ S_IFDIR | S_IRUGO | S_IXUGO);
|
||||
if (!inode)
|
||||
return ERR_PTR(-ENOENT);
|
||||
|
||||
--
|
||||
2.43.5
|
||||
@ -0,0 +1,39 @@
|
||||
From ac6e3b155d35bfea32b1c3c6015a18b6e5046652 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
Date: Mon, 8 Apr 2024 13:17:47 +0000
|
||||
Subject: [PATCH 2/4] Bring back deprecated pci ids to mptsas-mptspi driver
|
||||
|
||||
---
|
||||
drivers/message/fusion/mptsas.c | 2 +-
|
||||
drivers/message/fusion/mptspi.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
|
||||
index 9d2f13f12..b25686049 100644
|
||||
--- a/drivers/message/fusion/mptsas.c
|
||||
+++ b/drivers/message/fusion/mptsas.c
|
||||
@@ -5381,7 +5381,7 @@ static void mptsas_remove(struct pci_dev *pdev)
|
||||
}
|
||||
|
||||
static struct pci_device_id mptsas_pci_table[] = {
|
||||
-#ifdef CONFIG_RHEL_DIFFERENCES
|
||||
+#ifdef CONFIG_ALMALINUX_DIFFERENCES
|
||||
{ PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068,
|
||||
PCI_VENDOR_ID_VMWARE, PCI_ANY_ID },
|
||||
#else
|
||||
diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c
|
||||
index fd4a10b78..f9616de2a 100644
|
||||
--- a/drivers/message/fusion/mptspi.c
|
||||
+++ b/drivers/message/fusion/mptspi.c
|
||||
@@ -1238,7 +1238,7 @@ static struct spi_function_template mptspi_transport_functions = {
|
||||
*/
|
||||
|
||||
static struct pci_device_id mptspi_pci_table[] = {
|
||||
-#ifdef CONFIG_RHEL_DIFFERENCES
|
||||
+#ifdef CONFIG_ALMALINUX_DIFFERENCES
|
||||
{ PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1030,
|
||||
PCI_VENDOR_ID_VMWARE, PCI_ANY_ID },
|
||||
#else
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
From f9ab10cebe6411dd26fec2ef354db2e527386b4f Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
Date: Mon, 8 Apr 2024 13:20:29 +0000
|
||||
Subject: [PATCH 3/4] Bring back deprecated pci ids to hpsa driver
|
||||
|
||||
---
|
||||
drivers/scsi/hpsa.c | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
|
||||
index bd5880cbd..060bd914a 100644
|
||||
--- a/drivers/scsi/hpsa.c
|
||||
+++ b/drivers/scsi/hpsa.c
|
||||
@@ -82,9 +82,7 @@ MODULE_DESCRIPTION("Driver for HP Smart Array Controller version " \
|
||||
HPSA_DRIVER_VERSION);
|
||||
MODULE_VERSION(HPSA_DRIVER_VERSION);
|
||||
MODULE_LICENSE("GPL");
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
MODULE_ALIAS("cciss");
|
||||
-#endif
|
||||
|
||||
static int hpsa_simple_mode;
|
||||
module_param(hpsa_simple_mode, int, S_IRUGO|S_IWUSR);
|
||||
@@ -93,6 +91,11 @@ MODULE_PARM_DESC(hpsa_simple_mode,
|
||||
|
||||
/* define the PCI info for the cards we can control */
|
||||
static const struct pci_device_id hpsa_pci_device_id[] = {
|
||||
+ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3223},
|
||||
+ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3234},
|
||||
+ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3235},
|
||||
+ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3237},
|
||||
+ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x323D},
|
||||
{PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3241},
|
||||
{PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3243},
|
||||
{PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3245},
|
||||
@@ -146,12 +149,10 @@ static const struct pci_device_id hpsa_pci_device_id[] = {
|
||||
{PCI_VENDOR_ID_HP_3PAR, 0x0075, 0x1590, 0x007D},
|
||||
{PCI_VENDOR_ID_HP_3PAR, 0x0075, 0x1590, 0x0088},
|
||||
{PCI_VENDOR_ID_HP, 0x333f, 0x103c, 0x333f},
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
|
||||
PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0},
|
||||
{PCI_VENDOR_ID_COMPAQ, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
|
||||
PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0},
|
||||
-#endif
|
||||
{0,}
|
||||
};
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -0,0 +1,42 @@
|
||||
From 091c13878c5d53a9ca8c78d8d3dc20598ff11c88 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
Date: Mon, 8 Apr 2024 13:22:27 +0000
|
||||
Subject: [PATCH 4/4] Bring back deprecated pci ids to qla2xxx driver
|
||||
|
||||
---
|
||||
drivers/scsi/qla2xxx/qla_os.c | 6 ------
|
||||
1 file changed, 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
|
||||
index 036f26c42..1d7b684dc 100644
|
||||
--- a/drivers/scsi/qla2xxx/qla_os.c
|
||||
+++ b/drivers/scsi/qla2xxx/qla_os.c
|
||||
@@ -8121,7 +8121,6 @@ static const struct pci_error_handlers qla2xxx_err_handler = {
|
||||
};
|
||||
|
||||
static const struct pci_device_id qla2xxx_pci_tbl[] = {
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2200) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2300) },
|
||||
@@ -8134,18 +8133,13 @@ static struct pci_device_id qla2xxx_pci_tbl[] = {
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8432) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5422) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5432) },
|
||||
-#endif
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2532) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2031) },
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8001) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8021) },
|
||||
-#endif
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8031) },
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISPF001) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8044) },
|
||||
-#endif
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2071) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2271) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2261) },
|
||||
--
|
||||
2.27.0
|
||||
@ -0,0 +1,86 @@
|
||||
From 0e54f93854865b95b50e8023645e423af634e4ec Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
Date: Tue, 9 Apr 2024 17:27:35 +0000
|
||||
Subject: [PATCH 1/3] Bring back deprecated pci ids to lpfc driver
|
||||
|
||||
---
|
||||
drivers/scsi/lpfc/lpfc_ids.h | 12 ------------
|
||||
1 file changed, 12 deletions(-)
|
||||
|
||||
diff --git a/drivers/scsi/lpfc/lpfc_ids.h b/drivers/scsi/lpfc/lpfc_ids.h
|
||||
index 85fc52038..0b1616e93 100644
|
||||
--- a/drivers/scsi/lpfc/lpfc_ids.h
|
||||
+++ b/drivers/scsi/lpfc/lpfc_ids.h
|
||||
@@ -24,7 +24,6 @@
|
||||
#include <linux/pci.h>
|
||||
|
||||
const struct pci_device_id lpfc_id_table[] = {
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_VIPER,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FIREFLY,
|
||||
@@ -55,13 +54,10 @@ const struct pci_device_id lpfc_id_table[] = {
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_DCSP,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#endif
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BMID,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BSMB,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#endif
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_SCSP,
|
||||
@@ -72,7 +68,6 @@ const struct pci_device_id lpfc_id_table[] = {
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZSMB,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_TFLY,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP101,
|
||||
@@ -83,7 +78,6 @@ const struct pci_device_id lpfc_id_table[] = {
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LPE11000S,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#endif
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_MID,
|
||||
@@ -96,7 +90,6 @@ const struct pci_device_id lpfc_id_table[] = {
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_S,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_VF,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_PF,
|
||||
@@ -107,23 +100,18 @@ const struct pci_device_id lpfc_id_table[] = {
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TOMCAT,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#endif
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FALCON,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BALIUS,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#endif
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC_VF,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE_VF,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
-#endif
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G6_FC,
|
||||
PCI_ANY_ID, PCI_ANY_ID, },
|
||||
{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G7_FC,
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
From b4fdb240a1102876c03e0dbbef57758550e6e334 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
Date: Tue, 9 Apr 2024 17:35:14 +0000
|
||||
Subject: [PATCH 2/3] Bring back deprecated pci ids to qla4xxx driver
|
||||
|
||||
---
|
||||
drivers/scsi/qla4xxx/ql4_os.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
|
||||
index c72c44087..2dd7a9b0d 100644
|
||||
--- a/drivers/scsi/qla4xxx/ql4_os.c
|
||||
+++ b/drivers/scsi/qla4xxx/ql4_os.c
|
||||
@@ -9865,7 +9865,6 @@ static struct pci_device_id qla4xxx_pci_tbl[] = {
|
||||
.subvendor = PCI_ANY_ID,
|
||||
.subdevice = PCI_ANY_ID,
|
||||
},
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{
|
||||
.vendor = PCI_VENDOR_ID_QLOGIC,
|
||||
.device = PCI_DEVICE_ID_QLOGIC_ISP8022,
|
||||
@@ -9884,7 +9883,6 @@ static struct pci_device_id qla4xxx_pci_tbl[] = {
|
||||
.subvendor = PCI_ANY_ID,
|
||||
.subdevice = PCI_ANY_ID,
|
||||
},
|
||||
-#endif
|
||||
{0, 0},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pci, qla4xxx_pci_tbl);
|
||||
--
|
||||
2.27.0
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
From 3c0cc7c69970a50fae40e8f6376fd50eb053db2d Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
Date: Tue, 9 Apr 2024 17:36:30 +0000
|
||||
Subject: [PATCH 3/3] Bring back deprecated pci ids to be2iscsi driver
|
||||
|
||||
---
|
||||
drivers/scsi/be2iscsi/be_main.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
|
||||
index 9079d4d83..3b4778ac4 100644
|
||||
--- a/drivers/scsi/be2iscsi/be_main.c
|
||||
+++ b/drivers/scsi/be2iscsi/be_main.c
|
||||
@@ -384,13 +384,11 @@ static int beiscsi_eh_device_reset(struct scsi_cmnd *sc)
|
||||
|
||||
/*------------------- PCI Driver operations and data ----------------- */
|
||||
static const struct pci_device_id beiscsi_pci_id_table[] = {
|
||||
-#ifndef CONFIG_RHEL_DIFFERENCES
|
||||
{ PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) },
|
||||
{ PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) },
|
||||
{ PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) },
|
||||
{ PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID2) },
|
||||
{ PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID3) },
|
||||
-#endif
|
||||
{ PCI_DEVICE(ELX_VENDOR_ID, OC_SKH_ID1) },
|
||||
{ 0 }
|
||||
};
|
||||
--
|
||||
2.27.0
|
||||
|
||||
37
SOURCES/Makefile.rhelver
Normal file
37
SOURCES/Makefile.rhelver
Normal file
@ -0,0 +1,37 @@
|
||||
RHEL_MAJOR = 9
|
||||
RHEL_MINOR = 8
|
||||
|
||||
#
|
||||
# RHEL_RELEASE
|
||||
# -------------
|
||||
#
|
||||
# Represents build number in 'release' part of RPM's name-version-release.
|
||||
# name is <package_name>, e.g. kernel
|
||||
# version is upstream kernel version this kernel is based on, e.g. 4.18.0
|
||||
# release is <RHEL_RELEASE>.<dist_tag>[<buildid>], e.g. 100.el8
|
||||
#
|
||||
# Use this spot to avoid future merge conflicts.
|
||||
# Do not trim this comment.
|
||||
RHEL_RELEASE = 687.5.1
|
||||
|
||||
#
|
||||
# ZSTREAM
|
||||
# -------
|
||||
#
|
||||
# This variable controls whether we use zstream numbering or not for the
|
||||
# package release. The zstream release keeps the build number of the last
|
||||
# build done for ystream for the Beta milestone, and increments a second
|
||||
# number for each build. The third number is used for branched builds
|
||||
# (eg.: for builds with security fixes or hot fixes done outside of the
|
||||
# batch release process).
|
||||
#
|
||||
# For example, with ZSTREAM unset or set to "no", all builds will contain
|
||||
# a release with only the build number, eg.: kernel-<kernel version>-X.el*,
|
||||
# where X is the build number. With ZSTREAM set to "yes", we will have
|
||||
# builds with kernel-<kernel version>-X.Y.Z.el*, where X is the last
|
||||
# RHEL_RELEASE number before ZSTREAM flag was set to yes, Y will now be the
|
||||
# build number and Z will always be 1 except if you're doing a branched build
|
||||
# (when you give RHDISTGIT_BRANCH on the command line, in which case the Z
|
||||
# number will be incremented instead of the Y).
|
||||
#
|
||||
ZSTREAM ?= yes
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,761 +0,0 @@
|
||||
0x1984165d ___pskb_trim vmlinux EXPORT_SYMBOL
|
||||
0xbd2fb756 __alloc_disk_node vmlinux EXPORT_SYMBOL
|
||||
0xe9a9f9e8 __alloc_pages_nodemask vmlinux EXPORT_SYMBOL
|
||||
0x74c48aa6 __alloc_skb vmlinux EXPORT_SYMBOL
|
||||
0x43a53735 __alloc_workqueue_key vmlinux EXPORT_SYMBOL_GPL
|
||||
0x39b52d19 __bitmap_and vmlinux EXPORT_SYMBOL
|
||||
0xadfdfcef __bitmap_andnot vmlinux EXPORT_SYMBOL
|
||||
0xf3e6402e __bitmap_equal vmlinux EXPORT_SYMBOL
|
||||
0xbb35675b __bitmap_intersects vmlinux EXPORT_SYMBOL
|
||||
0xa084749a __bitmap_or vmlinux EXPORT_SYMBOL
|
||||
0x4df119fa __bitmap_parse vmlinux EXPORT_SYMBOL
|
||||
0x63c4d61f __bitmap_weight vmlinux EXPORT_SYMBOL
|
||||
0xf6fc8791 __bitmap_xor vmlinux EXPORT_SYMBOL
|
||||
0x88db9f48 __check_object_size vmlinux EXPORT_SYMBOL
|
||||
0xfd07d522 __class_register vmlinux EXPORT_SYMBOL_GPL
|
||||
0xf9f94ae4 __cpu_online_mask vmlinux EXPORT_SYMBOL
|
||||
0xd1370be3 __cpu_possible_mask vmlinux EXPORT_SYMBOL
|
||||
0xfa39b300 __cpu_present_mask vmlinux EXPORT_SYMBOL
|
||||
0x0e4ba049 __cpuhp_remove_state vmlinux EXPORT_SYMBOL
|
||||
0xf66a486e __cpuhp_setup_state vmlinux EXPORT_SYMBOL
|
||||
0x466c14a7 __delay vmlinux EXPORT_SYMBOL
|
||||
0x326735ea __dev_kfree_skb_any vmlinux EXPORT_SYMBOL
|
||||
0x2a30f7ab __dynamic_dev_dbg vmlinux EXPORT_SYMBOL
|
||||
0x9b7fe4d4 __dynamic_pr_debug vmlinux EXPORT_SYMBOL
|
||||
0xd7468b16 __free_pages vmlinux EXPORT_SYMBOL
|
||||
0x93fca811 __get_free_pages vmlinux EXPORT_SYMBOL
|
||||
0xf389fe60 __hw_addr_init vmlinux EXPORT_SYMBOL
|
||||
0x85ffcda1 __init_rwsem vmlinux EXPORT_SYMBOL
|
||||
0xe3f29f70 __init_waitqueue_head vmlinux EXPORT_SYMBOL
|
||||
0x8b8de8ae __ioremap vmlinux EXPORT_SYMBOL
|
||||
0x45a55ec8 __iounmap vmlinux EXPORT_SYMBOL
|
||||
0x5b960eb1 __ip_queue_xmit vmlinux EXPORT_SYMBOL
|
||||
0x0d542439 __ipv6_addr_type vmlinux EXPORT_SYMBOL
|
||||
0xd2b09ce5 __kmalloc vmlinux EXPORT_SYMBOL
|
||||
0x68f31cbd __list_add_valid vmlinux EXPORT_SYMBOL
|
||||
0xe1537255 __list_del_entry_valid vmlinux EXPORT_SYMBOL
|
||||
0x3c3fce39 __local_bh_enable_ip vmlinux EXPORT_SYMBOL
|
||||
0x8218e49b __lock_page vmlinux EXPORT_SYMBOL
|
||||
0x0eab5cd4 __mmu_notifier_register vmlinux EXPORT_SYMBOL_GPL
|
||||
0xebbb3390 __module_get vmlinux EXPORT_SYMBOL
|
||||
0x7f02188f __msecs_to_jiffies vmlinux EXPORT_SYMBOL
|
||||
0x93178084 __mutex_init vmlinux EXPORT_SYMBOL
|
||||
0x3022d5be __napi_schedule vmlinux EXPORT_SYMBOL
|
||||
0xb3d364d8 __netdev_alloc_skb vmlinux EXPORT_SYMBOL
|
||||
0x465585ad __netif_napi_del vmlinux EXPORT_SYMBOL
|
||||
0x46c47fb6 __node_distance vmlinux EXPORT_SYMBOL
|
||||
0x9ac40166 __page_file_index vmlinux EXPORT_SYMBOL_GPL
|
||||
0xb6d1e6c9 __page_mapcount vmlinux EXPORT_SYMBOL_GPL
|
||||
0x56f09de5 __pagevec_release vmlinux EXPORT_SYMBOL
|
||||
0x499bfc6d __per_cpu_offset vmlinux EXPORT_SYMBOL
|
||||
0x6128b5fc __printk_ratelimit vmlinux EXPORT_SYMBOL
|
||||
0x1c7f2961 __pskb_pull_tail vmlinux EXPORT_SYMBOL
|
||||
0xeb94d60b __put_cred vmlinux EXPORT_SYMBOL
|
||||
0xccbfcd34 __put_page vmlinux EXPORT_SYMBOL
|
||||
0x6301916d __put_task_struct vmlinux EXPORT_SYMBOL_GPL
|
||||
0xdee37668 __register_chrdev vmlinux EXPORT_SYMBOL
|
||||
0xe45c1b14 __release_region vmlinux EXPORT_SYMBOL
|
||||
0x5eba9410 __request_region vmlinux EXPORT_SYMBOL
|
||||
0xa2beceb1 __scsi_execute vmlinux EXPORT_SYMBOL
|
||||
0x5490149f __scsi_iterate_devices vmlinux EXPORT_SYMBOL
|
||||
0xb5892fee __skb_gso_segment vmlinux EXPORT_SYMBOL
|
||||
0x33bac18a __skb_pad vmlinux EXPORT_SYMBOL
|
||||
0xdb7305a1 __stack_chk_fail vmlinux EXPORT_SYMBOL
|
||||
0x56c083d3 __task_pid_nr_ns vmlinux EXPORT_SYMBOL
|
||||
0x0faef0ed __tasklet_schedule vmlinux EXPORT_SYMBOL
|
||||
0x6bc3fbc0 __unregister_chrdev vmlinux EXPORT_SYMBOL
|
||||
0xf1969a8e __usecs_to_jiffies vmlinux EXPORT_SYMBOL
|
||||
0x8e879bb7 __vmalloc vmlinux EXPORT_SYMBOL
|
||||
0xfdd6bbad __wake_up vmlinux EXPORT_SYMBOL
|
||||
0xad27f361 __warn_printk vmlinux EXPORT_SYMBOL
|
||||
0x81a07f4e _atomic_dec_and_lock vmlinux EXPORT_SYMBOL
|
||||
0xa1c76e0a _cond_resched vmlinux EXPORT_SYMBOL
|
||||
0x362ef408 _copy_from_user vmlinux EXPORT_SYMBOL
|
||||
0xb44ad4b3 _copy_to_user vmlinux EXPORT_SYMBOL
|
||||
0x11089ac7 _ctype vmlinux EXPORT_SYMBOL
|
||||
0x89797060 _raw_read_lock vmlinux EXPORT_SYMBOL
|
||||
0x4c11435a _raw_read_lock_bh vmlinux EXPORT_SYMBOL
|
||||
0x7c003aef _raw_read_lock_irq vmlinux EXPORT_SYMBOL
|
||||
0xbfb8b0b7 _raw_read_lock_irqsave vmlinux EXPORT_SYMBOL
|
||||
0xfdb6cedc _raw_read_unlock_bh vmlinux EXPORT_SYMBOL
|
||||
0xcc17504d _raw_read_unlock_irqrestore vmlinux EXPORT_SYMBOL
|
||||
0xde48e9ca _raw_spin_lock vmlinux EXPORT_SYMBOL
|
||||
0xaf063510 _raw_spin_lock_bh vmlinux EXPORT_SYMBOL
|
||||
0xcd0529c7 _raw_spin_lock_irq vmlinux EXPORT_SYMBOL
|
||||
0xf5222143 _raw_spin_lock_irqsave vmlinux EXPORT_SYMBOL
|
||||
0x9d7ce8dd _raw_spin_trylock vmlinux EXPORT_SYMBOL
|
||||
0xe4fe8ca1 _raw_spin_unlock_bh vmlinux EXPORT_SYMBOL
|
||||
0x5c37f319 _raw_spin_unlock_irqrestore vmlinux EXPORT_SYMBOL
|
||||
0xac26b820 _raw_write_lock vmlinux EXPORT_SYMBOL
|
||||
0xc47cdf9c _raw_write_lock_bh vmlinux EXPORT_SYMBOL
|
||||
0x0e8f30f6 _raw_write_lock_irq vmlinux EXPORT_SYMBOL
|
||||
0xaa6e4df5 _raw_write_lock_irqsave vmlinux EXPORT_SYMBOL
|
||||
0x99afe916 _raw_write_unlock_bh vmlinux EXPORT_SYMBOL
|
||||
0xae545f06 _raw_write_unlock_irqrestore vmlinux EXPORT_SYMBOL
|
||||
0x318f7969 add_timer vmlinux EXPORT_SYMBOL
|
||||
0x1e875885 add_wait_queue vmlinux EXPORT_SYMBOL
|
||||
0xcdc0349c add_wait_queue_exclusive vmlinux EXPORT_SYMBOL
|
||||
0xe3ec2f2b alloc_chrdev_region vmlinux EXPORT_SYMBOL
|
||||
0x4f2300da alloc_etherdev_mqs vmlinux EXPORT_SYMBOL
|
||||
0x4f50e6bf alloc_netdev_mqs vmlinux EXPORT_SYMBOL
|
||||
0x706edf8d alloc_pages_current vmlinux EXPORT_SYMBOL
|
||||
0x25301bc6 arch_wb_cache_pmem vmlinux EXPORT_SYMBOL
|
||||
0x836d61d0 atomic_notifier_chain_register vmlinux EXPORT_SYMBOL_GPL
|
||||
0xb5aa10af atomic_notifier_chain_unregister vmlinux EXPORT_SYMBOL_GPL
|
||||
0xad73041f autoremove_wake_function vmlinux EXPORT_SYMBOL
|
||||
0xc95bd655 bdev_read_only vmlinux EXPORT_SYMBOL
|
||||
0x26a28c24 bdevname vmlinux EXPORT_SYMBOL
|
||||
0x04d005e9 bdget vmlinux EXPORT_SYMBOL
|
||||
0x49f98962 bdget_disk vmlinux EXPORT_SYMBOL
|
||||
0xdafcc31e bdput vmlinux EXPORT_SYMBOL
|
||||
0xc93d6ffd bio_add_page vmlinux EXPORT_SYMBOL
|
||||
0x2fa51f6a bio_alloc_bioset vmlinux EXPORT_SYMBOL
|
||||
0x5e4d1389 bio_associate_blkg vmlinux EXPORT_SYMBOL_GPL
|
||||
0x9383d8ae bio_clone_fast vmlinux EXPORT_SYMBOL
|
||||
0xdb5cfff3 bio_endio vmlinux EXPORT_SYMBOL
|
||||
0xe4a1a0e7 bio_free_pages vmlinux EXPORT_SYMBOL
|
||||
0x79274a8e bio_init vmlinux EXPORT_SYMBOL
|
||||
0x3be99598 bio_put vmlinux EXPORT_SYMBOL
|
||||
0xb6e127fe bioset_exit vmlinux EXPORT_SYMBOL
|
||||
0xc202aa37 bioset_init vmlinux EXPORT_SYMBOL
|
||||
0x16e297c3 bit_wait vmlinux EXPORT_SYMBOL
|
||||
0x63a7c28c bitmap_find_free_region vmlinux EXPORT_SYMBOL
|
||||
0x1b015d25 bitmap_parselist vmlinux EXPORT_SYMBOL
|
||||
0xf474c21c bitmap_print_to_pagebuf vmlinux EXPORT_SYMBOL
|
||||
0x574c2e74 bitmap_release_region vmlinux EXPORT_SYMBOL
|
||||
0x3bd45587 blk_alloc_queue vmlinux EXPORT_SYMBOL
|
||||
0xd27b25dd blk_check_plugged vmlinux EXPORT_SYMBOL
|
||||
0xfbc0b865 blk_cleanup_queue vmlinux EXPORT_SYMBOL
|
||||
0x17e2528e blk_execute_rq vmlinux EXPORT_SYMBOL
|
||||
0x06143169 blk_execute_rq_nowait vmlinux EXPORT_SYMBOL_GPL
|
||||
0xf2215f74 blk_finish_plug vmlinux EXPORT_SYMBOL
|
||||
0xb041390d blk_get_request vmlinux EXPORT_SYMBOL
|
||||
0xf2c723f9 blk_mq_end_request vmlinux EXPORT_SYMBOL
|
||||
0xef8da47b blk_mq_run_hw_queues vmlinux EXPORT_SYMBOL
|
||||
0xb80386aa blk_mq_tag_to_rq vmlinux EXPORT_SYMBOL
|
||||
0xc8c293b0 blk_mq_unique_tag vmlinux EXPORT_SYMBOL
|
||||
0x7da4e490 blk_put_request vmlinux EXPORT_SYMBOL
|
||||
0xec62788a blk_queue_bounce_limit vmlinux EXPORT_SYMBOL
|
||||
0x167fb27c blk_queue_dma_alignment vmlinux EXPORT_SYMBOL
|
||||
0xb60944e8 blk_queue_flag_clear vmlinux EXPORT_SYMBOL
|
||||
0xf401fc91 blk_queue_flag_set vmlinux EXPORT_SYMBOL
|
||||
0x3301ae3b blk_queue_io_min vmlinux EXPORT_SYMBOL
|
||||
0xb044ed63 blk_queue_io_opt vmlinux EXPORT_SYMBOL
|
||||
0x0d0bd454 blk_queue_logical_block_size vmlinux EXPORT_SYMBOL
|
||||
0x51456866 blk_queue_make_request vmlinux EXPORT_SYMBOL
|
||||
0xc96a3797 blk_queue_max_discard_sectors vmlinux EXPORT_SYMBOL
|
||||
0xd296be7e blk_queue_max_hw_sectors vmlinux EXPORT_SYMBOL
|
||||
0x6597e1f5 blk_queue_max_segment_size vmlinux EXPORT_SYMBOL
|
||||
0xf22eba89 blk_queue_max_segments vmlinux EXPORT_SYMBOL
|
||||
0x0f0d3fed blk_queue_max_write_same_sectors vmlinux EXPORT_SYMBOL
|
||||
0xbde4727f blk_queue_physical_block_size vmlinux EXPORT_SYMBOL
|
||||
0x3cdfcc78 blk_queue_rq_timeout vmlinux EXPORT_SYMBOL_GPL
|
||||
0x42a7b063 blk_queue_segment_boundary vmlinux EXPORT_SYMBOL
|
||||
0x7e1da995 blk_queue_split vmlinux EXPORT_SYMBOL
|
||||
0xd8e1c056 blk_queue_stack_limits vmlinux EXPORT_SYMBOL
|
||||
0xbfbeed39 blk_queue_update_dma_alignment vmlinux EXPORT_SYMBOL
|
||||
0x642e93ed blk_queue_virt_boundary vmlinux EXPORT_SYMBOL
|
||||
0xb2b56a22 blk_queue_write_cache vmlinux EXPORT_SYMBOL_GPL
|
||||
0x1acb3f36 blk_rq_append_bio vmlinux EXPORT_SYMBOL
|
||||
0x45eafe77 blk_rq_map_kern vmlinux EXPORT_SYMBOL
|
||||
0xf1b1a8ba blk_rq_map_user_iov vmlinux EXPORT_SYMBOL
|
||||
0x9faea3c8 blk_rq_unmap_user vmlinux EXPORT_SYMBOL
|
||||
0x506fbfbe blk_set_stacking_limits vmlinux EXPORT_SYMBOL
|
||||
0x7a9b37e8 blk_start_plug vmlinux EXPORT_SYMBOL
|
||||
0x84502a47 blk_status_to_errno vmlinux EXPORT_SYMBOL_GPL
|
||||
0x22339412 blk_verify_command vmlinux EXPORT_SYMBOL
|
||||
0xcf04e564 blkdev_fsync vmlinux EXPORT_SYMBOL
|
||||
0x63a46f8f blkdev_get vmlinux EXPORT_SYMBOL
|
||||
0xd441ce00 blkdev_get_by_dev vmlinux EXPORT_SYMBOL
|
||||
0x729bbb38 blkdev_get_by_path vmlinux EXPORT_SYMBOL
|
||||
0xe832978f blkdev_issue_discard vmlinux EXPORT_SYMBOL
|
||||
0x2aa3d6aa blkdev_issue_write_same vmlinux EXPORT_SYMBOL
|
||||
0x8e881f70 blkdev_issue_zeroout vmlinux EXPORT_SYMBOL
|
||||
0x6ac252dc blkdev_put vmlinux EXPORT_SYMBOL
|
||||
0x76bf7be8 blocking_notifier_call_chain vmlinux EXPORT_SYMBOL_GPL
|
||||
0x9cc76645 blocking_notifier_chain_register vmlinux EXPORT_SYMBOL_GPL
|
||||
0x1482a5ff blocking_notifier_chain_unregister vmlinux EXPORT_SYMBOL_GPL
|
||||
0x2e1c1d6d bsg_job_done vmlinux EXPORT_SYMBOL_GPL
|
||||
0x28aa6a67 call_rcu vmlinux EXPORT_SYMBOL_GPL
|
||||
0xa7eedcc4 call_usermodehelper vmlinux EXPORT_SYMBOL
|
||||
0xb5a8d234 cancel_delayed_work vmlinux EXPORT_SYMBOL
|
||||
0x68f927fb cancel_delayed_work_sync vmlinux EXPORT_SYMBOL
|
||||
0x81b1b255 cancel_work_sync vmlinux EXPORT_SYMBOL_GPL
|
||||
0xc6cbbc89 capable vmlinux EXPORT_SYMBOL
|
||||
0x0f71855d cdev_add vmlinux EXPORT_SYMBOL
|
||||
0x25f1ca58 cdev_alloc vmlinux EXPORT_SYMBOL
|
||||
0x8c8a9e76 cdev_del vmlinux EXPORT_SYMBOL
|
||||
0xb272d980 cdev_init vmlinux EXPORT_SYMBOL
|
||||
0xcedfad7e class_destroy vmlinux EXPORT_SYMBOL_GPL
|
||||
0x11c02784 class_unregister vmlinux EXPORT_SYMBOL_GPL
|
||||
0xf883a655 clear_inode vmlinux EXPORT_SYMBOL
|
||||
0x2b5f7505 clear_nlink vmlinux EXPORT_SYMBOL
|
||||
0xf0d61d9c commit_creds vmlinux EXPORT_SYMBOL
|
||||
0x86b18094 complete vmlinux EXPORT_SYMBOL
|
||||
0xce54c938 complete_all vmlinux EXPORT_SYMBOL
|
||||
0x17ca4a75 complete_and_exit vmlinux EXPORT_SYMBOL
|
||||
0xbaa03c4f consume_skb vmlinux EXPORT_SYMBOL
|
||||
0x1389da84 cpu_bit_bitmap vmlinux EXPORT_SYMBOL_GPL
|
||||
0xe314e8fb cpu_core_map vmlinux EXPORT_SYMBOL
|
||||
0x76b59b33 cpu_sibling_map vmlinux EXPORT_SYMBOL
|
||||
0x7c46233a cpufreq_quick_get vmlinux EXPORT_SYMBOL
|
||||
0xbe10340d cpumask_next vmlinux EXPORT_SYMBOL
|
||||
0x82d6b0d0 cpumask_next_and vmlinux EXPORT_SYMBOL
|
||||
0xa04f945a cpus_read_lock vmlinux EXPORT_SYMBOL_GPL
|
||||
0x18fb2caf cpus_read_unlock vmlinux EXPORT_SYMBOL_GPL
|
||||
0xfb5a22d2 create_empty_buffers vmlinux EXPORT_SYMBOL
|
||||
0xd6b78945 crypto_ahash_digest vmlinux EXPORT_SYMBOL_GPL
|
||||
0xed9ce398 crypto_ahash_final vmlinux EXPORT_SYMBOL_GPL
|
||||
0x680d34f7 crypto_ahash_setkey vmlinux EXPORT_SYMBOL_GPL
|
||||
0x15e10691 crypto_alloc_ahash vmlinux EXPORT_SYMBOL_GPL
|
||||
0xab8484f3 crypto_destroy_tfm vmlinux EXPORT_SYMBOL_GPL
|
||||
0x85d4826a crypto_register_shash vmlinux EXPORT_SYMBOL_GPL
|
||||
0xb9b1170a crypto_unregister_shash vmlinux EXPORT_SYMBOL_GPL
|
||||
0x4d65cbd5 csum_ipv6_magic vmlinux EXPORT_SYMBOL
|
||||
0x9b8c2b15 current_time vmlinux EXPORT_SYMBOL
|
||||
0xe76c170a d_add vmlinux EXPORT_SYMBOL
|
||||
0x215d090a d_drop vmlinux EXPORT_SYMBOL
|
||||
0x43b0d275 d_instantiate vmlinux EXPORT_SYMBOL
|
||||
0x72abfd0d d_make_root vmlinux EXPORT_SYMBOL
|
||||
0xaab920de d_obtain_alias vmlinux EXPORT_SYMBOL
|
||||
0x8609823d d_prune_aliases vmlinux EXPORT_SYMBOL
|
||||
0x6d32959a deactivate_super vmlinux EXPORT_SYMBOL
|
||||
0x83290c21 default_llseek vmlinux EXPORT_SYMBOL
|
||||
0xaad8c7d6 default_wake_function vmlinux EXPORT_SYMBOL
|
||||
0xd63ecb11 del_gendisk vmlinux EXPORT_SYMBOL
|
||||
0xfa5223cc del_timer vmlinux EXPORT_SYMBOL
|
||||
0xec02a35f del_timer_sync vmlinux EXPORT_SYMBOL
|
||||
0x0c1c794e delayed_work_timer_fn vmlinux EXPORT_SYMBOL
|
||||
0x770d8b9a dentry_open vmlinux EXPORT_SYMBOL
|
||||
0x8c03d20c destroy_workqueue vmlinux EXPORT_SYMBOL_GPL
|
||||
0x3b2649d5 dev_add_pack vmlinux EXPORT_SYMBOL
|
||||
0x17648396 dev_base_lock vmlinux EXPORT_SYMBOL
|
||||
0x128b438e dev_close vmlinux EXPORT_SYMBOL
|
||||
0xc4c53c5a dev_get_by_index vmlinux EXPORT_SYMBOL
|
||||
0x9b061ec6 dev_get_by_name vmlinux EXPORT_SYMBOL
|
||||
0x4dcc9784 dev_mc_add vmlinux EXPORT_SYMBOL
|
||||
0x18293499 dev_mc_add_excl vmlinux EXPORT_SYMBOL
|
||||
0xdaab3cc9 dev_mc_add_global vmlinux EXPORT_SYMBOL
|
||||
0xdc65877f dev_mc_del vmlinux EXPORT_SYMBOL
|
||||
0xc7cf2b57 dev_mc_del_global vmlinux EXPORT_SYMBOL
|
||||
0x2646aca5 dev_queue_xmit vmlinux EXPORT_SYMBOL
|
||||
0x0f345759 dev_remove_pack vmlinux EXPORT_SYMBOL
|
||||
0x81bb630c dev_set_mac_address vmlinux EXPORT_SYMBOL
|
||||
0xed26c2e8 dev_set_mtu vmlinux EXPORT_SYMBOL
|
||||
0x5a7963bd dev_set_promiscuity vmlinux EXPORT_SYMBOL
|
||||
0x70df7a6c dev_uc_add_excl vmlinux EXPORT_SYMBOL
|
||||
0x697cc68b device_add_disk vmlinux EXPORT_SYMBOL
|
||||
0x97c5ca02 device_create vmlinux EXPORT_SYMBOL_GPL
|
||||
0xaef0f53d device_destroy vmlinux EXPORT_SYMBOL_GPL
|
||||
0x0c5cab1d dget_parent vmlinux EXPORT_SYMBOL
|
||||
0x3ce4ca6f disable_irq vmlinux EXPORT_SYMBOL
|
||||
0x495cd368 dma_get_required_mask vmlinux EXPORT_SYMBOL_GPL
|
||||
0x72a05d02 dma_set_coherent_mask vmlinux EXPORT_SYMBOL
|
||||
0x89d4d619 dma_set_mask vmlinux EXPORT_SYMBOL
|
||||
0x4f68e5c9 do_gettimeofday vmlinux EXPORT_SYMBOL
|
||||
0xdc9498dd down vmlinux EXPORT_SYMBOL
|
||||
0x4289f7df down_interruptible vmlinux EXPORT_SYMBOL
|
||||
0xe2f335e6 down_read vmlinux EXPORT_SYMBOL
|
||||
0x66c2d037 down_read_trylock vmlinux EXPORT_SYMBOL
|
||||
0x7bcc3ec6 down_trylock vmlinux EXPORT_SYMBOL
|
||||
0x53279303 down_write vmlinux EXPORT_SYMBOL
|
||||
0x2c51690c down_write_trylock vmlinux EXPORT_SYMBOL
|
||||
0x29397620 downgrade_write vmlinux EXPORT_SYMBOL
|
||||
0xa39e1127 dput vmlinux EXPORT_SYMBOL
|
||||
0xad580bc5 dst_release vmlinux EXPORT_SYMBOL
|
||||
0x6b2dc060 dump_stack vmlinux EXPORT_SYMBOL
|
||||
0xd0c05159 emergency_restart vmlinux EXPORT_SYMBOL_GPL
|
||||
0xfcec0987 enable_irq vmlinux EXPORT_SYMBOL
|
||||
0x612bfd89 errno_to_blk_status vmlinux EXPORT_SYMBOL_GPL
|
||||
0x7c57e64e eth_get_headlen vmlinux EXPORT_SYMBOL
|
||||
0x3a968436 eth_type_trans vmlinux EXPORT_SYMBOL
|
||||
0x11bf1116 eth_validate_addr vmlinux EXPORT_SYMBOL
|
||||
0x3c8d07f4 ether_setup vmlinux EXPORT_SYMBOL
|
||||
0x8f996a30 ethtool_convert_legacy_u32_to_link_mode vmlinux EXPORT_SYMBOL
|
||||
0x55e31703 ethtool_convert_link_mode_to_legacy_u32 vmlinux EXPORT_SYMBOL
|
||||
0xf0819cd7 ethtool_op_get_link vmlinux EXPORT_SYMBOL
|
||||
0x72ecfb60 fc_remove_host drivers/scsi/scsi_transport_fc EXPORT_SYMBOL
|
||||
0x6f604080 fget vmlinux EXPORT_SYMBOL
|
||||
0x1fce28b4 filemap_fault vmlinux EXPORT_SYMBOL
|
||||
0x73ea0039 filp_close vmlinux EXPORT_SYMBOL
|
||||
0xfa48c755 filp_open vmlinux EXPORT_SYMBOL
|
||||
0xc0a3d105 find_next_bit vmlinux EXPORT_SYMBOL
|
||||
0x479c3c86 find_next_zero_bit vmlinux EXPORT_SYMBOL
|
||||
0x925ecc1c find_pid_ns vmlinux EXPORT_SYMBOL_GPL
|
||||
0xc8acd63b find_vma vmlinux EXPORT_SYMBOL
|
||||
0xcb2ea0b5 finish_wait vmlinux EXPORT_SYMBOL
|
||||
0x9e320ced flush_signals vmlinux EXPORT_SYMBOL
|
||||
0x42160169 flush_workqueue vmlinux EXPORT_SYMBOL
|
||||
0x0318bd7c force_sig vmlinux EXPORT_SYMBOL
|
||||
0xcbd4898c fortify_panic vmlinux EXPORT_SYMBOL
|
||||
0x88e09c58 fput vmlinux EXPORT_SYMBOL
|
||||
0xc1514a3b free_irq vmlinux EXPORT_SYMBOL
|
||||
0x61ae3cb3 free_netdev vmlinux EXPORT_SYMBOL
|
||||
0x4302d0eb free_pages vmlinux EXPORT_SYMBOL
|
||||
0xeca6a1c9 freeze_bdev vmlinux EXPORT_SYMBOL
|
||||
0x0d668bdf from_kgid vmlinux EXPORT_SYMBOL
|
||||
0x412ea5ab from_kuid vmlinux EXPORT_SYMBOL
|
||||
0xd8a1f9d7 fs_bio_set vmlinux EXPORT_SYMBOL
|
||||
0x84e40240 fsync_bdev vmlinux EXPORT_SYMBOL
|
||||
0xd781320c generic_end_io_acct vmlinux EXPORT_SYMBOL
|
||||
0x95100200 generic_file_llseek vmlinux EXPORT_SYMBOL
|
||||
0xe6c12425 generic_file_open vmlinux EXPORT_SYMBOL
|
||||
0x9c6a77c2 generic_fillattr vmlinux EXPORT_SYMBOL
|
||||
0x88da4ba6 generic_make_request vmlinux EXPORT_SYMBOL
|
||||
0xe7e933d5 generic_permission vmlinux EXPORT_SYMBOL
|
||||
0x12e610b2 generic_read_dir vmlinux EXPORT_SYMBOL
|
||||
0xff731d53 generic_shutdown_super vmlinux EXPORT_SYMBOL
|
||||
0xd14dd387 generic_start_io_acct vmlinux EXPORT_SYMBOL
|
||||
0x13835e2c genl_register_family vmlinux EXPORT_SYMBOL
|
||||
0xde4bc7e8 genl_unregister_family vmlinux EXPORT_SYMBOL
|
||||
0x53716976 genlmsg_put vmlinux EXPORT_SYMBOL
|
||||
0x7db57ca1 get_fs_type vmlinux EXPORT_SYMBOL
|
||||
0x70a08a1a get_gendisk vmlinux EXPORT_SYMBOL
|
||||
0x79aa04a2 get_random_bytes vmlinux EXPORT_SYMBOL
|
||||
0x405c1144 get_seconds vmlinux EXPORT_SYMBOL
|
||||
0xca422a53 get_task_mm vmlinux EXPORT_SYMBOL_GPL
|
||||
0xfbc324e2 get_user_pages vmlinux EXPORT_SYMBOL
|
||||
0xe2770924 get_user_pages_remote vmlinux EXPORT_SYMBOL
|
||||
0x9b388444 get_zeroed_page vmlinux EXPORT_SYMBOL
|
||||
0x3e2b0ba6 groups_alloc vmlinux EXPORT_SYMBOL
|
||||
0x643d9ba1 groups_free vmlinux EXPORT_SYMBOL
|
||||
0x004fb4d3 hrtimer_cancel vmlinux EXPORT_SYMBOL_GPL
|
||||
0x11d2e344 hrtimer_forward vmlinux EXPORT_SYMBOL_GPL
|
||||
0xc7a8cdd3 hrtimer_init vmlinux EXPORT_SYMBOL_GPL
|
||||
0x45c6f660 hrtimer_start_range_ns vmlinux EXPORT_SYMBOL_GPL
|
||||
0xa76b636c hrtimer_try_to_cancel vmlinux EXPORT_SYMBOL_GPL
|
||||
0x793cd7ca igrab vmlinux EXPORT_SYMBOL
|
||||
0x39461d6a in_egroup_p vmlinux EXPORT_SYMBOL
|
||||
0x8b8059bd in_group_p vmlinux EXPORT_SYMBOL
|
||||
0x0ebca6a6 inet_add_protocol vmlinux EXPORT_SYMBOL
|
||||
0x72a52e4e inet_del_protocol vmlinux EXPORT_SYMBOL
|
||||
0x6b8bd985 init_net vmlinux EXPORT_SYMBOL
|
||||
0x379a6fa3 init_task vmlinux EXPORT_SYMBOL
|
||||
0x4cc8f9c8 init_timer_key vmlinux EXPORT_SYMBOL
|
||||
0xcd104c41 init_uts_ns vmlinux EXPORT_SYMBOL_GPL
|
||||
0xfe487975 init_wait_entry vmlinux EXPORT_SYMBOL
|
||||
0x0e0c42d5 inode_init_always vmlinux EXPORT_SYMBOL
|
||||
0xc1062e70 inode_permission vmlinux EXPORT_SYMBOL
|
||||
0x5ed90adc int_to_scsilun vmlinux EXPORT_SYMBOL
|
||||
0x2a909b64 invalidate_partition vmlinux EXPORT_SYMBOL
|
||||
0x93a6e0b2 io_schedule vmlinux EXPORT_SYMBOL
|
||||
0xfbc4f89e io_schedule_timeout vmlinux EXPORT_SYMBOL
|
||||
0x8e82828e iomem_resource vmlinux EXPORT_SYMBOL
|
||||
0xedc03953 iounmap vmlinux EXPORT_SYMBOL
|
||||
0xc4d9f382 ipmi_create_user drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0xf388b18b ipmi_destroy_user drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0xd1f579d0 ipmi_free_recv_msg drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0xf5531bea ipmi_poll_interface drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0xbefa94a8 ipmi_register_smi drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0x4c2054d7 ipmi_request_settime drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0x50f65edf ipmi_set_gets_events drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0xfaaa4831 ipmi_set_my_address drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0xa19985b7 ipmi_smi_msg_received drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0xe4330a39 ipmi_unregister_smi drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0xe4f4665b ipmi_validate_addr drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
|
||||
0xdde2e42b iput vmlinux EXPORT_SYMBOL
|
||||
0x3fb2bd8a irq_set_affinity_hint vmlinux EXPORT_SYMBOL_GPL
|
||||
0x6df086a9 iterate_dir vmlinux EXPORT_SYMBOL
|
||||
0x02df50b0 jiffies vmlinux EXPORT_SYMBOL
|
||||
0x23619cff jiffies_64 vmlinux EXPORT_SYMBOL
|
||||
0x37befc70 jiffies_to_msecs vmlinux EXPORT_SYMBOL
|
||||
0x188ea314 jiffies_to_timespec64 vmlinux EXPORT_SYMBOL
|
||||
0x7f24de73 jiffies_to_usecs vmlinux EXPORT_SYMBOL
|
||||
0x44b5ee9a kasprintf vmlinux EXPORT_SYMBOL
|
||||
0xc1695596 kern_path vmlinux EXPORT_SYMBOL
|
||||
0xcbc738dc kernel_recvmsg vmlinux EXPORT_SYMBOL
|
||||
0x3c89b8de kernel_sendmsg vmlinux EXPORT_SYMBOL
|
||||
0xcac4c99d kernel_setsockopt vmlinux EXPORT_SYMBOL
|
||||
0x265bbef9 kexec_crash_loaded vmlinux EXPORT_SYMBOL_GPL
|
||||
0x037a0cba kfree vmlinux EXPORT_SYMBOL
|
||||
0x19f462ab kfree_call_rcu vmlinux EXPORT_SYMBOL_GPL
|
||||
0xc4455496 kfree_skb vmlinux EXPORT_SYMBOL
|
||||
0xc745adda kfree_skb_reason vmlinux EXPORT_SYMBOL
|
||||
0xb1b2910d kill_anon_super vmlinux EXPORT_SYMBOL
|
||||
0x722787fb kill_block_super vmlinux EXPORT_SYMBOL
|
||||
0x9fea59e6 kmalloc_caches vmlinux EXPORT_SYMBOL
|
||||
0xa202a8e5 kmalloc_order_trace vmlinux EXPORT_SYMBOL
|
||||
0x95d11f02 kmem_cache_alloc vmlinux EXPORT_SYMBOL
|
||||
0x5c2ec2e9 kmem_cache_alloc_node vmlinux EXPORT_SYMBOL
|
||||
0x520182d8 kmem_cache_alloc_node_trace vmlinux EXPORT_SYMBOL
|
||||
0x02ef7df2 kmem_cache_alloc_trace vmlinux EXPORT_SYMBOL
|
||||
0xeba4e118 kmem_cache_create vmlinux EXPORT_SYMBOL
|
||||
0xc5ff13f3 kmem_cache_create_usercopy vmlinux EXPORT_SYMBOL
|
||||
0x72c085cb kmem_cache_destroy vmlinux EXPORT_SYMBOL
|
||||
0x2256aa0e kmem_cache_free vmlinux EXPORT_SYMBOL
|
||||
0x0b0c4ae0 kmem_cache_shrink vmlinux EXPORT_SYMBOL
|
||||
0x40e308cc kobject_add vmlinux EXPORT_SYMBOL
|
||||
0x71f56a28 kobject_create_and_add vmlinux EXPORT_SYMBOL_GPL
|
||||
0xd896d94b kobject_del vmlinux EXPORT_SYMBOL
|
||||
0x787d886d kobject_get vmlinux EXPORT_SYMBOL
|
||||
0x2f602452 kobject_init vmlinux EXPORT_SYMBOL
|
||||
0x9c38868d kobject_init_and_add vmlinux EXPORT_SYMBOL_GPL
|
||||
0x679ca598 kobject_put vmlinux EXPORT_SYMBOL
|
||||
0x6039d1aa kobject_set_name vmlinux EXPORT_SYMBOL
|
||||
0xb2b088f7 kobject_uevent_env vmlinux EXPORT_SYMBOL_GPL
|
||||
0x85f5e2aa krealloc vmlinux EXPORT_SYMBOL
|
||||
0x83664397 kset_create_and_add vmlinux EXPORT_SYMBOL_GPL
|
||||
0x2c5d4b84 kset_find_obj vmlinux EXPORT_SYMBOL_GPL
|
||||
0x933e7222 kset_register vmlinux EXPORT_SYMBOL
|
||||
0x2c1bca87 kset_unregister vmlinux EXPORT_SYMBOL
|
||||
0xc499ae1e kstrdup vmlinux EXPORT_SYMBOL
|
||||
0xaf6ae696 kstrndup vmlinux EXPORT_SYMBOL
|
||||
0x752d5f5b kstrtobool vmlinux EXPORT_SYMBOL
|
||||
0xc6c09e43 kstrtobool_from_user vmlinux EXPORT_SYMBOL
|
||||
0x373db350 kstrtoint vmlinux EXPORT_SYMBOL
|
||||
0x10f1064d kstrtoint_from_user vmlinux EXPORT_SYMBOL
|
||||
0x1b17e06c kstrtoll vmlinux EXPORT_SYMBOL
|
||||
0x42adadb9 kstrtoll_from_user vmlinux EXPORT_SYMBOL
|
||||
0x3fa0d062 kstrtou16 vmlinux EXPORT_SYMBOL
|
||||
0xa46f2f1b kstrtouint vmlinux EXPORT_SYMBOL
|
||||
0xdc20f322 kstrtouint_from_user vmlinux EXPORT_SYMBOL
|
||||
0x7c3aaa29 kstrtoul_from_user vmlinux EXPORT_SYMBOL
|
||||
0x060ea2d6 kstrtoull vmlinux EXPORT_SYMBOL
|
||||
0x886ce541 kstrtoull_from_user vmlinux EXPORT_SYMBOL
|
||||
0x4f45403d kthread_bind vmlinux EXPORT_SYMBOL
|
||||
0xdb17e531 kthread_create_on_node vmlinux EXPORT_SYMBOL
|
||||
0xb3f7646e kthread_should_stop vmlinux EXPORT_SYMBOL
|
||||
0x08aa79b9 kthread_stop vmlinux EXPORT_SYMBOL
|
||||
0xb43f9365 ktime_get vmlinux EXPORT_SYMBOL_GPL
|
||||
0x484f6edf ktime_get_coarse_real_ts64 vmlinux EXPORT_SYMBOL
|
||||
0x1edb69d6 ktime_get_raw_ts64 vmlinux EXPORT_SYMBOL
|
||||
0x953e1b9e ktime_get_real_seconds vmlinux EXPORT_SYMBOL_GPL
|
||||
0x9ec6ca96 ktime_get_real_ts64 vmlinux EXPORT_SYMBOL
|
||||
0xa9320d27 ktime_get_seconds vmlinux EXPORT_SYMBOL_GPL
|
||||
0x5e515be6 ktime_get_ts64 vmlinux EXPORT_SYMBOL_GPL
|
||||
0xc4f0da12 ktime_get_with_offset vmlinux EXPORT_SYMBOL_GPL
|
||||
0x5c017464 kvasprintf vmlinux EXPORT_SYMBOL
|
||||
0x7aa1756e kvfree vmlinux EXPORT_SYMBOL
|
||||
0x7a4497db kzfree vmlinux EXPORT_SYMBOL
|
||||
0x9b6c6695 lock_page_memcg vmlinux EXPORT_SYMBOL
|
||||
0x05119f43 lock_sock_nested vmlinux EXPORT_SYMBOL
|
||||
0xb473e2c2 lockref_get vmlinux EXPORT_SYMBOL
|
||||
0x61fb7a9f lookup_one_len vmlinux EXPORT_SYMBOL
|
||||
0xd7516168 make_kgid vmlinux EXPORT_SYMBOL
|
||||
0xa273b345 make_kuid vmlinux EXPORT_SYMBOL
|
||||
0x3a9585b4 mark_buffer_dirty vmlinux EXPORT_SYMBOL
|
||||
0x267a05eb mark_page_accessed vmlinux EXPORT_SYMBOL
|
||||
0xacf4d843 match_strdup vmlinux EXPORT_SYMBOL
|
||||
0x44e9a829 match_token vmlinux EXPORT_SYMBOL
|
||||
0x54c99fac mem_section vmlinux EXPORT_SYMBOL
|
||||
0xa07a37f0 memchr vmlinux EXPORT_SYMBOL
|
||||
0x1c3e02e4 memcmp vmlinux EXPORT_SYMBOL
|
||||
0x4829a47e memcpy vmlinux EXPORT_SYMBOL
|
||||
0x5a9f1d63 memmove vmlinux EXPORT_SYMBOL
|
||||
0x27864d57 memparse vmlinux EXPORT_SYMBOL
|
||||
0xd05dbae2 mempool_alloc vmlinux EXPORT_SYMBOL
|
||||
0x183fa88b mempool_alloc_slab vmlinux EXPORT_SYMBOL
|
||||
0xf6156d7c mempool_create vmlinux EXPORT_SYMBOL
|
||||
0x124c832f mempool_destroy vmlinux EXPORT_SYMBOL
|
||||
0x483a62ce mempool_free vmlinux EXPORT_SYMBOL
|
||||
0x8a99a016 mempool_free_slab vmlinux EXPORT_SYMBOL
|
||||
0xf812cff6 memscan vmlinux EXPORT_SYMBOL
|
||||
0xdcb764ad memset vmlinux EXPORT_SYMBOL
|
||||
0xae87cad0 memstart_addr vmlinux EXPORT_SYMBOL_GPL
|
||||
0x8e3ca75a misc_deregister vmlinux EXPORT_SYMBOL
|
||||
0x5f96c76a misc_register vmlinux EXPORT_SYMBOL
|
||||
0x74267b6a mmput vmlinux EXPORT_SYMBOL_GPL
|
||||
0xe7bb9278 mmu_notifier_register vmlinux EXPORT_SYMBOL_GPL
|
||||
0x108aece2 mmu_notifier_unregister vmlinux EXPORT_SYMBOL_GPL
|
||||
0x55cf1d09 mntget vmlinux EXPORT_SYMBOL
|
||||
0x19735022 mntput vmlinux EXPORT_SYMBOL
|
||||
0xebca8b54 mod_delayed_work_on vmlinux EXPORT_SYMBOL_GPL
|
||||
0x28985b9f mod_timer vmlinux EXPORT_SYMBOL
|
||||
0xaac80d5b mod_timer_pending vmlinux EXPORT_SYMBOL
|
||||
0x0cb17aa0 module_put vmlinux EXPORT_SYMBOL
|
||||
0xc67fd5d6 module_refcount vmlinux EXPORT_SYMBOL
|
||||
0xf9a482f9 msleep vmlinux EXPORT_SYMBOL
|
||||
0x0acd8cc7 mutex_lock vmlinux EXPORT_SYMBOL
|
||||
0xfe9919db mutex_lock_killable vmlinux EXPORT_SYMBOL
|
||||
0xdb145de4 mutex_trylock vmlinux EXPORT_SYMBOL
|
||||
0xacccd1c7 mutex_unlock vmlinux EXPORT_SYMBOL
|
||||
0x29a25f73 napi_complete_done vmlinux EXPORT_SYMBOL
|
||||
0x55e7de77 napi_disable vmlinux EXPORT_SYMBOL
|
||||
0xa80e6889 napi_enable vmlinux EXPORT_SYMBOL
|
||||
0x6789c30a napi_gro_receive vmlinux EXPORT_SYMBOL
|
||||
0xb4437d66 napi_schedule_prep vmlinux EXPORT_SYMBOL
|
||||
0x5a9823f6 ndo_dflt_bridge_getlink vmlinux EXPORT_SYMBOL_GPL
|
||||
0xf6ebc03b net_ratelimit vmlinux EXPORT_SYMBOL
|
||||
0x0777fd42 netdev_err vmlinux EXPORT_SYMBOL
|
||||
0x5f54724d netdev_features_change vmlinux EXPORT_SYMBOL
|
||||
0x4804d3fc netdev_info vmlinux EXPORT_SYMBOL
|
||||
0xa4cfa24c netdev_refcnt_read vmlinux EXPORT_SYMBOL
|
||||
0x189cdfcf netdev_rx_handler_register vmlinux EXPORT_SYMBOL_GPL
|
||||
0xe64a3332 netdev_rx_handler_unregister vmlinux EXPORT_SYMBOL_GPL
|
||||
0xb5a76c55 netif_carrier_off vmlinux EXPORT_SYMBOL
|
||||
0x5b30592f netif_carrier_on vmlinux EXPORT_SYMBOL
|
||||
0x0ab7fbf3 netif_device_attach vmlinux EXPORT_SYMBOL
|
||||
0x61cc33fc netif_device_detach vmlinux EXPORT_SYMBOL
|
||||
0x2570dcf9 netif_napi_add vmlinux EXPORT_SYMBOL
|
||||
0x98dd9dec netif_napi_add_weight vmlinux EXPORT_SYMBOL
|
||||
0xc5002b6c netif_napi_del vmlinux EXPORT_SYMBOL
|
||||
0xa8d2ae03 netif_receive_skb vmlinux EXPORT_SYMBOL
|
||||
0x6b481123 netif_rx vmlinux EXPORT_SYMBOL
|
||||
0x991a9dee netif_schedule_queue vmlinux EXPORT_SYMBOL
|
||||
0x39742c23 netif_set_real_num_rx_queues vmlinux EXPORT_SYMBOL
|
||||
0xaee58318 netif_set_real_num_tx_queues vmlinux EXPORT_SYMBOL
|
||||
0xd0704a02 netif_tx_stop_all_queues vmlinux EXPORT_SYMBOL
|
||||
0x43f620f8 netif_tx_wake_queue vmlinux EXPORT_SYMBOL
|
||||
0x7323b2b8 netlink_broadcast vmlinux EXPORT_SYMBOL
|
||||
0xccb2f658 netlink_unicast vmlinux EXPORT_SYMBOL
|
||||
0x3ed60697 new_inode vmlinux EXPORT_SYMBOL
|
||||
0xfdc1bd61 nla_put vmlinux EXPORT_SYMBOL
|
||||
0x21675c27 node_data vmlinux EXPORT_SYMBOL
|
||||
0x7d9514c1 node_to_cpumask_map vmlinux EXPORT_SYMBOL
|
||||
0x017de3d5 nr_cpu_ids vmlinux EXPORT_SYMBOL
|
||||
0xfe26fc7c nr_node_ids vmlinux EXPORT_SYMBOL
|
||||
0x1e1e140e ns_to_timespec64 vmlinux EXPORT_SYMBOL
|
||||
0x2f548802 ns_to_timeval vmlinux EXPORT_SYMBOL
|
||||
0xffae8e8b nsecs_to_jiffies vmlinux EXPORT_SYMBOL_GPL
|
||||
0x618911fc numa_node vmlinux EXPORT_SYMBOL
|
||||
0x5541ea93 on_each_cpu vmlinux EXPORT_SYMBOL
|
||||
0x1984d421 out_of_line_wait_on_bit vmlinux EXPORT_SYMBOL
|
||||
0xb4ed1542 override_creds vmlinux EXPORT_SYMBOL
|
||||
0xe2f5c6dd page_mapped vmlinux EXPORT_SYMBOL
|
||||
0x310cac87 pagevec_lookup_range vmlinux EXPORT_SYMBOL
|
||||
0x93580f66 pagevec_lookup_range_tag vmlinux EXPORT_SYMBOL
|
||||
0x7c1372e8 panic vmlinux EXPORT_SYMBOL
|
||||
0x1af62a99 panic_notifier_list vmlinux EXPORT_SYMBOL
|
||||
0xeeb5677c param_array_ops vmlinux EXPORT_SYMBOL
|
||||
0xee37999d param_get_int vmlinux EXPORT_SYMBOL
|
||||
0x558292a3 param_ops_bool vmlinux EXPORT_SYMBOL
|
||||
0xe1416d38 param_ops_byte vmlinux EXPORT_SYMBOL
|
||||
0x9346142d param_ops_charp vmlinux EXPORT_SYMBOL
|
||||
0x8841d7a6 param_ops_int vmlinux EXPORT_SYMBOL
|
||||
0x08849f3e param_ops_long vmlinux EXPORT_SYMBOL
|
||||
0x1423a481 param_ops_short vmlinux EXPORT_SYMBOL
|
||||
0xb632e17e param_ops_string vmlinux EXPORT_SYMBOL
|
||||
0x21f07483 param_ops_uint vmlinux EXPORT_SYMBOL
|
||||
0x4329fada param_ops_ulong vmlinux EXPORT_SYMBOL
|
||||
0x845bf19c param_set_bool vmlinux EXPORT_SYMBOL
|
||||
0x7f1e5415 param_set_int vmlinux EXPORT_SYMBOL
|
||||
0x452956c3 path_put vmlinux EXPORT_SYMBOL
|
||||
0xf31b03d7 pci_alloc_irq_vectors_affinity vmlinux EXPORT_SYMBOL
|
||||
0xa88018ab pci_free_irq_vectors vmlinux EXPORT_SYMBOL
|
||||
0x5b93719c pci_get_device vmlinux EXPORT_SYMBOL
|
||||
0xa8a1f4b9 pci_irq_vector vmlinux EXPORT_SYMBOL
|
||||
0xf8227d0c pci_read_config_byte vmlinux EXPORT_SYMBOL
|
||||
0x72e97242 pci_read_config_dword vmlinux EXPORT_SYMBOL
|
||||
0x68f62e8e pci_set_power_state vmlinux EXPORT_SYMBOL
|
||||
0x2f86d362 pci_write_config_byte vmlinux EXPORT_SYMBOL
|
||||
0xc91f2174 pci_write_config_dword vmlinux EXPORT_SYMBOL
|
||||
0xaf552787 pcie_capability_clear_and_set_word vmlinux EXPORT_SYMBOL
|
||||
0xd4341508 pcie_capability_read_dword vmlinux EXPORT_SYMBOL
|
||||
0xaefdfc34 pcie_capability_read_word vmlinux EXPORT_SYMBOL
|
||||
0x5ba85d00 pid_task vmlinux EXPORT_SYMBOL
|
||||
0x60a32ea9 pm_power_off vmlinux EXPORT_SYMBOL_GPL
|
||||
0x7647f63c prepare_creds vmlinux EXPORT_SYMBOL
|
||||
0x2dc4e156 prepare_to_wait vmlinux EXPORT_SYMBOL
|
||||
0x4488bc8a prepare_to_wait_event vmlinux EXPORT_SYMBOL
|
||||
0x67f3d52d prepare_to_wait_exclusive vmlinux EXPORT_SYMBOL
|
||||
0x86e03c0a print_stack_trace vmlinux EXPORT_SYMBOL_GPL
|
||||
0x27e1a049 printk vmlinux EXPORT_SYMBOL
|
||||
0xb6f8b121 pskb_expand_head vmlinux EXPORT_SYMBOL
|
||||
0xf140518e put_disk vmlinux EXPORT_SYMBOL
|
||||
0xd1e4ec46 queue_delayed_work_on vmlinux EXPORT_SYMBOL
|
||||
0x121da905 queue_work_on vmlinux EXPORT_SYMBOL
|
||||
0x0c250fa8 raid_class_attach drivers/scsi/raid_class EXPORT_SYMBOL
|
||||
0x0ac73c38 raid_class_release drivers/scsi/raid_class EXPORT_SYMBOL
|
||||
0x60a13e90 rcu_barrier vmlinux EXPORT_SYMBOL_GPL
|
||||
0xacef9390 read_cache_pages vmlinux EXPORT_SYMBOL
|
||||
0xfb6af58d recalc_sigpending vmlinux EXPORT_SYMBOL
|
||||
0x71a50dbc register_blkdev vmlinux EXPORT_SYMBOL
|
||||
0x21738ae4 register_filesystem vmlinux EXPORT_SYMBOL
|
||||
0x60352082 register_inet6addr_notifier vmlinux EXPORT_SYMBOL
|
||||
0xf68285c0 register_inetaddr_notifier vmlinux EXPORT_SYMBOL
|
||||
0xece78940 register_netdev vmlinux EXPORT_SYMBOL
|
||||
0xd2da1048 register_netdevice_notifier vmlinux EXPORT_SYMBOL
|
||||
0x3517383e register_reboot_notifier vmlinux EXPORT_SYMBOL
|
||||
0x8bded847 register_sysctl_table vmlinux EXPORT_SYMBOL
|
||||
0xe5612323 release_sock vmlinux EXPORT_SYMBOL
|
||||
0x45fbc758 remap_pfn_range vmlinux EXPORT_SYMBOL
|
||||
0xec4fb493 remove_wait_queue vmlinux EXPORT_SYMBOL
|
||||
0xd6b8e852 request_threaded_irq vmlinux EXPORT_SYMBOL
|
||||
0x646324f1 revert_creds vmlinux EXPORT_SYMBOL
|
||||
0xc7a4fbed rtnl_lock vmlinux EXPORT_SYMBOL
|
||||
0x6e720ff2 rtnl_unlock vmlinux EXPORT_SYMBOL
|
||||
0xb2ff65c1 sas_attach_transport drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0x14889b25 sas_end_device_alloc drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0x3fe6c634 sas_expander_alloc drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0x5d763490 sas_phy_add drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0x3dd88e57 sas_phy_alloc drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0x1bc526e8 sas_phy_free drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0x07494f0e sas_port_add drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0xe4e71a67 sas_port_add_phy drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0xc7cf0119 sas_port_alloc_num drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0xd4d89336 sas_port_delete drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0xc675bc0c sas_port_delete_phy drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0x55430dcf sas_read_port_mode_page drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0x6c734d81 sas_release_transport drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0x42b487ee sas_remove_host drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0xcf06224f sas_rphy_add drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
|
||||
0x4629baf2 save_stack_trace vmlinux EXPORT_SYMBOL_GPL
|
||||
0xf6b9fe80 save_stack_trace_tsk vmlinux EXPORT_SYMBOL_GPL
|
||||
0xf00a6c73 sched_setscheduler vmlinux EXPORT_SYMBOL_GPL
|
||||
0x01000e51 schedule vmlinux EXPORT_SYMBOL
|
||||
0x1f37cca7 schedule_hrtimeout_range vmlinux EXPORT_SYMBOL_GPL
|
||||
0x8ddd8aad schedule_timeout vmlinux EXPORT_SYMBOL
|
||||
0x054496b4 schedule_timeout_interruptible vmlinux EXPORT_SYMBOL
|
||||
0x151f4898 schedule_timeout_uninterruptible vmlinux EXPORT_SYMBOL
|
||||
0x2cde6db6 scmd_printk vmlinux EXPORT_SYMBOL
|
||||
0x4ca9669f scnprintf vmlinux EXPORT_SYMBOL
|
||||
0x88c4d6c9 scsi_add_device vmlinux EXPORT_SYMBOL
|
||||
0x12df6747 scsi_add_host_with_dma vmlinux EXPORT_SYMBOL
|
||||
0xa271c070 scsi_block_requests vmlinux EXPORT_SYMBOL
|
||||
0xe02c3b1b scsi_change_queue_depth vmlinux EXPORT_SYMBOL
|
||||
0x0fc9c7eb scsi_device_get vmlinux EXPORT_SYMBOL
|
||||
0x3412d7fd scsi_device_lookup vmlinux EXPORT_SYMBOL
|
||||
0x88010140 scsi_device_put vmlinux EXPORT_SYMBOL
|
||||
0x2ebe7ce3 scsi_device_set_state vmlinux EXPORT_SYMBOL
|
||||
0x72ea7b2d scsi_device_type vmlinux EXPORT_SYMBOL
|
||||
0x9587afc5 scsi_dma_map vmlinux EXPORT_SYMBOL
|
||||
0x2bceb8bd scsi_dma_unmap vmlinux EXPORT_SYMBOL
|
||||
0x51f73b05 scsi_get_vpd_page vmlinux EXPORT_SYMBOL_GPL
|
||||
0x76c77103 scsi_host_alloc vmlinux EXPORT_SYMBOL
|
||||
0x3fc892b2 scsi_host_lookup vmlinux EXPORT_SYMBOL
|
||||
0x1637f908 scsi_host_put vmlinux EXPORT_SYMBOL
|
||||
0x2949f981 scsi_internal_device_block_nowait vmlinux EXPORT_SYMBOL_GPL
|
||||
0x48c68c97 scsi_internal_device_unblock_nowait vmlinux EXPORT_SYMBOL_GPL
|
||||
0x0e0acdde scsi_is_host_device vmlinux EXPORT_SYMBOL
|
||||
0x5e52f8c2 scsi_is_sdev_device vmlinux EXPORT_SYMBOL
|
||||
0x52c2d610 scsi_print_command vmlinux EXPORT_SYMBOL
|
||||
0x947bd204 scsi_register_driver vmlinux EXPORT_SYMBOL
|
||||
0x3ec0af37 scsi_remove_device vmlinux EXPORT_SYMBOL
|
||||
0xab9ae0a5 scsi_remove_host vmlinux EXPORT_SYMBOL
|
||||
0x2fdde61c scsi_remove_target vmlinux EXPORT_SYMBOL
|
||||
0x0dc7d4e4 scsi_scan_host vmlinux EXPORT_SYMBOL
|
||||
0x81212eab scsi_unblock_requests vmlinux EXPORT_SYMBOL
|
||||
0xea3c8e4e scsilun_to_int vmlinux EXPORT_SYMBOL
|
||||
0x379c007a sdev_prefix_printk vmlinux EXPORT_SYMBOL
|
||||
0xad676cf1 security_d_instantiate vmlinux EXPORT_SYMBOL
|
||||
0xf19572d9 send_sig vmlinux EXPORT_SYMBOL
|
||||
0x7e4f6edd seq_lseek vmlinux EXPORT_SYMBOL
|
||||
0x8bf6b235 seq_printf vmlinux EXPORT_SYMBOL
|
||||
0xa5cb4218 seq_read vmlinux EXPORT_SYMBOL
|
||||
0xb1c46695 set_cpus_allowed_ptr vmlinux EXPORT_SYMBOL_GPL
|
||||
0x025483b1 set_current_groups vmlinux EXPORT_SYMBOL
|
||||
0x2c55f5b3 set_device_ro vmlinux EXPORT_SYMBOL
|
||||
0xecce1eec set_disk_ro vmlinux EXPORT_SYMBOL
|
||||
0x9e61bb05 set_freezable vmlinux EXPORT_SYMBOL
|
||||
0x565757c3 set_nlink vmlinux EXPORT_SYMBOL
|
||||
0x365acda7 set_normalized_timespec64 vmlinux EXPORT_SYMBOL
|
||||
0xc860de5b set_page_dirty vmlinux EXPORT_SYMBOL
|
||||
0xdcd015ca set_page_dirty_lock vmlinux EXPORT_SYMBOL
|
||||
0xb63fa495 set_user_nice vmlinux EXPORT_SYMBOL
|
||||
0xa0aa157a shrink_dcache_parent vmlinux EXPORT_SYMBOL
|
||||
0x40c7247c si_meminfo vmlinux EXPORT_SYMBOL
|
||||
0x6a5fa363 sigprocmask vmlinux EXPORT_SYMBOL
|
||||
0xfa0c49b0 simple_statfs vmlinux EXPORT_SYMBOL
|
||||
0x0b742fd7 simple_strtol vmlinux EXPORT_SYMBOL
|
||||
0x20000329 simple_strtoul vmlinux EXPORT_SYMBOL
|
||||
0x61b7b126 simple_strtoull vmlinux EXPORT_SYMBOL
|
||||
0xdb3d6fd7 single_open vmlinux EXPORT_SYMBOL
|
||||
0xb5976876 single_release vmlinux EXPORT_SYMBOL
|
||||
0x191ac294 sk_alloc vmlinux EXPORT_SYMBOL
|
||||
0x613d5e79 sk_free vmlinux EXPORT_SYMBOL
|
||||
0x91e3b27b skb_add_rx_frag vmlinux EXPORT_SYMBOL
|
||||
0x039996d6 skb_checksum_help vmlinux EXPORT_SYMBOL
|
||||
0x8bc0864a skb_clone vmlinux EXPORT_SYMBOL
|
||||
0xf0f7d142 skb_clone_tx_timestamp vmlinux EXPORT_SYMBOL_GPL
|
||||
0xffc7bdb0 skb_copy vmlinux EXPORT_SYMBOL
|
||||
0x79933aca skb_copy_bits vmlinux EXPORT_SYMBOL
|
||||
0xc1752ff5 skb_dequeue vmlinux EXPORT_SYMBOL
|
||||
0x4bf70cdf skb_pull vmlinux EXPORT_SYMBOL
|
||||
0x92c3bdbb skb_push vmlinux EXPORT_SYMBOL
|
||||
0x8505dfe5 skb_put vmlinux EXPORT_SYMBOL
|
||||
0x45e7e740 skb_queue_purge vmlinux EXPORT_SYMBOL
|
||||
0x344fb340 skb_queue_tail vmlinux EXPORT_SYMBOL
|
||||
0x6954cec6 skb_realloc_headroom vmlinux EXPORT_SYMBOL
|
||||
0x0aff4025 skb_trim vmlinux EXPORT_SYMBOL
|
||||
0xf567025d skb_tstamp_tx vmlinux EXPORT_SYMBOL_GPL
|
||||
0xf9038bcf smp_call_function_many vmlinux EXPORT_SYMBOL
|
||||
0x6228c21f smp_call_function_single vmlinux EXPORT_SYMBOL
|
||||
0x28318305 snprintf vmlinux EXPORT_SYMBOL
|
||||
0xe5cd3986 sock_create_kern vmlinux EXPORT_SYMBOL
|
||||
0xa0597f26 sock_release vmlinux EXPORT_SYMBOL
|
||||
0x91715312 sprintf vmlinux EXPORT_SYMBOL
|
||||
0x20c55ae0 sscanf vmlinux EXPORT_SYMBOL
|
||||
0x38ed3903 starget_for_each_device vmlinux EXPORT_SYMBOL
|
||||
0xaafdc258 strcasecmp vmlinux EXPORT_SYMBOL
|
||||
0x061651be strcat vmlinux EXPORT_SYMBOL
|
||||
0x349cba85 strchr vmlinux EXPORT_SYMBOL
|
||||
0xe2d5255a strcmp vmlinux EXPORT_SYMBOL
|
||||
0xe914e41e strcpy vmlinux EXPORT_SYMBOL
|
||||
0x1ac5d3cb strcspn vmlinux EXPORT_SYMBOL
|
||||
0x77bc13a0 strim vmlinux EXPORT_SYMBOL
|
||||
0xf9c0b663 strlcat vmlinux EXPORT_SYMBOL
|
||||
0x5792f848 strlcpy vmlinux EXPORT_SYMBOL
|
||||
0x98cf60b3 strlen vmlinux EXPORT_SYMBOL
|
||||
0x96b29254 strncasecmp vmlinux EXPORT_SYMBOL
|
||||
0x5a921311 strncmp vmlinux EXPORT_SYMBOL
|
||||
0x9166fada strncpy vmlinux EXPORT_SYMBOL
|
||||
0x24428be5 strncpy_from_user vmlinux EXPORT_SYMBOL
|
||||
0xa916b694 strnlen vmlinux EXPORT_SYMBOL
|
||||
0xc310b981 strnstr vmlinux EXPORT_SYMBOL
|
||||
0x9a1dfd65 strpbrk vmlinux EXPORT_SYMBOL
|
||||
0x9f984513 strrchr vmlinux EXPORT_SYMBOL
|
||||
0x85df9b6c strsep vmlinux EXPORT_SYMBOL
|
||||
0xc29bf967 strspn vmlinux EXPORT_SYMBOL
|
||||
0x1e6d26a8 strstr vmlinux EXPORT_SYMBOL
|
||||
0x99284de9 submit_bio vmlinux EXPORT_SYMBOL
|
||||
0x609f1c7e synchronize_net vmlinux EXPORT_SYMBOL
|
||||
0x2d3385d3 system_wq vmlinux EXPORT_SYMBOL
|
||||
0x9545af6d tasklet_init vmlinux EXPORT_SYMBOL
|
||||
0x4b4e8905 thaw_bdev vmlinux EXPORT_SYMBOL
|
||||
0x0d641a42 try_module_get vmlinux EXPORT_SYMBOL
|
||||
0x03219a49 try_wait_for_completion vmlinux EXPORT_SYMBOL
|
||||
0x4272345a unlock_page vmlinux EXPORT_SYMBOL
|
||||
0xc1081e15 unlock_page_memcg vmlinux EXPORT_SYMBOL
|
||||
0xd35bbe96 unmap_mapping_range vmlinux EXPORT_SYMBOL
|
||||
0xb5a459dc unregister_blkdev vmlinux EXPORT_SYMBOL
|
||||
0x6091b333 unregister_chrdev_region vmlinux EXPORT_SYMBOL
|
||||
0x831b341c unregister_filesystem vmlinux EXPORT_SYMBOL
|
||||
0x2fe252cc unregister_inet6addr_notifier vmlinux EXPORT_SYMBOL
|
||||
0xfe029963 unregister_inetaddr_notifier vmlinux EXPORT_SYMBOL
|
||||
0xeb5b21c3 unregister_netdev vmlinux EXPORT_SYMBOL
|
||||
0x9d0d6206 unregister_netdevice_notifier vmlinux EXPORT_SYMBOL
|
||||
0xac1a55be unregister_reboot_notifier vmlinux EXPORT_SYMBOL
|
||||
0x6c8ad3d4 unregister_sysctl_table vmlinux EXPORT_SYMBOL
|
||||
0x18d33e2c unuse_mm vmlinux EXPORT_SYMBOL_GPL
|
||||
0x5412c7c7 up vmlinux EXPORT_SYMBOL
|
||||
0x77597a53 up_read vmlinux EXPORT_SYMBOL
|
||||
0xe8b97e4f up_write vmlinux EXPORT_SYMBOL
|
||||
0x5840fc32 use_mm vmlinux EXPORT_SYMBOL_GPL
|
||||
0x12a38747 usleep_range vmlinux EXPORT_SYMBOL
|
||||
0x999e8297 vfree vmlinux EXPORT_SYMBOL
|
||||
0x03672e30 vfs_create vmlinux EXPORT_SYMBOL
|
||||
0x9dccbaed vfs_fsync vmlinux EXPORT_SYMBOL
|
||||
0x0581dc22 vfs_fsync_range vmlinux EXPORT_SYMBOL
|
||||
0x2077fb73 vfs_getattr vmlinux EXPORT_SYMBOL
|
||||
0x21bd0da7 vfs_link vmlinux EXPORT_SYMBOL
|
||||
0x185af989 vfs_llseek vmlinux EXPORT_SYMBOL
|
||||
0xfb935b3b vfs_mkdir vmlinux EXPORT_SYMBOL
|
||||
0xf3d2f054 vfs_mknod vmlinux EXPORT_SYMBOL
|
||||
0x81340cfe vfs_readlink vmlinux EXPORT_SYMBOL
|
||||
0x6b298fb1 vfs_rename vmlinux EXPORT_SYMBOL
|
||||
0x881c0dab vfs_rmdir vmlinux EXPORT_SYMBOL
|
||||
0xe280d43c vfs_statfs vmlinux EXPORT_SYMBOL
|
||||
0x3649bcdb vfs_symlink vmlinux EXPORT_SYMBOL
|
||||
0xc679b268 vfs_unlink vmlinux EXPORT_SYMBOL
|
||||
0x847551c6 vm_mmap vmlinux EXPORT_SYMBOL
|
||||
0x5b56860c vm_munmap vmlinux EXPORT_SYMBOL
|
||||
0xd6ee688f vmalloc vmlinux EXPORT_SYMBOL
|
||||
0xb41a32fe vmalloc_to_page vmlinux EXPORT_SYMBOL
|
||||
0x09002b42 vmap vmlinux EXPORT_SYMBOL
|
||||
0x4b8b3239 vprintk vmlinux EXPORT_SYMBOL
|
||||
0xf5e03a3a vscnprintf vmlinux EXPORT_SYMBOL
|
||||
0x1e01660e vsnprintf vmlinux EXPORT_SYMBOL
|
||||
0x5c7574a1 vsprintf vmlinux EXPORT_SYMBOL
|
||||
0x94961283 vunmap vmlinux EXPORT_SYMBOL
|
||||
0x40a9b349 vzalloc vmlinux EXPORT_SYMBOL
|
||||
0x9e0c711d vzalloc_node vmlinux EXPORT_SYMBOL
|
||||
0x3cc4cb8a wait_for_completion vmlinux EXPORT_SYMBOL
|
||||
0x7bdb61d1 wait_for_completion_interruptible vmlinux EXPORT_SYMBOL
|
||||
0xdf35ccd0 wait_for_completion_timeout vmlinux EXPORT_SYMBOL
|
||||
0x60ea8b88 wait_on_page_bit vmlinux EXPORT_SYMBOL
|
||||
0xa0fbac79 wake_up_bit vmlinux EXPORT_SYMBOL
|
||||
0xfaa3e0a8 wake_up_process vmlinux EXPORT_SYMBOL
|
||||
0xe1c693c4 write_cache_pages vmlinux EXPORT_SYMBOL
|
||||
0xbfb4dace xattr_full_name vmlinux EXPORT_SYMBOL
|
||||
0x760a0f4f yield vmlinux EXPORT_SYMBOL
|
||||
0xcebd81ba zap_vma_ptes vmlinux EXPORT_SYMBOL_GPL
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
25
SOURCES/README.rst
Normal file
25
SOURCES/README.rst
Normal file
@ -0,0 +1,25 @@
|
||||
===================
|
||||
The Kernel dist-git
|
||||
===================
|
||||
|
||||
The kernel is maintained in a `source tree`_ rather than directly in dist-git.
|
||||
The specfile is maintained as a `template`_ in the source tree along with a set
|
||||
of build scripts to generate configurations, (S)RPMs, and to populate the
|
||||
dist-git repository.
|
||||
|
||||
The `documentation`_ for the source tree covers how to contribute and maintain
|
||||
the tree.
|
||||
|
||||
If you're looking for the downstream patch set it's available in the source
|
||||
tree with "git log master..ark-patches" or
|
||||
`online`_.
|
||||
|
||||
Each release in dist-git is tagged in the source repository so you can easily
|
||||
check out the source tree for a build. The tags are in the format
|
||||
name-version-release, but note release doesn't contain the dist tag since the
|
||||
source can be built in different build roots (Fedora, CentOS, etc.)
|
||||
|
||||
.. _source tree: https://gitlab.com/cki-project/kernel-ark.git
|
||||
.. _template: https://gitlab.com/cki-project/kernel-ark/-/blob/os-build/redhat/kernel.spec.template
|
||||
.. _documentation: https://gitlab.com/cki-project/kernel-ark/-/wikis/home
|
||||
.. _online: https://gitlab.com/cki-project/kernel-ark/-/commits/ark-patches
|
||||
BIN
SOURCES/almalinuxdup1.x509
Normal file
BIN
SOURCES/almalinuxdup1.x509
Normal file
Binary file not shown.
BIN
SOURCES/almalinuxima.x509
Normal file
BIN
SOURCES/almalinuxima.x509
Normal file
Binary file not shown.
BIN
SOURCES/almalinuximaca1.x509
Normal file
BIN
SOURCES/almalinuximaca1.x509
Normal file
Binary file not shown.
BIN
SOURCES/almalinuxkpatch1.x509
Normal file
BIN
SOURCES/almalinuxkpatch1.x509
Normal file
Binary file not shown.
BIN
SOURCES/almalinuxnvidia1.x509
Normal file
BIN
SOURCES/almalinuxnvidia1.x509
Normal file
Binary file not shown.
@ -41,7 +41,8 @@ def load_symvers(symvers, filename):
|
||||
break
|
||||
if in_line == "\n":
|
||||
continue
|
||||
checksum, symbol, directory, type = in_line.split()
|
||||
checksum, symbol, directory, type, *ns = in_line.split()
|
||||
ns = ns[0] if ns else None
|
||||
|
||||
symvers[symbol] = in_line[0:-1]
|
||||
|
||||
@ -57,7 +58,8 @@ def load_kabi(kabi, filename):
|
||||
break
|
||||
if in_line == "\n":
|
||||
continue
|
||||
checksum, symbol, directory, type = in_line.split()
|
||||
checksum, symbol, directory, type, *ns = in_line.split()
|
||||
ns = ns[0] if ns else None
|
||||
|
||||
kabi[symbol] = in_line[0:-1]
|
||||
|
||||
@ -69,11 +71,14 @@ def check_kabi(symvers, kabi):
|
||||
warn = 0
|
||||
changed_symbols = []
|
||||
moved_symbols = []
|
||||
ns_symbols = []
|
||||
|
||||
for symbol in kabi:
|
||||
abi_hash, abi_sym, abi_dir, abi_type = kabi[symbol].split()
|
||||
abi_hash, abi_sym, abi_dir, abi_type, *abi_ns = kabi[symbol].split()
|
||||
abi_ns = abi_ns[0] if abi_ns else None
|
||||
if symbol in symvers:
|
||||
sym_hash, sym_sym, sym_dir, sym_type = symvers[symbol].split()
|
||||
sym_hash, sym_sym, sym_dir, sym_type, *sym_ns = symvers[symbol].split()
|
||||
sym_ns = sym_ns[0] if sym_ns else None
|
||||
if abi_hash != sym_hash:
|
||||
fail = 1
|
||||
changed_symbols.append(symbol)
|
||||
@ -81,6 +86,10 @@ def check_kabi(symvers, kabi):
|
||||
if abi_dir != sym_dir:
|
||||
warn = 1
|
||||
moved_symbols.append(symbol)
|
||||
|
||||
if abi_ns != sym_ns:
|
||||
warn = 1
|
||||
ns_symbols.append(symbol)
|
||||
else:
|
||||
fail = 1
|
||||
changed_symbols.append(symbol)
|
||||
@ -96,13 +105,21 @@ def check_kabi(symvers, kabi):
|
||||
|
||||
if warn:
|
||||
print("*** WARNING - ABI SYMBOLS MOVED ***")
|
||||
print("")
|
||||
print("The following symbols moved (typically caused by moving a symbol from being")
|
||||
print("provided by the kernel vmlinux out to a loadable module):")
|
||||
print("")
|
||||
for symbol in moved_symbols:
|
||||
print(symbol)
|
||||
print("")
|
||||
if moved_symbols:
|
||||
print("")
|
||||
print("The following symbols moved (typically caused by moving a symbol from being")
|
||||
print("provided by the kernel vmlinux out to a loadable module):")
|
||||
print("")
|
||||
for symbol in moved_symbols:
|
||||
print(symbol)
|
||||
print("")
|
||||
if ns_symbols:
|
||||
print("")
|
||||
print("The following symbols changed symbol namespaces:")
|
||||
print("")
|
||||
for symbol in ns_symbols:
|
||||
print(symbol)
|
||||
print("")
|
||||
|
||||
"""Halt the build, if we got errors and/or warnings. In either case,
|
||||
double-checkig is required to avoid introducing / concealing
|
||||
|
||||
50
SOURCES/dracut-virt.conf
Normal file
50
SOURCES/dracut-virt.conf
Normal file
@ -0,0 +1,50 @@
|
||||
# generic + compressed please
|
||||
hostonly="no"
|
||||
compress="xz"
|
||||
|
||||
# VMs can't update microcode anyway
|
||||
early_microcode="no"
|
||||
|
||||
# modules: basics
|
||||
dracutmodules+=" base systemd systemd-initrd dracut-systemd dbus dbus-broker usrmount shutdown "
|
||||
# Omit drm.
|
||||
omit_dracutmodules+=" drm simpledrm "
|
||||
|
||||
# modules: storage support
|
||||
dracutmodules+=" dm lvm rootfs-block fs-lib "
|
||||
|
||||
# modules: tpm and crypto
|
||||
dracutmodules+=" crypt crypt-loop tpm2-tss systemd-pcrphase "
|
||||
|
||||
# modules: root disk integrity protection
|
||||
dracutmodules+=" systemd-veritysetup "
|
||||
|
||||
# modules: root creation and encryption
|
||||
dracutmodules+=" systemd-repart "
|
||||
# FIXME: remove this once RHEL-103385 is merged
|
||||
install_items+=" /usr/sbin/mkfs.vfat /usr/sbin/mkfs.ext4 /usr/sbin/mkfs.xfs "
|
||||
|
||||
# modules: FIPS
|
||||
dracutmodules+=" fips "
|
||||
# FIPS mode requires early crypto drivers test
|
||||
drivers+=" =crypto "
|
||||
|
||||
# drivers: virtual buses, pci
|
||||
drivers+=" virtio-pci virtio-mmio " # qemu-kvm
|
||||
drivers+=" hv-vmbus pci-hyperv " # hyperv
|
||||
drivers+=" xen-pcifront " # xen
|
||||
|
||||
# drivers: storage
|
||||
drivers+=" ahci nvme sd_mod sr_mod " # generic
|
||||
drivers+=" virtio-blk virtio-scsi " # qemu-kvm
|
||||
drivers+=" hv-storvsc " # hyperv
|
||||
drivers+=" xen-blkfront " # xen
|
||||
|
||||
# root encryption
|
||||
drivers+=" dm_crypt "
|
||||
|
||||
# root disk integrity protection
|
||||
drivers+=" dm_verity overlay "
|
||||
|
||||
# filesystems
|
||||
filesystems+=" vfat ext4 xfs overlay "
|
||||
@ -15,4 +15,4 @@ ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco
|
||||
|
||||
drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i tinydrm vc4"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls"
|
||||
0
SOURCES/filter-armv7hl.sh.rhel
Normal file
0
SOURCES/filter-armv7hl.sh.rhel
Normal file
@ -13,8 +13,11 @@
|
||||
# subsys should be in kernel-modules on all arches, please change the defaults
|
||||
# listed here.
|
||||
|
||||
# Overrides is individual modules which need to remain in kernel-core due to deps.
|
||||
overrides="cec isst_if_common isst_tpmi_core isst_tpmi intel-vsec intel-vsec_tpmi wmi"
|
||||
|
||||
# Set the default dirs/modules to filter out
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc iio infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1 virt"
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc iio infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
|
||||
|
||||
chardrvs="mwave pcmcia"
|
||||
|
||||
@ -22,19 +25,21 @@ netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless"
|
||||
|
||||
ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom"
|
||||
|
||||
cryptdrvs="bcm caam cavium chelsio hisilicon marvell qat"
|
||||
|
||||
inputdrvs="gameport tablet touchscreen"
|
||||
|
||||
scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic hisi_sas isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf"
|
||||
|
||||
usbdrvs="atm image misc serial wusbcore"
|
||||
|
||||
fsdrvs="affs befs cifs coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
|
||||
fsdrvs="affs befs smb coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs sysv ubifs ufs"
|
||||
|
||||
netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
|
||||
|
||||
drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via "
|
||||
drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via xe"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr parport_serial ism xt_u32 act_ct"
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus nct6775 ntc_thermistor"
|
||||
|
||||
# Grab the arch-specific filter list overrides
|
||||
source ./filter-$2.sh
|
||||
@ -52,7 +57,7 @@ filter_dir() {
|
||||
grep -e "${dir}/" ${filelist} >> k-d.list
|
||||
mv ${filelist}.tmp $filelist
|
||||
fi
|
||||
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -69,7 +74,7 @@ filter_ko() {
|
||||
grep -e "${mod}.ko" ${filelist} >> k-d.list
|
||||
mv ${filelist}.tmp $filelist
|
||||
fi
|
||||
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -88,7 +93,7 @@ done
|
||||
# Filter the char drivers
|
||||
for char in ${chardrvs}
|
||||
do
|
||||
filter_dir $1 drivers/char/${input}
|
||||
filter_dir $1 drivers/char/${char}
|
||||
done
|
||||
|
||||
# Filter the ethernet drivers
|
||||
@ -97,6 +102,12 @@ do
|
||||
filter_dir $1 drivers/net/ethernet/${eth}
|
||||
done
|
||||
|
||||
# Filter the crypto drivers
|
||||
for crypt in ${cryptdrvs}
|
||||
do
|
||||
filter_dir $1 drivers/crypto/${crypt}
|
||||
done
|
||||
|
||||
# SCSI
|
||||
for scsi in ${scsidrvs}
|
||||
do
|
||||
@ -135,9 +146,7 @@ done
|
||||
|
||||
# Just kill sound.
|
||||
filter_dir $1 kernel/sound
|
||||
filter_ko $1 drivers/base/regmap/regmap-sdw
|
||||
filter_ko $1 drivers/base/regmap/regmap-sdw-mbq
|
||||
filter_dir $1 drivers/soundwire
|
||||
filter_dir $1 kernel/drivers/soundwire
|
||||
|
||||
# Now go through and filter any single .ko files that might have deps on the
|
||||
# things we filtered above
|
||||
@ -146,6 +155,20 @@ do
|
||||
filter_ko $1 ${mod}
|
||||
done
|
||||
|
||||
# Now process the override list to bring those modules back into core
|
||||
for mod in ${overrides}
|
||||
do
|
||||
grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Couldn't save ${mod}.ko Skipping."
|
||||
else
|
||||
grep -e "/${mod}.ko" k-d.list >> $filelist
|
||||
mv k-d.list.tmp k-d.list
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
# Go through our generated drivers list and remove the .ko files. We'll
|
||||
# restore them later.
|
||||
for mod in `cat k-d.list`
|
||||
@ -11,4 +11,4 @@
|
||||
|
||||
driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
|
||||
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
|
||||
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls"
|
||||
@ -1,19 +1,20 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-8
|
||||
- rhel-9
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-64k-aarch64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-aarch64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-debug-x86_64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-ppc64le.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-s390x.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-x86_64.tier1.functional}
|
||||
excluded_packages: [kernel-rt]
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-8
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-64k-aarch64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-aarch64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-debug-x86_64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-x86_64.tier1.functional}
|
||||
packages: [kernel-rt]
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-s390x.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-x86_64.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: s1-aws-ci_x86_64.brew-build.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: s1-aws-ci_aarch64.brew-build.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: s1-azure-ci_x86_64.brew-build.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: s1-azure-ci_aarch64.brew-build.tier1.functional}
|
||||
- !PassingTestCaseRule {test_case_name: s1-gcp-ci.brew-build.tier1.functional}
|
||||
|
||||
@ -1,6 +1,36 @@
|
||||
#!/bin/sh
|
||||
|
||||
for i in ${NAME}-*.config; do
|
||||
NEW=${NAME}-${VERSION}-`echo $i | cut -d - -f2-`
|
||||
mv ${i} ${NEW}
|
||||
# Adjusts the configuration options to build the variants correctly
|
||||
|
||||
test -n "$RHTEST" && exit 0
|
||||
|
||||
DEBUGBUILDSENABLED=$1
|
||||
if [ -z "$DEBUGBUILDSENABLED" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$FLAVOR" ]; then
|
||||
FLAVOR=rhel
|
||||
fi
|
||||
|
||||
if [ "$FLAVOR" = "fedora" ]; then
|
||||
SECONDARY=rhel
|
||||
else
|
||||
SECONDARY=fedora
|
||||
fi
|
||||
|
||||
for i in kernel-*-"$FLAVOR".config; do
|
||||
NEW=kernel-"$SPECVERSION"-$(echo "$i" | cut -d - -f2- | sed s/-"$FLAVOR"//)
|
||||
#echo $NEW
|
||||
mv "$i" "$NEW"
|
||||
done
|
||||
|
||||
rm -f kernel-*-"$SECONDARY".config
|
||||
|
||||
if [ "$DEBUGBUILDSENABLED" -eq 0 ]; then
|
||||
for i in kernel-*debug*.config; do
|
||||
base=$(echo "$i" | sed -r s/-?debug//g)
|
||||
NEW=kernel-$(echo "$base" | cut -d - -f2-)
|
||||
mv "$i" "$NEW"
|
||||
done
|
||||
fi
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
. /etc/os-release
|
||||
|
||||
kernelver=$1 && shift
|
||||
rootfs=$1 && shift
|
||||
variant=$1 && shift
|
||||
|
||||
output="${rootfs}/lib/modules/${kernelver}/bls.conf"
|
||||
date=$(date -u +%Y%m%d%H%M%S)
|
||||
|
||||
if [ "${variant:-5}" = "debug" ]; then
|
||||
debugname=" with debugging"
|
||||
debugid="-debug"
|
||||
else
|
||||
debugname=""
|
||||
debugid=""
|
||||
fi
|
||||
|
||||
cat >${output} <<EOF
|
||||
title ${NAME} (${kernelver}) ${VERSION}${debugname}
|
||||
version ${kernelver}${debugid}
|
||||
linux ${bootprefix}/vmlinuz-${kernelver}
|
||||
initrd ${bootprefix}/initramfs-${kernelver}.img
|
||||
options \$kernelopts
|
||||
id ${ID}-${date}-${kernelver}${debugid}
|
||||
grub_users \$grub_users
|
||||
grub_arg --unrestricted
|
||||
grub_class kernel${variant}
|
||||
EOF
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
7576
SOURCES/kernel-aarch64-debug-rhel.config
Normal file
7576
SOURCES/kernel-aarch64-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
7552
SOURCES/kernel-aarch64-rhel.config
Normal file
7552
SOURCES/kernel-aarch64-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
7699
SOURCES/kernel-aarch64-rt-64k-debug-rhel.config
Normal file
7699
SOURCES/kernel-aarch64-rt-64k-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
7675
SOURCES/kernel-aarch64-rt-64k-rhel.config
Normal file
7675
SOURCES/kernel-aarch64-rt-64k-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
7697
SOURCES/kernel-aarch64-rt-debug-rhel.config
Normal file
7697
SOURCES/kernel-aarch64-rt-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
7673
SOURCES/kernel-aarch64-rt-rhel.config
Normal file
7673
SOURCES/kernel-aarch64-rt-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
2
SOURCES/kernel-local
Normal file
2
SOURCES/kernel-local
Normal file
@ -0,0 +1,2 @@
|
||||
# This file is intentionally left empty in the stock kernel. Its a nicety
|
||||
# added for those wanting to do custom rebuilds with altered config opts.
|
||||
6946
SOURCES/kernel-ppc64le-debug-rhel.config
Normal file
6946
SOURCES/kernel-ppc64le-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
6924
SOURCES/kernel-ppc64le-rhel.config
Normal file
6924
SOURCES/kernel-ppc64le-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
7473
SOURCES/kernel-x86_64-rt-debug-rhel.config
Normal file
7473
SOURCES/kernel-x86_64-rt-debug-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
7450
SOURCES/kernel-x86_64-rt-rhel.config
Normal file
7450
SOURCES/kernel-x86_64-rt-rhel.config
Normal file
File diff suppressed because it is too large
Load Diff
152253
SOURCES/kernel.changelog
Normal file
152253
SOURCES/kernel.changelog
Normal file
File diff suppressed because it is too large
Load Diff
3
SOURCES/kernel.sbat.template
Normal file
3
SOURCES/kernel.sbat.template
Normal file
@ -0,0 +1,3 @@
|
||||
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
|
||||
kernel.@SBAT_SUFFIX,1,Red Hat,kernel-core,@KVER,mailto:secalert@redhat.com
|
||||
kernel.almalinux,1,AlmaLinux,kernel-core,@KVER,mailto:security@almalinux.org
|
||||
72
SOURCES/merge.pl
Executable file
72
SOURCES/merge.pl
Executable file
@ -0,0 +1,72 @@
|
||||
#! /usr/bin/perl
|
||||
|
||||
my @args=@ARGV;
|
||||
my %configvalues;
|
||||
my @configoptions;
|
||||
my $configcounter = 0;
|
||||
|
||||
# optionally print out the architecture as the first line of our output
|
||||
my $arch = $args[2];
|
||||
if (defined $arch) {
|
||||
print "# $arch\n";
|
||||
}
|
||||
|
||||
# first, read the override file
|
||||
|
||||
open (FILE,"$args[0]") || die "Could not open $args[0]";
|
||||
while (<FILE>) {
|
||||
my $str = $_;
|
||||
my $configname;
|
||||
|
||||
if (/\# ([\w]+) is not set/) {
|
||||
$configname = $1;
|
||||
} elsif (/^\#/) {
|
||||
# fall through on comments like 'avoid CONFIG_FOO=y'
|
||||
;
|
||||
} elsif (/([\w]+)=/) {
|
||||
$configname = $1;
|
||||
}
|
||||
|
||||
if (defined($configname) && !exists($configvalues{$configname})) {
|
||||
$configvalues{$configname} = $str;
|
||||
$configoptions[$configcounter] = $configname;
|
||||
$configcounter ++;
|
||||
}
|
||||
};
|
||||
|
||||
# now, read and output the entire configfile, except for the overridden
|
||||
# parts... for those the new value is printed.
|
||||
|
||||
open (FILE2,"$args[1]") || die "Could not open $args[1]";
|
||||
while (<FILE2>) {
|
||||
my $configname;
|
||||
|
||||
if (/\# ([\w]+) is not set/) {
|
||||
$configname = $1;
|
||||
} elsif (/^\#/) {
|
||||
# fall through on comments like 'avoid CONFIG_FOO=y'
|
||||
;
|
||||
} elsif (/([\w]+)=/) {
|
||||
$configname = $1;
|
||||
}
|
||||
|
||||
if (defined($configname) && exists($configvalues{$configname})) {
|
||||
print "$configvalues{$configname}";
|
||||
delete($configvalues{$configname});
|
||||
} else {
|
||||
print "$_";
|
||||
}
|
||||
}
|
||||
|
||||
# now print the new values from the overridden configfile
|
||||
my $counter = 0;
|
||||
|
||||
while ($counter < $configcounter) {
|
||||
my $configname = $configoptions[$counter];
|
||||
if (exists($configvalues{$configname})) {
|
||||
print "$configvalues{$configname}";
|
||||
}
|
||||
$counter++;
|
||||
}
|
||||
|
||||
1;
|
||||
@ -1,4 +1,5 @@
|
||||
#! /bin/bash
|
||||
# shellcheck disable=SC2164
|
||||
|
||||
RpmDir=$1
|
||||
ModDir=$2
|
||||
@ -24,9 +25,9 @@ __EOF__
|
||||
|
||||
check_blacklist()
|
||||
{
|
||||
mod=$(find $RpmDir/$ModDir -name "$1")
|
||||
mod=$(find "$RpmDir/$ModDir" -name "$1")
|
||||
[ ! "$mod" ] && return 0
|
||||
if modinfo $mod | grep -q '^alias:\s\+net-'; then
|
||||
if modinfo "$mod" | grep -q '^alias:\s\+net-'; then
|
||||
mod="${1##*/}"
|
||||
mod="${mod%.ko*}"
|
||||
echo "$mod has an alias that allows auto-loading. Blacklisting."
|
||||
@ -37,7 +38,7 @@ check_blacklist()
|
||||
find_depends()
|
||||
{
|
||||
dep=$1
|
||||
depends=`modinfo $dep | sed -n -e "/^depends/ s/^depends:[ \t]*//p"`
|
||||
depends=$(modinfo "$dep" | sed -n -e "/^depends/ s/^depends:[ \t]*//p")
|
||||
[ -z "$depends" ] && exit
|
||||
for mod in ${depends//,/ }
|
||||
do
|
||||
@ -45,14 +46,14 @@ find_depends()
|
||||
[ -z "$match" ] && continue
|
||||
# check if the module we are looking at is in mod-* too.
|
||||
# if so we do not need to mark the dep as required.
|
||||
mod2=${dep##*/} # same as `basename $dep`, but faster
|
||||
mod2=${dep##*/} # same as $(basename $dep), but faster
|
||||
match2=$(grep "^$mod2" "$ListName")
|
||||
if [ -n "$match2" ]
|
||||
then
|
||||
#echo $mod2 >> notreq.list
|
||||
continue
|
||||
fi
|
||||
echo $mod.ko >> req.list
|
||||
echo "$mod".ko >> req.list
|
||||
done
|
||||
}
|
||||
|
||||
@ -60,11 +61,11 @@ foreachp()
|
||||
{
|
||||
P=$(nproc)
|
||||
bgcount=0
|
||||
while read mod; do
|
||||
while read -r mod; do
|
||||
$1 "$mod" &
|
||||
|
||||
bgcount=$((bgcount + 1))
|
||||
if [ $bgcount -eq $P ]; then
|
||||
if [ $bgcount -eq "$P" ]; then
|
||||
wait -n
|
||||
bgcount=$((bgcount - 1))
|
||||
fi
|
||||
@ -76,12 +77,12 @@ foreachp()
|
||||
# Destination was specified on the command line
|
||||
test -n "$4" && echo "$0: Override Destination $Dest has been specified."
|
||||
|
||||
pushd $Dir
|
||||
pushd "$Dir"
|
||||
|
||||
OverrideDir=$(basename $List)
|
||||
OverrideDir=$(basename "$List")
|
||||
OverrideDir=${OverrideDir%.*}
|
||||
OverrideDir=${OverrideDir#*-}
|
||||
mkdir -p $OverrideDir
|
||||
mkdir -p "$OverrideDir"
|
||||
|
||||
rm -rf modnames
|
||||
find . -name "*.ko" -type f > modnames
|
||||
@ -94,7 +95,8 @@ cp "$List" .
|
||||
|
||||
# This variable needs to be exported because it is used in sub-script
|
||||
# executed by xargs
|
||||
export ListName=$(basename "$List")
|
||||
ListName=$(basename "$List")
|
||||
export ListName
|
||||
|
||||
foreachp find_depends < modnames
|
||||
|
||||
@ -102,25 +104,25 @@ sort -u req.list > req2.list
|
||||
sort -u "$ListName" > modules2.list
|
||||
join -v 1 modules2.list req2.list > modules3.list
|
||||
|
||||
for mod in $(cat modules3.list)
|
||||
while IFS= read -r mod
|
||||
do
|
||||
# get the path for the module
|
||||
modpath=`grep /$mod modnames`
|
||||
[ -z "$modpath" ] && continue
|
||||
echo $modpath >> dep.list
|
||||
done
|
||||
# get the path for the module
|
||||
modpath=$(grep /"$mod" modnames)
|
||||
[ -z "$modpath" ] && continue
|
||||
echo "$modpath" >> dep.list
|
||||
done < modules3.list
|
||||
|
||||
sort -u dep.list > dep2.list
|
||||
|
||||
if [ -n "$Dest" ]; then
|
||||
# now move the modules into the $Dest directory
|
||||
for mod in `cat dep2.list`
|
||||
do
|
||||
newpath=`dirname $mod | sed -e "s/kernel\\//$Dest\//"`
|
||||
mkdir -p $newpath
|
||||
mv $mod $newpath
|
||||
echo $mod | sed -e "s/kernel\\//$Dest\//" | sed -e "s|^.|${ModDir}|g" >> $RpmDir/$ListName
|
||||
done
|
||||
# now move the modules into the $Dest directory
|
||||
while IFS= read -r mod
|
||||
do
|
||||
newpath=$(dirname "$mod" | sed -e "s/kernel\\//$Dest\//")
|
||||
mkdir -p "$newpath"
|
||||
mv "$mod" "$newpath"
|
||||
echo "$mod" | sed -e "s/kernel\\//$Dest\//" | sed -e "s|^.|${ModDir}|g" >> "$RpmDir"/"$ListName"
|
||||
done < dep2.list
|
||||
fi
|
||||
|
||||
popd
|
||||
@ -130,23 +132,33 @@ popd
|
||||
# target doesn't try to sign a non-existent file. This is kinda ugly, but
|
||||
# so are the modules-* packages.
|
||||
|
||||
for mod in `cat ${Dir}/dep2.list`
|
||||
while IFS= read -r mod
|
||||
do
|
||||
modfile=`basename $mod | sed -e 's/.ko/.mod/'`
|
||||
rm .tmp_versions/$modfile
|
||||
done
|
||||
modfile=$(basename "$mod" | sed -e 's/.ko/.mod/')
|
||||
rm .tmp_versions/"$modfile"
|
||||
done < "$Dir"/dep2.list
|
||||
|
||||
if [ ! -n "$Dest" ]; then
|
||||
sed -e "s|^.|${ModDir}|g" ${Dir}/dep2.list > $RpmDir/$ListName
|
||||
if [ -z "$Dest" ]; then
|
||||
sed -e "s|^.|${ModDir}|g" "$Dir"/dep2.list > "$RpmDir/$ListName"
|
||||
echo "./$RpmDir/$ListName created."
|
||||
[ -d "$RpmDir/etc/modprobe.d/" ] || mkdir -p "$RpmDir/etc/modprobe.d/"
|
||||
foreachp check_blacklist < $List
|
||||
foreachp check_blacklist < "$List"
|
||||
fi
|
||||
|
||||
# Many BIOS-es export a PNP-id which causes the floppy driver to autoload
|
||||
# even though most modern systems don't have a 3.5" floppy driver anymore
|
||||
# this replaces the old die_floppy_die.patch which removed the PNP-id from
|
||||
# the module
|
||||
|
||||
floppylist=("$RpmDir"/"$ModDir"/kernel/drivers/block/floppy.ko*)
|
||||
if [[ -n ${floppylist[0]} && -f ${floppylist[0]} ]]; then
|
||||
blacklist "floppy"
|
||||
fi
|
||||
|
||||
# avoid an empty kernel-extra package
|
||||
echo "$ModDir/$OverrideDir" >> $RpmDir/$ListName
|
||||
echo "$ModDir/$OverrideDir" >> "$RpmDir/$ListName"
|
||||
|
||||
pushd $Dir
|
||||
pushd "$Dir"
|
||||
rm modnames dep.list dep2.list req.list req2.list
|
||||
rm "$ListName" modules2.list modules3.list
|
||||
popd
|
||||
@ -2,8 +2,6 @@
|
||||
a3d.ko
|
||||
act200l-sir.ko
|
||||
actisys-sir.ko
|
||||
act_mpls.ko
|
||||
act_ct.ko
|
||||
adi.ko
|
||||
aer_inject.ko
|
||||
af_802154.ko
|
||||
@ -17,7 +15,6 @@ avm_cs.ko
|
||||
avmfritz.ko
|
||||
ax25.ko
|
||||
b1.ko
|
||||
bareudp.ko
|
||||
bas_gigaset.ko
|
||||
batman-adv.ko
|
||||
baycom_par.ko
|
||||
@ -50,6 +47,8 @@ ems_pci.ko
|
||||
ems_usb.ko
|
||||
esd_usb2.ko
|
||||
esi-sir.ko
|
||||
fou.ko
|
||||
fou6.ko
|
||||
gamecon.ko
|
||||
gf2k.ko
|
||||
gigaset.ko
|
||||
@ -72,7 +71,6 @@ iforce.ko
|
||||
interact.ko
|
||||
ipddp.ko
|
||||
ipx.ko
|
||||
ip_vs_mh.ko
|
||||
isdn.ko
|
||||
joydump.ko
|
||||
kingsun-sir.ko
|
||||
@ -83,6 +81,7 @@ l2tp_core.ko
|
||||
l2tp_debugfs.ko
|
||||
l2tp_eth.ko
|
||||
l2tp_ip.ko
|
||||
l2tp_ip6.ko
|
||||
l2tp_netlink.ko
|
||||
l2tp_ppp.ko
|
||||
lec.ko
|
||||
@ -122,23 +121,9 @@ rds.ko
|
||||
rds_rdma.ko
|
||||
rds_tcp.ko
|
||||
rose.ko
|
||||
sch_atm.ko
|
||||
sch_cbq.ko
|
||||
sch_cbs.ko
|
||||
sch_choke.ko
|
||||
sch_drr.ko
|
||||
sch_dsmark.ko
|
||||
sch_ets.ko
|
||||
sch_gred.ko
|
||||
sch_mqprio.ko
|
||||
sch_multiq.ko
|
||||
sch_netem.ko
|
||||
sch_qfq.ko
|
||||
sch_red.ko
|
||||
sch_sfb.ko
|
||||
sch_teql.ko
|
||||
sctp.ko
|
||||
sctp_diag.ko
|
||||
sctp_probe.ko
|
||||
sidewinder.ko
|
||||
sja1000.ko
|
||||
sja1000_platform.ko
|
||||
@ -162,6 +147,7 @@ tcp_veno.ko
|
||||
tcp_westwood.ko
|
||||
tcp_yeah.ko
|
||||
tekram-sir.ko
|
||||
test_lockup.ko
|
||||
tmdc.ko
|
||||
toim3232-sir.ko
|
||||
trancevibrator.ko
|
||||
@ -170,11 +156,8 @@ twidjoy.ko
|
||||
ubifs.ko
|
||||
ufs.ko
|
||||
umc.ko
|
||||
usbip-core.ko
|
||||
usbip-host.ko
|
||||
uwb.ko
|
||||
vcan.ko
|
||||
vhci-hcd.ko
|
||||
w1_bq27000.ko
|
||||
w1_ds2408.ko
|
||||
w1_ds2423.ko
|
||||
@ -192,7 +175,5 @@ wanrouter.ko
|
||||
warrior.ko
|
||||
whci.ko
|
||||
wire.ko
|
||||
xpad.ko
|
||||
xt_u32.ko
|
||||
yam.ko
|
||||
zhenhua.ko
|
||||
@ -6,6 +6,7 @@ list-test
|
||||
sysctl-test
|
||||
mptcp_crypto_test
|
||||
mptcp_token_test
|
||||
prp_dup_discard_test
|
||||
bitfield_kunit
|
||||
cmdline_kunit
|
||||
property-entry-test
|
||||
@ -13,34 +14,18 @@ qos-test
|
||||
resource_kunit
|
||||
soc-topology-test
|
||||
soc-utils-test
|
||||
stackinit_kunit
|
||||
soc-card-test
|
||||
string-stream-test
|
||||
test_linear_ranges
|
||||
test_bits
|
||||
test_kasan
|
||||
kasan_test
|
||||
time_test
|
||||
fat_test
|
||||
lib_test
|
||||
rational-test
|
||||
test_list_sort
|
||||
slub_kunit
|
||||
memcpy_kunit
|
||||
time_test
|
||||
drm_format_helper_test
|
||||
drm_damage_helper_test
|
||||
drm_cmdline_parser_test
|
||||
drm_kunit_helpers
|
||||
drm_rect_test
|
||||
drm_format_test
|
||||
drm_plane_helper_test
|
||||
drm_dp_mst_helper_test
|
||||
drm_framebuffer_test
|
||||
drm_buddy_test
|
||||
drm_mm_test
|
||||
drm_connector_test
|
||||
drm_managed_test
|
||||
drm_modes_test
|
||||
drm_probe_helper_test
|
||||
lib_test
|
||||
dev_addr_lists_test
|
||||
rational-test
|
||||
kfence_test
|
||||
test_hash
|
||||
locktorture
|
||||
mac80211_hwsim
|
||||
@ -49,18 +34,85 @@ pktgen
|
||||
rcutorture
|
||||
rocker
|
||||
scftorture
|
||||
torture
|
||||
test_bpf
|
||||
test_klp_atomic_replace
|
||||
test_klp_callbacks_demo
|
||||
test_klp_callbacks_demo2
|
||||
test_klp_callbacks_busy
|
||||
test_klp_callbacks_mod
|
||||
test_klp_kprobe
|
||||
test_klp_livepatch
|
||||
test_klp_shadow_vars
|
||||
test_klp_syscall
|
||||
test_klp_state
|
||||
test_klp_state2
|
||||
test_klp_state3
|
||||
test_kmod
|
||||
test_module
|
||||
torture
|
||||
refscale
|
||||
rcuscale
|
||||
memcpy_kunit
|
||||
dev_addr_lists_test
|
||||
test_bpf
|
||||
stackinit_kunit
|
||||
overflow_kunit
|
||||
clk-gate_test
|
||||
clk_test
|
||||
mtty
|
||||
test_hmm
|
||||
test_vmalloc
|
||||
mtty
|
||||
test_sort
|
||||
cpumask_kunit
|
||||
iio-test-format
|
||||
iio-test-rescale
|
||||
cros_kunit
|
||||
cpumask_kunit
|
||||
drm_atomic_state_test
|
||||
drm_atomic_test
|
||||
drm_bridge_test
|
||||
drm_buddy_test
|
||||
drm_cmdline_parser_test
|
||||
drm_damage_helper_test
|
||||
drm_dp_mst_helper_test
|
||||
drm_format_helper_test
|
||||
drm_format_test
|
||||
drm_framebuffer_test
|
||||
drm_gem_shmem_test
|
||||
drm_hdmi_state_helper_test
|
||||
drm_kunit_helpers
|
||||
drm_mm_test
|
||||
drm_plane_helper_test
|
||||
drm_rect_test
|
||||
drm-sched-tests
|
||||
drm_sysfb_modeset_test
|
||||
gss_krb5_test
|
||||
drm_connector_test
|
||||
drm_managed_test
|
||||
drm_modes_test
|
||||
drm_probe_helper_test
|
||||
vkms-kunit-tests
|
||||
input_test
|
||||
hashtable_test
|
||||
hid-uclogic-test
|
||||
strcat_kunit
|
||||
strscpy_kunit
|
||||
siphash_kunit
|
||||
handshake-test
|
||||
drm_exec_test
|
||||
regmap-kunit
|
||||
cfg80211-tests
|
||||
mac80211-tests
|
||||
wwan_hwsim
|
||||
checksum_kunit
|
||||
arm-smmu-v3-test
|
||||
iwlwifi-tests
|
||||
iwlmvm-tests
|
||||
iwlmld-tests
|
||||
sound_kunit
|
||||
amd-pstate-ut
|
||||
ptp_mock
|
||||
usbip-core
|
||||
usbip-host
|
||||
vhci-hcd
|
||||
packing_test
|
||||
soc-ops-test
|
||||
|
||||
3
SOURCES/mod-partner.list
Normal file
3
SOURCES/mod-partner.list
Normal file
@ -0,0 +1,3 @@
|
||||
afs
|
||||
rxperf
|
||||
rxrpc
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
# The modules_sign target checks for corresponding .o files for every .ko that
|
||||
# is signed. This doesn't work for package builds which re-use the same build
|
||||
# directory for every flavour, and the .config may change between flavours.
|
||||
# directory for every variant, and the .config may change between variants.
|
||||
# So instead of using this script to just sign lib/modules/$KernelVer/extra,
|
||||
# sign all .ko in the buildroot.
|
||||
|
||||
@ -13,13 +13,13 @@ MODSECKEY=$1
|
||||
MODPUBKEY=$2
|
||||
moddir=$3
|
||||
|
||||
modules=`find $moddir -type f -name '*.ko'`
|
||||
modules=$(find "$moddir" -type f -name '*.ko')
|
||||
|
||||
NPROC=`nproc`
|
||||
NPROC=$(nproc)
|
||||
[ -z "$NPROC" ] && NPROC=1
|
||||
|
||||
# NB: this loop runs 2000+ iterations. Try to be fast.
|
||||
echo "$modules" | xargs -r -n16 -P $NPROC sh -c "
|
||||
echo "$modules" | xargs -r -n16 -P "$NPROC" sh -c "
|
||||
for mod; do
|
||||
./scripts/sign-file sha256 $MODSECKEY $MODPUBKEY \$mod
|
||||
rm -f \$mod.sig \$mod.dig
|
||||
@ -27,7 +27,7 @@ done
|
||||
" DUMMYARG0 # xargs appends ARG1 ARG2..., which go into $mod in for loop.
|
||||
|
||||
RANDOMMOD=$(echo "$modules" | sort -R | head -n 1)
|
||||
if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then
|
||||
if [ "~Module signature appended~" != "$(tail -c 28 "$RANDOMMOD")" ]; then
|
||||
echo "*****************************"
|
||||
echo "*** Modules are unsigned! ***"
|
||||
echo "*****************************"
|
||||
|
||||
@ -23,4 +23,4 @@ test "$procgroup" = 1 && exec xargs -r xz
|
||||
# xz has some startup cost. If files are really small,
|
||||
# this cost might be significant. To combat this,
|
||||
# process several files (in sequence) by each xz process via -n 16:
|
||||
exec xargs -r -n 16 -P $procgroup xz
|
||||
exec xargs -r -n 16 -P "$procgroup" xz
|
||||
|
||||
6
SOURCES/partial-kgcov-snip.config
Normal file
6
SOURCES/partial-kgcov-snip.config
Normal file
@ -0,0 +1,6 @@
|
||||
# kgcov
|
||||
CONFIG_GCOV_KERNEL=y
|
||||
CONFIG_GCOV_PROFILE_ALL=y
|
||||
# CONFIG_GCOV_PROFILE_FTRACE is not set
|
||||
CONFIG_GCOV_PROFILE_URING=y
|
||||
# CONFIG_OPEN_DICE is not set
|
||||
0
SOURCES/patch-5.14-redhat.patch
Normal file
0
SOURCES/patch-5.14-redhat.patch
Normal file
310
SOURCES/ppc64le-kvm-support.patch
Normal file
310
SOURCES/ppc64le-kvm-support.patch
Normal file
@ -0,0 +1,310 @@
|
||||
From 3c806e795bf954e4dc28b75887a89095815325ed Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
Date: Sat, 17 May 2025 08:48:11 +0000
|
||||
Subject: [PATCH] =?UTF-8?q?Bring=20back=20KVM=20support=20for=20PPC=C2=A7?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Backport of the following upstream commits:
|
||||
524ab50336b1190547ceb8074260a1fbebfee0be
|
||||
93b71801a8274cd9511557faf04365a5de487197
|
||||
f771b55731fc82b1e8e9ef123f6f1b8d8c92bc63
|
||||
---
|
||||
Documentation/virt/kvm/api.rst | 14 ++++++++++++++
|
||||
arch/powerpc/include/asm/kvm_ppc.h | 4 ----
|
||||
arch/powerpc/include/asm/setup.h | 2 ++
|
||||
arch/powerpc/kvm/book3s.c | 6 ++----
|
||||
arch/powerpc/kvm/book3s_64_vio_hv.c | 2 +-
|
||||
arch/powerpc/kvm/book3s_hv.c | 12 +++---------
|
||||
arch/powerpc/kvm/book3s_pr.c | 2 --
|
||||
arch/powerpc/kvm/booke.c | 2 --
|
||||
arch/powerpc/kvm/powerpc.c | 21 +++++++++++++++++++--
|
||||
arch/powerpc/platforms/pseries/setup.c | 13 ++++++++++++-
|
||||
10 files changed, 53 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
|
||||
index 9f2f130c6..64aca1034 100644
|
||||
--- a/Documentation/virt/kvm/api.rst
|
||||
+++ b/Documentation/virt/kvm/api.rst
|
||||
@@ -7735,6 +7735,20 @@ indicated by the fd to the VM this is called on.
|
||||
This is intended to support intra-host migration of VMs between userspace VMMs,
|
||||
upgrading the VMM process without interrupting the guest.
|
||||
|
||||
+7.30 KVM_CAP_PPC_AIL_MODE_3
|
||||
+-------------------------------
|
||||
+
|
||||
+:Capability: KVM_CAP_PPC_AIL_MODE_3
|
||||
+:Architectures: ppc
|
||||
+:Type: vm
|
||||
+
|
||||
+This capability indicates that the kernel supports the mode 3 setting for the
|
||||
+"Address Translation Mode on Interrupt" aka "Alternate Interrupt Location"
|
||||
+resource that is controlled with the H_SET_MODE hypercall.
|
||||
+
|
||||
+This capability allows a guest kernel to use a better-performance mode for
|
||||
+handling interrupts and system calls.
|
||||
+
|
||||
7.31 KVM_CAP_DISABLE_QUIRKS2
|
||||
----------------------------
|
||||
|
||||
diff --git a/arch/powerpc/include/asm/kvm_ppc.h b/arch/powerpc/include/asm/kvm_ppc.h
|
||||
index 254a41648..e16491011 100644
|
||||
--- a/arch/powerpc/include/asm/kvm_ppc.h
|
||||
+++ b/arch/powerpc/include/asm/kvm_ppc.h
|
||||
@@ -199,12 +199,10 @@ extern void kvmppc_core_destroy_vm(struct kvm *kvm);
|
||||
extern void kvmppc_core_free_memslot(struct kvm *kvm,
|
||||
struct kvm_memory_slot *slot);
|
||||
extern int kvmppc_core_prepare_memory_region(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
const struct kvm_memory_slot *old,
|
||||
struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change);
|
||||
extern void kvmppc_core_commit_memory_region(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
struct kvm_memory_slot *old,
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change);
|
||||
@@ -274,12 +272,10 @@ struct kvmppc_ops {
|
||||
int (*get_dirty_log)(struct kvm *kvm, struct kvm_dirty_log *log);
|
||||
void (*flush_memslot)(struct kvm *kvm, struct kvm_memory_slot *memslot);
|
||||
int (*prepare_memory_region)(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
const struct kvm_memory_slot *old,
|
||||
struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change);
|
||||
void (*commit_memory_region)(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
struct kvm_memory_slot *old,
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change);
|
||||
diff --git a/arch/powerpc/include/asm/setup.h b/arch/powerpc/include/asm/setup.h
|
||||
index 31f315223..1868e4a07 100644
|
||||
--- a/arch/powerpc/include/asm/setup.h
|
||||
+++ b/arch/powerpc/include/asm/setup.h
|
||||
@@ -27,11 +27,13 @@ void setup_panic(void);
|
||||
#define ARCH_PANIC_TIMEOUT 180
|
||||
|
||||
#ifdef CONFIG_PPC_PSERIES
|
||||
+extern bool pseries_reloc_on_exception(void);
|
||||
extern bool pseries_enable_reloc_on_exc(void);
|
||||
extern void pseries_disable_reloc_on_exc(void);
|
||||
extern void pseries_big_endian_exceptions(void);
|
||||
extern void pseries_little_endian_exceptions(void);
|
||||
#else
|
||||
+static inline bool pseries_reloc_on_exception(void) { return false; }
|
||||
static inline bool pseries_enable_reloc_on_exc(void) { return false; }
|
||||
static inline void pseries_disable_reloc_on_exc(void) {}
|
||||
static inline void pseries_big_endian_exceptions(void) {}
|
||||
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
|
||||
index 64fd4b3ea..cb7b5f365 100644
|
||||
--- a/arch/powerpc/kvm/book3s.c
|
||||
+++ b/arch/powerpc/kvm/book3s.c
|
||||
@@ -847,21 +847,19 @@ void kvmppc_core_flush_memslot(struct kvm *kvm, struct kvm_memory_slot *memslot)
|
||||
}
|
||||
|
||||
int kvmppc_core_prepare_memory_region(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
const struct kvm_memory_slot *old,
|
||||
struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
{
|
||||
- return kvm->arch.kvm_ops->prepare_memory_region(kvm, mem, old, new, change);
|
||||
+ return kvm->arch.kvm_ops->prepare_memory_region(kvm, old, new, change);
|
||||
}
|
||||
|
||||
void kvmppc_core_commit_memory_region(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
struct kvm_memory_slot *old,
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
{
|
||||
- kvm->arch.kvm_ops->commit_memory_region(kvm, mem, old, new, change);
|
||||
+ kvm->arch.kvm_ops->commit_memory_region(kvm, old, new, change);
|
||||
}
|
||||
|
||||
bool kvm_unmap_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range)
|
||||
diff --git a/arch/powerpc/kvm/book3s_64_vio_hv.c b/arch/powerpc/kvm/book3s_64_vio_hv.c
|
||||
index f38dfe195..16e5872a1 100644
|
||||
--- a/arch/powerpc/kvm/book3s_64_vio_hv.c
|
||||
+++ b/arch/powerpc/kvm/book3s_64_vio_hv.c
|
||||
@@ -488,7 +488,7 @@ long kvmppc_rm_h_put_tce_indirect(struct kvm_vcpu *vcpu,
|
||||
/*
|
||||
* used to check for invalidations in progress
|
||||
*/
|
||||
- mmu_seq = kvm->mmu_notifier_seq;
|
||||
+ mmu_seq = kvm->mmu_invalidate_seq;
|
||||
smp_rmb();
|
||||
|
||||
stt = kvmppc_find_table(vcpu->kvm, liobn);
|
||||
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
|
||||
index 5b2530818..f6ce07b4b 100644
|
||||
--- a/arch/powerpc/kvm/book3s_hv.c
|
||||
+++ b/arch/powerpc/kvm/book3s_hv.c
|
||||
@@ -4777,15 +4777,12 @@ static void kvmppc_core_free_memslot_hv(struct kvm_memory_slot *slot)
|
||||
}
|
||||
|
||||
static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
const struct kvm_memory_slot *old,
|
||||
struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
{
|
||||
- unsigned long npages = mem->memory_size >> PAGE_SHIFT;
|
||||
-
|
||||
if (change == KVM_MR_CREATE) {
|
||||
- new->arch.rmap = vzalloc(array_size(npages,
|
||||
+ new->arch.rmap = vzalloc(array_size(new->npages,
|
||||
sizeof(*new->arch.rmap)));
|
||||
if (!new->arch.rmap)
|
||||
return -ENOMEM;
|
||||
@@ -4797,20 +4794,17 @@ static int kvmppc_core_prepare_memory_region_hv(struct kvm *kvm,
|
||||
}
|
||||
|
||||
static void kvmppc_core_commit_memory_region_hv(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
struct kvm_memory_slot *old,
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
{
|
||||
- unsigned long npages = mem->memory_size >> PAGE_SHIFT;
|
||||
-
|
||||
/*
|
||||
- * If we are making a new memslot, it might make
|
||||
+ * If we are creating or modifying a memslot, it might make
|
||||
* some address that was previously cached as emulated
|
||||
* MMIO be no longer emulated MMIO, so invalidate
|
||||
* all the caches of emulated MMIO translations.
|
||||
*/
|
||||
- if (npages)
|
||||
+ if (change != KVM_MR_DELETE)
|
||||
atomic64_inc(&kvm->arch.mmio_update);
|
||||
|
||||
/*
|
||||
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
|
||||
index 48b48311a..6884c04f2 100644
|
||||
--- a/arch/powerpc/kvm/book3s_pr.c
|
||||
+++ b/arch/powerpc/kvm/book3s_pr.c
|
||||
@@ -1892,7 +1892,6 @@ static void kvmppc_core_flush_memslot_pr(struct kvm *kvm,
|
||||
}
|
||||
|
||||
static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
const struct kvm_memory_slot *old,
|
||||
struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
@@ -1901,7 +1900,6 @@ static int kvmppc_core_prepare_memory_region_pr(struct kvm *kvm,
|
||||
}
|
||||
|
||||
static void kvmppc_core_commit_memory_region_pr(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
struct kvm_memory_slot *old,
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c
|
||||
index b06ca6646..6cf2db284 100644
|
||||
--- a/arch/powerpc/kvm/booke.c
|
||||
+++ b/arch/powerpc/kvm/booke.c
|
||||
@@ -1806,7 +1806,6 @@ void kvmppc_core_free_memslot(struct kvm *kvm, struct kvm_memory_slot *slot)
|
||||
}
|
||||
|
||||
int kvmppc_core_prepare_memory_region(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
const struct kvm_memory_slot *old,
|
||||
struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
@@ -1815,7 +1814,6 @@ int kvmppc_core_prepare_memory_region(struct kvm *kvm,
|
||||
}
|
||||
|
||||
void kvmppc_core_commit_memory_region(struct kvm *kvm,
|
||||
- const struct kvm_userspace_memory_region *mem,
|
||||
struct kvm_memory_slot *old,
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
|
||||
index 818815e15..b89271923 100644
|
||||
--- a/arch/powerpc/kvm/powerpc.c
|
||||
+++ b/arch/powerpc/kvm/powerpc.c
|
||||
@@ -662,6 +662,23 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
|
||||
r = 1;
|
||||
break;
|
||||
#endif
|
||||
+ case KVM_CAP_PPC_AIL_MODE_3:
|
||||
+ r = 0;
|
||||
+ /*
|
||||
+ * KVM PR, POWER7, and some POWER9s don't support AIL=3 mode.
|
||||
+ * The POWER9s can support it if the guest runs in hash mode,
|
||||
+ * but QEMU doesn't necessarily query the capability in time.
|
||||
+ */
|
||||
+ if (hv_enabled) {
|
||||
+ if (kvmhv_on_pseries()) {
|
||||
+ if (pseries_reloc_on_exception())
|
||||
+ r = 1;
|
||||
+ } else if (cpu_has_feature(CPU_FTR_ARCH_207S) &&
|
||||
+ !cpu_has_feature(CPU_FTR_P9_RADIX_PREFETCH_BUG)) {
|
||||
+ r = 1;
|
||||
+ }
|
||||
+ }
|
||||
+ break;
|
||||
default:
|
||||
r = 0;
|
||||
break;
|
||||
@@ -686,7 +703,7 @@ int kvm_arch_prepare_memory_region(struct kvm *kvm,
|
||||
struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
{
|
||||
- return kvmppc_core_prepare_memory_region(kvm, mem, old, new, change);
|
||||
+ return kvmppc_core_prepare_memory_region(kvm, old, new, change);
|
||||
}
|
||||
|
||||
void kvm_arch_commit_memory_region(struct kvm *kvm,
|
||||
@@ -694,7 +711,7 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
|
||||
const struct kvm_memory_slot *new,
|
||||
enum kvm_mr_change change)
|
||||
{
|
||||
- kvmppc_core_commit_memory_region(kvm, mem, old, new, change);
|
||||
+ kvmppc_core_commit_memory_region(kvm, old, new, change);
|
||||
}
|
||||
|
||||
void kvm_arch_flush_shadow_memslot(struct kvm *kvm,
|
||||
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
|
||||
index f5c2718e2..1f7e535ab 100644
|
||||
--- a/arch/powerpc/platforms/pseries/setup.c
|
||||
+++ b/arch/powerpc/platforms/pseries/setup.c
|
||||
@@ -367,6 +367,14 @@ static void pseries_lpar_idle(void)
|
||||
pseries_idle_epilog();
|
||||
}
|
||||
|
||||
+static bool pseries_reloc_on_exception_enabled;
|
||||
+
|
||||
+bool pseries_reloc_on_exception(void)
|
||||
+{
|
||||
+ return pseries_reloc_on_exception_enabled;
|
||||
+}
|
||||
+EXPORT_SYMBOL_GPL(pseries_reloc_on_exception);
|
||||
+
|
||||
/*
|
||||
* Enable relocation on during exceptions. This has partition wide scope and
|
||||
* may take a while to complete, if it takes longer than one second we will
|
||||
@@ -391,6 +399,7 @@ bool pseries_enable_reloc_on_exc(void)
|
||||
" on exceptions: %ld\n", rc);
|
||||
return false;
|
||||
}
|
||||
+ pseries_reloc_on_exception_enabled = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -418,7 +427,9 @@ void pseries_disable_reloc_on_exc(void)
|
||||
break;
|
||||
mdelay(get_longbusy_msecs(rc));
|
||||
}
|
||||
- if (rc != H_SUCCESS)
|
||||
+ if (rc == H_SUCCESS)
|
||||
+ pseries_reloc_on_exception_enabled = false;
|
||||
+ else
|
||||
pr_warn("Warning: Failed to disable relocation on exceptions: %ld\n",
|
||||
rc);
|
||||
}
|
||||
--
|
||||
2.43.5
|
||||
|
||||
@ -3,14 +3,27 @@
|
||||
# This script takes the merged config files and processes them through oldconfig
|
||||
# and listnewconfig
|
||||
#
|
||||
# Globally disable suggestion of appending '|| exit' or '|| return' to cd/pushd/popd commands
|
||||
# shellcheck disable=SC2164
|
||||
|
||||
test -n "$RHTEST" && exit 0
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "process_configs.sh [ -n|-c|-t ] package_name kernel_version [cross_opts]"
|
||||
echo " -n: error on unset config options"
|
||||
# alphabetical order please
|
||||
echo "process_configs.sh [ options ] package_name kernel_version"
|
||||
echo " -a: report all errors, equivalent to [-c -n -w -i]"
|
||||
echo " -c: error on mismatched config options"
|
||||
echo " -i: continue on error"
|
||||
echo " -n: error on unset config options"
|
||||
echo " -t: test run, do not overwrite original config"
|
||||
echo " -w: error on misconfigured config options"
|
||||
echo " -z: commit new configs to pending directory"
|
||||
echo ""
|
||||
echo " A special CONFIG file tag, process_configs_known_broken can be added as a"
|
||||
echo " comment to any CONFIG file. This tag indicates that there is no way to "
|
||||
echo " fix a CONFIG's entry. This tag should only be used in extreme cases"
|
||||
echo " and is not to be used as a workaround to solve CONFIG problems."
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -20,18 +33,27 @@ die()
|
||||
exit 1
|
||||
}
|
||||
|
||||
get_cross_compile()
|
||||
{
|
||||
arch=$1
|
||||
if [[ "$CC_IS_CLANG" -eq 1 ]]; then
|
||||
echo "$arch"
|
||||
else
|
||||
echo "scripts/dummy-tools/"
|
||||
fi
|
||||
}
|
||||
|
||||
# stupid function to find top of tree to do kernel make configs
|
||||
switch_to_toplevel()
|
||||
{
|
||||
path="$(pwd)"
|
||||
while test -n "$path"
|
||||
do
|
||||
test -d $path/firmware && \
|
||||
test -e $path/MAINTAINERS && \
|
||||
test -d $path/drivers && \
|
||||
test -e "$path"/MAINTAINERS && \
|
||||
test -d "$path"/drivers && \
|
||||
break
|
||||
|
||||
path="$(dirname $path)"
|
||||
path=$(dirname "$path")
|
||||
done
|
||||
|
||||
test -n "$path" || die "Can't find toplevel"
|
||||
@ -40,6 +62,9 @@ switch_to_toplevel()
|
||||
|
||||
checkoptions()
|
||||
{
|
||||
count=$3
|
||||
variant=$4
|
||||
|
||||
/usr/bin/awk '
|
||||
|
||||
/is not set/ {
|
||||
@ -62,114 +87,320 @@ checkoptions()
|
||||
print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree";
|
||||
}
|
||||
}
|
||||
' $1 $2 > .mismatches
|
||||
' "$1" "$2" > .mismatches"${count}"
|
||||
|
||||
if test -s .mismatches
|
||||
checkoptions_error=false
|
||||
if test -s .mismatches"${count}"
|
||||
then
|
||||
echo "Error: Mismatches found in configuration files"
|
||||
cat .mismatches
|
||||
exit 1
|
||||
while read -r LINE
|
||||
do
|
||||
if find "${REDHAT}"/configs -name "$(echo "$LINE" | awk -F "=" ' { print $1 } ' | awk ' { print $2 }')" -print0 | xargs -0 grep ^ | grep -q "process_configs_known_broken"; then
|
||||
# This is a known broken config.
|
||||
# See script help warning.
|
||||
checkoptions_error=false
|
||||
else
|
||||
checkoptions_error=true
|
||||
break
|
||||
fi
|
||||
done < .mismatches"${count}"
|
||||
|
||||
! $checkoptions_error && return
|
||||
|
||||
sed -i "1s/^/Error: Mismatches found in configuration files for ${arch} ${variant}\n/" .mismatches"${count}"
|
||||
else
|
||||
rm -f .mismatches"${count}"
|
||||
fi
|
||||
}
|
||||
|
||||
parsenewconfigs()
|
||||
{
|
||||
tmpdir=$(mktemp -d)
|
||||
|
||||
# This awk script reads the output of make listnewconfig
|
||||
# and puts it into CONFIG_FOO files. Using the output of
|
||||
# listnewconfig is much easier to ensure we get the default
|
||||
# output.
|
||||
/usr/bin/awk -v BASE="$tmpdir" '
|
||||
/is not set/ {
|
||||
split ($0, a, "#");
|
||||
split(a[2], b);
|
||||
OUT_FILE=BASE"/"b[1];
|
||||
print $0 >> OUT_FILE;
|
||||
}
|
||||
|
||||
/=/ {
|
||||
split ($0, a, "=");
|
||||
OUT_FILE=BASE"/"a[1];
|
||||
if (a[2] == "n")
|
||||
print "# " a[1] " is not set" >> OUT_FILE;
|
||||
else
|
||||
print $0 >> OUT_FILE;
|
||||
}
|
||||
|
||||
' .newoptions
|
||||
|
||||
# This awk script parses the output of helpnewconfig.
|
||||
# Each option is separated between ----- markers
|
||||
# The goal is to put all the help text as a comment in
|
||||
# each CONFIG_FOO file. Because of how awk works
|
||||
# there's a lot of moving files around and catting to
|
||||
# get what we need.
|
||||
/usr/bin/awk -v BASE="$tmpdir" '
|
||||
BEGIN { inpatch=0;
|
||||
outfile="none";
|
||||
symbol="none"; }
|
||||
/^Symbol: .*$/ {
|
||||
split($0, a, " ");
|
||||
symbol="CONFIG_"a[2];
|
||||
outfile=BASE "/fake_"symbol
|
||||
}
|
||||
/-----/ {
|
||||
if (inpatch == 0) {
|
||||
inpatch = 1;
|
||||
}
|
||||
else {
|
||||
if (symbol != "none") {
|
||||
system("cat " outfile " " BASE "/" symbol " > " BASE "/tmpf");
|
||||
system("mv " BASE "/tmpf " BASE "/" symbol);
|
||||
symbol="none"
|
||||
}
|
||||
outfile="none"
|
||||
inpatch = 0;
|
||||
}
|
||||
}
|
||||
!/-----/ {
|
||||
if (inpatch == 1 && outfile != "none") {
|
||||
print "# "$0 >> outfile;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
' .helpnewconfig
|
||||
|
||||
pushd "$tmpdir" &> /dev/null
|
||||
rm fake_*
|
||||
popd &> /dev/null
|
||||
for f in "$tmpdir"/*; do
|
||||
[[ -e "$f" ]] || break
|
||||
cp "$f" "$SCRIPT_DIR/pending$FLAVOR/generic/"
|
||||
done
|
||||
|
||||
rm -rf "$tmpdir"
|
||||
}
|
||||
|
||||
function commit_new_configs()
|
||||
{
|
||||
# assume we are in $source_tree/configs, need to get to top level
|
||||
pushd "$(switch_to_toplevel)" &>/dev/null
|
||||
|
||||
for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}"*.config
|
||||
do
|
||||
arch=$(head -1 "$cfg" | cut -b 3-)
|
||||
cfgtmp="${cfg}.tmp"
|
||||
cfgorig="${cfg}.orig"
|
||||
cat "$cfg" > "$cfgorig"
|
||||
|
||||
if [ "$arch" = "EMPTY" ]
|
||||
then
|
||||
# This arch is intentionally left blank
|
||||
continue
|
||||
fi
|
||||
echo -n "Checking for new configs in $cfg ... "
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig
|
||||
grep -E 'CONFIG_' .listnewconfig > .newoptions
|
||||
if test -s .newoptions
|
||||
then
|
||||
# shellcheck disable=SC2086
|
||||
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig
|
||||
parsenewconfigs
|
||||
fi
|
||||
rm .newoptions
|
||||
echo "done"
|
||||
done
|
||||
|
||||
git add "$SCRIPT_DIR/pending$FLAVOR"
|
||||
git commit -m "[redhat] AUTOMATIC: New configs"
|
||||
}
|
||||
|
||||
function process_config()
|
||||
{
|
||||
local cfg
|
||||
local arch
|
||||
local cfgtmp
|
||||
local cfgorig
|
||||
local count
|
||||
local variant
|
||||
|
||||
cfg=$1
|
||||
count=$2
|
||||
|
||||
arch=$(head -1 "$cfg" | cut -b 3-)
|
||||
|
||||
if [ "$arch" = "EMPTY" ]
|
||||
then
|
||||
# This arch is intentionally left blank
|
||||
return
|
||||
fi
|
||||
|
||||
variant=$(basename "$cfg" | cut -d"-" -f3- | cut -d"." -f1)
|
||||
|
||||
cfgtmp="${cfg}.tmp"
|
||||
cfgorig="${cfg}.orig"
|
||||
cat "$cfg" > "$cfgorig"
|
||||
|
||||
echo "Processing $cfg ... "
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig"${count}"
|
||||
grep -E 'CONFIG_' .listnewconfig"${count}" > .newoptions"${count}"
|
||||
if test -n "$NEWOPTIONS" && test -s .newoptions"${count}"
|
||||
then
|
||||
echo "Found unset config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors"${count}"
|
||||
cat .newoptions"${count}" >> .errors"${count}"
|
||||
rm .newoptions"${count}"
|
||||
RETURNCODE=1
|
||||
fi
|
||||
rm -f .newoptions"${count}"
|
||||
|
||||
grep -E 'config.*warning' .listnewconfig"${count}" > .warnings"${count}"
|
||||
if test -n "$CHECKWARNINGS" && test -s .warnings"${count}"
|
||||
then
|
||||
echo "Found misconfigured config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors"${count}"
|
||||
cat .warnings"${count}" >> .errors"${count}"
|
||||
fi
|
||||
rm .warnings"${count}"
|
||||
|
||||
rm .listnewconfig"${count}"
|
||||
|
||||
# shellcheck disable=SC2086
|
||||
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1
|
||||
echo "# $arch" > "$cfgtmp"
|
||||
cat "$cfgorig" >> "$cfgtmp"
|
||||
if test -n "$CHECKOPTIONS"
|
||||
then
|
||||
checkoptions "$cfg" "$cfgtmp" "$count" "$variant"
|
||||
fi
|
||||
# if test run, don't overwrite original
|
||||
if test -n "$TESTRUN"
|
||||
then
|
||||
rm -f "$cfgtmp"
|
||||
else
|
||||
mv "$cfgtmp" "$cfg"
|
||||
fi
|
||||
rm -f "$cfgorig"
|
||||
echo "Processing $cfg complete"
|
||||
}
|
||||
|
||||
function process_configs()
|
||||
{
|
||||
# assume we are in $source_tree/configs, need to get to top level
|
||||
pushd $(switch_to_toplevel) &>/dev/null
|
||||
pushd "$(switch_to_toplevel)" &>/dev/null
|
||||
|
||||
for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}*.config
|
||||
# The next line is throwaway code for transition to parallel
|
||||
# processing. Leaving this line in place is harmless, but it can be
|
||||
# removed the next time anyone updates this function.
|
||||
[ -f .mismatches ] && rm -f .mismatches
|
||||
|
||||
count=0
|
||||
for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}"*.config
|
||||
do
|
||||
arch=$(head -1 $cfg | cut -b 3-)
|
||||
cfgtmp="${cfg}.tmp"
|
||||
cfgorig="${cfg}.orig"
|
||||
cat $cfg > $cfgorig
|
||||
|
||||
echo -n "Processing $cfg ... "
|
||||
|
||||
make ARCH=$arch ${CROSSOPTS} KCONFIG_CONFIG=$cfgorig listnewconfig >& .listnewconfig
|
||||
grep -E 'CONFIG_' .listnewconfig > .newoptions
|
||||
if test -n "$NEWOPTIONS" && test -s .newoptions
|
||||
then
|
||||
echo "Found unset config items, please set them to an appropriate value"
|
||||
cat .newoptions
|
||||
rm .newoptions
|
||||
exit 1
|
||||
if [ "$count" -eq 0 ]; then
|
||||
# do the first one by itself so that tools are built
|
||||
process_config "$cfg" "$count"
|
||||
fi
|
||||
rm .newoptions
|
||||
|
||||
grep -E 'config.*warning' .listnewconfig > .warnings
|
||||
if test -n "$CHECKWARNINGS" && test -s .warnings
|
||||
then
|
||||
echo "Found misconfigured config items, please set them to an appropriate value"
|
||||
cat .warnings
|
||||
rm .warnings
|
||||
exit 1
|
||||
fi
|
||||
rm .warnings
|
||||
|
||||
rm .listnewconfig
|
||||
|
||||
make ARCH=$arch ${CROSSOPTS} KCONFIG_CONFIG=$cfgorig oldnoconfig > /dev/null || exit 1
|
||||
echo "# $arch" > ${cfgtmp}
|
||||
cat "${cfgorig}" >> ${cfgtmp}
|
||||
if test -n "$CHECKOPTIONS"
|
||||
then
|
||||
checkoptions $cfg $cfgtmp
|
||||
fi
|
||||
# if test run, don't overwrite original
|
||||
if test -n "$TESTRUN"
|
||||
then
|
||||
rm ${cfgtmp}
|
||||
else
|
||||
mv ${cfgtmp} ${cfg}
|
||||
fi
|
||||
rm ${cfgorig}
|
||||
echo "done"
|
||||
process_config "$cfg" "$count" &
|
||||
# shellcheck disable=SC2004
|
||||
waitpids[${count}]=$!
|
||||
((count++))
|
||||
while [ "$(jobs | grep -c Running)" -ge "$RHJOBS" ]; do :; done
|
||||
done
|
||||
# shellcheck disable=SC2048
|
||||
for pid in ${waitpids[*]}; do
|
||||
wait "${pid}"
|
||||
done
|
||||
|
||||
rm "$SCRIPT_DIR"/*.config*.old
|
||||
|
||||
if ls .errors* 1> /dev/null 2>&1; then
|
||||
RETURNCODE=1
|
||||
cat .errors*
|
||||
rm .errors* -f
|
||||
fi
|
||||
if ls .mismatches* 1> /dev/null 2>&1; then
|
||||
RETURNCODE=1
|
||||
cat .mismatches*
|
||||
rm .mismatches* -f
|
||||
fi
|
||||
|
||||
popd > /dev/null
|
||||
|
||||
echo "Processed config files are in $SCRIPT_DIR"
|
||||
[ $RETURNCODE -eq 0 ] && echo "Processed config files are in $SCRIPT_DIR"
|
||||
}
|
||||
|
||||
NEWOPTIONS=""
|
||||
CHECKOPTIONS=""
|
||||
CHECKWARNINGS=""
|
||||
NEWOPTIONS=""
|
||||
TESTRUN=""
|
||||
CHECKWARNINGS=""
|
||||
MAKEOPTS=""
|
||||
CC_IS_CLANG=0
|
||||
|
||||
RETURNCODE=0
|
||||
|
||||
while [[ $# -gt 0 ]]
|
||||
do
|
||||
key="$1"
|
||||
case $key in
|
||||
-a)
|
||||
CHECKOPTIONS="x"
|
||||
NEWOPTIONS="x"
|
||||
CHECKWARNINGS="x"
|
||||
;;
|
||||
-c)
|
||||
CHECKOPTIONS="x"
|
||||
;;
|
||||
-h)
|
||||
usage
|
||||
;;
|
||||
-n)
|
||||
NEWOPTIONS="x"
|
||||
;;
|
||||
-c)
|
||||
CHECKOPTIONS="x"
|
||||
;;
|
||||
-t)
|
||||
TESTRUN="x"
|
||||
;;
|
||||
-w)
|
||||
CHECKWARNINGS="x"
|
||||
;;
|
||||
-z)
|
||||
COMMITNEWCONFIGS="x"
|
||||
;;
|
||||
-m)
|
||||
shift
|
||||
if [ "$1" = "CC=clang" ] || [ "$1" = "LLVM=1" ]; then
|
||||
CC_IS_CLANG=1
|
||||
fi
|
||||
MAKEOPTS="$MAKEOPTS $1"
|
||||
;;
|
||||
*)
|
||||
break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
PACKAGE_NAME="${1:-kernel}" # defines the package name used
|
||||
KVERREL="$(test -n "$2" && echo "-$2" || echo "")"
|
||||
CROSSOPTS="$3"
|
||||
SCRIPT="$(readlink -f $0)"
|
||||
OUTPUT_DIR="$PWD"
|
||||
SCRIPT_DIR="$(dirname $SCRIPT)"
|
||||
KVERREL="$(test -n "$1" && echo "-$1" || echo "")"
|
||||
FLAVOR="$(test -n "$2" && echo "-$2" || echo "-rhel")"
|
||||
# shellcheck disable=SC2015
|
||||
SCRIPT=$(readlink -f "$0")
|
||||
SCRIPT_DIR=$(dirname "$SCRIPT")
|
||||
|
||||
# to handle this script being a symlink
|
||||
cd $SCRIPT_DIR
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
process_configs
|
||||
if test -n "$COMMITNEWCONFIGS"; then
|
||||
commit_new_configs
|
||||
else
|
||||
process_configs
|
||||
fi
|
||||
|
||||
exit $RETURNCODE
|
||||
|
||||
@ -3,19 +3,14 @@
|
||||
---
|
||||
inspections:
|
||||
abidiff: off
|
||||
addedfiles: off
|
||||
badfuncs: off
|
||||
changedfiles: off
|
||||
kmidiff: off
|
||||
kmod: off
|
||||
manpage: off
|
||||
movedfiles: off
|
||||
permissions: off
|
||||
removedfiles: off
|
||||
rpmdeps: off
|
||||
upstream: off
|
||||
subpackages: off
|
||||
license: off
|
||||
debuginfo: off
|
||||
removedfiles: off
|
||||
|
||||
elf:
|
||||
badfuncs:
|
||||
ignore:
|
||||
- /usr/libexec/ksamples/*
|
||||
- /usr/libexec/kselftests/*
|
||||
@ -24,15 +19,44 @@ emptyrpm:
|
||||
expected_empty:
|
||||
- kernel
|
||||
- kernel-debug
|
||||
- kernel-debug-devel-matched
|
||||
- kernel-devel-matched
|
||||
- kernel-zfcpdump
|
||||
- kernel-zfcpdump-devel-matched
|
||||
- kernel-zfcpdump-modules
|
||||
- kernel-rt
|
||||
- kernel-rt-debug
|
||||
- kernel-rt-debug-devel-matched
|
||||
- kernel-rt-devel-matched
|
||||
- kernel-64k
|
||||
- kernel-64k-debug
|
||||
- kernel-64k-debug-devel-matched
|
||||
- kernel-64k-devel-matched
|
||||
- kernel-rt-64k
|
||||
- kernel-rt-64k-debug
|
||||
- kernel-rt-64k-debug-devel-matched
|
||||
- kernel-rt-64k-devel-matched
|
||||
|
||||
|
||||
|
||||
patches:
|
||||
ignore_list:
|
||||
- linux-kernel-test.patch
|
||||
- patch-5.14-redhat.patch
|
||||
- patch-%{patchversion}-redhat.patch
|
||||
|
||||
types:
|
||||
runpath:
|
||||
ignore:
|
||||
- /usr/src/kernel/*
|
||||
- /usr/libexec/kselftests/bpf/urandom_read
|
||||
- /usr/libexec/kselftests/bpf/no_alu32/urandom_read
|
||||
- /usr/libexec/kselftests/bpf/cpuv4/urandom_read
|
||||
|
||||
debuginfo:
|
||||
ignore:
|
||||
- /usr/libexec/kselftests/bpf/*
|
||||
- /usr/lib/debug/usr/libexec/perf-core/tests/shell/coresight/*
|
||||
|
||||
elf:
|
||||
ignore:
|
||||
- /usr/libexec/perf-core/tests/shell/coresight/*
|
||||
- /usr/lib/debug/usr/libexec/perf-core/tests/shell/coresight/*
|
||||
|
||||
@ -1,41 +0,0 @@
|
||||
#include <generated/autoconf.h>
|
||||
#include <generated/asm-offsets.h>
|
||||
#include <linux/rh_kabi.h>
|
||||
int main(void)
|
||||
{
|
||||
RH_KABI_ASSERT_EQ_CONST(728, MM_CONTEXT_ID); /* offsetof(struct mm_struct, context.id.counter) */
|
||||
RH_KABI_ASSERT_EQ_CONST(320, S_FRAME_SIZE); /* sizeof(struct pt_regs) */
|
||||
RH_KABI_ASSERT_EQ_CONST(240, S_LR); /* offsetof(struct pt_regs, regs[30]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(288, S_ORIG_ADDR_LIMIT); /* offsetof(struct pt_regs, orig_addr_limit) */
|
||||
RH_KABI_ASSERT_EQ_CONST(256, S_PC); /* offsetof(struct pt_regs, pc) */
|
||||
RH_KABI_ASSERT_EQ_CONST(296, S_PMR_SAVE); /* offsetof(struct pt_regs, pmr_save) */
|
||||
RH_KABI_ASSERT_EQ_CONST(264, S_PSTATE); /* offsetof(struct pt_regs, pstate) */
|
||||
RH_KABI_ASSERT_EQ_CONST(248, S_SP); /* offsetof(struct pt_regs, sp) */
|
||||
RH_KABI_ASSERT_EQ_CONST(304, S_STACKFRAME); /* offsetof(struct pt_regs, stackframe) */
|
||||
RH_KABI_ASSERT_EQ_CONST(280, S_SYSCALLNO); /* offsetof(struct pt_regs, syscallno) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, S_X0); /* offsetof(struct pt_regs, regs[0]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(80, S_X10); /* offsetof(struct pt_regs, regs[10]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(96, S_X12); /* offsetof(struct pt_regs, regs[12]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(112, S_X14); /* offsetof(struct pt_regs, regs[14]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(128, S_X16); /* offsetof(struct pt_regs, regs[16]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(144, S_X18); /* offsetof(struct pt_regs, regs[18]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(160, S_X20); /* offsetof(struct pt_regs, regs[20]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(16, S_X2); /* offsetof(struct pt_regs, regs[2]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(176, S_X22); /* offsetof(struct pt_regs, regs[22]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(192, S_X24); /* offsetof(struct pt_regs, regs[24]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(208, S_X26); /* offsetof(struct pt_regs, regs[26]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(224, S_X28); /* offsetof(struct pt_regs, regs[28]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(32, S_X4); /* offsetof(struct pt_regs, regs[4]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(48, S_X6); /* offsetof(struct pt_regs, regs[6]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(64, S_X8); /* offsetof(struct pt_regs, regs[8]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(3344, THREAD_CPU_CONTEXT); /* offsetof(struct task_struct, thread.cpu_context) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1688, TSK_ACTIVE_MM); /* offsetof(struct task_struct, active_mm) */
|
||||
RH_KABI_ASSERT_EQ_CONST(32, TSK_STACK); /* offsetof(struct task_struct, stack) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1864, TSK_STACK_CANARY); /* offsetof(struct task_struct, stack_canary) */
|
||||
RH_KABI_ASSERT_EQ_CONST(8, TSK_TI_ADDR_LIMIT); /* offsetof(struct task_struct, thread_info.addr_limit) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, TSK_TI_FLAGS); /* offsetof(struct task_struct, thread_info.flags) */
|
||||
RH_KABI_ASSERT_EQ_CONST(16, TSK_TI_PREEMPT); /* offsetof(struct task_struct, thread_info.preempt_count) */
|
||||
RH_KABI_ASSERT_EQ_CONST(80, VMA_VM_FLAGS); /* offsetof(struct vm_area_struct, vm_flags) */
|
||||
RH_KABI_ASSERT_EQ_CONST(64, VMA_VM_MM); /* offsetof(struct vm_area_struct, vm_mm) */
|
||||
return 0;
|
||||
}
|
||||
@ -1,79 +0,0 @@
|
||||
#include <generated/autoconf.h>
|
||||
#include <generated/asm-offsets.h>
|
||||
#include <linux/rh_kabi.h>
|
||||
int main(void)
|
||||
{
|
||||
RH_KABI_ASSERT_EQ_CONST(24, BUG_ENTRY_SIZE); /* sizeof(struct bug_entry) */
|
||||
RH_KABI_ASSERT_EQ_CONST(416, _CCR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, ccr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(392, _CTR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, ctr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(440, _DAR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, dar) */
|
||||
RH_KABI_ASSERT_EQ_CONST(448, _DSISR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, dsisr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(512, FPSTATE_FPSCR); /* offsetof(struct thread_fp_state, fpscr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(112, GPR0); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[0]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(192, GPR10); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[10]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(200, GPR11); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[11]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(120, GPR1); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[1]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(208, GPR12); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[12]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(216, GPR13); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[13]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(128, GPR2); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[2]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(136, GPR3); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[3]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(144, GPR4); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[4]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(152, GPR5); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[5]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(160, GPR6); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[6]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(168, GPR7); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[7]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(176, GPR8); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[8]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(184, GPR9); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[9]) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, KSP); /* offsetof(struct thread_struct, ksp) */
|
||||
RH_KABI_ASSERT_EQ_CONST(8, KSP_VSID); /* offsetof(struct thread_struct, ksp_vsid) */
|
||||
RH_KABI_ASSERT_EQ_CONST(400, _LINK); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, link) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1488, MM); /* offsetof(struct task_struct, mm) */
|
||||
RH_KABI_ASSERT_EQ_CONST(920, MMCONTEXTID); /* offsetof(struct mm_struct, context.id) */
|
||||
RH_KABI_ASSERT_EQ_CONST(376, _MSR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, msr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(368, _NIP); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, nip) */
|
||||
RH_KABI_ASSERT_EQ_CONST(384, ORIG_GPR3); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, orig_gpr3) */
|
||||
RH_KABI_ASSERT_EQ_CONST(3328, PACA_CANARY); /* offsetof(struct paca_struct, canary) */
|
||||
RH_KABI_ASSERT_EQ_CONST(464, _PPR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, ppr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1240, PT_CKPT_REGS); /* offsetof(struct thread_struct, ckpt_regs) */
|
||||
RH_KABI_ASSERT_EQ_CONST(16, PT_REGS); /* offsetof(struct thread_struct, regs) */
|
||||
RH_KABI_ASSERT_EQ_CONST(456, RESULT); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, result) */
|
||||
RH_KABI_ASSERT_EQ_CONST(424, SOFTE); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, softe) */
|
||||
RH_KABI_ASSERT_EQ_CONST(480, SWITCH_FRAME_SIZE); /* STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1768, TASK_CANARY); /* offsetof(struct task_struct, stack_canary) */
|
||||
RH_KABI_ASSERT_EQ_CONST(3168, THREAD); /* offsetof(struct task_struct, thread) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1632, THREAD_CKFPSTATE); /* offsetof(struct thread_struct, ckfp_state.fpr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(2688, THREAD_CKVRSAVE); /* offsetof(struct thread_struct, ckvrsave) */
|
||||
RH_KABI_ASSERT_EQ_CONST(2160, THREAD_CKVRSTATE); /* offsetof(struct thread_struct, ckvr_state.vr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(568, THREAD_FPEXC_MODE); /* offsetof(struct thread_struct, fpexc_mode) */
|
||||
RH_KABI_ASSERT_EQ_CONST(560, THREAD_FPSAVEAREA); /* offsetof(struct thread_struct, fp_save_area) */
|
||||
RH_KABI_ASSERT_EQ_CONST(32, THREAD_FPSTATE); /* offsetof(struct thread_struct, fp_state.fpr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(648, THREAD_LOAD_FP); /* offsetof(struct thread_struct, load_fp) */
|
||||
RH_KABI_ASSERT_EQ_CONST(649, THREAD_LOAD_VEC); /* offsetof(struct thread_struct, load_vec) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1624, THREAD_TM_DSCR); /* offsetof(struct thread_struct, tm_dscr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1616, THREAD_TM_PPR); /* offsetof(struct thread_struct, tm_ppr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1608, THREAD_TM_TAR); /* offsetof(struct thread_struct, tm_tar) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1224, THREAD_TM_TEXASR); /* offsetof(struct thread_struct, tm_texasr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1216, THREAD_TM_TFHAR); /* offsetof(struct thread_struct, tm_tfhar) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1232, THREAD_TM_TFIAR); /* offsetof(struct thread_struct, tm_tfiar) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1200, THREAD_USED_VR); /* offsetof(struct thread_struct, used_vr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1204, THREAD_USED_VSR); /* offsetof(struct thread_struct, used_vsr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1192, THREAD_VRSAVE); /* offsetof(struct thread_struct, vrsave) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1184, THREAD_VRSAVEAREA); /* offsetof(struct thread_struct, vr_save_area) */
|
||||
RH_KABI_ASSERT_EQ_CONST(656, THREAD_VRSTATE); /* offsetof(struct thread_struct, vr_state.vr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(8, TI_CPU); /* offsetof(struct thread_info, cpu) */
|
||||
RH_KABI_ASSERT_EQ_CONST(128, TI_FLAGS); /* offsetof(struct thread_info, flags) */
|
||||
RH_KABI_ASSERT_EQ_CONST(24, TI_livepatch_sp); /* offsetof(struct thread_info, livepatch_sp) */
|
||||
RH_KABI_ASSERT_EQ_CONST(16, TI_LOCAL_FLAGS); /* offsetof(struct thread_info, local_flags) */
|
||||
RH_KABI_ASSERT_EQ_CONST(12, TI_PREEMPT); /* offsetof(struct thread_info, preempt_count) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, TI_TASK); /* offsetof(struct thread_info, task) */
|
||||
RH_KABI_ASSERT_EQ_CONST(496, TM_FRAME_SIZE); /* STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16 */
|
||||
RH_KABI_ASSERT_EQ_CONST(432, _TRAP); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, trap) */
|
||||
RH_KABI_ASSERT_EQ_CONST(4, TSPC32_TV_NSEC); /* offsetof(struct compat_timespec, tv_nsec) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, TSPC32_TV_SEC); /* offsetof(struct compat_timespec, tv_sec) */
|
||||
RH_KABI_ASSERT_EQ_CONST(8, TSPC64_TV_NSEC); /* offsetof(struct timespec, tv_nsec) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, TSPC64_TV_SEC); /* offsetof(struct timespec, tv_sec) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, TVAL64_TV_SEC); /* offsetof(struct timeval, tv_sec) */
|
||||
RH_KABI_ASSERT_EQ_CONST(8, TVAL64_TV_USEC); /* offsetof(struct timeval, tv_usec) */
|
||||
RH_KABI_ASSERT_EQ_CONST(512, VRSTATE_VSCR); /* offsetof(struct thread_vr_state, vscr) */
|
||||
RH_KABI_ASSERT_EQ_CONST(408, _XER); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, xer) */
|
||||
return 0;
|
||||
}
|
||||
@ -1,29 +0,0 @@
|
||||
#include <generated/autoconf.h>
|
||||
#include <generated/asm-offsets.h>
|
||||
#include <linux/rh_kabi.h>
|
||||
int main(void)
|
||||
{
|
||||
RH_KABI_ASSERT_EQ_CONST(0, __PT_ARGS); /* offsetof(struct pt_regs, args) */
|
||||
RH_KABI_ASSERT_EQ_CONST(176, __PT_FLAGS); /* offsetof(struct pt_regs, flags) */
|
||||
RH_KABI_ASSERT_EQ_CONST(24, __PT_GPRS); /* offsetof(struct pt_regs, gprs) */
|
||||
RH_KABI_ASSERT_EQ_CONST(160, __PT_INT_CODE); /* offsetof(struct pt_regs, int_code) */
|
||||
RH_KABI_ASSERT_EQ_CONST(164, __PT_INT_PARM); /* offsetof(struct pt_regs, int_parm) */
|
||||
RH_KABI_ASSERT_EQ_CONST(168, __PT_INT_PARM_LONG); /* offsetof(struct pt_regs, int_parm_long) */
|
||||
RH_KABI_ASSERT_EQ_CONST(152, __PT_ORIG_GPR2); /* offsetof(struct pt_regs, orig_gpr2) */
|
||||
RH_KABI_ASSERT_EQ_CONST(8, __PT_PSW); /* offsetof(struct pt_regs, psw) */
|
||||
RH_KABI_ASSERT_EQ_CONST(184, __PT_SIZE); /* sizeof(struct pt_regs) */
|
||||
RH_KABI_ASSERT_EQ_CONST(1984, __TASK_pid); /* offsetof(struct task_struct, pid) */
|
||||
RH_KABI_ASSERT_EQ_CONST(16, __TASK_stack); /* offsetof(struct task_struct, stack) */
|
||||
RH_KABI_ASSERT_EQ_CONST(3256, __TASK_thread); /* offsetof(struct task_struct, thread) */
|
||||
RH_KABI_ASSERT_EQ_CONST(560, __THREAD_FPU_fpc); /* offsetof(struct thread_struct, fpu.fpc) */
|
||||
RH_KABI_ASSERT_EQ_CONST(568, __THREAD_FPU_regs); /* offsetof(struct thread_struct, fpu.regs) */
|
||||
RH_KABI_ASSERT_EQ_CONST(64, __THREAD_ksp); /* offsetof(struct thread_struct, ksp) */
|
||||
RH_KABI_ASSERT_EQ_CONST(216, __THREAD_last_break); /* offsetof(struct thread_struct, last_break) */
|
||||
RH_KABI_ASSERT_EQ_CONST(184, __THREAD_per_address); /* offsetof(struct thread_struct, per_event.address) */
|
||||
RH_KABI_ASSERT_EQ_CONST(176, __THREAD_per_cause); /* offsetof(struct thread_struct, per_event.cause) */
|
||||
RH_KABI_ASSERT_EQ_CONST(192, __THREAD_per_paid); /* offsetof(struct thread_struct, per_event.paid) */
|
||||
RH_KABI_ASSERT_EQ_CONST(112, __THREAD_sysc_table); /* offsetof(struct thread_struct, sys_call_table) */
|
||||
RH_KABI_ASSERT_EQ_CONST(272, __THREAD_trap_tdb); /* offsetof(struct thread_struct, trap_tdb) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, __TI_flags); /* offsetof(struct task_struct, thread_info.flags) */
|
||||
return 0;
|
||||
}
|
||||
@ -1,37 +0,0 @@
|
||||
#include <generated/autoconf.h>
|
||||
#include <generated/asm-offsets.h>
|
||||
#include <linux/rh_kabi.h>
|
||||
int main(void)
|
||||
{
|
||||
RH_KABI_ASSERT_EQ_CONST(64, crypto_tfm_ctx_offset); /* offsetof(struct crypto_tfm, __crt_ctx) */
|
||||
RH_KABI_ASSERT_EQ_CONST(24, PARAVIRT_PATCH_pv_cpu_ops); /* offsetof(struct paravirt_patch_template, pv_cpu_ops) */
|
||||
RH_KABI_ASSERT_EQ_CONST(296, PARAVIRT_PATCH_pv_irq_ops); /* offsetof(struct paravirt_patch_template, pv_irq_ops) */
|
||||
RH_KABI_ASSERT_EQ_CONST(32, pt_regs_bp); /* offsetof(struct pt_regs, bp) */
|
||||
RH_KABI_ASSERT_EQ_CONST(40, pt_regs_bx); /* offsetof(struct pt_regs, bx) */
|
||||
RH_KABI_ASSERT_EQ_CONST(88, pt_regs_cx); /* offsetof(struct pt_regs, cx) */
|
||||
RH_KABI_ASSERT_EQ_CONST(112, pt_regs_di); /* offsetof(struct pt_regs, di) */
|
||||
RH_KABI_ASSERT_EQ_CONST(96, pt_regs_dx); /* offsetof(struct pt_regs, dx) */
|
||||
RH_KABI_ASSERT_EQ_CONST(144, pt_regs_flags); /* offsetof(struct pt_regs, flags) */
|
||||
RH_KABI_ASSERT_EQ_CONST(56, pt_regs_r10); /* offsetof(struct pt_regs, r10) */
|
||||
RH_KABI_ASSERT_EQ_CONST(48, pt_regs_r11); /* offsetof(struct pt_regs, r11) */
|
||||
RH_KABI_ASSERT_EQ_CONST(24, pt_regs_r12); /* offsetof(struct pt_regs, r12) */
|
||||
RH_KABI_ASSERT_EQ_CONST(16, pt_regs_r13); /* offsetof(struct pt_regs, r13) */
|
||||
RH_KABI_ASSERT_EQ_CONST(8, pt_regs_r14); /* offsetof(struct pt_regs, r14) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, pt_regs_r15); /* offsetof(struct pt_regs, r15) */
|
||||
RH_KABI_ASSERT_EQ_CONST(72, pt_regs_r8); /* offsetof(struct pt_regs, r8) */
|
||||
RH_KABI_ASSERT_EQ_CONST(64, pt_regs_r9); /* offsetof(struct pt_regs, r9) */
|
||||
RH_KABI_ASSERT_EQ_CONST(104, pt_regs_si); /* offsetof(struct pt_regs, si) */
|
||||
RH_KABI_ASSERT_EQ_CONST(168, PTREGS_SIZE); /* sizeof(struct pt_regs) */
|
||||
RH_KABI_ASSERT_EQ_CONST(152, pt_regs_sp); /* offsetof(struct pt_regs, sp) */
|
||||
RH_KABI_ASSERT_EQ_CONST(240, PV_CPU_iret); /* offsetof(struct pv_cpu_ops, iret) */
|
||||
RH_KABI_ASSERT_EQ_CONST(248, PV_CPU_swapgs); /* offsetof(struct pv_cpu_ops, swapgs) */
|
||||
RH_KABI_ASSERT_EQ_CONST(232, PV_CPU_usergs_sysret64); /* offsetof(struct pv_cpu_ops, usergs_sysret64) */
|
||||
RH_KABI_ASSERT_EQ_CONST(16, PV_IRQ_irq_disable); /* offsetof(struct pv_irq_ops, irq_disable) */
|
||||
RH_KABI_ASSERT_EQ_CONST(24, PV_IRQ_irq_enable); /* offsetof(struct pv_irq_ops, irq_enable) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, PV_MMU_read_cr2); /* offsetof(struct pv_mmu_ops, read_cr2) */
|
||||
RH_KABI_ASSERT_EQ_CONST(5144, TASK_addr_limit); /* offsetof(struct task_struct, thread.addr_limit) */
|
||||
RH_KABI_ASSERT_EQ_CONST(2312, TASK_stack_canary); /* offsetof(struct task_struct, stack_canary) */
|
||||
RH_KABI_ASSERT_EQ_CONST(5016, TASK_threadsp); /* offsetof(struct task_struct, thread.sp) */
|
||||
RH_KABI_ASSERT_EQ_CONST(0, TASK_TI_flags); /* offsetof(struct task_struct, thread_info.flags) */
|
||||
return 0;
|
||||
}
|
||||
48
SOURCES/uki_addons.json
Normal file
48
SOURCES/uki_addons.json
Normal file
@ -0,0 +1,48 @@
|
||||
{
|
||||
"common": {
|
||||
"crashkernel-1536M.addon": [
|
||||
"crashkernel=1536M\n"
|
||||
],
|
||||
"crashkernel-192M.addon": [
|
||||
"crashkernel=192M\n"
|
||||
],
|
||||
"crashkernel-1G.addon": [
|
||||
"crashkernel=1G\n"
|
||||
],
|
||||
"crashkernel-256M.addon": [
|
||||
"crashkernel=256M\n"
|
||||
],
|
||||
"crashkernel-2G.addon": [
|
||||
"crashkernel=2G\n"
|
||||
],
|
||||
"crashkernel-512M.addon": [
|
||||
"crashkernel=512M\n"
|
||||
],
|
||||
"crashkernel-default.addon": [
|
||||
"crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M\n"
|
||||
],
|
||||
"debug.addon": [
|
||||
"debug\n"
|
||||
],
|
||||
"systemd-volatile-overlay.addon": [
|
||||
"systemd.volatile=overlay"
|
||||
]
|
||||
},
|
||||
"virt": {
|
||||
"common": {
|
||||
"fips-disable.addon": [
|
||||
"fips=0\n"
|
||||
],
|
||||
"fips-enable.addon": [
|
||||
"fips=1\n"
|
||||
]
|
||||
},
|
||||
"rhel": {
|
||||
"aarch64": {
|
||||
"crashkernel-default.addon": [
|
||||
"crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M\n"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
136
SOURCES/uki_create_addons.py
Executable file
136
SOURCES/uki_create_addons.py
Executable file
@ -0,0 +1,136 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# This script inspects a given json proving a list of addons, and
|
||||
# creates an addon for each key/value pair matching the given uki, distro and
|
||||
# arch provided in input.
|
||||
#
|
||||
# Usage: python uki_create_addons.py input_json out_dir uki distro arch [sbat]
|
||||
#
|
||||
# This tool requires the systemd-ukify and systemd-boot packages.
|
||||
#
|
||||
# Addon file
|
||||
#-----------
|
||||
# Each addon terminates with .addon
|
||||
# Each addon contains only two types of lines:
|
||||
# Lines beginning with '#' are description and thus ignored
|
||||
# All other lines are command line to be added.
|
||||
# The name of the end resulting addon is taken from the json hierarchy.
|
||||
# For example, and addon in json['virt']['rhel']['x86_64']['hello.addon'] will
|
||||
# result in an UKI addon file generated in out_dir called
|
||||
# hello-virt.rhel.x86_64.addon.efi
|
||||
#
|
||||
# The common key, present in any sub-dict in the provided json (except the leaf dict)
|
||||
# is used as place for default addons when the same addon is not defined deep
|
||||
# in the hierarchy. For example, if we define test.addon (text: 'test1\n') in
|
||||
# json['common']['test.addon'] = ['test1\n'] and another test.addon (text: test2) in
|
||||
# json['virt']['common']['test.addon'] = ['test2'], any other uki except virt
|
||||
# will have a test.addon.efi with text "test1", and virt will have a
|
||||
# test.addon.efi with "test2"
|
||||
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import collections
|
||||
import subprocess
|
||||
|
||||
|
||||
UKIFY_PATH = '/usr/lib/systemd/ukify'
|
||||
|
||||
def usage(err):
|
||||
print(f'Usage: {os.path.basename(__file__)} input_json output_dir uki distro arch [sbat]')
|
||||
print(f'Error:{err}')
|
||||
sys.exit(1)
|
||||
|
||||
def check_clean_arguments(input_json, out_dir):
|
||||
# Remove end '/'
|
||||
if out_dir[-1:] == '/':
|
||||
out_dir = out_dir[:-1]
|
||||
if not os.path.isfile(input_json):
|
||||
usage(f'input_json {input_json} is not a file, or does not exist!')
|
||||
if not os.path.isdir(out_dir):
|
||||
usage(f'out_dir_dir {out_dir} is not a dir, or does not exist!')
|
||||
return out_dir
|
||||
|
||||
UKICmdlineAddon = collections.namedtuple('UKICmdlineAddon', ['name', 'cmdline'])
|
||||
uki_addons_list = []
|
||||
uki_addons = {}
|
||||
|
||||
def parse_lines(lines):
|
||||
cmdline = ''
|
||||
for l in lines:
|
||||
l = l.lstrip()
|
||||
if not l:
|
||||
continue
|
||||
if l[0] == '#':
|
||||
continue
|
||||
cmdline += l.rstrip() + ' '
|
||||
if cmdline == '':
|
||||
return ''
|
||||
return cmdline
|
||||
|
||||
def parse_all_addons(in_obj):
|
||||
for el in in_obj.keys():
|
||||
# addon found: copy it in our global dict uki_addons
|
||||
if el.endswith('.addon'):
|
||||
uki_addons[el] = in_obj[el]
|
||||
|
||||
def recursively_find_addons(in_obj, folder_list):
|
||||
# end of recursion, leaf directory. Search all addons here
|
||||
if len(folder_list) == 0:
|
||||
parse_all_addons(in_obj)
|
||||
return
|
||||
|
||||
# first, check for common folder
|
||||
if 'common' in in_obj:
|
||||
parse_all_addons(in_obj['common'])
|
||||
|
||||
# second, check if there is a match with the searched folder
|
||||
if folder_list[0] in in_obj:
|
||||
folder_next = in_obj[folder_list[0]]
|
||||
folder_list = folder_list[1:]
|
||||
recursively_find_addons(folder_next, folder_list)
|
||||
|
||||
def parse_in_json(in_json, uki_name, distro, arch):
|
||||
with open(in_json, 'r') as f:
|
||||
in_obj = json.load(f)
|
||||
recursively_find_addons(in_obj, [uki_name, distro, arch])
|
||||
|
||||
for addon_name, cmdline in uki_addons.items():
|
||||
addon_name = addon_name.replace(".addon","")
|
||||
addon_full_name = f'{addon_name}-{uki_name}.{distro}.{arch}.addon.efi'
|
||||
cmdline = parse_lines(cmdline).rstrip()
|
||||
if cmdline:
|
||||
uki_addons_list.append(UKICmdlineAddon(addon_full_name, cmdline))
|
||||
|
||||
def create_addons(out_dir, sbat):
|
||||
for uki_addon in uki_addons_list:
|
||||
out_path = os.path.join(out_dir, uki_addon.name)
|
||||
cmd = [
|
||||
f'{UKIFY_PATH}', 'build',
|
||||
'--cmdline', uki_addon.cmdline,
|
||||
'--output', out_path]
|
||||
if sbat:
|
||||
cmd.extend(['--sbat', sbat.rstrip()])
|
||||
|
||||
subprocess.check_call(cmd, text=True)
|
||||
|
||||
if __name__ == "__main__":
|
||||
argc = len(sys.argv) - 1
|
||||
if argc < 5 or argc > 6:
|
||||
usage('too few or too many parameters!')
|
||||
|
||||
input_json = sys.argv[1]
|
||||
out_dir = sys.argv[2]
|
||||
uki_name = sys.argv[3]
|
||||
distro = sys.argv[4]
|
||||
arch = sys.argv[5]
|
||||
|
||||
custom_sbat = None
|
||||
if argc == 6:
|
||||
custom_sbat = sys.argv[6]
|
||||
|
||||
out_dir = check_clean_arguments(input_json, out_dir)
|
||||
parse_in_json(input_json, uki_name, distro, arch)
|
||||
create_addons(out_dir, custom_sbat)
|
||||
|
||||
|
||||
12
SOURCES/update_scripts.sh
Executable file
12
SOURCES/update_scripts.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TARGET="$1"
|
||||
|
||||
for i in "$RPM_SOURCE_DIR"/*."$TARGET"; do
|
||||
NEW=${i%."$TARGET"}
|
||||
cp "$i" "$(basename "$NEW")"
|
||||
done
|
||||
@ -5,9 +5,9 @@ prompt = no
|
||||
x509_extensions = myexts
|
||||
|
||||
[ req_distinguished_name ]
|
||||
O = Red Hat
|
||||
CN = Red Hat Enterprise Linux kernel signing key
|
||||
emailAddress = secalert@redhat.com
|
||||
O = AlmaLinux
|
||||
CN = AlmaLinux kernel signing key
|
||||
emailAddress = security@almalinux.org
|
||||
|
||||
[ myexts ]
|
||||
basicConstraints=critical,CA:FALSE
|
||||
16
SOURCES/x509.genkey.rhel
Normal file
16
SOURCES/x509.genkey.rhel
Normal file
@ -0,0 +1,16 @@
|
||||
[ req ]
|
||||
default_bits = 3072
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
x509_extensions = myexts
|
||||
|
||||
[ req_distinguished_name ]
|
||||
O = AlmaLinux
|
||||
CN = AlmaLinux kernel signing key
|
||||
emailAddress = security@almalinux.org
|
||||
|
||||
[ myexts ]
|
||||
basicConstraints=critical,CA:FALSE
|
||||
keyUsage=digitalSignature
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid
|
||||
139711
SPECS/kernel.spec
139711
SPECS/kernel.spec
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user