From 4e275e05ef6f85736fd199a377c7abb4e5407791 Mon Sep 17 00:00:00 2001 From: Daniel Gryniewicz Date: Fri, 25 May 2007 03:23:50 +0000 Subject: Bump to 2.6.18-r2 - Includes a patch to work with linux-header-2.6.21 (Portage version: 2.1.2.7) --- sys-kernel/usermode-sources/ChangeLog | 10 +- .../files/digest-usermode-sources-2.6.18-r2 | 9 ++ ...usermode-sources-2.6.18-r2-gentoo-headers.patch | 179 +++++++++++++++++++++ .../usermode-sources-2.6.18-r2.ebuild | 26 +++ 4 files changed, 223 insertions(+), 1 deletion(-) create mode 100644 sys-kernel/usermode-sources/files/digest-usermode-sources-2.6.18-r2 create mode 100644 sys-kernel/usermode-sources/files/usermode-sources-2.6.18-r2-gentoo-headers.patch create mode 100644 sys-kernel/usermode-sources/usermode-sources-2.6.18-r2.ebuild (limited to 'sys-kernel') diff --git a/sys-kernel/usermode-sources/ChangeLog b/sys-kernel/usermode-sources/ChangeLog index b3950b14793b..9c20947d43b5 100644 --- a/sys-kernel/usermode-sources/ChangeLog +++ b/sys-kernel/usermode-sources/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-kernel/usermode-sources # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/usermode-sources/ChangeLog,v 1.86 2007/01/03 04:32:05 dang Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/usermode-sources/ChangeLog,v 1.87 2007/05/25 03:23:50 dang Exp $ + +*usermode-sources-2.6.18-r2 (25 May 2007) + + 25 May 2007; Daniel Gryniewicz + +files/usermode-sources-2.6.18-r2-gentoo-headers.patch, + +usermode-sources-2.6.18-r2.ebuild: + Bump to 2.6.18-r2 + - Includes a patch to work with linux-header-2.6.21 03 Jan 2007; Daniel Gryniewicz +files/usermode-sources-2.6.18-r1-CVE-2006-4572.patch, diff --git a/sys-kernel/usermode-sources/files/digest-usermode-sources-2.6.18-r2 b/sys-kernel/usermode-sources/files/digest-usermode-sources-2.6.18-r2 new file mode 100644 index 000000000000..4784d6488cf2 --- /dev/null +++ b/sys-kernel/usermode-sources/files/digest-usermode-sources-2.6.18-r2 @@ -0,0 +1,9 @@ +MD5 65e0ac78c740fd7e70cdd2fcab6d89ad genpatches-2.6.18-8.base.tar.bz2 108656 +RMD160 b0d604f8a1f476e34f6a3a4143e07a24dbcab6e8 genpatches-2.6.18-8.base.tar.bz2 108656 +SHA256 3ac24ea4b287429719de0b2828594e84eecbedb05f66300632363d3a60c185d0 genpatches-2.6.18-8.base.tar.bz2 108656 +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 683956ae680b9a09e5c5d7b99a568775 uml-2.6.18.1-bb2.patch.bz2 36108 +RMD160 8984ba75df2283764c916cebc38a4d05ee617996 uml-2.6.18.1-bb2.patch.bz2 36108 +SHA256 58366bd9a2129ed4486c37f9756a35a981a0e3d30a960da1278254777c6d8ac2 uml-2.6.18.1-bb2.patch.bz2 36108 diff --git a/sys-kernel/usermode-sources/files/usermode-sources-2.6.18-r2-gentoo-headers.patch b/sys-kernel/usermode-sources/files/usermode-sources-2.6.18-r2-gentoo-headers.patch new file mode 100644 index 000000000000..a483716f8f2a --- /dev/null +++ b/sys-kernel/usermode-sources/files/usermode-sources-2.6.18-r2-gentoo-headers.patch @@ -0,0 +1,179 @@ +diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN linux-2.6.18-usermode-r1.orig/arch/um/kernel/skas/clone.c linux-2.6.18-usermode-r1/arch/um/kernel/skas/clone.c +--- linux-2.6.18-usermode-r1.orig/arch/um/kernel/skas/clone.c 2007-05-24 22:32:15.000000000 -0400 ++++ linux-2.6.18-usermode-r1/arch/um/kernel/skas/clone.c 2007-05-24 22:44:48.000000000 -0400 +@@ -3,7 +3,6 @@ + #include + #include + #include +-#include + #include "ptrace_user.h" + #include "skas.h" + #include "stub-data.h" +diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN linux-2.6.18-usermode-r1.orig/arch/um/os-Linux/main.c linux-2.6.18-usermode-r1/arch/um/os-Linux/main.c +--- linux-2.6.18-usermode-r1.orig/arch/um/os-Linux/main.c 2007-05-24 22:32:15.000000000 -0400 ++++ linux-2.6.18-usermode-r1/arch/um/os-Linux/main.c 2007-05-24 22:44:48.000000000 -0400 +@@ -12,7 +12,6 @@ + #include + #include + #include +-#include + #include "user_util.h" + #include "kern_util.h" + #include "mem_user.h" +diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN linux-2.6.18-usermode-r1.orig/arch/um/os-Linux/skas/mem.c linux-2.6.18-usermode-r1/arch/um/os-Linux/skas/mem.c +--- linux-2.6.18-usermode-r1.orig/arch/um/os-Linux/skas/mem.c 2007-05-24 22:32:15.000000000 -0400 ++++ linux-2.6.18-usermode-r1/arch/um/os-Linux/skas/mem.c 2007-05-24 22:44:48.000000000 -0400 +@@ -8,7 +8,6 @@ + #include + #include + #include +-#include + #include + #include "mem_user.h" + #include "mem.h" +@@ -109,6 +108,8 @@ static inline long do_syscall_stub(struc + return ret; + } + ++#define PAGE_MASK (~(UM_KERN_PAGE_SIZE-1)) ++#define PAGE_SHIFT 12 + long run_syscall_stub(struct mm_id * mm_idp, int syscall, + unsigned long *args, long expected, void **addr, + int done) +@@ -133,7 +134,7 @@ long run_syscall_stub(struct mm_id * mm_ + multi_op_count++; + + if(!done && ((((unsigned long) stack) & ~PAGE_MASK) < +- PAGE_SIZE - 10 * sizeof(long))){ ++ UM_KERN_PAGE_SIZE - 10 * sizeof(long))){ + *addr = stack; + return 0; + } +@@ -152,7 +153,7 @@ long syscall_stub_data(struct mm_id * mm + * Thus in this case do_syscall_stub correctly won't be called. + */ + if((((unsigned long) *addr) & ~PAGE_MASK) >= +- PAGE_SIZE - (10 + data_count) * sizeof(long)) { ++ UM_KERN_PAGE_SIZE - (10 + data_count) * sizeof(long)) { + ret = do_syscall_stub(mm_idp, addr); + /* in case of error, don't overwrite data on stack */ + if(ret) +diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN linux-2.6.18-usermode-r1.orig/arch/um/os-Linux/start_up.c linux-2.6.18-usermode-r1/arch/um/os-Linux/start_up.c +--- linux-2.6.18-usermode-r1.orig/arch/um/os-Linux/start_up.c 2007-05-24 22:32:15.000000000 -0400 ++++ linux-2.6.18-usermode-r1/arch/um/os-Linux/start_up.c 2007-05-24 22:44:48.000000000 -0400 +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + #include + #include "user_util.h" + #include "kern_util.h" +@@ -80,11 +79,11 @@ static int start_ptraced_child(void **st + unsigned long sp; + int pid, n, status; + +- stack = mmap(NULL, PAGE_SIZE, PROT_READ | PROT_WRITE | PROT_EXEC, ++ stack = mmap(NULL, UM_KERN_PAGE_SIZE, PROT_READ | PROT_WRITE | PROT_EXEC, + MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + if(stack == MAP_FAILED) + panic("check_ptrace : mmap failed, errno = %d", errno); +- sp = (unsigned long) stack + PAGE_SIZE - sizeof(void *); ++ sp = (unsigned long) stack + UM_KERN_PAGE_SIZE - sizeof(void *); + pid = clone(ptrace_child, (void *) sp, SIGCHLD, NULL); + if(pid < 0) + panic("start_ptraced_child : clone failed, errno = %d", errno); +@@ -129,7 +128,7 @@ static int stop_ptraced_child(int pid, v + ret = -1; + } + +- if(munmap(stack, PAGE_SIZE) < 0) ++ if(munmap(stack, UM_KERN_PAGE_SIZE) < 0) + panic("check_ptrace : munmap failed, errno = %d", errno); + return ret; + } +diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN linux-2.6.18-usermode-r1.orig/arch/um/os-Linux/tt.c linux-2.6.18-usermode-r1/arch/um/os-Linux/tt.c +--- linux-2.6.18-usermode-r1.orig/arch/um/os-Linux/tt.c 2007-05-24 22:32:15.000000000 -0400 ++++ linux-2.6.18-usermode-r1/arch/um/os-Linux/tt.c 2007-05-24 22:53:08.000000000 -0400 +@@ -18,7 +18,6 @@ + #include + #include + #include +-#include + #include "user_util.h" + #include "kern_util.h" + #include "user.h" +diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN linux-2.6.18-usermode-r1.orig/arch/um/sys-i386/ptrace_user.c linux-2.6.18-usermode-r1/arch/um/sys-i386/ptrace_user.c +--- linux-2.6.18-usermode-r1.orig/arch/um/sys-i386/ptrace_user.c 2007-05-24 22:32:15.000000000 -0400 ++++ linux-2.6.18-usermode-r1/arch/um/sys-i386/ptrace_user.c 2007-05-24 22:46:26.000000000 -0400 +@@ -7,9 +7,8 @@ + #include + #include + #include ++#include + #include "ptrace_user.h" +-/* Grr, asm/user.h includes asm/ptrace.h, so has to follow ptrace_user.h */ +-#include + #include "kern_util.h" + #include "sysdep/thread.h" + #include "user.h" +diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN linux-2.6.18-usermode-r1.orig/arch/um/sys-i386/user-offsets.c linux-2.6.18-usermode-r1/arch/um/sys-i386/user-offsets.c +--- linux-2.6.18-usermode-r1.orig/arch/um/sys-i386/user-offsets.c 2007-05-24 22:32:15.000000000 -0400 ++++ linux-2.6.18-usermode-r1/arch/um/sys-i386/user-offsets.c 2007-05-24 22:56:43.000000000 -0400 +@@ -1,7 +1,8 @@ + #include + #include ++#include + #include +-#include ++#include + #include + #include + +@@ -14,6 +15,34 @@ + #define OFFSET(sym, str, mem) \ + DEFINE(sym, offsetof(struct str, mem)); + ++/* These are gone from userspace; not sure where to pull them from */ ++struct user_i387_struct { ++ long cwd; ++ long swd; ++ long twd; ++ long fip; ++ long fcs; ++ long foo; ++ long fos; ++ long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ ++}; ++ ++struct user_fxsr_struct { ++ unsigned short cwd; ++ unsigned short swd; ++ unsigned short twd; ++ unsigned short fop; ++ long fip; ++ long fcs; ++ long foo; ++ long fos; ++ long mxcsr; ++ long reserved; ++ long st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ ++ long xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */ ++ long padding[56]; ++}; ++ + void foo(void) + { + OFFSET(HOST_SC_IP, sigcontext, eip); +diff --exclude-from=/home/dang/bin/scripts/diffrc -up -ruN linux-2.6.18-usermode-r1.orig/arch/um/sys-x86_64/user-offsets.c linux-2.6.18-usermode-r1/arch/um/sys-x86_64/user-offsets.c +--- linux-2.6.18-usermode-r1.orig/arch/um/sys-x86_64/user-offsets.c 2007-05-24 22:32:15.000000000 -0400 ++++ linux-2.6.18-usermode-r1/arch/um/sys-x86_64/user-offsets.c 2007-05-24 22:44:48.000000000 -0400 +@@ -12,7 +12,7 @@ + */ + typedef __u64 u64; + typedef __u32 u32; +-#include ++#include + + #define DEFINE(sym, val) \ + asm volatile("\n->" #sym " %0 " #val : : "i" (val)) diff --git a/sys-kernel/usermode-sources/usermode-sources-2.6.18-r2.ebuild b/sys-kernel/usermode-sources/usermode-sources-2.6.18-r2.ebuild new file mode 100644 index 000000000000..2561316f4a74 --- /dev/null +++ b/sys-kernel/usermode-sources/usermode-sources-2.6.18-r2.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/usermode-sources/usermode-sources-2.6.18-r2.ebuild,v 1.1 2007/05/25 03:23:50 dang Exp $ + +ETYPE="sources" +K_WANT_GENPATCHES="base" +K_GENPATCHES_VER="8" +inherit kernel-2 +detect_version + +UML_VER="uml-2.6.18.1-bb2" +UNIPATCH_LIST="${FILESDIR}/uml-2.6.18-genpatches-8-prep.patch + ${DISTDIR}/${UML_VER}.patch.bz2 + ${FILESDIR}/${P}-r1-CVE-2006-4572.patch + ${FILESDIR}/${PF}-gentoo-headers.patch" +UNIPATCH_STRICTORDER="yes" + +DESCRIPTION="Full sources for the User Mode Linux kernel" +SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} + http://www.user-mode-linux.org/~blaisorblade/patches/guest/${UML_VER}/${UML_VER}.patch.bz2" +HOMEPAGE="http://www.kernel.org/ http://user-mode-linux.sourceforge.net" +KEYWORDS="~amd64 ~x86" + +K_EXTRAEINFO="Since you are using UML, you may want to read the Gentoo Linux +Developer's guide to system testing with User-Mode Linux that +can be found at http://www.gentoo.org/doc/en/uml.xml" -- cgit v1.2.3-65-gdbad