Update to 4.12.9

This commit is contained in:
Uwe Kleine-König 2017-08-29 22:20:12 +02:00
parent 7ab99769cd
commit a2dde14ec6
4 changed files with 109 additions and 219 deletions

110
debian/changelog vendored
View File

@ -1,4 +1,4 @@
linux (4.12.7-1) UNRELEASED; urgency=medium
linux (4.12.9-1) UNRELEASED; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.12.7
@ -18,6 +18,114 @@ linux (4.12.7-1) UNRELEASED; urgency=medium
- scsi: sg: only check for dxfer_len greater than 256M
- btrfs: Remove false alert when fiemap range is smaller than on-disk
extent
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.12.8
- mm: ratelimit PFNs busy info message
- mm: fix list corruptions on shmem shrinklist
- futex: Remove unnecessary warning from get_futex_key
- xtensa: fix cache aliasing handling code for WT cache
- xtensa: mm/cache: add missing EXPORT_SYMBOLs
- xtensa: don't limit csum_partial export by CONFIG_NET
- xfs: Fix leak of discard bio
- pinctrl: armada-37xx: Fix number of pin in south bridge
- mtd: nand: atmel: Fix DT backward compatibility in pmecc.c
- mtd: nand: Fix timing setup for NANDs that do not support SET FEATURES
- mtd: nand: Declare tBERS, tR and tPROG as u64 to avoid integer overflow
- iscsi-target: fix memory leak in iscsit_setup_text_cmd()
- iscsi-target: Fix iscsi_np reset hung task during parallel delete
- usb-storage: fix deadlock involving host lock and scsi_done
- target: Fix node_acl demo-mode + uncached dynamic shutdown regression
- fuse: initialize the flock flag in fuse_file on allocation
- i2c: designware: Some broken DSTDs use 1MiHz instead of 1MHz
- nand: fix wrong default oob layout for small pages using soft ecc
- mmc: mmc: correct the logic for setting HS400ES signal voltage
- nfs/flexfiles: fix leak of nfs4_ff_ds_version arrays
- drm/bridge: tc358767: fix probe without attached output node
- drm/etnaviv: Fix off-by-one error in reloc checking
- drm/i915: Fix out-of-bounds array access in bdw_load_gamma_lut
- USB: serial: option: add D-Link DWM-222 device ID
- USB: serial: cp210x: add support for Qivicon USB ZigBee dongle
- USB: serial: pl2303: add new ATEN device id
- usb: musb: fix tx fifo flush handling again
- USB: hcd: Mark secondary HCD as dead if the primary one died
- staging:iio:resolver:ad2s1210 fix negative IIO_ANGL_VEL read
- iio: aspeed-adc: wait for initial sequence.
- iio: accel: st_accel: add SPI-3wire support
- iio: accel: bmc150: Always restore device to normal mode after suspend-resume
- iio: pressure: st_pressure_core: disable multiread by default for LPS22HB
- iio: light: tsl2563: use correct event code
- iio: adc: Revert "axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications"
- staging: comedi: comedi_fops: do not call blocking ops when !TASK_RUNNING
- uas: Add US_FL_IGNORE_RESIDUE for Initio Corporation INIC-3069
- firmware: fix batched requests - wake all waiters
- firmware: fix batched requests - send wake up on failure on direct lookups
- firmware: avoid invalid fallback aborts by using killable wait
- block: Make blk_mq_delay_kick_requeue_list() rerun the queue at a quiet time
- usb: gadget: udc: renesas_usb3: Fix usb_gadget_giveback_request() calling
- usb: renesas_usbhs: Fix UGCTRL2 value for R-Car Gen3
- USB: Check for dropped connection before switching to full speed
- usb: core: unlink urbs from the tail of the endpoint's urb_list
- usb: quirks: Add no-lpm quirk for Moshi USB to Ethernet Adapter
- usb:xhci:Add quirk for Certain failing HP keyboard on reset after resume
- PCI: Protect pci_error_handlers->reset_notify() usage with device_lock()
- PCI: Remove __pci_dev_reset() and pci_dev_reset()
- PCI: Add pci_reset_function_locked()
- xhci: Reset Renesas uPD72020x USB controller for 32-bit DMA issue
- iio: adc: vf610_adc: Fix VALT selection value for REFSEL bits
- pnfs/blocklayout: require 64-bit sector_t
- pinctrl: cherryview: Add Setzer models to the Chromebook DMI quirk
- pinctrl: sunxi: add a missing function of A10/A20 pinctrl driver
- pinctrl: intel: merrifield: Correct UART pin lists
- pinctrl: uniphier: fix WARN_ON() of pingroups dump on LD11
- pinctrl: uniphier: fix WARN_ON() of pingroups dump on LD20
- pinctrl: samsung: Remove bogus irq_[un]mask from resource management
- pinctrl: meson-gxbb: Add missing GPIODV_18 pin entry
- pinctrl: meson-gxl: Add missing GPIODV_18 pin entry
- MIPS: DEC: Fix an int-handler.S CPU_DADDI_WORKAROUNDS regression
- Revert "MIPS: Don't unnecessarily include kmalloc.h into <asm/cache.h>."
- MIPS: Octeon: Fix broken EDAC driver.
- powerpc: Fix /proc/cpuinfo revision for POWER9 DD2
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.12.9
- audit: Fix use after free in audit_remove_watch_rule()
- parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo
- crypto: ixp4xx - Fix error handling path in 'aead_perform()'
- crypto: x86/sha1 - Fix reads beyond the number of blocks passed
- drm/i915: Perform an invalidate prior to executing golden renderstate
- drm/amdgpu: save list length when fence is signaled
- Input: elan_i2c - add ELAN0608 to the ACPI table
- Input: elan_i2c - Add antoher Lenovo ACPI ID for upcoming Lenovo NB
- md: fix test in md_write_start()
- md: always clear ->safemode when md_check_recovery gets the mddev lock.
- MD: not clear ->safemode for external metadata array
- ALSA: seq: 2nd attempt at fixing race creating a queue
- ALSA: usb-audio: Apply sample rate quirk to Sennheiser headset
- ALSA: usb-audio: Add mute TLV for playback volumes on C-Media devices
- ALSA: usb-audio: add DSD support for new Amanero PID
- mm: discard memblock data later
- slub: fix per memcg cache leak on css offline
- mm: fix double mmap_sem unlock on MMF_UNSTABLE enforced SIGBUS
- mm/cma_debug.c: fix stack corruption due to sprintf usage
- mm/mempolicy: fix use after free when calling get_mempolicy
- mm/vmalloc.c: don't unconditonally use __GFP_HIGHMEM
- mm: revert x86_64 and arm64 ELF_ET_DYN_BASE base changes
- xen: fix bio vec merging
- ARM: dts: imx6qdl-nitrogen6_som2: fix PCIe reset
- blk-mq-pci: add a fallback when pci_irq_get_affinity returns NULL
- powerpc: Fix VSX enabling/flushing to also test MSR_FP and MSR_VEC
- xen-blkfront: use a right index when checking requests
- perf/x86: Fix RDPMC vs. mm_struct tracking
- x86/asm/64: Clear AC on NMI entries
- x86: Fix norandmaps/ADDR_NO_RANDOMIZE
- x86/elf: Remove the unnecessary ADDR_NO_RANDOMIZE checks
- irqchip/atmel-aic: Fix unbalanced of_node_put() in aic_common_irq_fixup()
- irqchip/atmel-aic: Fix unbalanced refcount in aic_common_rtc_irq_fixup()
- genirq: Restore trigger settings in irq_modify_status()
- genirq/ipi: Fixup checks against nr_cpu_ids
- kernel/watchdog: Prevent false positives with turbo modes
- Sanitize 'move_pages()' permission checks
- pids: make task_tgid_nr_ns() safe
- debug: Fix WARN_ON_ONCE() for modules
- usb: optimize acpi companion search for usb port devices
- usb: qmi_wwan: add D-Link DWM-222 device ID
* [alpha] udeb: Add i2c-modules (fixes FTBFS)
* cpupower: Add/update definition of MSRHEADER macro for turbostat and

