summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Marineau <marineam@gentoo.org>2007-08-24 23:20:39 +0000
committerMichael Marineau <marineam@gentoo.org>2007-08-24 23:20:39 +0000
commitfe3685c03fe19e107119b9df4d2a17491817afca (patch)
tree414e09614fd85964431a0a877216b76e127466de /sys-kernel
parentppc stable (diff)
downloadgentoo-2-fe3685c03fe19e107119b9df4d2a17491817afca.tar.gz
gentoo-2-fe3685c03fe19e107119b9df4d2a17491817afca.tar.bz2
gentoo-2-fe3685c03fe19e107119b9df4d2a17491817afca.zip
Copy Xen 3.1.0 ebuilds over from the Xen project overlay.
(Portage version: 2.1.2.2)
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/xen-sources/ChangeLog20
-rw-r--r--sys-kernel/xen-sources/files/CVE-2005-4352.patch11
-rw-r--r--sys-kernel/xen-sources/files/CVE-2006-4572.patch185
-rw-r--r--sys-kernel/xen-sources/files/CVE-2006-5619.patch11
-rw-r--r--sys-kernel/xen-sources/files/CVE-2006-6056.patch61
-rw-r--r--sys-kernel/xen-sources/files/CVE-2006-6060.patch40
-rw-r--r--sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.289
-rw-r--r--sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28-r19
-rw-r--r--sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28-r29
-rw-r--r--sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.339
-rw-r--r--sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.499
-rw-r--r--sys-kernel/xen-sources/files/digest-xen-sources-2.6.18-r39
-rw-r--r--sys-kernel/xen-sources/files/digest-xen-sources-2.6.20-r29
-rw-r--r--sys-kernel/xen-sources/files/dvb-core-ule-sndu.patch11
-rw-r--r--sys-kernel/xen-sources/files/xen-sources-2.6.16.28-CVE-2006-3468.patch106
-rw-r--r--sys-kernel/xen-sources/files/xen-sources-2.6.16.28-CVE-2006-6333.patch28
-rw-r--r--sys-kernel/xen-sources/xen-sources-2.6.16.28-r1.ebuild43
-rw-r--r--sys-kernel/xen-sources/xen-sources-2.6.16.28-r2.ebuild27
-rw-r--r--sys-kernel/xen-sources/xen-sources-2.6.16.28.ebuild43
-rw-r--r--sys-kernel/xen-sources/xen-sources-2.6.16.33.ebuild51
-rw-r--r--sys-kernel/xen-sources/xen-sources-2.6.16.49.ebuild28
-rw-r--r--sys-kernel/xen-sources/xen-sources-2.6.18-r3.ebuild23
-rw-r--r--sys-kernel/xen-sources/xen-sources-2.6.20-r2.ebuild23
23 files changed, 82 insertions, 692 deletions
diff --git a/sys-kernel/xen-sources/ChangeLog b/sys-kernel/xen-sources/ChangeLog
index 2d453f81e231..8bc7b87fafb9 100644
--- a/sys-kernel/xen-sources/ChangeLog
+++ b/sys-kernel/xen-sources/ChangeLog
@@ -1,6 +1,22 @@
# ChangeLog for sys-kernel/xen-sources
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/xen-sources/ChangeLog,v 1.41 2007/07/15 18:00:11 marineam Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/xen-sources/ChangeLog,v 1.42 2007/08/24 23:20:39 marineam Exp $
+
+*xen-sources-2.6.20-r2 (24 Aug 2007)
+*xen-sources-2.6.18-r3 (24 Aug 2007)
+
+ 24 Aug 2007; Michael Marineau <marineam@gentoo.org>
+ -files/xen-sources-2.6.16.28-CVE-2006-3468.patch,
+ -files/xen-sources-2.6.16.28-CVE-2006-6333.patch,
+ -files/CVE-2005-4352.patch, -files/CVE-2006-4572.patch,
+ -files/CVE-2006-5619.patch, -files/CVE-2006-6056.patch,
+ -files/CVE-2006-6060.patch, -files/dvb-core-ule-sndu.patch,
+ -xen-sources-2.6.16.28.ebuild, -xen-sources-2.6.16.28-r1.ebuild,
+ -xen-sources-2.6.16.28-r2.ebuild, -xen-sources-2.6.16.33.ebuild,
+ -xen-sources-2.6.16.49.ebuild, +xen-sources-2.6.18-r3.ebuild,
+ +xen-sources-2.6.20-r2.ebuild:
+ Copy Xen 3.1.0 related ebuilds over from the Xen project overlay.
+ Remove Xen 3.0.2.
15 Jul 2007; Michael Marineau <marineam@gentoo.org>
+files/xen-sources-2.6.16.52-sctp-skb_linearize-fix.patch,
@@ -14,7 +30,7 @@
+xen-sources-2.6.16.52.ebuild:
Version bump and fix ip tables REJECT compile failure
- 02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org>
+ 02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org>
xen-sources-2.6.16.28.ebuild, xen-sources-2.6.16.28-r1.ebuild:
(QA) RESTRICT clean up.
diff --git a/sys-kernel/xen-sources/files/CVE-2005-4352.patch b/sys-kernel/xen-sources/files/CVE-2005-4352.patch
deleted file mode 100644
index 427d4cff3c2e..000000000000
--- a/sys-kernel/xen-sources/files/CVE-2005-4352.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- security/seclvl.c-original 2007-01-27 14:14:55.000000000 +1100
-+++ security/seclvl.c 2007-01-27 14:16:12.000000000 +1100
-@@ -381,6 +381,8 @@
- current->group_leader->pid);
- return -EPERM;
- } /* if attempt to decrement time */
-+ if (tv->tv_sec > 1924988400) /* disallow dates after 2030) */
-+ return -EPERM; /* CVE-2005-4352 */
- } /* if seclvl > 1 */
- return 0;
- }
diff --git a/sys-kernel/xen-sources/files/CVE-2006-4572.patch b/sys-kernel/xen-sources/files/CVE-2006-4572.patch
deleted file mode 100644
index df46a7059260..000000000000
--- a/sys-kernel/xen-sources/files/CVE-2006-4572.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-From: Patrick McHardy <kaber@trash.net>
-Date: Sun, 5 Nov 2006 08:04:23 +0000 (+0100)
-Subject: [NETFILTER]: Fix ip6_tables extension header bypass bug (CVE-2006-4572)
-X-Git-Tag: v2.6.16.31-rc1^0~1
-X-Git-Url: http://www.kernel.org/git/?p=linux%2Fkernel%2Fgit%2Fstable%2Flinux-2.6.16.y.git;a=commitdiff_plain;h=0ddfcc96928145d6a6425fdd26dad6abfe7f891d;hp=6ac62be885810e1f8390f0c3b9d3ee451d3d3f19
-
-[NETFILTER]: Fix ip6_tables extension header bypass bug (CVE-2006-4572)
-
-As reported by Mark Dowd <Mark_Dowd@McAfee.com>, ip6_tables is susceptible
-to a fragmentation attack causing false negatives on extension header
-matches.
-
-When extension headers occur in the non-first fragment after the fragment
-header (possibly with an incorrect nexthdr value in the fragment header)
-a rule looking for this extension header will never match.
-
-Drop fragments that are at offset 0 and don't contain the final protocol
-header regardless of the ruleset, since this should not happen normally.
-Since all extension headers are before the protocol header this makes sure
-an extension header is either not present or in the first fragment, where
-we can properly parse it.
-
-With help from Yasuyuki KOZAKAI <yasuyuki.kozakai@toshiba.co.jp>.
-
-Signed-off-by: Patrick McHardy <kaber@trash.net>
-Signed-off-by: Adrian Bunk <bunk@stusta.de>
----
-
-diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c
-index a3e3da1..e2bb9ac 100644
---- a/net/ipv6/netfilter/ip6_tables.c
-+++ b/net/ipv6/netfilter/ip6_tables.c
-@@ -1447,6 +1447,9 @@ static void __exit fini(void)
- * If target header is found, its offset is set in *offset and return protocol
- * number. Otherwise, return -1.
- *
-+ * If the first fragment doesn't contain the final protocol header or
-+ * NEXTHDR_NONE it is considered invalid.
-+ *
- * Note that non-1st fragment is special case that "the protocol number
- * of last header" is "next header" field in Fragment header. In this case,
- * *offset is meaningless and fragment offset is stored in *fragoff if fragoff
-@@ -1470,12 +1473,12 @@ int ipv6_find_hdr(const struct sk_buff *skb, unsigned int *offset,
- if ((!ipv6_ext_hdr(nexthdr)) || nexthdr == NEXTHDR_NONE) {
- if (target < 0)
- break;
-- return -1;
-+ return -ENOENT;
- }
-
- hp = skb_header_pointer(skb, start, sizeof(_hdr), &_hdr);
- if (hp == NULL)
-- return -1;
-+ return -EBADMSG;
- if (nexthdr == NEXTHDR_FRAGMENT) {
- unsigned short _frag_off, *fp;
- fp = skb_header_pointer(skb,
-@@ -1484,7 +1487,7 @@ int ipv6_find_hdr(const struct sk_buff *skb, unsigned int *offset,
- sizeof(_frag_off),
- &_frag_off);
- if (fp == NULL)
-- return -1;
-+ return -EBADMSG;
-
- _frag_off = ntohs(*fp) & ~0x7;
- if (_frag_off) {
-@@ -1495,7 +1498,7 @@ int ipv6_find_hdr(const struct sk_buff *skb, unsigned int *offset,
- *fragoff = _frag_off;
- return hp->nexthdr;
- }
-- return -1;
-+ return -ENOENT;
- }
- hdrlen = 8;
- } else if (nexthdr == NEXTHDR_AUTH)
-diff --git a/net/ipv6/netfilter/ip6t_ah.c b/net/ipv6/netfilter/ip6t_ah.c
-index 219a303..002b8a1 100644
---- a/net/ipv6/netfilter/ip6t_ah.c
-+++ b/net/ipv6/netfilter/ip6t_ah.c
-@@ -53,9 +53,14 @@ match(const struct sk_buff *skb,
- const struct ip6t_ah *ahinfo = matchinfo;
- unsigned int ptr;
- unsigned int hdrlen = 0;
-+ int err;
-
-- if (ipv6_find_hdr(skb, &ptr, NEXTHDR_AUTH, NULL) < 0)
-+ err = ipv6_find_hdr(skb, &ptr, NEXTHDR_AUTH, NULL);
-+ if (err < 0) {
-+ if (err != -ENOENT)
-+ *hotdrop = 1;
- return 0;
-+ }
-
- ah = skb_header_pointer(skb, ptr, sizeof(_ah), &_ah);
- if (ah == NULL) {
-diff --git a/net/ipv6/netfilter/ip6t_dst.c b/net/ipv6/netfilter/ip6t_dst.c
-index b4c153a..2441228 100644
---- a/net/ipv6/netfilter/ip6t_dst.c
-+++ b/net/ipv6/netfilter/ip6t_dst.c
-@@ -69,13 +69,18 @@ match(const struct sk_buff *skb,
- u8 _opttype, *tp = NULL;
- u8 _optlen, *lp = NULL;
- unsigned int optlen;
-+ int err;
-
- #if HOPBYHOP
-- if (ipv6_find_hdr(skb, &ptr, NEXTHDR_HOP, NULL) < 0)
-+ err = ipv6_find_hdr(skb, &ptr, NEXTHDR_HOP, NULL);
- #else
-- if (ipv6_find_hdr(skb, &ptr, NEXTHDR_DEST, NULL) < 0)
-+ err = ipv6_find_hdr(skb, &ptr, NEXTHDR_DEST, NULL);
- #endif
-+ if (err < 0) {
-+ if (err != -ENOENT)
-+ *hotdrop = 1;
- return 0;
-+ }
-
- oh = skb_header_pointer(skb, ptr, sizeof(_optsh), &_optsh);
- if (oh == NULL) {
-diff --git a/net/ipv6/netfilter/ip6t_frag.c b/net/ipv6/netfilter/ip6t_frag.c
-index 4c14125..185f583 100644
---- a/net/ipv6/netfilter/ip6t_frag.c
-+++ b/net/ipv6/netfilter/ip6t_frag.c
-@@ -51,9 +51,14 @@ match(const struct sk_buff *skb,
- struct frag_hdr _frag, *fh;
- const struct ip6t_frag *fraginfo = matchinfo;
- unsigned int ptr;
-+ int err;
-
-- if (ipv6_find_hdr(skb, &ptr, NEXTHDR_FRAGMENT, NULL) < 0)
-+ err = ipv6_find_hdr(skb, &ptr, NEXTHDR_FRAGMENT, NULL);
-+ if (err < 0) {
-+ if (err != -ENOENT)
-+ *hotdrop = 1;
- return 0;
-+ }
-
- fh = skb_header_pointer(skb, ptr, sizeof(_frag), &_frag);
- if (fh == NULL) {
-diff --git a/net/ipv6/netfilter/ip6t_hbh.c b/net/ipv6/netfilter/ip6t_hbh.c
-index 37a8474..af56eaf 100644
---- a/net/ipv6/netfilter/ip6t_hbh.c
-+++ b/net/ipv6/netfilter/ip6t_hbh.c
-@@ -69,13 +69,18 @@ match(const struct sk_buff *skb,
- u8 _opttype, *tp = NULL;
- u8 _optlen, *lp = NULL;
- unsigned int optlen;
-+ int err;
-
- #if HOPBYHOP
-- if (ipv6_find_hdr(skb, &ptr, NEXTHDR_HOP, NULL) < 0)
-+ err = ipv6_find_hdr(skb, &ptr, NEXTHDR_HOP, NULL);
- #else
-- if (ipv6_find_hdr(skb, &ptr, NEXTHDR_DEST, NULL) < 0)
-+ err = ipv6_find_hdr(skb, &ptr, NEXTHDR_DEST, NULL);
- #endif
-+ if (err < 0) {
-+ if (err != -ENOENT)
-+ *hotdrop = 1;
- return 0;
-+ }
-
- oh = skb_header_pointer(skb, ptr, sizeof(_optsh), &_optsh);
- if (oh == NULL) {
-diff --git a/net/ipv6/netfilter/ip6t_rt.c b/net/ipv6/netfilter/ip6t_rt.c
-index 8f82476..537b311 100644
---- a/net/ipv6/netfilter/ip6t_rt.c
-+++ b/net/ipv6/netfilter/ip6t_rt.c
-@@ -57,9 +57,14 @@ match(const struct sk_buff *skb,
- unsigned int hdrlen = 0;
- unsigned int ret = 0;
- struct in6_addr *ap, _addr;
-+ int err;
-
-- if (ipv6_find_hdr(skb, &ptr, NEXTHDR_ROUTING, NULL) < 0)
-+ err = ipv6_find_hdr(skb, &ptr, NEXTHDR_ROUTING, NULL);
-+ if (err < 0) {
-+ if (err != -ENOENT)
-+ *hotdrop = 1;
- return 0;
-+ }
-
- rh = skb_header_pointer(skb, ptr, sizeof(_route), &_route);
- if (rh == NULL) {
diff --git a/sys-kernel/xen-sources/files/CVE-2006-5619.patch b/sys-kernel/xen-sources/files/CVE-2006-5619.patch
deleted file mode 100644
index 9e7a51122ab2..000000000000
--- a/sys-kernel/xen-sources/files/CVE-2006-5619.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/ipv6/ip6_flowlabel.c-original 2007-01-27 15:31:44.000000000 +1100
-+++ net/ipv6/ip6_flowlabel.c 2007-01-27 15:32:16.000000000 +1100
-@@ -589,6 +589,8 @@
- while (!fl) {
- if (++state->bucket <= FL_HASH_MASK)
- fl = fl_ht[state->bucket];
-+ else
-+ break;
- }
- return fl;
- }
diff --git a/sys-kernel/xen-sources/files/CVE-2006-6056.patch b/sys-kernel/xen-sources/files/CVE-2006-6056.patch
deleted file mode 100644
index 2706315876b2..000000000000
--- a/sys-kernel/xen-sources/files/CVE-2006-6056.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From: Eric Sandeen <sandeen@redhat.com>
-Date: Thu, 16 Nov 2006 09:19:22 +0000 (-0800)
-Subject: [PATCH] hfs_fill_super returns success even if no root inode
-X-Git-Tag: v2.6.19
-X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d6ddf55440833fd9404138026af246c51ebeef22
-
-[PATCH] hfs_fill_super returns success even if no root inode
-
-http://kernelfun.blogspot.com/2006/11/mokb-14-11-2006-linux-26x-selinux.html
-
-mount that image...
-fs: filesystem was not cleanly unmounted, running fsck.hfs is recommended. mounting read-only.
-hfs: get root inode failed.
-BUG: unable to handle kernel NULL pointer dereference at virtual address 00000018
- printing eip
-...
-EIP is at superblock_doinit+0x21/0x767
-...
- [] selinux_sb_kern_mount+0xc/0x4b
- [] vfs_kern_mount+0x99/0xf6
- [] do_kern_mount+0x2d/0x3e
- [] do_mount+0x5fa/0x66d
- [] sys_mount+0x77/0xae
- [] syscall_call+0x7/0xb
-DWARF2 unwinder stuck at syscall_call+0x7/0xb
-
-hfs_fill_super() returns success even if
- root_inode = hfs_iget(sb, &fd.search_key->cat, &rec);
-or
- sb->s_root = d_alloc_root(root_inode);
-
-fails. This superblock finds its way to superblock_doinit() which does:
-
- struct dentry *root = sb->s_root;
- struct inode *inode = root->d_inode;
-
-and boom. Need to make sure the error cases return an error, I think.
-
-[akpm@osdl.org: return -ENOMEM on oom]
-Signed-off-by: Eric Sandeen <sandeen@redhat.com>
-Cc: Roman Zippel <zippel@linux-m68k.org>
-Signed-off-by: Andrew Morton <akpm@osdl.org>
-Signed-off-by: Linus Torvalds <torvalds@osdl.org>
----
-
---- a/fs/hfs/super.c
-+++ b/fs/hfs/super.c
-@@ -390,11 +390,13 @@ static int hfs_fill_super(struct super_b
- hfs_find_exit(&fd);
- goto bail_no_root;
- }
-+ res = -EINVAL;
- root_inode = hfs_iget(sb, &fd.search_key->cat, &rec);
- hfs_find_exit(&fd);
- if (!root_inode)
- goto bail_no_root;
-
-+ res = -ENOMEM;
- sb->s_root = d_alloc_root(root_inode);
- if (!sb->s_root)
- goto bail_iput;
diff --git a/sys-kernel/xen-sources/files/CVE-2006-6060.patch b/sys-kernel/xen-sources/files/CVE-2006-6060.patch
deleted file mode 100644
index 8d5eebcb0e77..000000000000
--- a/sys-kernel/xen-sources/files/CVE-2006-6060.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- fs/buffer.c-original 2007-01-27 14:46:34.000000000 +1100
-+++ fs/buffer.c 2007-01-27 14:51:17.000000000 +1100
-@@ -1179,6 +1179,19 @@
- } while ((size << sizebits) < PAGE_SIZE);
-
- index = block >> sizebits;
-+ /*
-+ * Check for a block which wants to lie outside our maximum possible
-+ * pagecache index. (this comparison is done using sector_t types).
-+ */
-+ if (unlikely(index != block >> sizebits)) {
-+ char b[BDEVNAME_SIZE];
-+
-+ printk(KERN_ERR "%s: requested out-of-range block %llu for "
-+ "device %s\n",
-+ __FUNCTION__, (unsigned long long)block,
-+ bdevname(bdev, b));
-+ return -EIO;
-+ }
- block = index << sizebits;
-
- /* Create a page with the proper size buffers.. */
-@@ -1207,12 +1220,16 @@
-
- for (;;) {
- struct buffer_head * bh;
-+ int ret;
-
- bh = __find_get_block(bdev, block, size);
- if (bh)
- return bh;
-
-- if (!grow_buffers(bdev, block, size))
-+ ret = grow_buffers(bdev, block, size);
-+ if (ret < 0)
-+ return NULL;
-+ if (ret == 0)
- free_more_memory();
- }
- }
diff --git a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28 b/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28
deleted file mode 100644
index 30347f3d6d5e..000000000000
--- a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28
+++ /dev/null
@@ -1,9 +0,0 @@
-MD5 9a91b2719949ff0856b40bc467fd47be linux-2.6.16.tar.bz2 40845005
-RMD160 af5c2f55733fadd2fdf8b00da55e7b31d516d4e8 linux-2.6.16.tar.bz2 40845005
-SHA256 1200dcc7e60fcdaf68618dba991917a47e41e67099e8b22143976ec972e2cad7 linux-2.6.16.tar.bz2 40845005
-MD5 736e7d741c0650c320c2b37bf6de3c0b patch-2.6.16.28.bz2 76693
-RMD160 5235c0b5f9665a279f5bf5d42f942cef215e822f patch-2.6.16.28.bz2 76693
-SHA256 6b05fd7121a86a5a6cfd0177200259eeb9a3d276a3cb16ba8cf2acdd747fa6be patch-2.6.16.28.bz2 76693
-MD5 544eab940a0734a55459d648e5c3b224 xen-3.0.2-src.tgz 4933621
-RMD160 34e4431a981891319f8a5ea0c3f604e7d8d7d7af xen-3.0.2-src.tgz 4933621
-SHA256 f18ffab16a457fa721d11933c75f8288f6958c88c2669857c7c11d5107ba2951 xen-3.0.2-src.tgz 4933621
diff --git a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28-r1 b/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28-r1
deleted file mode 100644
index 30347f3d6d5e..000000000000
--- a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28-r1
+++ /dev/null
@@ -1,9 +0,0 @@
-MD5 9a91b2719949ff0856b40bc467fd47be linux-2.6.16.tar.bz2 40845005
-RMD160 af5c2f55733fadd2fdf8b00da55e7b31d516d4e8 linux-2.6.16.tar.bz2 40845005
-SHA256 1200dcc7e60fcdaf68618dba991917a47e41e67099e8b22143976ec972e2cad7 linux-2.6.16.tar.bz2 40845005
-MD5 736e7d741c0650c320c2b37bf6de3c0b patch-2.6.16.28.bz2 76693
-RMD160 5235c0b5f9665a279f5bf5d42f942cef215e822f patch-2.6.16.28.bz2 76693
-SHA256 6b05fd7121a86a5a6cfd0177200259eeb9a3d276a3cb16ba8cf2acdd747fa6be patch-2.6.16.28.bz2 76693
-MD5 544eab940a0734a55459d648e5c3b224 xen-3.0.2-src.tgz 4933621
-RMD160 34e4431a981891319f8a5ea0c3f604e7d8d7d7af xen-3.0.2-src.tgz 4933621
-SHA256 f18ffab16a457fa721d11933c75f8288f6958c88c2669857c7c11d5107ba2951 xen-3.0.2-src.tgz 4933621
diff --git a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28-r2 b/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28-r2
deleted file mode 100644
index 6a6c82f3e63c..000000000000
--- a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.28-r2
+++ /dev/null
@@ -1,9 +0,0 @@
-MD5 9a91b2719949ff0856b40bc467fd47be linux-2.6.16.tar.bz2 40845005
-RMD160 af5c2f55733fadd2fdf8b00da55e7b31d516d4e8 linux-2.6.16.tar.bz2 40845005
-SHA256 1200dcc7e60fcdaf68618dba991917a47e41e67099e8b22143976ec972e2cad7 linux-2.6.16.tar.bz2 40845005
-MD5 736e7d741c0650c320c2b37bf6de3c0b patch-2.6.16.28.bz2 76693
-RMD160 5235c0b5f9665a279f5bf5d42f942cef215e822f patch-2.6.16.28.bz2 76693
-SHA256 6b05fd7121a86a5a6cfd0177200259eeb9a3d276a3cb16ba8cf2acdd747fa6be patch-2.6.16.28.bz2 76693
-MD5 9a7d359557c1dbc887a1a54c015589f7 xen-sources-2.6.16.28-3.0.2.patch.bz2 467924
-RMD160 8b62dc416b08e4ef4a10add18b3287eef856c613 xen-sources-2.6.16.28-3.0.2.patch.bz2 467924
-SHA256 0f3400e1c877b765fc62453664b80cf2e51002299476d532fe8f6af6db0fdb99 xen-sources-2.6.16.28-3.0.2.patch.bz2 467924
diff --git a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.33 b/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.33
deleted file mode 100644
index a7118b89a208..000000000000
--- a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.33
+++ /dev/null
@@ -1,9 +0,0 @@
-MD5 9a91b2719949ff0856b40bc467fd47be linux-2.6.16.tar.bz2 40845005
-RMD160 af5c2f55733fadd2fdf8b00da55e7b31d516d4e8 linux-2.6.16.tar.bz2 40845005
-SHA256 1200dcc7e60fcdaf68618dba991917a47e41e67099e8b22143976ec972e2cad7 linux-2.6.16.tar.bz2 40845005
-MD5 2bbb81b5f82d294f80e98616c65ae086 patch-2.6.16.33.bz2 119729
-RMD160 00168955e8219783b39896ba53ebbd36361a8e8a patch-2.6.16.33.bz2 119729
-SHA256 25cec957b2057381f61c5d1e6963dd6fab46264cda160cd6550ead3bdb4ccaba patch-2.6.16.33.bz2 119729
-MD5 e85e16ad3dc354338e3ac4a8951f9649 xen-3.0.4_1-src.tgz 6473636
-RMD160 f869eec35f6afe0bc9824ce2eb4a600f789d423b xen-3.0.4_1-src.tgz 6473636
-SHA256 6b3842393e69a9c8fcdbc2789d05830aba6f1d108a6f97f1448de4a86f92a5cb xen-3.0.4_1-src.tgz 6473636
diff --git a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.49 b/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.49
deleted file mode 100644
index c8da72398c30..000000000000
--- a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.16.49
+++ /dev/null
@@ -1,9 +0,0 @@
-MD5 9a91b2719949ff0856b40bc467fd47be linux-2.6.16.tar.bz2 40845005
-RMD160 af5c2f55733fadd2fdf8b00da55e7b31d516d4e8 linux-2.6.16.tar.bz2 40845005
-SHA256 1200dcc7e60fcdaf68618dba991917a47e41e67099e8b22143976ec972e2cad7 linux-2.6.16.tar.bz2 40845005
-MD5 a45805635c1e1f53edebe01486761ecc patch-2.6.16.33_to_xen-3.0.4_1.bz2 669094
-RMD160 5c595e8b4c6565de241a5b3a31f2e34afb24face patch-2.6.16.33_to_xen-3.0.4_1.bz2 669094
-SHA256 0ce11436602401447763688819c4f62db87cac644e093304b7522b073693f9da patch-2.6.16.33_to_xen-3.0.4_1.bz2 669094
-MD5 e46be5ef52ae991575d45ad433132ac8 patch-2.6.16.49.bz2 309537
-RMD160 4ae48c9432e1ed61d0e882174d8174de9b52593d patch-2.6.16.49.bz2 309537
-SHA256 ed6fb9875dc2f263c9f405092713435c91337393b937a2dc8c3c82c7223cfd8d patch-2.6.16.49.bz2 309537
diff --git a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.18-r3 b/sys-kernel/xen-sources/files/digest-xen-sources-2.6.18-r3
new file mode 100644
index 000000000000..16c58582c34b
--- /dev/null
+++ b/sys-kernel/xen-sources/files/digest-xen-sources-2.6.18-r3
@@ -0,0 +1,9 @@
+MD5 7e3eaba91aa76d2b88ed7bb20f64d4c9 genpatches-2.6.18-10.base.tar.bz2 113483
+RMD160 9f19f7147c50650369afddec946b281aff817a48 genpatches-2.6.18-10.base.tar.bz2 113483
+SHA256 2d72cbe1e238318438a6ee9375a0ed42432a95c4d6fccb5afb14f8655a4a15b2 genpatches-2.6.18-10.base.tar.bz2 113483
+MD5 296a6d150d260144639c3664d127d174 linux-2.6.18.tar.bz2 41863580
+RMD160 f92283f956880676bfb1f1d5288325461e4e02e7 linux-2.6.18.tar.bz2 41863580
+SHA256 c95280ff6c5d2a17788f7cc582d23ae8a9a7ba3f202ec6e4238eaadfce7c163d linux-2.6.18.tar.bz2 41863580
+MD5 3f619a6271a358603b181b9598a6150f xen-patches-2.6.18-1.tar.bz2 608323
+RMD160 c4c0a07b8a95db6200c03781985cede716ba34ab xen-patches-2.6.18-1.tar.bz2 608323
+SHA256 89836f4d68d53f6973d2cac1bb48a349bfbb05e301044e887ade5b4e91050578 xen-patches-2.6.18-1.tar.bz2 608323
diff --git a/sys-kernel/xen-sources/files/digest-xen-sources-2.6.20-r2 b/sys-kernel/xen-sources/files/digest-xen-sources-2.6.20-r2
new file mode 100644
index 000000000000..6cd2fe182ee1
--- /dev/null
+++ b/sys-kernel/xen-sources/files/digest-xen-sources-2.6.20-r2
@@ -0,0 +1,9 @@
+MD5 c2cfd59003729827fd1d2fefd8af4cbd genpatches-2.6.20-14.base.tar.bz2 122757
+RMD160 a796aa78a0049bc08257ea792f50b169cf6e5089 genpatches-2.6.20-14.base.tar.bz2 122757
+SHA256 27ca4b3eee185cecc6825f4d298ec82e4b8e49ba75a32da0dd5d15e24ba59a2e genpatches-2.6.20-14.base.tar.bz2 122757
+MD5 34b0f354819217e6a345f48ebbd8f13e linux-2.6.20.tar.bz2 43375937
+RMD160 14657ade7be4363143dbd5593f5710d21eda7a03 linux-2.6.20.tar.bz2 43375937
+SHA256 2c14ada1ac7d272e03b430d3a530d60fc9ec69cc8252382aa049afba7d2b8558 linux-2.6.20.tar.bz2 43375937
+MD5 79d18554ef76d0f43863a07b34f7ef08 xen-patches-2.6.20-1.tar.bz2 524579
+RMD160 a9b958f90b497a0c3839425c6f0e9c1dbcab4e7e xen-patches-2.6.20-1.tar.bz2 524579
+SHA256 eb4cd912c4aace4c95fce0afb3af01da70ade7ba1d2b5f32f2f632f72da1ee08 xen-patches-2.6.20-1.tar.bz2 524579
diff --git a/sys-kernel/xen-sources/files/dvb-core-ule-sndu.patch b/sys-kernel/xen-sources/files/dvb-core-ule-sndu.patch
deleted file mode 100644
index ed0494dd3991..000000000000
--- a/sys-kernel/xen-sources/files/dvb-core-ule-sndu.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- drivers/media/dvb/dvb-core/dvb_net.c-original 2007-01-27 10:27:13.000000000 +1100
-+++ drivers/media/dvb/dvb-core/dvb_net.c 2007-01-27 10:27:55.000000000 +1100
-@@ -492,7 +492,7 @@
- } else
- priv->ule_dbit = 0;
-
-- if (priv->ule_sndu_len > 32763) {
-+ if (priv->ule_sndu_len > 32763 || priv->ule_sndu_len < ((priv->ule_dbit) ? 4 : 4 + ETH_ALEN)) {
- printk(KERN_WARNING "%lu: Invalid ULE SNDU length %u. "
- "Resyncing.\n", priv->ts_count, priv->ule_sndu_len);
- priv->ule_sndu_len = 0;
diff --git a/sys-kernel/xen-sources/files/xen-sources-2.6.16.28-CVE-2006-3468.patch b/sys-kernel/xen-sources/files/xen-sources-2.6.16.28-CVE-2006-3468.patch
deleted file mode 100644
index 1452939ae341..000000000000
--- a/sys-kernel/xen-sources/files/xen-sources-2.6.16.28-CVE-2006-3468.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-diff --exclude-from=/home/dang/.diffrc -u -ruN linux-2.6.16.orig/fs/ext3/inode.c linux-2.6.16/fs/ext3/inode.c
---- linux-2.6.16.orig/fs/ext3/inode.c 2006-03-20 00:53:29.000000000 -0500
-+++ linux-2.6.16/fs/ext3/inode.c 2006-09-06 17:58:38.000000000 -0400
-@@ -1005,7 +1005,7 @@
- ret = PTR_ERR(handle);
- goto out;
- }
-- if (test_opt(inode->i_sb, NOBH))
-+ if (test_opt(inode->i_sb, NOBH) && ext3_should_writeback_data(inode))
- ret = nobh_prepare_write(page, from, to, ext3_get_block);
- else
- ret = block_prepare_write(page, from, to, ext3_get_block);
-@@ -1093,7 +1093,7 @@
- if (new_i_size > EXT3_I(inode)->i_disksize)
- EXT3_I(inode)->i_disksize = new_i_size;
-
-- if (test_opt(inode->i_sb, NOBH))
-+ if (test_opt(inode->i_sb, NOBH) && ext3_should_writeback_data(inode))
- ret = nobh_commit_write(file, page, from, to);
- else
- ret = generic_commit_write(file, page, from, to);
-@@ -1343,7 +1343,7 @@
- goto out_fail;
- }
-
-- if (test_opt(inode->i_sb, NOBH))
-+ if (test_opt(inode->i_sb, NOBH) && ext3_should_writeback_data(inode))
- ret = nobh_writepage(page, ext3_get_block, wbc);
- else
- ret = block_write_full_page(page, ext3_get_block, wbc);
-@@ -2258,17 +2258,15 @@
- struct buffer_head *bh;
- struct ext3_group_desc * gdp;
-
--
-- if ((ino != EXT3_ROOT_INO &&
-- ino != EXT3_JOURNAL_INO &&
-- ino != EXT3_RESIZE_INO &&
-- ino < EXT3_FIRST_INO(sb)) ||
-- ino > le32_to_cpu(
-- EXT3_SB(sb)->s_es->s_inodes_count)) {
-- ext3_error (sb, "ext3_get_inode_block",
-- "bad inode number: %lu", ino);
-+ if (!ext3_valid_inum(sb, ino)) {
-+ /*
-+ * This error is already checked for in namei.c unless we are
-+ * looking at an NFS filehandle, in which case no error
-+ * report is needed
-+ */
- return 0;
- }
-+
- block_group = (ino - 1) / EXT3_INODES_PER_GROUP(sb);
- if (block_group >= EXT3_SB(sb)->s_groups_count) {
- ext3_error (sb, "ext3_get_inode_block",
-diff --exclude-from=/home/dang/.diffrc -u -ruN linux-2.6.16.orig/fs/ext3/namei.c linux-2.6.16/fs/ext3/namei.c
---- linux-2.6.16.orig/fs/ext3/namei.c 2006-03-20 00:53:29.000000000 -0500
-+++ linux-2.6.16/fs/ext3/namei.c 2006-09-06 17:55:59.000000000 -0400
-@@ -1000,7 +1000,12 @@
- if (bh) {
- unsigned long ino = le32_to_cpu(de->inode);
- brelse (bh);
-- inode = iget(dir->i_sb, ino);
-+ if (!ext3_valid_inum(dir->i_sb, ino)) {
-+ ext3_error(dir->i_sb, "ext3_lookup",
-+ "bad inode number: %lu", ino);
-+ inode = NULL;
-+ } else
-+ inode = iget(dir->i_sb, ino);
-
- if (!inode)
- return ERR_PTR(-EACCES);
-@@ -1028,7 +1033,13 @@
- return ERR_PTR(-ENOENT);
- ino = le32_to_cpu(de->inode);
- brelse(bh);
-- inode = iget(child->d_inode->i_sb, ino);
-+
-+ if (!ext3_valid_inum(child->d_inode->i_sb, ino)) {
-+ ext3_error(child->d_inode->i_sb, "ext3_get_parent",
-+ "bad inode number: %lu", ino);
-+ inode = NULL;
-+ } else
-+ inode = iget(child->d_inode->i_sb, ino);
-
- if (!inode)
- return ERR_PTR(-EACCES);
-diff --exclude-from=/home/dang/.diffrc -u -ruN linux-2.6.16.orig/include/linux/ext3_fs.h linux-2.6.16/include/linux/ext3_fs.h
---- linux-2.6.16.orig/include/linux/ext3_fs.h 2006-03-20 00:53:29.000000000 -0500
-+++ linux-2.6.16/include/linux/ext3_fs.h 2006-09-06 17:55:59.000000000 -0400
-@@ -494,6 +494,15 @@
- {
- return container_of(inode, struct ext3_inode_info, vfs_inode);
- }
-+
-+static inline int ext3_valid_inum(struct super_block *sb, unsigned long ino)
-+{
-+ return ino == EXT3_ROOT_INO ||
-+ ino == EXT3_JOURNAL_INO ||
-+ ino == EXT3_RESIZE_INO ||
-+ (ino >= EXT3_FIRST_INO(sb) &&
-+ ino <= le32_to_cpu(EXT3_SB(sb)->s_es->s_inodes_count));
-+}
- #else
- /* Assume that user mode programs are passing in an ext3fs superblock, not
- * a kernel struct super_block. This will allow us to call the feature-test
diff --git a/sys-kernel/xen-sources/files/xen-sources-2.6.16.28-CVE-2006-6333.patch b/sys-kernel/xen-sources/files/xen-sources-2.6.16.28-CVE-2006-6333.patch
deleted file mode 100644
index 66445efea449..000000000000
--- a/sys-kernel/xen-sources/files/xen-sources-2.6.16.28-CVE-2006-6333.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From: Al Viro <viro@hera.kernel.org>
-Date: Mon, 4 Dec 2006 22:05:09 +0000 (+0000)
-Subject: [PATCH] remote memory corruptor in ibmtr.c
-X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ee28b0da1069ced1688aa9d0b7b378353b988321
-
-[PATCH] remote memory corruptor in ibmtr.c
-
-ip_summed changes last summer had missed that one. As the result,
-we have ip_summed interpreted as CHECKSUM_PARTIAL now. IOW,
-->csum is interpreted as offset of checksum in the packet. net/core/*
-will both read and modify the value as that offset, with obvious
-reasons. At the very least it's a remote memory corruptor.
-
-Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-Signed-off-by: Linus Torvalds <torvalds@osdl.org>
----
-
---- a/drivers/net/tokenring/ibmtr.c
-+++ b/drivers/net/tokenring/ibmtr.c
-@@ -1826,7 +1826,7 @@ static void tr_rx(struct net_device *dev
- skb->protocol = tr_type_trans(skb, dev);
- if (IPv4_p) {
- skb->csum = chksum;
-- skb->ip_summed = 1;
-+ skb->ip_summed = CHECKSUM_COMPLETE;
- }
- netif_rx(skb);
- dev->last_rx = jiffies;
diff --git a/sys-kernel/xen-sources/xen-sources-2.6.16.28-r1.ebuild b/sys-kernel/xen-sources/xen-sources-2.6.16.28-r1.ebuild
deleted file mode 100644
index 3f71391b7b52..000000000000
--- a/sys-kernel/xen-sources/xen-sources-2.6.16.28-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/xen-sources/xen-sources-2.6.16.28-r1.ebuild,v 1.2 2007/07/02 15:33:50 peper Exp $
-
-ETYPE="sources"
-inherit kernel-2 eutils
-detect_arch
-detect_version
-[ "${PR}" == "r0" ] && KV=${PV/_/-}-xen || KV=${PV/_/-}-xen-${PR}
-
-DESCRIPTION="Full sources for a dom0/domU Linux kernel to run under Xen"
-HOMEPAGE="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html"
-XEN_VERSION="3.0.2"
-MY_P="xen-${XEN_VERSION}"
-SRC_URI="${KERNEL_URI} mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PV}.bz2 http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/xen-${XEN_VERSION}-src.tgz"
-
-KEYWORDS="~x86 ~amd64"
-S="${WORKDIR}"
-RESTRICT="strip"
-XEN_KV=${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}
-
-src_unpack() {
- unpack ${A}
- cd ${MY_P}
- mv "${WORKDIR}"/patch-${PV} patches/linux-${XEN_KV}/linux-${PV}.patch \
- || die "failed to mv ${WORKDIR}/patch-${PV}"
- sed -e 's:relative_lndir \([^(].*\):cp -dpPR \1/* .:' \
- -i linux-2.6-xen-sparse/mkbuildtree || die
-
- # No need to run oldconfig
- sed -e 's:$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig::' \
- -i buildconfigs/mk.linux-2.6-xen
-
- make LINUX_SRC_PATH=${DISTDIR} -f buildconfigs/mk.linux-2.6-xen \
- linux-${XEN_KV}-xen/include/linux/autoconf.h || die
- mv linux-${XEN_KV}-xen "${WORKDIR}"/linux-${KV} || die
- rm -rf "${WORKDIR}"/linux-${XEN_KV} || die
- rm -rf "${WORKDIR}/${MY_P}" || die
-
- cd "${WORKDIR}"/linux-${KV}
- epatch "${FILESDIR}/${P}"-CVE-2006-3468.patch
- epatch "${FILESDIR}/${P}"-CVE-2006-6333.patch
-}
diff --git a/sys-kernel/xen-sources/xen-sources-2.6.16.28-r2.ebuild b/sys-kernel/xen-sources/xen-sources-2.6.16.28-r2.ebuild
deleted file mode 100644
index 8a6228e6df17..000000000000
--- a/sys-kernel/xen-sources/xen-sources-2.6.16.28-r2.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/xen-sources/xen-sources-2.6.16.28-r2.ebuild,v 1.1 2007/01/27 07:44:34 aross Exp $
-
-ETYPE="sources"
-inherit kernel-2 eutils
-detect_arch
-detect_version
-
-XEN_VERSION="3.0.2"
-XEN_URI="mirror://gentoo/${P}-${XEN_VERSION}.patch.bz2"
-
-DESCRIPTION="Linux kernel ${OKV} with Xen ${XEN_VERSION}"
-HOMEPAGE="http://kernel.org http://www.xensource.com/xen/xen/"
-SRC_URI="${KERNEL_URI} ${ARCH_URI} ${XEN_URI}"
-
-KEYWORDS="~x86 ~amd64"
-
-UNIPATCH_LIST="${DISTDIR}/${XEN_URI##*/}
- ${FILESDIR}/${P}-CVE-2006-3468.patch
- ${FILESDIR}/${P}-CVE-2006-6333.patch
- ${FILESDIR}/CVE-2005-4352.patch
- ${FILESDIR}/CVE-2006-4572.patch
- ${FILESDIR}/CVE-2006-5619.patch
- ${FILESDIR}/CVE-2006-6056.patch
- ${FILESDIR}/CVE-2006-6060.patch
- ${FILESDIR}/dvb-core-ule-sndu.patch"
diff --git a/sys-kernel/xen-sources/xen-sources-2.6.16.28.ebuild b/sys-kernel/xen-sources/xen-sources-2.6.16.28.ebuild
deleted file mode 100644
index 0e362301eb29..000000000000
--- a/sys-kernel/xen-sources/xen-sources-2.6.16.28.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/xen-sources/xen-sources-2.6.16.28.ebuild,v 1.2 2007/07/02 15:33:50 peper Exp $
-
-ETYPE="sources"
-inherit kernel-2 eutils
-detect_arch
-detect_version
-[ "${PR}" == "r0" ] && KV=${PV/_/-}-xen || KV=${PV/_/-}-xen-${PR}
-
-DESCRIPTION="Full sources for a dom0/domU Linux kernel to run under Xen"
-HOMEPAGE="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html"
-XEN_VERSION="3.0.2"
-MY_P="xen-${XEN_VERSION}"
-SRC_URI="${KERNEL_URI} mirror://kernel/linux/kernel/v${KV_MAJOR}.${KV_MINOR}/patch-${PV}.bz2 http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/xen-${XEN_VERSION}-src.tgz"
-
-KEYWORDS="~x86 ~amd64"
-#RDEPEND="~app-emulation/xen-${XEN_VERSION}"
-S="${WORKDIR}"
-RESTRICT="strip"
-XEN_KV=${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}
-
-src_unpack() {
- unpack ${A}
- cd ${MY_P}
- mv "${WORKDIR}"/patch-${PV} patches/linux-${XEN_KV}/linux-${PV}.patch \
- || die "failed to mv ${WORKDIR}/patch-${PV}"
- sed -e 's:relative_lndir \([^(].*\):cp -dpPR \1/* .:' \
- -i linux-2.6-xen-sparse/mkbuildtree || die
-
- # No need to run oldconfig
- sed -e 's:$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig::' \
- -i buildconfigs/mk.linux-2.6-xen
-
- make LINUX_SRC_PATH=${DISTDIR} -f buildconfigs/mk.linux-2.6-xen \
- linux-${XEN_KV}-xen/include/linux/autoconf.h || die
- mv linux-${XEN_KV}-xen "${WORKDIR}"/linux-${KV} || die
- rm -rf "${WORKDIR}"/linux-${XEN_KV} || die
- rm -rf "${WORKDIR}/${MY_P}" || die
-
- cd "${WORKDIR}"/linux-${KV}
- epatch "${FILESDIR}/${P}"-CVE-2006-3468.patch
-}
diff --git a/sys-kernel/xen-sources/xen-sources-2.6.16.33.ebuild b/sys-kernel/xen-sources/xen-sources-2.6.16.33.ebuild
deleted file mode 100644
index 308d7ade7220..000000000000
--- a/sys-kernel/xen-sources/xen-sources-2.6.16.33.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/xen-sources/xen-sources-2.6.16.33.ebuild,v 1.1 2007/05/02 03:31:45 marineam Exp $
-
-ETYPE="sources"
-inherit kernel-2 eutils
-detect_arch
-detect_version
-
-DESCRIPTION="Full sources for a dom0/domU Linux kernel to run under Xen"
-HOMEPAGE="http://www.xensource.com/xen/xen/"
-XEN_VERSION="3.0.4_1"
-MY_P="xen-${XEN_VERSION}-src"
-XEN_URI="http://bits.xensource.com/oss-xen/release/${XEN_VERSION/_/-}/src.tgz/${MY_P}.tgz"
-SRC_URI="${KERNEL_URI} ${XEN_URI}"
-
-KEYWORDS="~x86 ~amd64"
-
-src_unpack() {
- kernel-2_src_unpack
- cd "${WORKDIR}"
- unpack "${MY_P}.tgz"
-
- cd "${WORKDIR}"/${MY_P}
- sed -e 's:relative_lndir \([^(].*\):cp -dpPR \1/* .:' \
- -i linux-2.6-xen-sparse/mkbuildtree || die
-
- # Don't munge up EXTRAVERSION
- sed -e 's:$$(XENGUEST)::' -i buildconfigs/mk.linux-2.6-xen
-
- # No need to run oldconfig
- sed -e 's:$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig::' \
- -i buildconfigs/mk.linux-2.6-xen
-
- # Move the kernel sources to pristine-linux-${PV}
- mv "${WORKDIR}"/linux-${KV} pristine-linux-${PV} || die
- touch pristine-linux-${PV}/.valid-pristine || die
-
- make LINUX_SRC_PATH=${DISTDIR} XEN_ROOT=${WORKDIR}/${MY_P} \
- -f buildconfigs/mk.linux-2.6-xen \
- linux-${PV}-xen/include/linux/autoconf.h || die
- mv linux-${PV}-xen "${WORKDIR}"/linux-${KV} || die
- rm -rf "${WORKDIR}/${MY_P}" || die
-}
-
-pkg_postinst() {
- postinst_sources
-
- elog "This kernel uses the linux patches released with Xen ${XEN_VERSION}"
- elog "It may not work with other versions of Xen"
-}
diff --git a/sys-kernel/xen-sources/xen-sources-2.6.16.49.ebuild b/sys-kernel/xen-sources/xen-sources-2.6.16.49.ebuild
deleted file mode 100644
index f95c1fd21656..000000000000
--- a/sys-kernel/xen-sources/xen-sources-2.6.16.49.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/xen-sources/xen-sources-2.6.16.49.ebuild,v 1.1 2007/05/02 03:31:45 marineam Exp $
-
-ETYPE="sources"
-UNIPATCH_STRICTORDER="1"
-inherit kernel-2
-detect_version
-
-DESCRIPTION="Full sources for a dom0/domU Linux kernel to run under Xen"
-HOMEPAGE="http://www.xensource.com/xen/xen/"
-
-XEN_VERSION="3.0.4_1"
-XEN_BASE_KV="2.6.16.33"
-XEN_PATCH="patch-${XEN_BASE_KV}_to_xen-${XEN_VERSION}.bz2"
-PATCH_URI="mirror://gentoo/${XEN_PATCH}"
-SRC_URI="${KERNEL_URI} ${PATCH_URI}"
-
-UNIPATCH_LIST="${DISTDIR}/${XEN_PATCH}"
-
-KEYWORDS="~x86 ~amd64"
-
-pkg_postinst() {
- postinst_sources
-
- elog "This kernel uses the linux patches released with Xen 3.0.4"
- elog "It claims to have a 3.0.2 compatibility option but it may not work."
-}
diff --git a/sys-kernel/xen-sources/xen-sources-2.6.18-r3.ebuild b/sys-kernel/xen-sources/xen-sources-2.6.18-r3.ebuild
new file mode 100644
index 000000000000..97b02699b418
--- /dev/null
+++ b/sys-kernel/xen-sources/xen-sources-2.6.18-r3.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/xen-sources/xen-sources-2.6.18-r3.ebuild,v 1.1 2007/08/24 23:20:39 marineam Exp $
+
+ETYPE="sources"
+UNIPATCH_STRICTORDER="1"
+K_WANT_GENPATCHES="base"
+K_GENPATCHES_VER="10"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="Full sources for a dom0/domU Linux kernel to run under Xen"
+HOMEPAGE="http://www.xensource.com/xen/xen/"
+
+KEYWORDS="~x86 ~amd64"
+
+XENPATCHES_VER="1"
+XENPATCHES="xen-patches-${PV}-${XENPATCHES_VER}.tar.bz2"
+XENPATCHES_URI="mirror://gentoo/${XENPATCHES}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${XENPATCHES_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${XENPATCHES}"
diff --git a/sys-kernel/xen-sources/xen-sources-2.6.20-r2.ebuild b/sys-kernel/xen-sources/xen-sources-2.6.20-r2.ebuild
new file mode 100644
index 000000000000..4a667c922b28
--- /dev/null
+++ b/sys-kernel/xen-sources/xen-sources-2.6.20-r2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/xen-sources/xen-sources-2.6.20-r2.ebuild,v 1.1 2007/08/24 23:20:39 marineam Exp $
+
+ETYPE="sources"
+UNIPATCH_STRICTORDER="1"
+K_WANT_GENPATCHES="base"
+K_GENPATCHES_VER="14"
+inherit kernel-2
+detect_version
+
+DESCRIPTION="Full sources for a dom0/domU Linux kernel to run under Xen"
+HOMEPAGE="http://www.xensource.com/xen/xen/"
+
+KEYWORDS="~x86 ~amd64"
+
+XENPATCHES_VER="1"
+XENPATCHES="xen-patches-${PV}-${XENPATCHES_VER}.tar.bz2"
+XENPATCHES_URI="mirror://gentoo/${XENPATCHES}"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${XENPATCHES_URI}"
+
+UNIPATCH_LIST="${DISTDIR}/${XENPATCHES}"