
To keep kernel debian stx aligned with centos stx, porting below commits from centos stx to debian stx: (1)patches related ef3c9a4 kernel: Add auxiliary bus support 19ca0df kernel: Backport IRQ affinity patches a10b746 workqueue affinity: Remove unused variable 8fde1a8 kthread_cpus: Avoid large stack allocation bb6ec66 scsi: Make the disk detection order more consistent bf940a8 rcu: Avoid RCU-related unexpected reboot cfe452a workqueue: Affine rescuer threads and unbound wqs (2)config related 6fe8d60 kernel: Disable NVMe multi-path kconfig option c9cdb90 Fixup recent kconfig cleanup 8551799 Resolve v5.10 kernel configuration file differences (3)kernel-modules related 7ded004 kernel-modules: IRQ affinity hint fix-ups Please pay attention to: [ef3c9a4 kernel: Add auxiliary bus support] which is not only related with kernel patches but also related with kernel-modules. It removes the auxiliary.ko from the oot ice package because auxiliary bus device driver is built into kernel. But the detecting of builtin auxiliary driver in intel-iavf/intel-ice oot driver will fail because debian has 2 linux header packages. So extra patches are added for intel-iavf and intel-ice to pass linux common header to check_aux_bus to make builtin auxiliary driver detected. At the same time the patch [check_aux_bus: Look for kernel headers in the right location] for the oot drivers is removed because it isn't needed any more if the right header path is passed. Test Plan: - PASS: Build kernel-std/kernel-rt. - PASS: Build the 7 oot kernel modules for kernel-std/kernel-rt. - PASS: Build the iso for kernel-std and modules and boot up on qemu. - PASS: Build the test iso for kernel-rt and modules and boot up on qemu. Story: 2009221 Task: 44989 Signed-off-by: Li Zhou <li.zhou@windriver.com> Change-Id: Ic7cddc068eab1516800e90bfe431d042274f86d3
50 lines
1.7 KiB
Diff
50 lines
1.7 KiB
Diff
From 7f4d45ef5bfe6dd025b1f7c736d198b9a208cdef Mon Sep 17 00:00:00 2001
|
|
From: Dave Jiang <dave.jiang@intel.com>
|
|
Date: Fri, 4 Dec 2020 09:46:49 -0700
|
|
Subject: [PATCH] driver core: auxiliary bus: Fix auxiliary bus shutdown null
|
|
auxdrv ptr
|
|
|
|
If the probe of the auxdrv failed, the device->driver is set to NULL.
|
|
During kernel shutdown, the bus shutdown will call auxdrv->shutdown and
|
|
cause an invalid ptr dereference. Add check to make sure device->driver is
|
|
not NULL before we proceed.
|
|
|
|
Fixes: 7de3697e9cbd ("Add auxiliary bus support")
|
|
Cc: Dave Ertman <david.m.ertman@intel.com>
|
|
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
|
|
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
|
|
Link: https://lore.kernel.org/r/160710040926.1889434.8840329810698403478.stgit@djiang5-desk3.ch.intel.com
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
(cherry picked from commit 784b2c48ac12dcee27db001fb1a3c58c39380cb6)
|
|
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
|
|
---
|
|
drivers/base/auxiliary.c | 11 ++++++++---
|
|
1 file changed, 8 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/drivers/base/auxiliary.c b/drivers/base/auxiliary.c
|
|
index f303daadf843..8336535f1e11 100644
|
|
--- a/drivers/base/auxiliary.c
|
|
+++ b/drivers/base/auxiliary.c
|
|
@@ -92,10 +92,15 @@ static int auxiliary_bus_remove(struct device *dev)
|
|
|
|
static void auxiliary_bus_shutdown(struct device *dev)
|
|
{
|
|
- struct auxiliary_driver *auxdrv = to_auxiliary_drv(dev->driver);
|
|
- struct auxiliary_device *auxdev = to_auxiliary_dev(dev);
|
|
+ struct auxiliary_driver *auxdrv = NULL;
|
|
+ struct auxiliary_device *auxdev;
|
|
+
|
|
+ if (dev->driver) {
|
|
+ auxdrv = to_auxiliary_drv(dev->driver);
|
|
+ auxdev = to_auxiliary_dev(dev);
|
|
+ }
|
|
|
|
- if (auxdrv->shutdown)
|
|
+ if (auxdrv && auxdrv->shutdown)
|
|
auxdrv->shutdown(auxdev);
|
|
}
|
|
|
|
--
|
|
2.29.2
|
|
|