Update to 4.12.10-1

This commit is contained in:
Mark Weiman 2017-09-08 12:43:15 -04:00
parent bef1c58622
commit 39465667bf
5 changed files with 7 additions and 177 deletions

View File

@ -1,7 +1,7 @@
# Generated by mksrcinfo v8
# Tue Aug 29 17:44:26 UTC 2017
# Fri Sep 8 16:42:58 UTC 2017
pkgbase = linux-vfio
pkgver = 4.12.8
pkgver = 4.12.10
pkgrel = 1
url = http://www.kernel.org/
arch = i686
@ -16,11 +16,8 @@ pkgbase = linux-vfio
options = !strip
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.12.tar.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.12.tar.sign
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.12.8.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.12.8.sign
source = bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch
source = bonding-ratelimit-failed-speed-duplex-update-warning.patch
source = mm-Revert-x86_64-and-arm64-ELF_ET_DYN_BASE-base.patch
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.12.10.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.12.10.sign
source = config
source = config.x86_64
source = 90-linux.hook
@ -29,11 +26,8 @@ pkgbase = linux-vfio
source = i915-vga-arbiter.patch
sha256sums = a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab
sha256sums = SKIP
sha256sums = 32b860911a3bafd5cd5bc813a427c90fad6eafdf607fa64e1b763b16ab605636
sha256sums = 32dfc4d44b559bb7007a54217aee04f6fe93e1f7bc9d9809064b5a4e689ba6e1
sha256sums = SKIP
sha256sums = 48e0505438bb4ccc7a0e050a896122b490e8f1b1446aa3833841a9d4d7853d68
sha256sums = fc606711a922638d5cc4358f47f69f554d9e6eab1cec91f0b49f00911f399722
sha256sums = b830ce777543c0edd20a77d70f204c095f2429bb37151cd4a8c9dfae2af8d51a
sha256sums = df55887a43dcbb6bd35fd2fb1ec841427b6ea827334c0880cbc256d4f042a7a1
sha256sums = bf84528c592d1841bba0662242f0339a24a1de384c31f28248631e8be9446586
sha256sums = 8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5

View File

@ -3,7 +3,7 @@
pkgbase=linux-vfio
_srcname=linux-4.12
pkgver=4.12.8
pkgver=4.12.10
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.kernel.org/"
@ -14,9 +14,6 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
"https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.sign"
"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz"
"https://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.sign"
'bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch'
'bonding-ratelimit-failed-speed-duplex-update-warning.patch'
'mm-Revert-x86_64-and-arm64-ELF_ET_DYN_BASE-base.patch'
# the main kernel config files
'config' 'config.x86_64'
# pacman hook for initramfs regeneration
@ -28,11 +25,8 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
'i915-vga-arbiter.patch')
sha256sums=('a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab'
'SKIP'
'32b860911a3bafd5cd5bc813a427c90fad6eafdf607fa64e1b763b16ab605636'
'32dfc4d44b559bb7007a54217aee04f6fe93e1f7bc9d9809064b5a4e689ba6e1'
'SKIP'
'48e0505438bb4ccc7a0e050a896122b490e8f1b1446aa3833841a9d4d7853d68'
'fc606711a922638d5cc4358f47f69f554d9e6eab1cec91f0b49f00911f399722'
'b830ce777543c0edd20a77d70f204c095f2429bb37151cd4a8c9dfae2af8d51a'
'df55887a43dcbb6bd35fd2fb1ec841427b6ea827334c0880cbc256d4f042a7a1'
'bf84528c592d1841bba0662242f0339a24a1de384c31f28248631e8be9446586'
'8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5'
@ -55,14 +49,6 @@ prepare() {
# add latest fixes from stable queue, if needed
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
# https://bugzilla.kernel.org/show_bug.cgi?id=196547
patch -Np1 -i ../bonding-ratelimit-failed-speed-duplex-update-warning.patch
patch -Np1 -i ../bonding-require-speed-duplex-only-for-802.3ad-alb-an.patch
# https://github.com/google/sanitizers/issues/837
# https://patchwork.kernel.org/patch/9886105/
patch -Np1 -i ../mm-Revert-x86_64-and-arm64-ELF_ET_DYN_BASE-base.patch
if [ "${CARCH}" = "x86_64" ]; then
cat "${srcdir}/config.x86_64" > ./.config
else

View File

@ -1,47 +0,0 @@
From 11e9d7829dd08dbafb24517fe922f11c3a8a9dc2 Mon Sep 17 00:00:00 2001
From: Andreas Born <futur.andy@googlemail.com>
Date: Sat, 12 Aug 2017 00:36:55 +0200
Subject: [PATCH] bonding: ratelimit failed speed/duplex update warning
bond_miimon_commit() handles the UP transition for each slave of a bond
in the case of MII. It is triggered 10 times per second for the default
MII Polling interval of 100ms. For device drivers that do not implement
__ethtool_get_link_ksettings() the call to bond_update_speed_duplex()
fails persistently while the MII status could remain UP. That is, in
this and other cases where the speed/duplex update keeps failing over a
longer period of time while the MII state is UP, a warning is printed
every MII polling interval.
To address these excessive warnings net_ratelimit() should be used.
Printing a warning once would not be sufficient since the call to
bond_update_speed_duplex() could recover to succeed and fail again
later. In that case there would be no new indication what went wrong.
Fixes: b5bf0f5b16b9c (bonding: correctly update link status during mii-commit phase)
Signed-off-by: Andreas Born <futur.andy@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/net/bonding/bond_main.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 85bb272d2a34..fc63992ab0e0 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -2144,9 +2144,10 @@ static void bond_miimon_commit(struct bonding *bond)
if (bond_update_speed_duplex(slave) &&
bond_needs_speed_duplex(bond)) {
slave->link = BOND_LINK_DOWN;
- netdev_warn(bond->dev,
- "failed to get link speed/duplex for %s\n",
- slave->dev->name);
+ if (net_ratelimit())
+ netdev_warn(bond->dev,
+ "failed to get link speed/duplex for %s\n",
+ slave->dev->name);
continue;
}
bond_set_slave_link_state(slave, BOND_LINK_UP,
--
2.14.1

View File

@ -1,68 +0,0 @@
From ad729bc9acfb7c47112964b4877ef5404578ed13 Mon Sep 17 00:00:00 2001
From: Andreas Born <futur.andy@googlemail.com>
Date: Thu, 10 Aug 2017 06:41:44 +0200
Subject: [PATCH] bonding: require speed/duplex only for 802.3ad, alb and tlb
The patch c4adfc822bf5 ("bonding: make speed, duplex setting consistent
with link state") puts the link state to down if
bond_update_speed_duplex() cannot retrieve speed and duplex settings.
Assumably the patch was written with 802.3ad mode in mind which relies
on link speed/duplex settings. For other modes like active-backup these
settings are not required. Thus, only for these other modes, this patch
reintroduces support for slaves that do not support reporting speed or
duplex such as wireless devices. This fixes the regression reported in
bug 196547 (https://bugzilla.kernel.org/show_bug.cgi?id=196547).
Fixes: c4adfc822bf5 ("bonding: make speed, duplex setting consistent
with link state")
Signed-off-by: Andreas Born <futur.andy@googlemail.com>
Acked-by: Mahesh Bandewar <maheshb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/net/bonding/bond_main.c | 6 ++++--
include/net/bonding.h | 5 +++++
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 9bee6c1c70cc..85bb272d2a34 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1569,7 +1569,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
new_slave->delay = 0;
new_slave->link_failure_count = 0;
- if (bond_update_speed_duplex(new_slave))
+ if (bond_update_speed_duplex(new_slave) &&
+ bond_needs_speed_duplex(bond))
new_slave->link = BOND_LINK_DOWN;
new_slave->last_rx = jiffies -
@@ -2140,7 +2141,8 @@ static void bond_miimon_commit(struct bonding *bond)
continue;
case BOND_LINK_UP:
- if (bond_update_speed_duplex(slave)) {
+ if (bond_update_speed_duplex(slave) &&
+ bond_needs_speed_duplex(bond)) {
slave->link = BOND_LINK_DOWN;
netdev_warn(bond->dev,
"failed to get link speed/duplex for %s\n",
diff --git a/include/net/bonding.h b/include/net/bonding.h
index b00508d22e0a..b2e68657a216 100644
--- a/include/net/bonding.h
+++ b/include/net/bonding.h
@@ -277,6 +277,11 @@ static inline bool bond_is_lb(const struct bonding *bond)
BOND_MODE(bond) == BOND_MODE_ALB;
}
+static inline bool bond_needs_speed_duplex(const struct bonding *bond)
+{
+ return BOND_MODE(bond) == BOND_MODE_8023AD || bond_is_lb(bond);
+}
+
static inline bool bond_is_nondyn_tlb(const struct bonding *bond)
{
return (BOND_MODE(bond) == BOND_MODE_TLB) &&
--
2.14.1

View File

@ -1,35 +0,0 @@
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,