aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Pau Monne <roger.pau@citrix.com>2013-01-16 18:30:07 +0100
committerNatanael Copa <ncopa@alpinelinux.org>2013-01-17 10:38:49 +0000
commitda9d37b6a115d9da04fa1b91c7effda5e6e454fe (patch)
tree579279f13b2837e670d325bc258634a3025646d5
parent5b4cf2b15d5a62c8ce00284410a099239d6935d2 (diff)
downloadalpine_aports-da9d37b6a115d9da04fa1b91c7effda5e6e454fe.tar.bz2
alpine_aports-da9d37b6a115d9da04fa1b91c7effda5e6e454fe.tar.xz
alpine_aports-da9d37b6a115d9da04fa1b91c7effda5e6e454fe.zip
xen: XSA-41
-rw-r--r--main/xen/APKBUILD4
-rw-r--r--main/xen/xsa41.patch43
2 files changed, 46 insertions, 1 deletions
diff --git a/main/xen/APKBUILD b/main/xen/APKBUILD
index 39033477e9..dbeee605ce 100644
--- a/main/xen/APKBUILD
+++ b/main/xen/APKBUILD
@@ -3,7 +3,7 @@
3# Maintainer: William Pitcock <nenolod@dereferenced.org> 3# Maintainer: William Pitcock <nenolod@dereferenced.org>
4pkgname=xen 4pkgname=xen
5pkgver=4.1.4 5pkgver=4.1.4
6pkgrel=1 6pkgrel=2
7pkgdesc="Xen hypervisor" 7pkgdesc="Xen hypervisor"
8url="http://www.xen.org/" 8url="http://www.xen.org/"
9arch="x86 x86_64" 9arch="x86 x86_64"
@@ -23,6 +23,7 @@ source="http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.g
23 librt.patch 23 librt.patch
24 busybox-sed.patch 24 busybox-sed.patch
25 xsa33-4.1.patch 25 xsa33-4.1.patch
26 xsa41.patch
26 27
27 xenstored.initd 28 xenstored.initd
28 xenstored.confd 29 xenstored.confd
@@ -123,6 +124,7 @@ b973dc1ffcc6872e222b36f3b7b4836b fix_bswap_blktap2.patch
123fa06495a175571f4aa3b6cb88937953e librt.patch 124fa06495a175571f4aa3b6cb88937953e librt.patch
1241bea3543ddc712330527b62fd9ff6520 busybox-sed.patch 1251bea3543ddc712330527b62fd9ff6520 busybox-sed.patch
12525ba4efc5eee29daa12855fbadce84f8 xsa33-4.1.patch 12625ba4efc5eee29daa12855fbadce84f8 xsa33-4.1.patch
127ce56f00762139cd611dfc3332b7571cf xsa41.patch
1266e5739dad7e2bd1b625e55ddc6c782b7 xenstored.initd 1286e5739dad7e2bd1b625e55ddc6c782b7 xenstored.initd
127b017ccdd5e1c27bbf1513e3569d4ff07 xenstored.confd 129b017ccdd5e1c27bbf1513e3569d4ff07 xenstored.confd
128ed262f15fb880badb53575539468646c xenconsoled.initd 130ed262f15fb880badb53575539468646c xenconsoled.initd
diff --git a/main/xen/xsa41.patch b/main/xen/xsa41.patch
new file mode 100644
index 0000000000..2c5b542d6b
--- /dev/null
+++ b/main/xen/xsa41.patch
@@ -0,0 +1,43 @@
1From b0d9ffcd0251161c7c92f94804dcf599dfa3edeb Mon Sep 17 00:00:00 2001
2From: Michael Contreras <michael@inetric.com>
3Date: Sun, 2 Dec 2012 20:11:22 -0800
4Subject: [PATCH] e1000: Discard packets that are too long if !SBP and !LPE
5
6The e1000_receive function for the e1000 needs to discard packets longer than
71522 bytes if the SBP and LPE flags are disabled. The linux driver assumes
8this behavior and allocates memory based on this assumption.
9
10Signed-off-by: Michael Contreras <michael@inetric.com>
11Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12---
13diff --git a/tools/ioemu-qemu-xen/hw/e1000.c b/tools/ioemu-qemu-xen/hw/e1000.c
14index cb7e7e8..5537ad2 100644
15--- a/tools/ioemu-qemu-xen/hw/e1000.c
16+++ b/tools/ioemu-qemu-xen/hw/e1000.c
17@@ -59,6 +59,9 @@ static int debugflags = DBGBIT(TXERR) | DBGBIT(GENERAL);
18 #define PNPMMIO_SIZE 0x20000
19 #define MIN_BUF_SIZE 60 /* Min. octets in an ethernet frame sans FCS */
20
21+/* this is the size past which hardware will drop packets when setting LPE=0 */
22+#define MAXIMUM_ETHERNET_VLAN_SIZE 1522
23+
24 /*
25 * HW models:
26 * E1000_DEV_ID_82540EM works with Windows and Linux
27@@ -805,6 +808,13 @@ e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size)
28 size = sizeof(min_buf);
29 }
30
31+ /* Discard oversized packets if !LPE and !SBP. */
32+ if (size > MAXIMUM_ETHERNET_VLAN_SIZE
33+ && !(s->mac_reg[RCTL] & E1000_RCTL_LPE)
34+ && !(s->mac_reg[RCTL] & E1000_RCTL_SBP)) {
35+ return size;
36+ }
37+
38 if (!receive_filter(s, buf, size))
39 return size;
40
41--
421.7.0.4
43