summaryrefslogtreecommitdiffstats
path: root/main/linux-grsec
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-01-22 10:58:19 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2013-01-22 10:58:19 +0000
commit059b4e0e9ba1ebd22ed6801cb85b7e0f0f6d7b63 (patch)
treecb13b39190946b924440b71ecf1cee229192bd75 /main/linux-grsec
parentfbd4f469b31e55b6c9a358b1e78d0c5fcde23cb8 (diff)
downloadaports-059b4e0e9ba1ebd22ed6801cb85b7e0f0f6d7b63.tar.bz2
aports-059b4e0e9ba1ebd22ed6801cb85b7e0f0f6d7b63.tar.xz
main/linux-grsec: r8169: fix for vlan tagging issues
Should fix issue with interfaces freezing with heavy load over vlans
Diffstat (limited to 'main/linux-grsec')
-rw-r--r--main/linux-grsec/0001-r8169-remove-the-obsolete-and-incorrect-AMD-workarou.patch58
-rw-r--r--main/linux-grsec/APKBUILD4
2 files changed, 61 insertions, 1 deletions
diff --git a/main/linux-grsec/0001-r8169-remove-the-obsolete-and-incorrect-AMD-workarou.patch b/main/linux-grsec/0001-r8169-remove-the-obsolete-and-incorrect-AMD-workarou.patch
new file mode 100644
index 000000000..dc7e84df4
--- /dev/null
+++ b/main/linux-grsec/0001-r8169-remove-the-obsolete-and-incorrect-AMD-workarou.patch
@@ -0,0 +1,58 @@
+From f5829ee75361832b9b52e7230f57ecadc1db0125 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
+Date: Tue, 22 Jan 2013 10:39:08 +0200
+Subject: [PATCH] r8169: remove the obsolete and incorrect AMD workaround
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This was introduced in commit 6dccd16 "r8169: merge with version
+6.001.00 of Realtek's r8169 driver". I did not find the version
+6.001.00 online, but in 6.002.00 or any later r8169 from Realtek
+this hunk is no longer present.
+
+Also commit 05af214 "r8169: fix Ethernet Hangup for RTL8110SC
+rev d" claims to have fixed this issue otherwise.
+
+The magic compare mask of 0xfffe000 is dubious as it masks
+parts of the Reserved part, and parts of the VLAN tag. But this
+does not make much sense as the VLAN tag parts are perfectly
+valid there. In matter of fact this seems to be triggered with
+any VLAN tagged packet as RxVlanTag bit is matched. I would
+suspect 0xfffe0000 was intended to test reserved part only.
+
+Finally, this hunk is evil as it can cause more packets to be
+handled than what was NAPI quota causing net/core/dev.c:
+net_rx_action(): WARN_ON_ONCE(work > weight) to trigger, and
+mess up the NAPI state causing device to hang.
+
+As result, any system using VLANs and having high receive
+traffic (so that NAPI poll budget limits rtl_rx) would result
+in device hang.
+
+Signed-off-by: Timo Teräs <timo.teras@iki.fi>
+---
+ drivers/net/ethernet/realtek/r8169.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
+index 9cc0215..3fbb0ca 100644
+--- a/drivers/net/ethernet/realtek/r8169.c
++++ b/drivers/net/ethernet/realtek/r8169.c
+@@ -5450,13 +5450,6 @@ process_pkt:
+ tp->rx_stats.bytes += pkt_size;
+ u64_stats_update_end(&tp->rx_stats.syncp);
+ }
+-
+- /* Work around for AMD plateform. */
+- if ((desc->opts2 & cpu_to_le32(0xfffe000)) &&
+- (tp->mac_version == RTL_GIGA_MAC_VER_05)) {
+- desc->opts2 = 0;
+- cur_rx++;
+- }
+ }
+
+ count = cur_rx - tp->cur_rx;
+--
+1.8.1.1
+
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 90eeb7df9..955c2177a 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -4,7 +4,7 @@ _flavor=grsec
pkgname=linux-${_flavor}
pkgver=3.6.11
_kernver=3.6
-pkgrel=4
+pkgrel=5
pkgdesc="Linux kernel with grsecurity"
url=http://grsecurity.net
depends="mkinitfs linux-firmware"
@@ -20,6 +20,7 @@ source="http://ftp.kernel.org/pub/linux/kernel/v3.x/linux-$_kernver.tar.xz
r8169-num-rx-desc.patch
xsa40.patch
ipv4-remove-output-route-check-in-ipv4_mtu.patch
+ 0001-r8169-remove-the-obsolete-and-incorrect-AMD-workarou.patch
kernelconfig.x86
kernelconfig.x86_64
@@ -148,5 +149,6 @@ dce5c43ac3b5d8e35e245b35e90e1837 grsecurity-2.9.1-3.6.11-unofficial-1.patch
daf2cbb558588c49c138fe9ca2482b64 r8169-num-rx-desc.patch
d9de28f8a74fe0347866705b4bd6db85 xsa40.patch
d9b4a528e722d10ba53034ebd440c31b ipv4-remove-output-route-check-in-ipv4_mtu.patch
+63468b44e34fa19237e0a2a1f6737b14 0001-r8169-remove-the-obsolete-and-incorrect-AMD-workarou.patch
373db5888708938c6b1baed6da781fcb kernelconfig.x86
190788fb10e79abce9d570d5e87ec3b4 kernelconfig.x86_64"