From beeefc570ce4b796b6043528464f338f8a9516ef Mon Sep 17 00:00:00 2001 From: Laura Abbott Date: Fri, 18 Sep 2015 10:46:19 -0700 Subject: [PATCH] Linux v4.3-rc1-131-ga7d5c18 --- config-arm64 | 1 + kernel.spec | 9 ++- ...-device_cgroup-fix-RCU-lockdep-splat.patch | 71 ------------------- sources | 2 +- ...-Make-optimize_nops-interrupt-safe-a.patch | 41 ----------- 5 files changed, 6 insertions(+), 118 deletions(-) delete mode 100644 security-device_cgroup-fix-RCU-lockdep-splat.patch delete mode 100644 x86-alternatives-Make-optimize_nops-interrupt-safe-a.patch diff --git a/config-arm64 b/config-arm64 index fba785470..6f9c75a74 100644 --- a/config-arm64 +++ b/config-arm64 @@ -29,6 +29,7 @@ CONFIG_ARM64_ERRATUM_827319=y CONFIG_ARM64_ERRATUM_824069=y CONFIG_ARM64_ERRATUM_819472=y CONFIG_ARM64_ERRATUM_832075=y +CONFIG_ARM64_ERRATUM_843419=y # AMBA / VExpress # CONFIG_RTC_DRV_PL030 is not set diff --git a/kernel.spec b/kernel.spec index 8ef65e399..f238cea41 100644 --- a/kernel.spec +++ b/kernel.spec @@ -67,7 +67,7 @@ Summary: The Linux kernel # The rc snapshot level %define rcrev 1 # The git snapshot level -%define gitrev 3 +%define gitrev 4 # Set rpm version accordingly %define rpmversion 4.%{upstream_sublevel}.0 %endif @@ -585,12 +585,8 @@ Patch508: kexec-uefi-copy-secure_boot-flag-in-boot-params.patch #rhbz 1239050 Patch509: ideapad-laptop-Add-Lenovo-Yoga-3-14-to-no_hw_rfkill-.patch -Patch519: security-device_cgroup-fix-RCU-lockdep-splat.patch Patch520: ARM-dts-Fix-Makefile-target-for-sun4i-a10-itead-itea.patch -#rhbz 1258223 -Patch521: x86-alternatives-Make-optimize_nops-interrupt-safe-a.patch - #rhbz 1237136 Patch522: block-blkg_destroy_all-should-clear-q-root_blkg-and-.patch @@ -2044,6 +2040,9 @@ fi # # %changelog +* Fri Sep 18 2015 Laura Abbott - 4.3.0-0.rc1.git4.1 +- Linux v4.3-rc1-131-ga7d5c18 + * Fri Sep 18 2015 Josh Boyer - Fix oops in 32-bit kernel on 64-bit AMD cpus (rhbz 1263762) diff --git a/security-device_cgroup-fix-RCU-lockdep-splat.patch b/security-device_cgroup-fix-RCU-lockdep-splat.patch deleted file mode 100644 index 0ecacdfe4..000000000 --- a/security-device_cgroup-fix-RCU-lockdep-splat.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 85f4e5ec7bbb5f8d7cc023a12af39d76c05cd204 Mon Sep 17 00:00:00 2001 -From: "Paul E. McKenney" -Date: Wed, 2 Sep 2015 17:14:33 -0700 -Subject: [PATCH] security: device_cgroup: fix RCU lockdep splat - -On Wed, Sep 02, 2015 at 12:24:50PM -0400, Tejun Heo wrote: -> cc'ing Paul. -> -> On Wed, Sep 02, 2015 at 08:12:28AM -0500, Felipe Balbi wrote: -> > while booting AM437x device, the following splat -> > triggered: -> > -> > [ 12.005238] =============================== -> > [ 12.009749] [ INFO: suspicious RCU usage. ] -> > [ 12.014116] 4.2.0-next-20150831 #1154 Not tainted -> > [ 12.019050] ------------------------------- -> > [ 12.023408] security/device_cgroup.c:405 device_cgroup:verify_new_ex called without proper synchronization! -> ... -> > [ 12.128326] [] (verify_new_ex) from [] (devcgroup_access_write+0x374/0x658) -> > [ 12.137426] [] (devcgroup_access_write) from [] (cgroup_file_write+0x28/0x1bc) -> > [ 12.146796] [] (cgroup_file_write) from [] (kernfs_fop_write+0xc0/0x1b8) -> > [ 12.155620] [] (kernfs_fop_write) from [] (__vfs_write+0x1c/0xd8) -> > [ 12.163783] [] (__vfs_write) from [] (vfs_write+0x90/0x16c) -> > [ 12.171426] [] (vfs_write) from [] (SyS_write+0x44/0x9c) -> > [ 12.178806] [] (SyS_write) from [] (ret_fast_syscall+0x0/0x1c) -> -> This shouldn't be happening because devcgroup_access_write() always -> grabs devcgroup_mutex. Looking at the log, the culprit seems to be -> f78f5b90c4ff ("rcu: Rename rcu_lockdep_assert() to -> RCU_LOCKDEP_WARN()"). It missed the bang for the second test while -> inverting it, so adding rcu_read_lock() isn't the right fix here. -> -> Paul, can you please fix it? - -Gah! Please see below. - - Thanx, Paul - ------------------------------------------------------------------------- - -security/device_cgroup: Fix RCU_LOCKDEP_WARN() condition - -f78f5b90c4ff ("rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN()") -introduced a bug by incorrectly inverting the condition when moving from -rcu_lockdep_assert() to RCU_LOCKDEP_WARN(). This commit therefore fixes -the inversion. - -Reported-by: Felipe Balbi -Reported-by: Tejun Heo -Signed-off-by: Paul E. McKenney -Cc: Serge Hallyn ---- - security/device_cgroup.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/security/device_cgroup.c b/security/device_cgroup.c -index 73455089feef..03c1652c9a1f 100644 ---- a/security/device_cgroup.c -+++ b/security/device_cgroup.c -@@ -401,7 +401,7 @@ static bool verify_new_ex(struct dev_cgroup *dev_cgroup, - bool match = false; - - RCU_LOCKDEP_WARN(!rcu_read_lock_held() && -- lockdep_is_held(&devcgroup_mutex), -+ !lockdep_is_held(&devcgroup_mutex), - "device_cgroup:verify_new_ex called without proper synchronization"); - - if (dev_cgroup->behavior == DEVCG_DEFAULT_ALLOW) { --- -2.4.3 - diff --git a/sources b/sources index 5d2a4cb05..fe5b60e49 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ 3d5ea06d767e2f35c999eeadafc76523 linux-4.2.tar.xz 4c964bfba54d65b5b54cc898baddecad perf-man-4.2.tar.gz 45904fd88e2d6f79693abcce148a12fe patch-4.3-rc1.xz -3e0bea6ffdb570d80e79984b951b7e49 patch-4.3-rc1-git3.xz +0b736f1395aead55095ff8920f95befe patch-4.3-rc1-git4.xz diff --git a/x86-alternatives-Make-optimize_nops-interrupt-safe-a.patch b/x86-alternatives-Make-optimize_nops-interrupt-safe-a.patch deleted file mode 100644 index e2e130aa8..000000000 --- a/x86-alternatives-Make-optimize_nops-interrupt-safe-a.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0279e7aded382011be52a2ad340fbfdbf15e75be Mon Sep 17 00:00:00 2001 -From: Thomas Gleixner -Date: Thu, 3 Sep 2015 12:41:47 +0200 -Subject: [PATCH] x86/alternatives: Make optimize_nops() interrupt safe and - synced - -optimize_nops() is buggy in two aspects: - -- It's not disabling interrupts across the modification -- It's lacking a sync_core() call - -Fixes: 4fd4b6e5537c 'x86/alternatives: Use optimized NOPs for padding' -Reported-by: "Richard W.M. Jones" -Signed-off-by: Thomas Gleixner ---- - arch/x86/kernel/alternative.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c -index c42827eb86cf..25f909362b7a 100644 ---- a/arch/x86/kernel/alternative.c -+++ b/arch/x86/kernel/alternative.c -@@ -338,10 +338,15 @@ done: - - static void __init_or_module optimize_nops(struct alt_instr *a, u8 *instr) - { -+ unsigned long flags; -+ - if (instr[0] != 0x90) - return; - -+ local_irq_save(flags); - add_nops(instr + (a->instrlen - a->padlen), a->padlen); -+ sync_core(); -+ local_irq_restore(flags); - - DUMP_BYTES(instr, a->instrlen, "%p: [%d:%d) optimized NOPs: ", - instr, a->instrlen - a->padlen, a->padlen); --- -2.4.3 -