update to 4.19.15

This commit is contained in:
Yves-Alexis Perez 2019-01-14 10:43:25 +01:00
parent bfc928ff1a
commit fceb8a1734
6 changed files with 66 additions and 168 deletions

62
debian/changelog vendored
View File

@ -1,4 +1,4 @@
linux (4.19.14-1) UNRELEASED; urgency=medium
linux (4.19.15-1) UNRELEASED; urgency=medium
* New upstream stable update:
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.14
@ -74,6 +74,66 @@ linux (4.19.14-1) UNRELEASED; urgency=medium
- [arm*] KVM: arm/arm64: vgic-v2: Set active_source to 0 when restoring
state
- [arm*] KVM: arm/arm64: vgic: Fix off-by-one bug in vgic_get_irq()
https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.19.15
- IB/core: Fix oops in netdev_next_upper_dev_rcu()
- xfrm: Fix NULL pointer dereference in xfrm_input when skb_dst_force
clears the dst_entry.
- ieee802154: hwsim: fix off-by-one in parse nested
- netfilter: seqadj: re-load tcp header pointer after possible head
reallocation
- scsi: bnx2fc: Fix NULL dereference in error handling
- [ppc64el] ibmvnic: Convert reset work item mutex to spin lock
- [ppc64el] ibmvnic: Fix non-atomic memory allocation in IRQ context
- [x86] x86/mm: Fix guard hole handling
- i40e: fix mac filter delete when setting mac address
- ixgbe: Fix race when the VF driver does a reset
- netfilter: nat: can't use dst_hold on noref dst
- bnx2x: Clear fip MAC when fcoe offload support is disabled
- bnx2x: Remove configured vlans as part of unload sequence.
- bnx2x: Send update-svid ramrod with retry/poll flags enabled
- mt76: fix potential NULL pointer dereference in mt76_stop_tx_queues
- [x86] x86, hyperv: remove PCI dependency
- [arm64] net: hns: All ports can not work when insmod hns ko after rmmod.
- [arm64] net: hns: Fixed bug that netdev was opened twice
- [arm64] net: hns: Clean rx fbd when ae stopped.
- [arm64] net: hns: Avoid net reset caused by pause frames storm
- [arm64] net: hns: Add mac pcs config when enable|disable mac
- [arm64] net: hns: Fix ping failed when use net bridge and send multicast
- mac80211: fix a kernel panic when TXing after TXQ teardown
- [arm64,riscv64] net: macb: fix random memory corruption on RX with
64-bit DMA
- [arm64.risvv64] net: macb: fix dropped RX frames due to a race
- lan78xx: Resolve issue with changing MAC address
- [s390x] scsi: zfcp: fix posting too many status read buffers leading to
adapter shutdown
- fork: record start_time late
- zram: fix double free backing device
- hwpoison, memory_hotplug: allow hwpoisoned pages to be offlined
- mm, devm_memremap_pages: kill mapping "System RAM" support
- memcg, oom: notify on oom killer invocation from the charge path
- mt76x0: init hw capabilities
- [amd64] media: cx23885: only reset DMA on problematic CPUs
- ALSA: cs46xx: Potential NULL dereference in probe
- ALSA: usb-audio: Avoid access before bLength check in
build_audio_procunit()
- ALSA: usb-audio: Check mixer unit descriptors more strictly
- ALSA: usb-audio: Fix an out-of-bound read in create_composite_quirks
- ALSA: usb-audio: Always check descriptor sizes in parser code
- Fix failure path in alloc_pid()
- block: deactivate blk_stat timer in wbt_disable_default()
- gfs2: Get rid of potential double-freeing in gfs2_create_inode
- gfs2: Fix loop in gfs2_rbm_find
- b43: Fix error in cordic routine
- nfsd4: zero-length WRITE should succeed
- [ppc*] powerpc/tm: Set MSR[TS] just prior to recheckpoint
- RDMA/srpt: Fix a use-after-free in the channel release code
- sched/fair: Fix infinite loop in update_blocked_averages() by reverting
a9e7f6544b9c
- [s390x] genwqe: Fix size check
- [x86] intel_th: msu: Fix an off-by-one in attribute store
- [armhf,arm64] drm/rockchip: psr: do not dereference encoder before it is
null checked.
- bnx2x: Fix NULL pointer dereference in bnx2x_del_all_vlans() on some hw
[ John Paul Adrian Glaubitz ]
* [m68k] Add patch to build with -ffreestanding to fix FTBFS

