diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2013-01-22 10:58:19 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2013-01-22 10:58:19 +0000 |
commit | 059b4e0e9ba1ebd22ed6801cb85b7e0f0f6d7b63 (patch) | |
tree | cb13b39190946b924440b71ecf1cee229192bd75 /main/linux-grsec | |
parent | fbd4f469b31e55b6c9a358b1e78d0c5fcde23cb8 (diff) | |
download | aports-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.patch | 58 | ||||
-rw-r--r-- | main/linux-grsec/APKBUILD | 4 |
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 0000000000..dc7e84df4e --- /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 90eeb7df96..955c2177ae 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" |