[linux] 02/03: Update to 4.6.2

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Thu Jun 9 16:45:14 UTC 2016


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch sid
in repository linux.

commit 1537ff1314d59911dcca25c5527431c1b9939ebf
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Thu Jun 9 03:20:18 2016 +0100

    Update to 4.6.2
---
 debian/changelog                                   | 118 +++++++++++++++++++++
 debian/config/armhf/defines                        |   5 +
 debian/config/defines                              |   3 +
 debian/config/mips/defines                         |   6 ++
 debian/config/mips64el/defines                     |   6 ++
 debian/config/mipsel/defines                       |   6 ++
 ...le-preemption-during-prctl-PR_SET_FP_MODE.patch |  42 --------
 ...CPUs-to-lose-FP-context-during-mode-switc.patch | 101 ------------------
 debian/patches/debian/kernelvariables.patch        |   2 +-
 debian/patches/series                              |   2 -
 10 files changed, 145 insertions(+), 146 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index e8fea13..52c2226 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,121 @@
+linux (4.6.2-1) UNRELEASED; urgency=medium
+
+  * New upstream stable update:
+    https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.6.2
+    - f2fs: fix deadlock when flush inline data
+    - [mips*] math-emu: Fix jalr emulation when rd == $0
+    - [mips*] Avoid using unwind_stack() with usermode
+    - [mips*] Fix siginfo.h to use strict posix types
+    - [mips*] Fix uapi include in exported asm/siginfo.h
+    - [mips*] Fix watchpoint restoration
+    - [mips*] Flush highmem pages in __flush_dcache_page
+    - [mips*] Handle highmem pages in __update_cache
+    - [mips*] Sync icache & dcache in set_pte_at
+    - [mips*] Reserve nosave data for hibernation
+    - [mips*el/loongson-3] Reserve 32MB for RS780E integrated GPU
+    - [mips*] Use copy_s.fmt rather than copy_u.fmt
+    - [mips*] Prevent "restoration" of MSA context in non-MSA kernels
+    - [mips*] ptrace: Fix FP context restoration FCSR regression
+    - [mips*] ptrace: Prevent writes to read-only FCSR bits
+    - [mips*] lib: Mark intrinsics notrace
+    - [mips*] VDSO: Build with `-fno-strict-aliasing'
+    - affs: fix remount failure when there are no options changed
+    - ASoC: ak4642: Enable cache usage to fix crashes on resume
+    - Input: uinput - handle compat ioctl for UI_SET_PHYS
+    - Input: xpad - move pending clear to the correct location
+    - Input: xpad - prevent spurious input from wired Xbox 360 controllers
+    - [armhf] sun4i: dt: Enable dram gate 5 (tve0 clock) for simplefb TV output
+    - [armhf] sun7i: dt: Enable dram gate 5 (tve0 clock) for simplefb TV output
+    - [armhf] mvebu: fix GPIO config on the Linksys boards
+    - [armhf] dts: exynos: Add interrupt line to MAX8997 PMIC on
+      exynos4210-trats
+    - ath9k: Fix LED polarity for some Mini PCI AR9220 MB92 cards.
+    - ath10k: fix firmware assert in monitor mode
+    - ath10k: fix rx_channel during hw reconfigure
+    - ath10k: fix kernel panic, move arvifs list head init before htt init
+    - ath5k: Change led pin configuration for compaq c700 laptop
+    - [armhf] hwrng: exynos - Fix unbalanced PM runtime put on timeout
+      error path
+    - rtlwifi: Fix logic error in enter/exit power-save mode
+    - rtlwifi: pci: use dev_kfree_skb_irq instead of kfree_skb in
+      rtl_pci_reset_trx_ring
+    - Revert "lpfc: Delete unnecessary checks before the function call
+      mempool_destroy"
+    - aacraid: Start adapter after updating number of MSIX vectors
+    - aacraid: Relinquish CPU during timeout wait
+    - aacraid: Fix for aac_command_thread hang
+    - aacraid: Fix for KDUMP driver hang
+    - regulator: Try to resolve regulators supplies on registration
+    - hwmon: (ads7828) Enable internal reference
+    - [x86] mfd: intel_quark_i2c_gpio: Remove clock tree on error path
+    - [x86] mfd: intel-lpss: Save register context on suspend
+    - [x86] mfd: intel_soc_pmic_core: Terminate panel control GPIO lookup
+      table correctly
+    - PM / Runtime: Fix error path in pm_runtime_force_resume()
+    - cpuidle: Indicate when a device has been unregistered
+    - cpuidle: Fix cpuidle_state_is_coupled() argument in cpuidle_enter()
+    - [armhf] clk: bcm2835: Fix PLL poweron
+    - [armhf] clk: bcm2835: pll_off should only update CM_PLL_ANARST
+    - [armhf] clk: bcm2835: divider value has to be 1 or more
+    - [armhf] clk: bcm2835: correctly enable fractional clock support
+    - [armhf] pinctrl: exynos5440: Use off-stack memory for pinctrl_gpio_range
+    - PCI: Disable all BAR sizing for devices with non-compliant BARs
+    - media: v4l2-compat-ioctl32: fix missing reserved field copy in
+      put_v4l2_create32
+    - PKCS#7: fix missing break on OID_sha224 case
+    - mm: use phys_addr_t for reserve_bootmem_region() arguments
+    - mm/compaction.c: fix zoneindex in kcompactd()
+    - wait/ptrace: assume __WALL if the child is traced
+    - batman-adv: Fix double neigh_node_put in batadv_v_ogm_route_update
+    - [powerpc*] book3s64: Fix branching to OOL handlers in relocatable kernel
+    - [powerpc*] eeh: Don't report error in eeh_pe_reset_and_recover()
+    - [powerpc*] Revert "powerpc/eeh: Fix crash in eeh_add_device_early()
+      on Cell"
+    - [powerpc*] eeh: Restore initial state in eeh_pe_reset_and_recover()
+    - xen/events: Don't move disabled irqs
+    - xen: use same main loop for counting and remapping pages
+    - sunrpc: fix stripping of padded MIC tokens
+    - [x86] drm/gma500: Fix possible out of bounds read
+    - [x86] drm/vmwgfx: Kill some lockdep warnings
+    - [x86] drm/amdgpu: use drm_mode_vrefresh() rather than mode->vrefresh
+    - [x86] drm/amdgpu: Fix hdmi deep color support.
+    - [x86] drm/i915/fbdev: Fix num_connector references in
+      intel_fb_initial_config()
+    - drm/fb_helper: Fix references to dev->mode_config.num_connector
+    - [x86] drm/i915: Discard previous atomic state on resume if connectors
+      change
+    - drm/atomic: Verify connector->funcs != NULL when clearing states
+    - Bluetooth: 6lowpan: Fix memory corruption of ipv6 destination address
+    - [x86] drm/i915/psr: Try to program link training times correctly
+    - [x86] drm/i915: Respect DP++ adaptor TMDS clock limit
+    - [x86] drm/i915: Enable/disable TMDS output buffers in DP++ adaptor
+      as needed
+    - [x86] drm/i915: Don't leave old junk in ilk active watermarks on readout
+    - [x86] drm/i915: Fix watermarks for VLV/CHV
+    - [armhf] drm/imx: Match imx-ipuv3-crtc components using device node in
+      platform data
+    - [x86] drm/i915: Pass the correct crtc state to .update_plane()
+    - ext4: fix data exposure after a crash
+    - ext4: fix hang when processing corrupted orphaned inode list
+    - ext4: clean up error handling when orphan list is corrupted
+    - ext4: fix check of dqget() return value in ext4_ioctl_setproject()
+    - ext4: fix oops on corrupted filesystem
+    - ext4: address UBSAN warning in mb_find_order_for_block()
+    - nfs: avoid race that crashes nfs_init_commit
+    - PM / sleep: Handle failures in device_suspend_late() consistently
+    - mm: thp: avoid false positive VM_BUG_ON_PAGE in page_move_anon_rmap()
+    - xfs: disallow rw remount on fs with unknown ro-compat features
+    - xfs: Don't wrap growfs AGFL indexes
+    - xfs: remove xfs_fs_evict_inode()
+    - xfs: xfs_iflush_cluster fails to abort on error
+    - xfs: fix inode validity check in xfs_iflush_cluster
+    - xfs: skip stale inodes in xfs_iflush_cluster
+    - [armhf] drm: msm: remove unused variable
+    - IB/hfi1: Fix hard lockup due to not using save/restore spin lock
+    - regulator: Fix deadlock during regulator registration
+
+ -- Ben Hutchings <ben at decadent.org.uk>  Thu, 09 Jun 2016 02:56:01 +0100
+
 linux (4.6.1-1) unstable; urgency=medium
 
   * New upstream stable update:
diff --git a/debian/config/armhf/defines b/debian/config/armhf/defines
index 23da73e..b9334d1 100644
--- a/debian/config/armhf/defines
+++ b/debian/config/armhf/defines
@@ -1,3 +1,8 @@
+[abi]
+ignore-changes:
+# Should not be used from OOT
+ module:drivers/gpu/drm/imx/*
+
 [base]
 flavours:
  armmp
diff --git a/debian/config/defines b/debian/config/defines
index b914300..17ae323 100644
--- a/debian/config/defines
+++ b/debian/config/defines
@@ -1,5 +1,8 @@
 [abi]
 abiname: 1
+ignore-changes:
+# Should not be used from OOT
+ module:drivers/net/wireless/realtek/rtlwifi/*
 
 [base]
 arches:
diff --git a/debian/config/mips/defines b/debian/config/mips/defines
index 720a051..5f082a1 100644
--- a/debian/config/mips/defines
+++ b/debian/config/mips/defines
@@ -1,3 +1,9 @@
+[abi]
+ignore-changes:
+# Was called by inline function flush_icache_page, which doesn't seem
+# to be used OOT
+ __flush_icache_page
+
 [base]
 flavours:
  4kc-malta
diff --git a/debian/config/mips64el/defines b/debian/config/mips64el/defines
index ec3b0eb..4ed87ce 100644
--- a/debian/config/mips64el/defines
+++ b/debian/config/mips64el/defines
@@ -1,3 +1,9 @@
+[abi]
+ignore-changes:
+# Was called by inline function flush_icache_page, which doesn't seem
+# to be used OOT
+ __flush_icache_page
+
 [base]
 flavours:
  5kc-malta
diff --git a/debian/config/mipsel/defines b/debian/config/mipsel/defines
index 77cca86..2134690 100644
--- a/debian/config/mipsel/defines
+++ b/debian/config/mipsel/defines
@@ -1,3 +1,9 @@
+[abi]
+ignore-changes:
+# Was called by inline function flush_icache_page, which doesn't seem
+# to be used OOT
+ __flush_icache_page
+
 [base]
 flavours:
  4kc-malta
diff --git a/debian/patches/bugfix/mips/MIPS-Disable-preemption-during-prctl-PR_SET_FP_MODE.patch b/debian/patches/bugfix/mips/MIPS-Disable-preemption-during-prctl-PR_SET_FP_MODE.patch
deleted file mode 100644
index ec9086f..0000000
--- a/debian/patches/bugfix/mips/MIPS-Disable-preemption-during-prctl-PR_SET_FP_MODE.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From: Paul Burton <paul.burton at imgtec.com>
-Date: Thu, 21 Apr 2016 12:43:57 +0100
-Subject: [1/2] MIPS: Disable preemption during prctl(PR_SET_FP_MODE, ...)
-Origin: https://git.kernel.org/linus/bd239f1e1429e7781096bf3884bdb1b2b1bb4f28
-
-Whilst a PR_SET_FP_MODE prctl is performed there are decisions made
-based upon whether the task is executing on the current CPU. This may
-change if we're preempted, so disable preemption to avoid such changes
-for the lifetime of the mode switch.
-
-Signed-off-by: Paul Burton <paul.burton at imgtec.com>
-Fixes: 9791554b45a2 ("MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options for MIPS")
-Cc: stable <stable at vger.kernel.org> # v4.0+
----
- arch/mips/kernel/process.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
-index 92880ce..ce55ea0 100644
---- a/arch/mips/kernel/process.c
-+++ b/arch/mips/kernel/process.c
-@@ -601,6 +601,9 @@ int mips_set_process_fp_mode(struct task_struct *task, unsigned int value)
- 	if (!(value & PR_FP_MODE_FR) && cpu_has_fpu && cpu_has_mips_r6)
- 		return -EOPNOTSUPP;
- 
-+	/* Proceed with the mode switch */
-+	preempt_disable();
-+
- 	/* Save FP & vector context, then disable FPU & MSA */
- 	if (task->signal == current->signal)
- 		lose_fpu(1);
-@@ -659,6 +662,7 @@ int mips_set_process_fp_mode(struct task_struct *task, unsigned int value)
- 
- 	/* Allow threads to use FP again */
- 	atomic_set(&task->mm->context.fp_mode_switching, 0);
-+	preempt_enable();
- 
- 	return 0;
- }
--- 
-2.8.1
-
diff --git a/debian/patches/bugfix/mips/MIPS-Force-CPUs-to-lose-FP-context-during-mode-switc.patch b/debian/patches/bugfix/mips/MIPS-Force-CPUs-to-lose-FP-context-during-mode-switc.patch
deleted file mode 100644
index 301e2e0..0000000
--- a/debian/patches/bugfix/mips/MIPS-Force-CPUs-to-lose-FP-context-during-mode-switc.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From: Paul Burton <paul.burton at imgtec.com>
-Date: Thu, 21 Apr 2016 12:43:58 +0100
-Subject: [2/2] MIPS: Force CPUs to lose FP context during mode switches
-Origin: https://git.kernel.org/linus/6b8322576e9d325b65c54fbef64e4e8690ad70ce
-
-Commit 9791554b45a2 ("MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options
-for MIPS") added support for the PR_SET_FP_MODE prctl, which allows a
-userland program to modify its FP mode at runtime. This is most notably
-required if dynamic linking leads to the FP mode requirement changing at
-runtime from that indicated in the initial executable's ELF header. In
-order to avoid overhead in the general FP context restore code, it aimed
-to have threads in the process become unable to enable the FPU during a
-mode switch & have the thread calling the prctl syscall wait for all
-other threads in the process to be context switched at least once. Once
-that happens we can know that no thread in the process whose mode will
-be switched has live FP context, and it's safe to perform the mode
-switch. However in the (rare) case of modeswitches occurring in
-multithreaded programs this can lead to indeterminate delays for the
-thread invoking the prctl syscall, and the code monitoring for those
-context switches was woefully inadequate for all but the simplest cases.
-
-Fix this by broadcasting an IPI if other CPUs may have live FP context
-for an affected thread, with a handler causing those CPUs to relinquish
-their FPU ownership. Threads will then be allowed to continue running
-but will stall on the wait_on_atomic_t in enable_restore_fp_context if
-they attempt to use FP again whilst the mode switch is still in
-progress. The end result is less fragile poking at scheduler context
-switch counts & a more expedient completion of the mode switch.
-
-Signed-off-by: Paul Burton <paul.burton at imgtec.com>
-Fixes: 9791554b45a2 ("MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options for MIPS")
-Cc: stable <stable at vger.kernel.org> # v4.0+
----
- arch/mips/kernel/process.c | 40 +++++++++++++++++-----------------------
- 1 file changed, 17 insertions(+), 23 deletions(-)
-
-diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
-index ce55ea0..e1b36a4 100644
---- a/arch/mips/kernel/process.c
-+++ b/arch/mips/kernel/process.c
-@@ -580,11 +580,19 @@ int mips_get_process_fp_mode(struct task_struct *task)
- 	return value;
- }
- 
-+static void prepare_for_fp_mode_switch(void *info)
-+{
-+	struct mm_struct *mm = info;
-+
-+	if (current->mm == mm)
-+		lose_fpu(1);
-+}
-+
- int mips_set_process_fp_mode(struct task_struct *task, unsigned int value)
- {
- 	const unsigned int known_bits = PR_FP_MODE_FR | PR_FP_MODE_FRE;
--	unsigned long switch_count;
- 	struct task_struct *t;
-+	int max_users;
- 
- 	/* Check the value is valid */
- 	if (value & ~known_bits)
-@@ -613,31 +621,17 @@ int mips_set_process_fp_mode(struct task_struct *task, unsigned int value)
- 	smp_mb__after_atomic();
- 
- 	/*
--	 * If there are multiple online CPUs then wait until all threads whose
--	 * FP mode is about to change have been context switched. This approach
--	 * allows us to only worry about whether an FP mode switch is in
--	 * progress when FP is first used in a tasks time slice. Pretty much all
--	 * of the mode switch overhead can thus be confined to cases where mode
--	 * switches are actually occurring. That is, to here. However for the
--	 * thread performing the mode switch it may take a while...
-+	 * If there are multiple online CPUs then force any which are running
-+	 * threads in this process to lose their FPU context, which they can't
-+	 * regain until fp_mode_switching is cleared later.
- 	 */
- 	if (num_online_cpus() > 1) {
--		spin_lock_irq(&task->sighand->siglock);
--
--		for_each_thread(task, t) {
--			if (t == current)
--				continue;
--
--			switch_count = t->nvcsw + t->nivcsw;
--
--			do {
--				spin_unlock_irq(&task->sighand->siglock);
--				cond_resched();
--				spin_lock_irq(&task->sighand->siglock);
--			} while ((t->nvcsw + t->nivcsw) == switch_count);
--		}
-+		/* No need to send an IPI for the local CPU */
-+		max_users = (task->mm == current->mm) ? 1 : 0;
- 
--		spin_unlock_irq(&task->sighand->siglock);
-+		if (atomic_read(&current->mm->mm_users) > max_users)
-+			smp_call_function(prepare_for_fp_mode_switch,
-+					  (void *)current->mm, 1);
- 	}
- 
- 	/*
diff --git a/debian/patches/debian/kernelvariables.patch b/debian/patches/debian/kernelvariables.patch
index 1b6ee17..4d6a6c9 100644
--- a/debian/patches/debian/kernelvariables.patch
+++ b/debian/patches/debian/kernelvariables.patch
@@ -58,7 +58,7 @@ use of $(ARCH) needs to be moved after this.
  export KCONFIG_CONFIG
  
 @@ -367,6 +331,44 @@ AFLAGS_KERNEL	=
- CFLAGS_GCOV	= -fprofile-arcs -ftest-coverage
+ CFLAGS_GCOV	= -fprofile-arcs -ftest-coverage -fno-tree-loop-im
  CFLAGS_KCOV	= -fsanitize-coverage=trace-pc
  
 +-include $(obj)/.kernelvariables
diff --git a/debian/patches/series b/debian/patches/series
index 1ce10f9..fdfc420 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -45,8 +45,6 @@ bugfix/x86/viafb-autoload-on-olpc-xo1.5-only.patch
 
 # Arch bug fixes
 bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch
-bugfix/mips/MIPS-Disable-preemption-during-prctl-PR_SET_FP_MODE.patch
-bugfix/mips/MIPS-Force-CPUs-to-lose-FP-context-during-mode-switc.patch
 bugfix/powerpc/powerpc-fix-sstep-compile-on-powerpcspe.patch
 bugfix/arm/dwc3-exynos-fix-deferred-probing-storm.patch
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list