View File

@ -1,41 +0,0 @@
From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date: Mon, 17 Dec 2018 09:30:10 +0100
Subject: gpio: mvebu: only fail on missing clk if pwm is actually to be used
Origin: http://lists.infradead.org/pipermail/linux-arm-kernel/2018-December/621248.html
The gpio IP on Armada 370 at offset 0x18180 has neither a clk nor pwm
registers. So there is no need for a clk as the pwm isn't used anyhow.
So only check for the clk in the presence of the pwm registers. This fixes
a failure to probe the gpio driver for the above mentioned gpio device.
Fixes: 757642f9a584 ("gpio: mvebu: Add limited PWM support")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
---
drivers/gpio/gpio-mvebu.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
index 6e02148c208b..adc768f908f1 100644
--- a/drivers/gpio/gpio-mvebu.c
+++ b/drivers/gpio/gpio-mvebu.c
@@ -773,9 +773,6 @@ static int mvebu_pwm_probe(struct platform_device *pdev,
"marvell,armada-370-gpio"))
return 0;
- if (IS_ERR(mvchip->clk))
- return PTR_ERR(mvchip->clk);
-
/*
* There are only two sets of PWM configuration registers for
* all the GPIO lines on those SoCs which this driver reserves
@@ -786,6 +783,9 @@ static int mvebu_pwm_probe(struct platform_device *pdev,
if (!res)
return 0;
+ if (IS_ERR(mvchip->clk))
+ return PTR_ERR(mvchip->clk);
+
/*
* Use set A for lines of GPIO chip with id 0, B for GPIO chip
* with id 1. Don't allow further GPIO chips to be used for PWM.

View File

@ -38,5 +38,5 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
endif
+endif
ifdef CONFIG_MPROFILE_KERNEL
CC_FLAGS_FTRACE := -pg -mprofile-kernel
ifdef CONFIG_FUNCTION_TRACER
CC_FLAGS_FTRACE := -pg

View File

@ -1,114 +0,0 @@
From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Date: Fri, 30 Nov 2018 23:23:27 +0300
Subject: x86/mm: Fix guard hole handling
Origin: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=16877a5570e0c5f4270d5b17f9bab427bcae9514
There is a guard hole at the beginning of the kernel address space, also
used by hypervisors. It occupies 16 PGD entries.
This reserved range is not defined explicitely, it is calculated relative
to other entities: direct mapping and user space ranges.
The calculation got broken by recent changes of the kernel memory layout:
LDT remap range is now mapped before direct mapping and makes the
calculation invalid.
The breakage leads to crash on Xen dom0 boot[1].
Define the reserved range explicitely. It's part of kernel ABI (hypervisors
expect it to be stable) and must not depend on changes in the rest of
kernel memory layout.
[1] https://lists.xenproject.org/archives/html/xen-devel/2018-11/msg03313.html
Fixes: d52888aa2753 ("x86/mm: Move LDT remap out of KASLR region on 5-level paging")
Reported-by: Hans van Kranenburg <hans.van.kranenburg@mendix.com>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Hans van Kranenburg <hans.van.kranenburg@mendix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Cc: bp@alien8.de
Cc: hpa@zytor.com
Cc: dave.hansen@linux.intel.com
Cc: luto@kernel.org
Cc: peterz@infradead.org
Cc: boris.ostrovsky@oracle.com
Cc: bhe@redhat.com
Cc: linux-mm@kvack.org
Cc: xen-devel@lists.xenproject.org
Link: https://lkml.kernel.org/r/20181130202328.65359-2-kirill.shutemov@linux.intel.com
---
arch/x86/include/asm/pgtable_64_types.h | 5 +++++
arch/x86/mm/dump_pagetables.c | 8 ++++----
arch/x86/xen/mmu_pv.c | 11 ++++++-----
3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/arch/x86/include/asm/pgtable_64_types.h b/arch/x86/include/asm/pgtable_64_types.h
index 84bd9bdc1987..88bca456da99 100644
--- a/arch/x86/include/asm/pgtable_64_types.h
+++ b/arch/x86/include/asm/pgtable_64_types.h
@@ -111,6 +111,11 @@ extern unsigned int ptrs_per_p4d;
*/
#define MAXMEM (1UL << MAX_PHYSMEM_BITS)
+#define GUARD_HOLE_PGD_ENTRY -256UL
+#define GUARD_HOLE_SIZE (16UL << PGDIR_SHIFT)
+#define GUARD_HOLE_BASE_ADDR (GUARD_HOLE_PGD_ENTRY << PGDIR_SHIFT)
+#define GUARD_HOLE_END_ADDR (GUARD_HOLE_BASE_ADDR + GUARD_HOLE_SIZE)
+
#define LDT_PGD_ENTRY -240UL
#define LDT_BASE_ADDR (LDT_PGD_ENTRY << PGDIR_SHIFT)
#define LDT_END_ADDR (LDT_BASE_ADDR + PGDIR_SIZE)
diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c
index fc37bbd23eb8..dad153e5a427 100644
--- a/arch/x86/mm/dump_pagetables.c
+++ b/arch/x86/mm/dump_pagetables.c
@@ -512,11 +512,11 @@ static inline bool is_hypervisor_range(int idx)
{
#ifdef CONFIG_X86_64
/*
- * ffff800000000000 - ffff87ffffffffff is reserved for
- * the hypervisor.
+ * A hole in the beginning of kernel address space reserved
+ * for a hypervisor.
*/
- return (idx >= pgd_index(__PAGE_OFFSET) - 16) &&
- (idx < pgd_index(__PAGE_OFFSET));
+ return (idx >= pgd_index(GUARD_HOLE_BASE_ADDR)) &&
+ (idx < pgd_index(GUARD_HOLE_END_ADDR));
#else
return false;
#endif
diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c
index a5d7ed125337..0f4fe206dcc2 100644
--- a/arch/x86/xen/mmu_pv.c
+++ b/arch/x86/xen/mmu_pv.c
@@ -648,19 +648,20 @@ static int __xen_pgd_walk(struct mm_struct *mm, pgd_t *pgd,
unsigned long limit)
{
int i, nr, flush = 0;
- unsigned hole_low, hole_high;
+ unsigned hole_low = 0, hole_high = 0;
/* The limit is the last byte to be touched */
limit--;
BUG_ON(limit >= FIXADDR_TOP);
+#ifdef CONFIG_X86_64
/*
* 64-bit has a great big hole in the middle of the address
- * space, which contains the Xen mappings. On 32-bit these
- * will end up making a zero-sized hole and so is a no-op.
+ * space, which contains the Xen mappings.
*/
- hole_low = pgd_index(USER_LIMIT);
- hole_high = pgd_index(PAGE_OFFSET);
+ hole_low = pgd_index(GUARD_HOLE_BASE_ADDR);
+ hole_high = pgd_index(GUARD_HOLE_END_ADDR);
+#endif
nr = pgd_index(limit) + 1;
for (i = 0; i < nr; i++) {
--
2.19.2

View File

@ -12,7 +12,7 @@ a pre-built objtool.
--- a/Makefile
+++ b/Makefile
@@ -923,22 +923,6 @@ mod_sign_cmd = true
@@ -949,17 +949,6 @@ mod_sign_cmd = true
endif
export mod_sign_cmd
@ -22,11 +22,6 @@ a pre-built objtool.
- ifeq ($(has_libelf),1)
- objtool_target := tools/objtool FORCE
- else
- ifdef CONFIG_UNWINDER_ORC
- $(error "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
- else
- $(warning "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
- endif
- SKIP_STACK_VALIDATION := 1
- export SKIP_STACK_VALIDATION
- endif
@ -35,7 +30,7 @@ a pre-built objtool.
ifeq ($(KBUILD_EXTMOD),)
core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/
@@ -1075,6 +1059,22 @@ uapi-asm-generic:
@@ -1110,6 +1099,22 @@ uapi-asm-generic:
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \
src=uapi/asm obj=arch/$(SRCARCH)/include/generated/uapi/asm
@ -57,4 +52,4 @@ a pre-built objtool.
+
PHONY += prepare-objtool
prepare-objtool: $(objtool_target)
ifeq ($(SKIP_STACK_VALIDATION),1)

View File

@ -77,8 +77,6 @@ bugfix/arm/arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch
bugfix/powerpc/powerpc-boot-fix-missing-crc32poly.h-when-building-with-kernel_xz.patch
bugfix/arm64/arm64-acpi-Add-fixup-for-HPE-m400-quirks.patch
bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch
bugfix/x86/x86-mm-Fix-guard-hole-handling.patch
bugfix/arm/gpio-mvebu-only-fail-on-missing-clk-if-pwm-is-actual.patch
bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch
bugfix/m68k/m68k-build-with-ffreestanding.patch