From a2dde14ec67c2829199f5381cfdd3f8c8db38a34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Tue, 29 Aug 2017 22:20:12 +0200 Subject: [PATCH] Update to 4.12.9 --- debian/changelog | 110 ++++++++++++- ...86_64-and-arm64-elf_et_dyn_base-base.patch | 71 --------- .../mips-octeon-fix-broken-edac-driver.patch | 145 ------------------ debian/patches/series | 2 - 4 files changed, 109 insertions(+), 219 deletions(-) delete mode 100644 debian/patches/bugfix/all/mm-revert-x86_64-and-arm64-elf_et_dyn_base-base.patch delete mode 100644 debian/patches/bugfix/mips/mips-octeon-fix-broken-edac-driver.patch diff --git a/debian/changelog b/debian/changelog index fb470ee4d..d90727149 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 ." + - 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 diff --git a/debian/patches/bugfix/all/mm-revert-x86_64-and-arm64-elf_et_dyn_base-base.patch b/debian/patches/bugfix/all/mm-revert-x86_64-and-arm64-elf_et_dyn_base-base.patch deleted file mode 100644 index a345e219e..000000000 --- a/debian/patches/bugfix/all/mm-revert-x86_64-and-arm64-elf_et_dyn_base-base.patch +++ /dev/null @@ -1,71 +0,0 @@ -From: Kees Cook -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 -Cc: stable@vger.kernel.org -Signed-off-by: Kees Cook ---- - 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, diff --git a/debian/patches/bugfix/mips/mips-octeon-fix-broken-edac-driver.patch b/debian/patches/bugfix/mips/mips-octeon-fix-broken-edac-driver.patch deleted file mode 100644 index a86cd95cf..000000000 --- a/debian/patches/bugfix/mips/mips-octeon-fix-broken-edac-driver.patch +++ /dev/null @@ -1,145 +0,0 @@ -From: "Steven J. Hill" -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 -Reviewed-by: James Hogan ---- - 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 - #include - #include -+#include - #include - #include - #include diff --git a/debian/patches/series b/debian/patches/series index fad0ddab2..5ff613e45 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -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