diff --git a/SOURCES/Makefile.common b/SOURCES/Makefile.common index 4ee500f..6214c5a 100644 --- a/SOURCES/Makefile.common +++ b/SOURCES/Makefile.common @@ -9,7 +9,7 @@ RPMVERSION:=3.10.0 # marker is git tag which we base off of for exporting patches MARKER:=v3.10 PREBUILD:= -BUILD:=1062.1.2 +BUILD:=1062.4.1 DIST:=.el7 SPECFILE:=kernel.spec RPM:=$(REDHAT)/rpm diff --git a/SOURCES/centos-linux-3.10-net-ICMP-report-fix-bug16521.patch b/SOURCES/centos-linux-3.10-net-ICMP-report-fix-bug16521.patch new file mode 100644 index 0000000..b4e6a18 --- /dev/null +++ b/SOURCES/centos-linux-3.10-net-ICMP-report-fix-bug16521.patch @@ -0,0 +1,48 @@ +centosplus patch [bug#16521] + +commit 8d65b1190ddc548b0411477f308d04f4595bac57 +Author: Duan Jiong +Date: Fri Sep 20 18:21:25 2013 +0800 + + net: raw: do not report ICMP redirects to user space + + Redirect isn't an error condition, it should leave + the error handler without touching the socket. + + Signed-off-by: Duan Jiong + Signed-off-by: David S. Miller + + Applied-by: Akemi Yagi + +diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c +index bfec521..193db03 100644 +--- a/net/ipv4/raw.c ++++ b/net/ipv4/raw.c +@@ -218,8 +218,10 @@ static void raw_err(struct sock *sk, struct sk_buff *skb, u32 info) + + if (type == ICMP_DEST_UNREACH && code == ICMP_FRAG_NEEDED) + ipv4_sk_update_pmtu(skb, sk, info); +- else if (type == ICMP_REDIRECT) ++ else if (type == ICMP_REDIRECT) { + ipv4_sk_redirect(skb, sk); ++ return; ++ } + + /* Report error on raw socket, if: + 1. User requested ip_recverr. +diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c +index 58916bb..a4ed241 100644 +--- a/net/ipv6/raw.c ++++ b/net/ipv6/raw.c +@@ -335,8 +335,10 @@ static void rawv6_err(struct sock *sk, struct sk_buff *skb, + ip6_sk_update_pmtu(skb, sk, info); + harderr = (np->pmtudisc == IPV6_PMTUDISC_DO); + } +- if (type == NDISC_REDIRECT) ++ if (type == NDISC_REDIRECT) { + ip6_sk_redirect(skb, sk); ++ return; ++ } + if (np->recverr) { + u8 *payload = skb->data; + if (!inet->hdrincl) diff --git a/SOURCES/kernel-3.10.0-i686.config b/SOURCES/kernel-3.10.0-i686.config index d6477ef..33b42aa 100644 --- a/SOURCES/kernel-3.10.0-i686.config +++ b/SOURCES/kernel-3.10.0-i686.config @@ -404,6 +404,7 @@ CONFIG_PARAVIRT_SPINLOCKS=y # CONFIG_QUEUED_LOCK_STAT is not set # CONFIG_XEN_PRIVILEGED_GUEST is not set CONFIG_KVM_GUEST=y +CONFIG_ARCH_CPUIDLE_HALTPOLL=y # CONFIG_KVM_DEBUG_FS is not set # CONFIG_LGUEST_GUEST is not set CONFIG_PARAVIRT_TIME_ACCOUNTING=y @@ -687,6 +688,8 @@ CONFIG_CPU_IDLE=y # CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_IDLE_GOV_HALTPOLL=y +CONFIG_HALTPOLL_CPUIDLE=m # CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set CONFIG_INTEL_IDLE=y diff --git a/SOURCES/kernel-3.10.0-x86_64.config b/SOURCES/kernel-3.10.0-x86_64.config index 6c2b66b..ea6dbb8 100644 --- a/SOURCES/kernel-3.10.0-x86_64.config +++ b/SOURCES/kernel-3.10.0-x86_64.config @@ -431,6 +431,7 @@ CONFIG_XEN_MAX_DOMAIN_MEMORY=500 CONFIG_XEN_SAVE_RESTORE=y # CONFIG_XEN_DEBUG_FS is not set CONFIG_KVM_GUEST=y +CONFIG_ARCH_CPUIDLE_HALTPOLL=y # CONFIG_KVM_DEBUG_FS is not set CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT_CLOCK=y @@ -721,6 +722,8 @@ CONFIG_CPU_IDLE=y # CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_IDLE_GOV_HALTPOLL=y +CONFIG_HALTPOLL_CPUIDLE=m # CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set CONFIG_INTEL_IDLE=y diff --git a/SOURCES/patch-i686-fpu-issues-v4-8_0-v7_7-v2.patch b/SOURCES/patch-i686-fpu-issues-v4-8_0-v7_7-v2.patch new file mode 100644 index 0000000..3360abc --- /dev/null +++ b/SOURCES/patch-i686-fpu-issues-v4-8_0-v7_7-v2.patch @@ -0,0 +1,84 @@ +--- a/arch/x86/kernel/cpu/bugs.c 2019-07-18 12:58:03.000000000 -0700 ++++ b/arch/x86/kernel/cpu/bugs.c 2019-08-07 23:20:28.694377902 -0700 +@@ -28,7 +28,70 @@ + #include + #include + #include ++ ++static int __init no_387(char *s) ++{ ++ boot_cpu_data.hard_math = 0; ++ write_cr0(X86_CR0_TS | X86_CR0_EM | X86_CR0_MP | read_cr0()); ++ return 1; ++} ++ ++__setup("no387", no_387); ++ ++static double __initdata x = 4195835.0; ++static double __initdata y = 3145727.0; ++ ++/* ++ * This used to check for exceptions.. ++ * However, it turns out that to support that, ++ * the XMM trap handlers basically had to ++ * be buggy. So let's have a correct XMM trap ++ * handler, and forget about printing out ++ * some status at boot. ++ * ++ * We should really only care about bugs here ++ * anyway. Not features. ++ */ ++static void __init check_fpu(void) ++{ ++ s32 fdiv_bug; ++ ++ if (!boot_cpu_data.hard_math) { ++#ifndef CONFIG_MATH_EMULATION ++ pr_emerg("No coprocessor found and no math emulation present\n"); ++ pr_emerg("Giving up\n"); ++ for (;;) ; ++#endif ++ return; ++ } + ++ kernel_fpu_begin(); ++ ++ /* ++ * trap_init() enabled FXSR and company _before_ testing for FP ++ * problems here. ++ * ++ * Test for the divl bug: http://en.wikipedia.org/wiki/Fdiv_bug ++ */ ++ __asm__("fninit\n\t" ++ "fldl %1\n\t" ++ "fdivl %2\n\t" ++ "fmull %2\n\t" ++ "fldl %1\n\t" ++ "fsubp %%st,%%st(1)\n\t" ++ "fistpl %0\n\t" ++ "fwait\n\t" ++ "fninit" ++ : "=m" (*&fdiv_bug) ++ : "m" (*&x), "m" (*&y)); ++ ++ kernel_fpu_end(); ++ ++ if (fdiv_bug) { ++ set_cpu_bug(&boot_cpu_data, X86_BUG_FDIV); ++ pr_warn("Hmm, FPU with FDIV bug\n"); ++ } ++} + + static void __init spectre_v1_select_mitigation(void); + static void __init spectre_v2_select_mitigation(void); +@@ -926,8 +989,10 @@ static ssize_t cpu_show_common(struct de + + switch (bug) { + case X86_BUG_CPU_MELTDOWN: ++#ifdef CONFIG_KAISER + if (kaiser_enabled) + return sprintf(buf, "Mitigation: PTI\n"); ++#endif + + break; + diff --git a/SPECS/kernel-plus.spec b/SPECS/kernel-plus.spec index 5ed9d4c..6a53acc 100644 --- a/SPECS/kernel-plus.spec +++ b/SPECS/kernel-plus.spec @@ -14,10 +14,10 @@ Summary: The Linux kernel %global distro_build 1062 %define rpmversion 3.10.0 -%define pkgrelease 1062.1.2.el7 +%define pkgrelease 1062.4.1.el7 # allow pkg_release to have configurable %%{?dist} tag -%define specrelease 1062.1.2%{?dist} +%define specrelease 1062.4.1%{?dist} %define pkg_release %{specrelease}%{?buildid} @@ -490,7 +490,8 @@ Patch1019: patch-spec_ctrl_i686_v3_8_0.patch # Patch1020: patch-i686-fpu-issues.patch # Patch1020: patch-i686-fpu-issues-v4-7_5.patch # Patch1020: patch-i686-fpu-issues-v4-8_0.patch -Patch1020: patch-i686-fpu-issues-v4-8_0-v7_7.patch +# Patch1020: patch-i686-fpu-issues-v4-8_0-v7_7.patch +Patch1020: patch-i686-fpu-issues-v4-8_0-v7_7-v2.patch Patch1021: i386-retpoline-support-v6.patch Patch1101: patch-ALIGN-dupdef.patch @@ -565,6 +566,7 @@ Patch20224: centos-linux-3.10-niu-fix-build-errors-bug15040.patch #Patch20232: centos-linux-3.10-nvme-bug15723.patch #Patch20233: centos-linux-3.10-tcp-fix-bug16242.patch Patch20234: centos-linux-3.10-acpi-ghes-bug16315.patch +Patch20235: centos-linux-3.10-net-ICMP-report-fix-bug16521.patch # empty final patch to facilitate testing of kernel patches Patch999999: linux-kernel-test.patch @@ -959,7 +961,8 @@ ApplyOptionalPatch patch-spec_ctrl_i686_v3_8_0.patch # ApplyOptionalPatch patch-i686-fpu-issues.patch # ApplyOptionalPatch patch-i686-fpu-issues-v4-7_5.patch # ApplyOptionalPatch patch-i686-fpu-issues-v4-8_0.patch -ApplyOptionalPatch patch-i686-fpu-issues-v4-8_0-v7_7.patch +# ApplyOptionalPatch patch-i686-fpu-issues-v4-8_0-v7_7.patch +ApplyOptionalPatch patch-i686-fpu-issues-v4-8_0-v7_7-v2.patch ApplyOptionalPatch i386-retpoline-support-v6.patch ApplyOptionalPatch patch-ALIGN-dupdef.patch @@ -1033,6 +1036,7 @@ ApplyOptionalPatch centos-linux-3.10-niu-fix-build-errors-bug15040.patch #ApplyOptionalPatch centos-linux-3.10-nvme-bug15723.patch #ApplyOptionalPatch centos-linux-3.10-tcp-fix-bug16242.patch ApplyOptionalPatch centos-linux-3.10-acpi-ghes-bug16315.patch +ApplyOptionalPatch centos-linux-3.10-net-ICMP-report-fix-bug16521.patch ### end of plus mod # End of CentOS Modification @@ -2035,7 +2039,7 @@ fi %kernel_variant_files %{with_kdump} kdump %changelog -* Fri Sep 20 2019 Akemi Yagi [3.10.0-1062.1.2.el7.centos.plus] +* Tue Oct 15 2019 Akemi Yagi [3.10.0-1062.4.1.el7.centos.plus] - Apply debranding changes - Roll in i686 mods addmissing.patch [puias] @@ -2089,10 +2093,91 @@ fi - Add an i686 patch to fix Hyper-V issue [bug#15374] - Enable NIU and add a patch that fixes build errors submitted by h-masuda [bug#15040] - Apply a patch for acpi issue [bug#16315] +- Apply a patch to fix ICMP redirects [bug#16521] -* Mon Sep 16 2019 Bruno Meneguele [3.10.0-1062.1.2.el7] +* Wed Sep 25 2019 Bruno Meneguele [3.10.0-1062.4.1.el7] - [vhost] vhost: make sure log_num < in_num (Eugenio Perez) [1750879 1750880] {CVE-2019-14835} +* Mon Sep 16 2019 Bruno Meneguele [3.10.0-1062.3.1.el7] +- [net] Bluetooth: Fix faulty expression for minimum encryption key size check (Gopal Tiwari) [1743084 1743085] {CVE-2019-9506} +- [net] Bluetooth: Fix regression with minimum encryption key size alignment (Gopal Tiwari) [1743084 1743085] {CVE-2019-9506} +- [net] Bluetooth: Align minimum encryption key size for LE and BR/EDR connections (Gopal Tiwari) [1743084 1743085] {CVE-2019-9506} +- [net] macvlan: Support bonding events (Davide Caratti) [1751579 1733589] +- [wireless] mwifiex: Fix heap overflow in mwifiex_uap_parse_tail_ies() (Stanislaw Gruszka) [1714469 1721742 1714470 1721743] {CVE-2019-10126 CVE-2019-3846} +- [wireless] mwifiex: Mark expected switch fall-through (Stanislaw Gruszka) [1714469 1721742 1714470 1721743] {CVE-2019-10126 CVE-2019-3846} +- [wireless] mwifiex: Fix skipped vendor specific IEs (Stanislaw Gruszka) [1714469 1721742 1714470 1721743] {CVE-2019-10126 CVE-2019-3846} +- [wireless] mwifiex: fix 802.11n/WPA detection (Stanislaw Gruszka) [1714469 1721742 1714470 1721743] {CVE-2019-10126 CVE-2019-3846} +- [wireless] mwifiex: Don't abort on small, spec-compliant vendor IEs (Stanislaw Gruszka) [1714469 1721742 1714470 1721743] {CVE-2019-10126 CVE-2019-3846} +- [wireless] mwifiex: Abort at too short BSS descriptor element (Stanislaw Gruszka) [1714469 1721742 1714470 1721743] {CVE-2019-10126 CVE-2019-3846} +- [wireless] mwifiex: Fix possible buffer overflows at parsing bss descriptor (Stanislaw Gruszka) [1714469 1721742 1714470 1721743] {CVE-2019-10126 CVE-2019-3846} +- [net] sunrpc: Fix possible autodisconnect during connect due to old last_used (Dave Wysochanski) [1749290 1723537] +- [drm] drm/ast: Fixed reboot test may cause system hanged (Dave Airlie) [1749296 1739971] +- [block] block: blk_init_allocated_queue() set q->fq as NULL in the fail case (Ming Lei) [1739326 1739327] {CVE-2018-20856} +- [pci] PCI: hv: Fix a use-after-free bug in hv_eject_device_work() (Mohammed Gamal) [1748239 1732924] +- [pci] PCI: hv: Add pci_destroy_slot() in pci_devices_present_work(), if necessary (Mohammed Gamal) [1748239 1732924] +- [pci] PCI: hv: Add hv_pci_remove_slots() when we unload the driver (Mohammed Gamal) [1748239 1732924] +- [pci] PCI: hv: Fix a memory leak in hv_eject_device_work() (Mohammed Gamal) [1748239 1732924] +- [pci] PCI: hv: support reporting serial number as slot information (Mohammed Gamal) [1748239 1732924] +- [pci] PCI: hv: Remove unused reason for refcount handler (Mohammed Gamal) [1748239 1732924] +- [pci] PCI: hv: Convert hv_pci_dev.refs from atomic_t to refcount_t (Mohammed Gamal) [1748239 1732924] +- [pci] PCI: hv: Remove the bogus test in hv_eject_device_work() (Mohammed Gamal) [1748239 1732924] +- [fs] NFSv4: Replace closed stateids with the "invalid special stateid" (Steve Dickson) [1744946 1733347] +- [nvme] nvme-rdma: use dynamic dma mapping per command (David Milburn) [1744444 1637693] +- [nvme] nvme-rdma: remove redundant reference between ib_device and tagset (David Milburn) [1744444 1637693] +- [nvme] nvme-rdma: always have a valid trsvcid (David Milburn) [1744443 1717536] +- [nvme] nvme-rdma: use inet_pton_with_scope helper (David Milburn) [1744443 1717536] +- [nvme] nvmet-rdma: use generic inet_pton_with_scope (David Milburn) [1744443 1717536] +- [iommu] x86/hyper-v: add msi_setup_irq/msi_alloc_irq stubs to fix x2apic mode (Vitaly Kuznetsov) [1743324 1736750] +- [mm] slub: make dead caches discard free slabs immediately (Aristeu Rozanski) [1741920 1649189] +- [mm] mm: charge/uncharge kmemcg from generic page allocator paths (Aristeu Rozanski) [1741920 1649189] +- [mm] memcg: do not account memory used for cache creation (Aristeu Rozanski) [1741920 1649189] +- [mm] memcg: also test for skip accounting at the page allocation level (Aristeu Rozanski) [1741920 1649189] +- [fs] kmemcg: account certain kmem allocations to memcg (Aristeu Rozanski) [1741920 1649189] +- [mm] vmalloc: allow to account vmalloc to memcg (Aristeu Rozanski) [1741920 1649189] +- [mm] slab: add SLAB_ACCOUNT flag (Aristeu Rozanski) [1741920 1649189] +- [include] memcg: only account kmem allocations marked as __GFP_ACCOUNT (Aristeu Rozanski) [1741920 1649189] +- [include] mm: get rid of __GFP_KMEMCG (Aristeu Rozanski) [1741920 1649189] +- [mm] slb: charge slabs to kmemcg explicitly (Aristeu Rozanski) [1741920 1649189] +- [mm] mm: rename allocflags_to_migratetype for clarity (Rafael Aquini) [1741920 1730471] +- [x86] cpuidle-haltpoll: disable host side polling when kvm virtualized (Marcelo Tosatti) [1740192 1734501] +- [kvm] kvm: x86: add host poll control msrs (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: add haltpoll governor (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] governors: unify last_state_idx (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: add poll_limit_ns to cpuidle_device structure (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] add cpuidle-haltpoll driver (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: poll_state: Fix default time limit (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: poll_state: Disregard disable idle states (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: poll_state: Revise loop termination condition (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: menu: Fix wakeup statistics updates for polling state (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: poll_state: Avoid invoking local_clock() too often (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: poll_state: Add time limit to poll_idle() (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: Move polling state initialization code to separate file (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: Remove time measurement in poll state (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: Set polling in poll_idle (Marcelo Tosatti) [1740192 1734501] +- [cpuidle] cpuidle: dont call poll_idle_init() for every cpu (Marcelo Tosatti) [1740192 1734501] +- [hv] hv: vmbus: Implement Direct Mode for stimer0 (Vitaly Kuznetsov) [1740188 1712344] +- [kernel] sched: Reduce contention in update_cfs_rq_blocked_load() (Marcelo Tosatti) [1740180 1734515] +- [ipc] ipc: drop non-RCU allocation (Vladis Dronov) [1740178 1733016] +- [ipc] ipc/util.c: use kvfree() in ipc_rcu_free() (Vladis Dronov) [1740178 1733016] +- [ipc] tree wide: use kvfree() than conditional kfree()/vfree() (Vladis Dronov) [1740178 1733016] +- [ipc] standardize code comments (Waiman Long) [1740178 1373519] +- [ipc] whitespace cleanup (Waiman Long) [1740178 1373519] +- [fs] gfs2: gfs2_walk_metadata fix (Andreas Grunbacher) [1737373 1724362] +- [fs] gfs2: Inode dirtying fix (Andreas Grunbacher) [1737373 1724362] +- [fs] gfs2: Fix rounding error in gfs2_iomap_page_prepare (Andreas Grunbacher) [1737373 1724362] +- [fs] iomap: fix page_done callback for short writes (Andreas Grunbacher) [1737373 1724362] +- [fs] fs: fold __generic_write_end back into generic_write_end (Andreas Grunbacher) [1737373 1724362] +- [fs] iomap: don't mark the inode dirty in iomap_write_end (Andreas Grunbacher) [1737373 1724362] +- [fs] gfs2: Fix iomap write page reclaim deadlock (Andreas Grunbacher) [1737373 1724362] +- [fs] iomap: Add a page_prepare callback (Andreas Grunbacher) [1737373 1724362] +- [fs] iomap: Fix use-after-free error in page_done callback (Andreas Grunbacher) [1737373 1724362] +- [fs] fs: Turn __generic_write_end into a void function (Andreas Grunbacher) [1737373 1724362] +- [fs] iomap: Clean up __generic_write_end calling (Andreas Grunbacher) [1737373 1724362] + +* Thu Aug 22 2019 Bruno Meneguele [3.10.0-1062.2.1.el7] +- [x86] aesni: initialize gcm(aes) cryptd child's key/authsize (Sabrina Dubroca) [1744442 1698551] +- [netdrv] bnx2x: Disable multi-cos feature (Manish Chopra) [1741926 1704157] + * Tue Aug 13 2019 Bruno Meneguele [3.10.0-1062.1.1.el7] - [fs] nfsv4.1: Avoid false retries when RPC calls are interrupted (Benjamin Coddington) [1739077 1732427] - [fs] NFS4.1 handle interrupted slot reuse from ERR_DELAY (Benjamin Coddington) [1739077 1732427]