View File

@ -1,71 +0,0 @@
From: Kees Cook <keescook@chromium.org>
Date: Mon, 07 Aug 2017 20:15:42 +0000
Subject: mm: Revert x86_64 and arm64 ELF_ET_DYN_BASE base
Origin: https://marc.info/?l=linux-arm-kernel&m=150213698426008&w=2
Bug-Debian: https://bugs.debian.org/869090
Moving the x86_64 and arm64 PIE base from 0x555555554000 to 0x000100000000
broke AddressSanitizer. This is a partial revert of:
commit eab09532d400 ("binfmt_elf: use ELF_ET_DYN_BASE only for PIE")
commit 02445990a96e ("arm64: move ELF_ET_DYN_BASE to 4GB / 4MB")
The AddressSanitizer tool has hard-coded expectations about where
executable mappings are loaded. The motivation for changing the PIE
base in the above commits was to avoid the Stack-Clash CVEs that
allowed executable mappings to get too close to heap and stack. This
was mainly a problem on 32-bit, but the 64-bit bases were moved too,
in an effort to proactively protect those systems (proofs of concept
do exist that show 64-bit collisions, but other recent changes to fix
stack accounting and setuid behaviors will minimize the impact).
The new 32-bit PIE base is fine for ASan (since it matches the ET_EXEC
base), so only the 64-bit PIE base needs to be reverted to let x86 and
arm64 ASan binaries run again. Future changes to the 64-bit PIE base on
these architectures can be made optional once a more dynamic method for
dealing with AddressSanitizer is found. (e.g. always loading PIE into
the mmap region for marked binaries.)
Reported-by: Kostya Serebryany <kcc@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
arch/arm64/include/asm/elf.h | 4 ++--
arch/x86/include/asm/elf.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h
index acae781f7359..3288c2b36731 100644
--- a/arch/arm64/include/asm/elf.h
+++ b/arch/arm64/include/asm/elf.h
@@ -114,10 +114,10 @@
/*
* This is the base location for PIE (ET_DYN with INTERP) loads. On
- * 64-bit, this is raised to 4GB to leave the entire 32-bit address
+ * 64-bit, this is above 4GB to leave the entire 32-bit address
* space open for things that want to use the area for 32-bit pointers.
*/
-#define ELF_ET_DYN_BASE 0x100000000UL
+#define ELF_ET_DYN_BASE (2 * TASK_SIZE_64 / 3)
#ifndef __ASSEMBLY__
diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h
index 1c18d83d3f09..9aeb91935ce0 100644
--- a/arch/x86/include/asm/elf.h
+++ b/arch/x86/include/asm/elf.h
@@ -247,11 +247,11 @@ extern int force_personality32;
/*
* This is the base location for PIE (ET_DYN with INTERP) loads. On
- * 64-bit, this is raised to 4GB to leave the entire 32-bit address
+ * 64-bit, this is above 4GB to leave the entire 32-bit address
* space open for things that want to use the area for 32-bit pointers.
*/
#define ELF_ET_DYN_BASE (mmap_is_ia32() ? 0x000400000UL : \
- 0x100000000UL)
+ (TASK_SIZE / 3 * 2))
/* This yields a mask that user programs can use to figure out what
instruction set this CPU supports. This could be done in user space,

View File

@ -1,145 +0,0 @@
From: "Steven J. Hill" <steven.hill@cavium.com>
Date: Wed, 19 Jul 2017 14:06:41 -0500
Subject: MIPS: Octeon: Fix broken EDAC driver.
Origin: https://www.linux-mips.org/archives/linux-mips/2017-07/msg00215.html
Fixes: 15f6847923a8 ("MIPS: Octeon: Remove unused L2C types and
macros.")
Signed-off-by: Steven J. Hill <steven.hill@cavium.com>
Reviewed-by: James Hogan <james.hogan@imgtec.com>
---
arch/mips/include/asm/octeon/cvmx-l2c-defs.h | 37 ++++++++++++++++-
arch/mips/include/asm/octeon/cvmx-l2d-defs.h | 60 ++++++++++++++++++++++++++++
arch/mips/include/asm/octeon/cvmx.h | 1 +
3 files changed, 97 insertions(+), 1 deletion(-)
create mode 100644 arch/mips/include/asm/octeon/cvmx-l2d-defs.h
--- a/arch/mips/include/asm/octeon/cvmx-l2c-defs.h
+++ b/arch/mips/include/asm/octeon/cvmx-l2c-defs.h
@@ -33,6 +33,10 @@
#define CVMX_L2C_DBG (CVMX_ADD_IO_SEG(0x0001180080000030ull))
#define CVMX_L2C_CFG (CVMX_ADD_IO_SEG(0x0001180080000000ull))
#define CVMX_L2C_CTL (CVMX_ADD_IO_SEG(0x0001180080800000ull))
+#define CVMX_L2C_ERR_TDTX(block_id) \
+ (CVMX_ADD_IO_SEG(0x0001180080A007E0ull) + ((block_id) & 3) * 0x40000ull)
+#define CVMX_L2C_ERR_TTGX(block_id) \
+ (CVMX_ADD_IO_SEG(0x0001180080A007E8ull) + ((block_id) & 3) * 0x40000ull)
#define CVMX_L2C_LCKBASE (CVMX_ADD_IO_SEG(0x0001180080000058ull))
#define CVMX_L2C_LCKOFF (CVMX_ADD_IO_SEG(0x0001180080000060ull))
#define CVMX_L2C_PFCTL (CVMX_ADD_IO_SEG(0x0001180080000090ull))
@@ -66,9 +70,40 @@
((offset) & 1) * 8)
#define CVMX_L2C_WPAR_PPX(offset) (CVMX_ADD_IO_SEG(0x0001180080840000ull) + \
((offset) & 31) * 8)
-#define CVMX_L2D_FUS3 (CVMX_ADD_IO_SEG(0x00011800800007B8ull))
+union cvmx_l2c_err_tdtx {
+ uint64_t u64;
+ struct cvmx_l2c_err_tdtx_s {
+ __BITFIELD_FIELD(uint64_t dbe:1,
+ __BITFIELD_FIELD(uint64_t sbe:1,
+ __BITFIELD_FIELD(uint64_t vdbe:1,
+ __BITFIELD_FIELD(uint64_t vsbe:1,
+ __BITFIELD_FIELD(uint64_t syn:10,
+ __BITFIELD_FIELD(uint64_t reserved_22_49:28,
+ __BITFIELD_FIELD(uint64_t wayidx:18,
+ __BITFIELD_FIELD(uint64_t reserved_2_3:2,
+ __BITFIELD_FIELD(uint64_t type:2,
+ ;)))))))))
+ } s;
+};
+
+union cvmx_l2c_err_ttgx {
+ uint64_t u64;
+ struct cvmx_l2c_err_ttgx_s {
+ __BITFIELD_FIELD(uint64_t dbe:1,
+ __BITFIELD_FIELD(uint64_t sbe:1,
+ __BITFIELD_FIELD(uint64_t noway:1,
+ __BITFIELD_FIELD(uint64_t reserved_56_60:5,
+ __BITFIELD_FIELD(uint64_t syn:6,
+ __BITFIELD_FIELD(uint64_t reserved_22_49:28,
+ __BITFIELD_FIELD(uint64_t wayidx:15,
+ __BITFIELD_FIELD(uint64_t reserved_2_6:5,
+ __BITFIELD_FIELD(uint64_t type:2,
+ ;)))))))))
+ } s;
+};
+
union cvmx_l2c_cfg {
uint64_t u64;
struct cvmx_l2c_cfg_s {
--- /dev/null
+++ b/arch/mips/include/asm/octeon/cvmx-l2d-defs.h
@@ -0,0 +1,60 @@
+/***********************license start***************
+ * Author: Cavium Networks
+ *
+ * Contact: support@caviumnetworks.com
+ * This file is part of the OCTEON SDK
+ *
+ * Copyright (c) 2003-2017 Cavium, Inc.
+ *
+ * This file is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, Version 2, as
+ * published by the Free Software Foundation.
+ *
+ * This file is distributed in the hope that it will be useful, but
+ * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
+ * NONINFRINGEMENT. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this file; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * or visit http://www.gnu.org/licenses/.
+ *
+ * This file may also be available under a different license from Cavium.
+ * Contact Cavium Networks for more information
+ ***********************license end**************************************/
+
+#ifndef __CVMX_L2D_DEFS_H__
+#define __CVMX_L2D_DEFS_H__
+
+#define CVMX_L2D_ERR (CVMX_ADD_IO_SEG(0x0001180080000010ull))
+#define CVMX_L2D_FUS3 (CVMX_ADD_IO_SEG(0x00011800800007B8ull))
+
+
+union cvmx_l2d_err {
+ uint64_t u64;
+ struct cvmx_l2d_err_s {
+ __BITFIELD_FIELD(uint64_t reserved_6_63:58,
+ __BITFIELD_FIELD(uint64_t bmhclsel:1,
+ __BITFIELD_FIELD(uint64_t ded_err:1,
+ __BITFIELD_FIELD(uint64_t sec_err:1,
+ __BITFIELD_FIELD(uint64_t ded_intena:1,
+ __BITFIELD_FIELD(uint64_t sec_intena:1,
+ __BITFIELD_FIELD(uint64_t ecc_ena:1,
+ ;)))))))
+ } s;
+};
+
+union cvmx_l2d_fus3 {
+ uint64_t u64;
+ struct cvmx_l2d_fus3_s {
+ __BITFIELD_FIELD(uint64_t reserved_40_63:24,
+ __BITFIELD_FIELD(uint64_t ema_ctl:3,
+ __BITFIELD_FIELD(uint64_t reserved_34_36:3,
+ __BITFIELD_FIELD(uint64_t q3fus:34,
+ ;))))
+ } s;
+};
+
+#endif
--- a/arch/mips/include/asm/octeon/cvmx.h
+++ b/arch/mips/include/asm/octeon/cvmx.h
@@ -62,6 +62,7 @@ enum cvmx_mips_space {
#include <asm/octeon/cvmx-iob-defs.h>
#include <asm/octeon/cvmx-ipd-defs.h>
#include <asm/octeon/cvmx-l2c-defs.h>
+#include <asm/octeon/cvmx-l2d-defs.h>
#include <asm/octeon/cvmx-l2t-defs.h>
#include <asm/octeon/cvmx-led-defs.h>
#include <asm/octeon/cvmx-mio-defs.h>

View File

@ -59,10 +59,8 @@ bugfix/x86/platform-x86-ideapad-laptop-add-y520-15ikbn-to-no_hw.patch
bugfix/x86/platform-x86-ideapad-laptop-add-y720-15ikbn-to-no_hw.patch
bugfix/x86/platform-x86-ideapad-laptop-add-ideapad-v510-15ikb-t.patch
bugfix/x86/platform-x86-ideapad-laptop-add-several-models-to-no.patch
bugfix/mips/mips-octeon-fix-broken-edac-driver.patch
debian/revert-gpu-host1x-add-iommu-support.patch
bugfix/x86/perf-tools-fix-unwind-build-on-i386.patch
bugfix/all/mm-revert-x86_64-and-arm64-elf_et_dyn_base-base.patch
# Arch features
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch