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 <duanj.fnst@cn.fujitsu.com>
+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 <duanj.fnst@cn.fujitsu.com>
+    Signed-off-by: David S. Miller <davem@davemloft.net>
+
+    Applied-by: Akemi Yagi <toracat@centos.org>
+
+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 <asm/intel-family.h>
+ #include <linux/prctl.h>
+ #include <linux/sched/smt.h>
++ 
++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 <toracat@centos.org> [3.10.0-1062.1.2.el7.centos.plus]
+* Tue Oct 15 2019 Akemi Yagi <toracat@centos.org> [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 <bmeneg@redhat.com> [3.10.0-1062.1.2.el7]
+* Wed Sep 25 2019 Bruno Meneguele <bmeneg@redhat.com> [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 <bmeneg@redhat.com> [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 <bmeneg@redhat.com> [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 <bmeneg@redhat.com> [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]