rebase std kernel patch to CentOS7.6 3.10.0-957.1.3

fix compile error in drbd_req.c for improper usage of
request queue API; fix warning in kernel/bpf/core.c
for implicit declaration trace call for CFLAG
-Werror-implicit-function-declaration

remove patch change is_swiotlb_buffer in lib/swiotlb.c
As change already in new kernel code base

Story: 2004521
Task: 28260
Depends-On: https://review.openstack.org/625773/

Change-Id: I4a3af98b6efe6d31e66db39302f3af8c4ff19d2c
Signed-off-by: Martin, Chen <haochuan.z.chen@intel.com>
This commit is contained in:
Martin, Chen 2018-12-18 12:37:53 +08:00 committed by Shuicheng Lin
parent 1a92bd11e5
commit 794737dac2
22 changed files with 166 additions and 120 deletions

View File

@ -1,4 +1,4 @@
COPY_LIST="files/*"
TIS_PATCH_VER=36
TIS_PATCH_VER=1
BUILD_IS_BIG=11
BUILD_IS_SLOW=12

View File

@ -17,29 +17,29 @@ index 1c3a765..f2499b4 100644
%define dist .el7
-# % define buildid .local
+# This is the WRS patch release
+# This is the STX patch release
+%define buildid .%{tis_patch_ver}.tis
# For a kernel released for public testing, released_kernel should be 1.
# For internal testing builds during development, it should be 0.
@@ -14,12 +15,14 @@ Summary: The Linux kernel
%global distro_build 862
%global distro_build 957
%define rpmversion 3.10.0
-%define pkgrelease 862.11.6.el7
+%define _pkgrelease 862.11.6
-%define pkgrelease 957.1.3.el7
+%define _pkgrelease 957.1.3
+%define pkgrelease %{_pkgrelease}.el7
+
# allow pkg_release to have configurable %%{?dist} tag
%define specrelease 862.11.6%{?dist}
%define specrelease 957.1.3%{?dist}
-%define pkg_release %{specrelease}%{?buildid}
+%define pkg_release %{specrelease}%{buildid}
# The kernel tarball/base version
%define rheltarball %{rpmversion}-%{pkgrelease}
@@ -66,7 +69,7 @@ Summary: The Linux kernel
@@ -68,7 +71,7 @@ Summary: The Linux kernel
%define with_dbgonly %{?_with_dbgonly: 1} %{?!_with_dbgonly: 0}
# Control whether we perform a compat. check against published ABI.
@ -48,7 +48,7 @@ index 1c3a765..f2499b4 100644
# Control whether we perform a compat. check against DUP ABI.
%define with_kabidupchk 1
@@ -89,7 +92,7 @@ Summary: The Linux kernel
@@ -91,7 +94,7 @@ Summary: The Linux kernel
# Set debugbuildsenabled to 1 for production (build separate debug kernels)
# and 0 for rawhide (all kernels are debug kernels).
# See also 'make debug' and 'make release'. RHEL only ever does 1.
@ -57,7 +57,7 @@ index 1c3a765..f2499b4 100644
%define with_gcov %{?_with_gcov: 1} %{?!_with_gcov: 0}
@@ -370,6 +373,7 @@ BuildRequires: bison flex
@@ -385,6 +388,7 @@ BuildRequires: bison flex
# required for zfcpdump
BuildRequires: glibc-static
%endif
@ -65,11 +65,11 @@ index 1c3a765..f2499b4 100644
Source0: linux-%{rpmversion}-%{pkgrelease}.tar.xz
@@ -435,6 +439,12 @@ Patch1000: debrand-single-cpu.patch
@@ -450,6 +454,12 @@ Patch1000: debrand-single-cpu.patch
Patch1001: debrand-rh_taint.patch
Patch1002: debrand-rh-i686-cpu.patch
+# Titanium Cloud sources here.
+# StarlingX Cloud sources here.
+# Not sure if we need to worry about numerical collisions between
+# SourceX and PatchX, so let's not risk it
+Source30000: kernel-3.10.0-x86_64.config.tis_extra
@ -78,9 +78,9 @@ index 1c3a765..f2499b4 100644
BuildRoot: %{_tmppath}/kernel-%{KVRA}-root
%description
@@ -586,6 +596,13 @@ This package provides debug information for package kernel-tools.
@@ -612,6 +622,13 @@ manipulation of eBPF programs and maps.
%endif # with_tools
%endif # with_bpftool
+%ifarch x86_64
+%package unsigned
@ -92,7 +92,7 @@ index 1c3a765..f2499b4 100644
%if %{with_gcov}
%package gcov
Summary: gcov graph and source files for coverage data collection.
@@ -751,6 +768,9 @@ cd linux-%{KVRA}
@@ -777,6 +794,9 @@ cd linux-%{KVRA}
# Drop some necessary files from the source dir into the buildroot
cp $RPM_SOURCE_DIR/kernel-%{version}-*.config .
@ -102,15 +102,15 @@ index 1c3a765..f2499b4 100644
ApplyOptionalPatch linux-kernel-test.patch
ApplyOptionalPatch debrand-single-cpu.patch
ApplyOptionalPatch debrand-rh_taint.patch
@@ -795,6 +815,15 @@ for i in *.config
@@ -821,6 +841,15 @@ for i in *.config
do
mv $i .config
Arch=`head -1 .config | cut -b 3-`
+
+ # Handle Titanium Cloud customizations. Use -n to match oldnoconfig below. We want this before
+ # Handle StarlingX Cloud customizations. Use -n to match oldnoconfig below. We want this before
+ # the make line below so that the one below removes any dependencies of ones that we
+ # turn off here. We also want it before "make listnewconfig" so that we can set the
+ # config option for new configs introduced in the Titanium Cloud patches.
+ # config option for new configs introduced in the StarlingX Cloud patches.
+ if [ -f ${i}.tis_extra ]; then
+ scripts/kconfig/merge_config.sh -m -n .config ${i}.tis_extra
+ fi
@ -118,7 +118,7 @@ index 1c3a765..f2499b4 100644
make %{?cross_opts} ARCH=$Arch listnewconfig | grep -E '^CONFIG_' >.newoptions || true
%if %{listnewconfig_fail}
if [ -s .newoptions ]; then
@@ -868,12 +897,13 @@ BuildKernel() {
@@ -894,12 +923,13 @@ BuildKernel() {
# and now to start the build process
@ -133,7 +133,7 @@ index 1c3a765..f2499b4 100644
cp configs/$Config .config
@@ -888,8 +918,8 @@ BuildKernel() {
@@ -914,8 +944,8 @@ BuildKernel() {
fi
%endif
@ -144,25 +144,25 @@ index 1c3a765..f2499b4 100644
if [ "$Flavour" != "kdump" ]; then
make -s %{?cross_opts} ARCH=$Arch V=1 %{?_smp_mflags} KCFLAGS="%{?kcflags}" WITH_GCOV="%{?with_gcov}" modules %{?sparse_mflags} || exit 1
@@ -913,6 +943,8 @@ BuildKernel() {
@@ -939,6 +969,8 @@ BuildKernel() {
fi
# EFI SecureBoot signing, x86_64-only
%ifarch x86_64
+ cp $KernelImage vmlinuz.unsigned
+ $CopyKernel vmlinuz.unsigned $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz.unsigned
%pesign -s -i $KernelImage -o $KernelImage.signed -a %{SOURCE13} -c %{SOURCE13}
%pesign -s -i $KernelImage -o $KernelImage.signed -a %{SOURCE13} -c %{SOURCE14} -n %{pesign_name}
mv $KernelImage.signed $KernelImage
%endif
@@ -929,7 +961,7 @@ BuildKernel() {
@@ -955,7 +987,7 @@ BuildKernel() {
if [ "$Flavour" != "kdump" ]; then
# Override $(mod-fw) because we don't want it to install any firmware
# we'll get it from the linux-firmware package and we don't want conflicts
- make -s %{?cross_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
+ make -s -j"%(nproc)" %{?cross_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
- make -s %{?cross_opts} %{?_smp_mflags} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
+ make -s -j"%(nproc)" %{?cross_opts} %{?_smp_mflags} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
%if %{with_gcov}
# install gcov-needed files to $BUILDROOT/$BUILD/...:
# gcov_info->filename is absolute path
@@ -939,7 +971,7 @@ BuildKernel() {
@@ -965,7 +997,7 @@ BuildKernel() {
%endif
fi
%ifarch %{vdso_arches}
@ -171,20 +171,20 @@ index 1c3a765..f2499b4 100644
if [ ! -s ldconfig-kernel.conf ]; then
echo > ldconfig-kernel.conf "\
# Placeholder file, no vDSO hwcap entries used in this kernel."
@@ -1148,6 +1180,12 @@ BuildKernel() {
@@ -1174,6 +1206,12 @@ BuildKernel() {
cp signing_key.priv signing_key.priv.sign${Flavour:+.${Flavour}}
cp signing_key.x509 signing_key.x509.sign${Flavour:+.${Flavour}}
+ # WRS: Copy these keys as part of the devel package
+ # STX: Copy these keys as part of the devel package
+ # The Module signing keys are to ensure that only Out-of-tree
+ # built against the Titanium Kernel get signed and loaded sans warnings
+ # built against the StarlingX Kernel get signed and loaded sans warnings
+ cp signing_key.priv ${RPM_BUILD_ROOT}/lib/modules/${KernelVer}/build/
+ cp signing_key.x509 ${RPM_BUILD_ROOT}/lib/modules/${KernelVer}/build/
+
# remove files that will be auto generated by depmod at rpm -i time
for i in alias alias.bin builtin.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap softdep devname
do
@@ -1208,15 +1246,15 @@ make %{?cross_opts} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false
@@ -1234,15 +1272,15 @@ make %{?cross_opts} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false
%endif
%ifarch x86_64
pushd tools/power/x86/x86_energy_perf_policy/
@ -203,7 +203,7 @@ index 1c3a765..f2499b4 100644
popd
%endif
@@ -1487,6 +1525,10 @@ fi}\
@@ -1536,6 +1574,10 @@ fi}\
%{expand:\
%{_sbindir}/new-kernel-pkg --package kernel%{?-v:-%{-v*}} --install %{KVRA}%{?-v:.%{-v*}} || exit $?\
}\
@ -214,7 +214,7 @@ index 1c3a765..f2499b4 100644
%{nil}
#
@@ -1697,6 +1739,11 @@ fi
@@ -1756,6 +1798,11 @@ fi
%kernel_variant_files %{with_debug} debug
%kernel_variant_files %{with_kdump} kdump
@ -224,7 +224,7 @@ index 1c3a765..f2499b4 100644
+%endif
+
%changelog
* Tue Aug 14 2018 CentOS Sources <bugs@centos.org> - 3.10.0-862.11.6.el7
* Mon Nov 26 2018 CentOS Sources <bugs@centos.org> - 3.10.0-957.1.3.el7
- Apply debranding changes
--
2.7.4

View File

@ -5,27 +5,30 @@ Subject: [PATCH 4/5] Compile issues
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
---
SPECS/kernel.spec | 3 +++
1 file changed, 3 insertions(+)
SPECS/kernel.spec | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec
index 01dd989..d45c419 100644
--- a/SPECS/kernel.spec
+++ b/SPECS/kernel.spec
@@ -474,6 +474,8 @@ Patch40024: aic94xx-Skip-reading-user-settings-if-flash-is-not-f.patch
@@ -489,6 +489,10 @@ Patch40024: aic94xx-Skip-reading-user-settings-if-flash-is-not-f.patch
Patch40025: dpt_i2o-fix-build-warning.patch
# DRBD was choking on write same
Patch40026: turn-off-write-same-in-smartqpi-driver.patch
+# Fix assorted compilation issues
+Patch40027: fix-compilation-issues.patch
+# Fix CentOS 7.6 upgrade compile error
+Patch40028: fix-CentOS-7.6-upgrade-compile-error.patch
BuildRoot: %{_tmppath}/kernel-%{KVRA}-root
@@ -833,6 +835,7 @@ ApplyOptionalPatch US103091-IMA-System-Configuration.patch
@@ -859,6 +863,8 @@ ApplyOptionalPatch US103091-IMA-System-Configuration.patch
ApplyOptionalPatch aic94xx-Skip-reading-user-settings-if-flash-is-not-f.patch
ApplyOptionalPatch dpt_i2o-fix-build-warning.patch
ApplyOptionalPatch turn-off-write-same-in-smartqpi-driver.patch
+ApplyOptionalPatch fix-compilation-issues.patch
+ApplyOptionalPatch fix-CentOS-7.6-upgrade-compile-error.patch
# Any further pre-build tree manipulations happen here.

View File

@ -12,11 +12,11 @@ diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec
index eef356a..f1a0092 100644
--- a/SPECS/kernel.spec
+++ b/SPECS/kernel.spec
@@ -445,6 +445,36 @@ Patch1002: debrand-rh-i686-cpu.patch
@@ -460,6 +460,36 @@ Patch1002: debrand-rh-i686-cpu.patch
Source30000: kernel-3.10.0-x86_64.config.tis_extra
Source30001: ima_signing_key.pub
+# Titanium Cloud patches here.
+# StarlingX Cloud patches here.
+Patch40001: Fix-compile-issue-when-transparent-hugepages-are-off.patch
+Patch40002: Notification-of-death-of-arbitrary-processes.patch
+Patch40003: CGTS-3744-route-do-not-cache-fib-route-info-on-local.patch
@ -49,11 +49,11 @@ index eef356a..f1a0092 100644
BuildRoot: %{_tmppath}/kernel-%{KVRA}-root
%description
@@ -776,6 +806,34 @@ ApplyOptionalPatch debrand-single-cpu.patch
@@ -802,6 +832,34 @@ ApplyOptionalPatch debrand-single-cpu.patch
ApplyOptionalPatch debrand-rh_taint.patch
ApplyOptionalPatch debrand-rh-i686-cpu.patch
+# Titanium Cloud patches here.
+# StarlingX Cloud patches here.
+ApplyOptionalPatch Fix-compile-issue-when-transparent-hugepages-are-off.patch
+ApplyOptionalPatch Notification-of-death-of-arbitrary-processes.patch
+ApplyOptionalPatch CGTS-3744-route-do-not-cache-fib-route-info-on-local.patch

View File

@ -32,7 +32,7 @@ diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index e639145..be46349 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -366,6 +366,13 @@ setup_affinity(unsigned int irq, struct irq_desc *desc, struct cpumask *mask)
@@ -372,6 +372,13 @@ setup_affinity(unsigned int irq, struct irq_desc *desc, struct cpumask *mask)
if (cpumask_intersects(mask, nodemask))
cpumask_and(mask, mask, nodemask);
}
@ -50,7 +50,7 @@ diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 179cbb2..9524a6f 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -5424,6 +5424,8 @@ static int __init init_workqueues(void)
@@ -5441,6 +5441,8 @@ static int __init init_workqueues(void)
BUG_ON(!(attrs = alloc_workqueue_attrs(GFP_KERNEL)));
attrs->nice = std_nice[i];
@ -59,7 +59,7 @@ index 179cbb2..9524a6f 100644
unbound_std_wq_attrs[i] = attrs;
/*
@@ -5434,6 +5436,8 @@ static int __init init_workqueues(void)
@@ -5451,6 +5453,8 @@ static int __init init_workqueues(void)
BUG_ON(!(attrs = alloc_workqueue_attrs(GFP_KERNEL)));
attrs->nice = std_nice[i];
attrs->no_numa = true;

View File

@ -35,7 +35,7 @@ diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index f19aca2..5246096 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -2057,6 +2057,17 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
@@ -2121,6 +2121,17 @@ static struct rtable *__mkroute_output(const struct fib_result *res,
*/
if (fi && res->prefixlen < 4)
fi = NULL;

View File

@ -39,15 +39,15 @@ diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
index 65e786d..91d620f 100644
--- a/drivers/base/cpu.c
+++ b/drivers/base/cpu.c
@@ -16,6 +16,7 @@
@@ -15,6 +15,7 @@
#include <linux/percpu.h>
#include <linux/acpi.h>
#include <linux/tick.h>
#include <linux/nospec.h>
+#include <linux/pm_qos.h>
#include "base.h"
@@ -319,6 +320,7 @@ int register_cpu(struct cpu *cpu, int num)
@@ -318,6 +319,7 @@ int register_cpu(struct cpu *cpu, int num)
per_cpu(cpu_sys_devices, num) = &cpu->dev;
if (!error)
register_cpu_under_node(num, cpu_to_node(num));

View File

@ -13,7 +13,7 @@ diff --git a/mm/swap.c b/mm/swap.c
index 0982a35..6dcf38c 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -998,8 +998,10 @@ void release_pages(struct page **pages, int nr, bool cold)
@@ -1040,8 +1040,10 @@ void release_pages(struct page **pages, int nr, bool cold)
if (!put_page_testzero(page))
continue;

View File

@ -23,7 +23,7 @@ index 92d6c59..238c90d 100644
set_bit(i, inuse);
}
+ /* WRS extension, want kernel to start at eth1000 */
+ /* STX extension, want kernel to start at eth1000 */
+ if (strcmp(name, "eth%d") == 0) {
+ for (i=0; i < 1000; i++)
+ set_bit(i, inuse);

View File

@ -65,7 +65,7 @@ diff --git a/include/linux/sched.h b/include/linux/sched.h
index d184652..ba6ae5c 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1631,6 +1631,12 @@ struct task_struct {
@@ -1649,6 +1649,12 @@ struct task_struct {
short il_next;
short pref_node_fork;
#endif
@ -111,7 +111,7 @@ diff --git a/init/Kconfig b/init/Kconfig
index 6ec689c..550cea4 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1538,6 +1538,21 @@ config VM_EVENT_COUNTERS
@@ -1580,6 +1580,21 @@ config VM_EVENT_COUNTERS
on EXPERT systems. /proc/vmstat will only show page counts
if VM event counters are disabled.
@ -137,10 +137,10 @@ diff --git a/kernel/Makefile b/kernel/Makefile
index 2fb90fa..44a82c1 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -112,6 +112,7 @@ obj-$(CONFIG_RING_BUFFER) += trace/
obj-$(CONFIG_TRACEPOINTS) += trace/
@@ -113,6 +113,7 @@ obj-$(CONFIG_TRACEPOINTS) += trace/
obj-$(CONFIG_IRQ_WORK) += irq_work.o
obj-$(CONFIG_CPU_PM) += cpu_pm.o
obj-$(CONFIG_BPF) += bpf/
+obj-$(CONFIG_SIGEXIT) += death_notify.o
obj-$(CONFIG_PERF_EVENTS) += events/
@ -457,7 +457,7 @@ diff --git a/kernel/fork.c b/kernel/fork.c
index c75422b..30dee92 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1471,6 +1471,10 @@ static struct task_struct *copy_process(unsigned long clone_flags,
@@ -1477,6 +1477,10 @@ static struct task_struct *copy_process(unsigned long clone_flags,
p->sequential_io = 0;
p->sequential_io_avg = 0;
#endif
@ -472,7 +472,7 @@ diff --git a/kernel/signal.c b/kernel/signal.c
index 35133a7..3f72ac0 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -47,6 +47,9 @@
@@ -46,6 +46,9 @@
#include <asm/siginfo.h>
#include <asm/cacheflush.h>
#include "audit.h" /* audit_signal_info() */
@ -482,7 +482,7 @@ index 35133a7..3f72ac0 100644
/*
* SLAB caches for signal bits.
@@ -1744,6 +1747,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
@@ -1740,6 +1743,10 @@ bool do_notify_parent(struct task_struct *tsk, int sig)
__wake_up_parent(tsk, tsk->parent);
spin_unlock_irqrestore(&psig->siglock, flags);
@ -493,7 +493,7 @@ index 35133a7..3f72ac0 100644
return autoreap;
}
@@ -1815,6 +1822,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
@@ -1811,6 +1818,10 @@ static void do_notify_parent_cldstop(struct task_struct *tsk,
*/
__wake_up_parent(tsk, parent);
spin_unlock_irqrestore(&sighand->siglock, flags);

View File

@ -18,7 +18,7 @@ diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 5614e3f..4a0bfed 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -4289,6 +4289,10 @@ static const struct pci_dev_acs_enabled {
@@ -4401,6 +4401,10 @@ static const struct pci_dev_acs_enabled {
/* I219 */
{ PCI_VENDOR_ID_INTEL, 0x15b7, pci_quirk_mf_endpoint_acs },
{ PCI_VENDOR_ID_INTEL, 0x15b8, pci_quirk_mf_endpoint_acs },

View File

@ -47,7 +47,7 @@ This helps in:
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
---
Documentation/ABI/testing/sysfs-devices-system-cpu | 65 ++
arch/x86/kernel/cpu/intel_cacheinfo.c | 830 +++++++--------------
arch/x86/kernel/cpu/cacheinfo.c | 830 +++++++--------------
drivers/base/Makefile | 2 +-
drivers/base/cacheinfo.c | 662 ++++++++++++++++
drivers/base/cpu.c | 54 ++
@ -133,10 +133,10 @@ index ff65f15..7521be8 100644
What: /sys/devices/system/cpu/cpuX/cpufreq/throttle_stats
/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/turbo_stat
/sys/devices/system/cpu/cpuX/cpufreq/throttle_stats/sub_turbo_stat
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c
diff --git a/arch/x86/kernel/cpu/cacheinfo.c b/arch/x86/kernel/cpu/cacheinfo.c
index d529019..bf23bd2 100644
--- a/arch/x86/kernel/cpu/intel_cacheinfo.c
+++ b/arch/x86/kernel/cpu/intel_cacheinfo.c
--- a/arch/x86/kernel/cpu/cacheinfo.c
+++ b/arch/x86/kernel/cpu/cacheinfo.c
@@ -1,5 +1,5 @@
/*
- * Routines to indentify caches on Intel CPU.
@ -499,7 +499,7 @@ index d529019..bf23bd2 100644
return -EIO; /* better error ? */
this_leaf->eax = eax;
@@ -576,14 +631,14 @@ static int find_num_cache_leaves(struct cpuinfo_x86 *c)
@@ -576,7 +631,7 @@ static int find_num_cache_leaves(struct cpuinfo_x86 *c)
/* Do cpuid(op) loop to find out num_cache_leaves */
cpuid_count(op, i, &eax, &ebx, &ecx, &edx);
cache_eax.full = eax;
@ -508,6 +508,7 @@ index d529019..bf23bd2 100644
return i;
}
@@ -622,7 +677,7 @@ void cacheinfo_amd_init_llc_id(struct cpuinfo_x86 *c, int cpu, u8 node_id)
void init_amd_cacheinfo(struct cpuinfo_x86 *c)
{
@ -516,7 +517,7 @@ index d529019..bf23bd2 100644
num_cache_leaves = find_num_cache_leaves(c);
} else if (c->extended_cpuid_level >= 0x80000006) {
if (cpuid_edx(0x80000006) & 0xf000)
@@ -600,7 +655,7 @@ unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c)
@@ -639,7 +694,7 @@ unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c)
unsigned int new_l1d = 0, new_l1i = 0; /* Cache sizes from cpuid(4) */
unsigned int new_l2 = 0, new_l3 = 0, i; /* Cache sizes from cpuid(4) */
unsigned int l2_id = 0, l3_id = 0, num_threads_sharing, index_msb;
@ -525,7 +526,7 @@ index d529019..bf23bd2 100644
unsigned int cpu = c->cpu_index;
#endif
@@ -618,36 +673,34 @@ unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c)
@@ -657,36 +712,34 @@ unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c)
* parameters cpuid leaf to find the cache details
*/
for (i = 0; i < num_cache_leaves; i++) {
@ -587,7 +588,7 @@ index d529019..bf23bd2 100644
}
}
}
@@ -721,34 +774,40 @@ unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c)
@@ -760,34 +813,40 @@ unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c)
if (new_l2) {
l2 = new_l2;
@ -640,7 +641,7 @@ index d529019..bf23bd2 100644
int i, sibling;
/*
@@ -757,40 +816,43 @@ static int cache_shared_amd_cpu_map_setup(unsigned int cpu, int index)
@@ -796,40 +855,43 @@ static int cache_shared_amd_cpu_map_setup(unsigned int cpu, int index)
*/
if (index == 3) {
for_each_cpu(i, cpu_llc_shared_mask(cpu)) {
@ -697,7 +698,7 @@ index d529019..bf23bd2 100644
}
}
} else
@@ -799,72 +861,70 @@ static int cache_shared_amd_cpu_map_setup(unsigned int cpu, int index)
@@ -838,72 +900,70 @@ static int cache_shared_amd_cpu_map_setup(unsigned int cpu, int index)
return 1;
}
@ -814,7 +815,7 @@ index d529019..bf23bd2 100644
}
/*
@@ -886,411 +946,37 @@ static void get_cache_id(int cpu, struct _cpuid4_info_regs *id4_regs)
@@ -925,411 +985,37 @@ static void get_cache_id(int cpu, struct _cpuid4_info_regs *id4_regs)
int get_cpu_cache_id(int cpu, int level)
{
int i;
@ -1931,7 +1932,7 @@ diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
index 290609b..65e786d 100644
--- a/drivers/base/cpu.c
+++ b/drivers/base/cpu.c
@@ -340,6 +340,60 @@ struct device *get_cpu_device(unsigned cpu)
@@ -338,6 +338,60 @@ struct device *get_cpu_device(unsigned cpu)
}
EXPORT_SYMBOL_GPL(get_cpu_device);

View File

@ -31,7 +31,7 @@ diff --git a/fs/namei.c b/fs/namei.c
index 9f90b63..bf91ea0 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -3236,7 +3236,7 @@ opened:
@@ -3225,7 +3225,7 @@ opened:
error = open_check_o_direct(file);
if (error)
goto exit_fput;
@ -44,7 +44,7 @@ diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 00e98c3..cb9250e 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -883,7 +883,7 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
@@ -898,7 +898,7 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, umode_t type,
goto out_nfserr;
}
@ -80,7 +80,7 @@ index eb6f994..2dbaf80 100644
void *i_private; /* fs or device private pointer */
};
@@ -2827,7 +2826,6 @@ static inline bool inode_is_open_for_write(const struct inode *inode)
@@ -2830,7 +2829,6 @@ static inline bool inode_is_open_for_write(const struct inode *inode)
return atomic_read(&inode->i_writecount) > 0;
}
@ -88,7 +88,7 @@ index eb6f994..2dbaf80 100644
static inline void i_readcount_dec(struct inode *inode)
{
BUG_ON(!atomic_read(&inode->i_readcount));
@@ -2837,16 +2835,7 @@ static inline void i_readcount_inc(struct inode *inode)
@@ -2840,16 +2838,7 @@ static inline void i_readcount_inc(struct inode *inode)
{
atomic_inc(&inode->i_readcount);
}
@ -229,7 +229,7 @@ diff --git a/security/security.c b/security/security.c
index f069482..646a0e3 100644
--- a/security/security.c
+++ b/security/security.c
@@ -156,6 +156,110 @@ EXPORT_SYMBOL(unregister_lsm_notifier);
@@ -157,6 +157,110 @@ EXPORT_SYMBOL(unregister_lsm_notifier);
/* Security operations */
@ -340,7 +340,7 @@ index f069482..646a0e3 100644
int security_ptrace_access_check(struct task_struct *child, unsigned int mode)
{
#ifdef CONFIG_SECURITY_YAMA_STACKED
@@ -715,8 +819,11 @@ EXPORT_SYMBOL(security_inode_listsecurity);
@@ -716,8 +820,11 @@ EXPORT_SYMBOL(security_inode_listsecurity);
void security_inode_getsecid(struct inode *inode, u32 *secid)
{
@ -353,7 +353,7 @@ index f069482..646a0e3 100644
int security_inode_copy_up(struct dentry *src, struct cred **new)
{
@@ -1525,6 +1632,7 @@ int security_audit_rule_init(u32 field, u32 op, char *rulestr, void **lsmrule)
@@ -1526,6 +1633,7 @@ int security_audit_rule_init(u32 field, u32 op, char *rulestr, void **lsmrule)
{
return security_ops->audit_rule_init(field, op, rulestr, lsmrule);
}
@ -361,13 +361,14 @@ index f069482..646a0e3 100644
int security_audit_rule_known(struct audit_krule *krule)
{
@@ -1541,5 +1649,6 @@ int security_audit_rule_match(u32 secid, u32 field, u32 op, void *lsmrule,
@@ -1542,6 +1650,7 @@ int security_audit_rule_match(u32 secid, u32 field, u32 op, void *lsmrule,
{
return security_ops->audit_rule_match(secid, field, op, lsmrule, actx);
}
+EXPORT_SYMBOL_GPL(security_audit_rule_match);
#endif /* CONFIG_AUDIT */
--
1.8.3.1

View File

@ -60,7 +60,7 @@ index 44a82c1..000b9a8 100644
obj-$(CONFIG_MODULES) += module.o
obj-$(CONFIG_MODULE_SIG) += module_signing.o
obj-$(CONFIG_MODULE_SIG_UEFI) += modsign_uefi.o
@@ -197,7 +197,45 @@ targets += $(obj)/.x509.list
@@ -199,7 +199,45 @@ targets += $(obj)/.x509.list
$(obj)/.x509.list:
@echo $(X509_CERTIFICATES) >$@

View File

@ -42,7 +42,7 @@ diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-paramete
index 1806170..2f7feb0 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1539,6 +1539,16 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
@@ -1551,6 +1551,16 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
kpti [X86-64] Enable kernel page table isolation.
@ -83,7 +83,7 @@ diff --git a/init/main.c b/init/main.c
index 085c9c5..089f83d 100644
--- a/init/main.c
+++ b/init/main.c
@@ -956,10 +956,6 @@ static noinline void __init kernel_init_freeable(void)
@@ -959,10 +959,6 @@ static noinline void __init kernel_init_freeable(void)
* init can allocate pages on any node
*/
set_mems_allowed(node_states[N_MEMORY]);
@ -94,7 +94,7 @@ index 085c9c5..089f83d 100644
cad_pid = task_pid(current);
@@ -975,6 +971,8 @@ static noinline void __init kernel_init_freeable(void)
@@ -978,6 +974,8 @@ static noinline void __init kernel_init_freeable(void)
do_basic_setup();
@ -107,7 +107,7 @@ diff --git a/kernel/cpu.c b/kernel/cpu.c
index 0d9e250..6c156bd 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -756,6 +756,19 @@ static DECLARE_BITMAP(cpu_active_bits, CONFIG_NR_CPUS) __read_mostly;
@@ -991,6 +991,19 @@ static DECLARE_BITMAP(cpu_active_bits, CONFIG_NR_CPUS) __read_mostly;
const struct cpumask *const cpu_active_mask = to_cpumask(cpu_active_bits);
EXPORT_SYMBOL(cpu_active_mask);

View File

@ -52,7 +52,7 @@ diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-paramete
index 590c8c2..c8f8f82 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -579,8 +579,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
@@ -580,8 +580,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
Also note the kernel might malfunction if you disable
some critical bits.
@ -70,7 +70,7 @@ diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 9eca4ac..4e39287 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1283,7 +1283,7 @@ void __init setup_arch(char **cmdline_p)
@@ -1298,7 +1298,7 @@ void __init setup_arch(char **cmdline_p)
setup_real_mode();
memblock_set_current_limit(get_max_mapped());

View File

@ -0,0 +1,67 @@
From 84a6fef49cb58415d9790947e65c34b09d99d356 Mon Sep 17 00:00:00 2001
From: "Martin, Chen" <haochuan.z.chen@intel.com>
Date: Mon, 14 Jan 2019 19:58:07 +0000
Subject: [PATCH] fix CentOS 7.6 upgrade compile error
1, fix improper call of part_round_stats and part_inc_in_flight
in drbd_req.c, as CONFIG_BLK_DEV_DRBD=m defined in
kernel-3.10.0-x86_64.config.tis_extra
2, add explicit declaration for trace_bpf_int_jit_compile,
trace_bpf_jit_compile, trace_bpf_jit_free, if pmd_read_atomic not
defined
Signed-off-by: Martin, Chen <haochuan.z.chen@intel.com>
---
drivers/block/drbd/drbd_req.c | 8 ++++----
include/linux/filter.h | 4 ++++
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/block/drbd/drbd_req.c b/drivers/block/drbd/drbd_req.c
index a6f13f7..cbd0a49 100644
--- a/drivers/block/drbd/drbd_req.c
+++ b/drivers/block/drbd/drbd_req.c
@@ -39,12 +39,12 @@ static void _drbd_start_io_acct(struct drbd_conf *mdev, struct drbd_request *req
const int rw = bio_data_dir(req->master_bio);
int cpu;
cpu = part_stat_lock();
- part_round_stats(cpu, &mdev->vdisk->part0);
+ part_round_stats(mdev->rq_queue, cpu, &mdev->vdisk->part0);
part_stat_inc(cpu, &mdev->vdisk->part0, ios[rw]);
part_stat_add(cpu, &mdev->vdisk->part0, sectors[rw], req->i.size >> 9);
(void) cpu; /* The macro invocations above want the cpu argument, I do not like
the compiler warning about cpu only assigned but never used... */
- part_inc_in_flight(&mdev->vdisk->part0, rw);
+ part_inc_in_flight(mdev->rq_queue, &mdev->vdisk->part0, rw);
part_stat_unlock();
}
@@ -56,8 +56,8 @@ static void _drbd_end_io_acct(struct drbd_conf *mdev, struct drbd_request *req)
int cpu;
cpu = part_stat_lock();
part_stat_add(cpu, &mdev->vdisk->part0, ticks[rw], duration);
- part_round_stats(cpu, &mdev->vdisk->part0);
- part_dec_in_flight(&mdev->vdisk->part0, rw);
+ part_round_stats(mdev->rq_queue, cpu, &mdev->vdisk->part0);
+ part_dec_in_flight(mdev->rq_queue, &mdev->vdisk->part0, rw);
part_stat_unlock();
}
diff --git a/include/linux/filter.h b/include/linux/filter.h
index cddbb31..15ce55f 100644
--- a/include/linux/filter.h
+++ b/include/linux/filter.h
@@ -665,6 +665,10 @@ static inline bool bpf_jit_blinding_enabled(struct bpf_prog *prog)
return true;
}
#else
+struct bpf_prog * __weak trace_bpf_int_jit_compile(struct bpf_prog *prog);
+void __weak trace_bpf_jit_compile(struct bpf_prog *prog);
+void __weak trace_bpf_jit_free(struct bpf_prog *fp);
+
static inline bool ebpf_jit_enabled(void)
{
return false;
--
1.8.3.1

View File

@ -59,7 +59,7 @@ diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-paramete
index 2f7feb0..590c8c2 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1303,6 +1303,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
@@ -1315,6 +1315,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
than 32-bit addressing. The default is to look
for translation below 32-bit and if not available
then look in the higher range.
@ -75,7 +75,7 @@ diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 260597e..6c16b68 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -504,6 +504,7 @@ static int dmar_forcedac;
@@ -480,6 +480,7 @@ static int dmar_forcedac;
static int intel_iommu_strict;
static int intel_iommu_superpage = 1;
static int intel_iommu_ecs = 1;
@ -83,7 +83,7 @@ index 260597e..6c16b68 100644
/* We only actually use ECS when PASID support (on the new bit 40)
* is also advertised. Some early implementations — the ones with
@@ -563,6 +564,15 @@ static int __init intel_iommu_setup(char *str)
@@ -539,6 +540,15 @@ static int __init intel_iommu_setup(char *str)
} else if (!strncmp(str, "forcedac", 8)) {
pr_info("Forcing DAC for PCI devices\n");
dmar_forcedac = 1;
@ -99,7 +99,7 @@ index 260597e..6c16b68 100644
} else if (!strncmp(str, "strict", 6)) {
pr_info("Disable batched IOTLB flush\n");
intel_iommu_strict = 1;
@@ -2733,6 +2743,15 @@ static bool device_is_rmrr_locked(struct device *dev)
@@ -2779,6 +2789,15 @@ static bool device_is_rmrr_locked(struct device *dev)
if (IS_USB_DEVICE(pdev) || IS_GFX_DEVICE(pdev))
return false;

View File

@ -35,7 +35,7 @@ diff --git a/include/linux/memblock.h b/include/linux/memblock.h
index 5a439c9..d6bcbef 100644
--- a/include/linux/memblock.h
+++ b/include/linux/memblock.h
@@ -304,6 +304,8 @@ static inline bool memblock_bottom_up(void) { return false; }
@@ -306,6 +306,8 @@ static inline bool memblock_bottom_up(void) { return false; }
#define MEMBLOCK_ALLOC_ANYWHERE (~(phys_addr_t)0)
#define MEMBLOCK_ALLOC_ACCESSIBLE 0

View File

@ -15,7 +15,7 @@ diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smart
index 2c6b546..6968c48 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -5843,6 +5843,7 @@ static struct scsi_host_template pqi_driver_template = {
@@ -5814,6 +5814,7 @@ static struct scsi_host_template pqi_driver_template = {
.slave_alloc = pqi_slave_alloc,
.sdev_attrs = pqi_sdev_attrs,
.shost_attrs = pqi_shost_attrs,

View File

@ -53,15 +53,13 @@ Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
arch/x86/kernel/amd_gart_64.c | 2 +-
arch/x86/kernel/pci-swiotlb.c | 9 ++++++---
arch/x86/pci/sta2x11-fixup.c | 6 ++----
include/linux/swiotlb.h | 2 ++
lib/swiotlb.c | 2 +-
7 files changed, 20 insertions(+), 10 deletions(-)
5 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 48ae099..9e841a5 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -44,7 +44,7 @@ config X86
@@ -47,7 +47,7 @@ config X86
select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH if SMP
select ARCH_WANT_OPTIONAL_GPIOLIB
select ARCH_WANT_FRAME_POINTERS
@ -153,30 +151,6 @@ index 9d8a509..5ceda85 100644
.map_page = swiotlb_map_page,
.unmap_page = swiotlb_unmap_page,
.map_sg = swiotlb_map_sg_attrs,
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index 16c296a..65c4a7a 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -117,4 +117,6 @@ static inline void swiotlb_free(void) { }
#endif
extern void swiotlb_print_info(void);
+extern int is_swiotlb_buffer(phys_addr_t paddr);
+
#endif /* __LINUX_SWIOTLB_H */
diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index ffcaff5..d89c82a 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -404,7 +404,7 @@ void __init swiotlb_free(void)
io_tlb_nslabs = 0;
}
-static int is_swiotlb_buffer(phys_addr_t paddr)
+int is_swiotlb_buffer(phys_addr_t paddr)
{
return paddr >= io_tlb_start && paddr < io_tlb_end;
}
--
1.8.3.1

View File

@ -1,2 +1,2 @@
mirror:Source/kernel-3.10.0-862.11.6.el7.src.rpm
mirror:Source/kernel-3.10.0-957.1.3.el7.src.rpm