diff options
author | 2004-02-18 21:12:05 +0000 | |
---|---|---|
committer | 2004-02-18 21:12:05 +0000 | |
commit | a06fd405e6c3f1a5c9cd1d39c7d265b7e1a167a9 (patch) | |
tree | 63d36e81c2333c1b0c5fd674eca2797ac61517d0 /sys-kernel/win4lin-sources | |
parent | update KEYWORDS (diff) | |
download | gentoo-2-a06fd405e6c3f1a5c9cd1d39c7d265b7e1a167a9.tar.gz gentoo-2-a06fd405e6c3f1a5c9cd1d39c7d265b7e1a167a9.tar.bz2 gentoo-2-a06fd405e6c3f1a5c9cd1d39c7d265b7e1a167a9.zip |
Added the patch for the mremap/munmap vulnerability. Bug #42024.
Diffstat (limited to 'sys-kernel/win4lin-sources')
-rw-r--r-- | sys-kernel/win4lin-sources/ChangeLog | 14 | ||||
-rw-r--r-- | sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.4.22-r1 | 3 | ||||
-rw-r--r-- | sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.4.23-r2 (renamed from sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.4.23-r1) | 0 | ||||
-rw-r--r-- | sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.6.0-r1 | 3 | ||||
-rw-r--r-- | sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.6.2-r1 | 3 | ||||
-rw-r--r-- | sys-kernel/win4lin-sources/files/win4lin-sources-2.4.munmap.patch | 27 | ||||
-rw-r--r-- | sys-kernel/win4lin-sources/files/win4lin-sources-2.6.munmap.patch | 53 | ||||
-rw-r--r-- | sys-kernel/win4lin-sources/win4lin-sources-2.4.22-r1.ebuild | 43 | ||||
-rw-r--r-- | sys-kernel/win4lin-sources/win4lin-sources-2.4.23-r2.ebuild (renamed from sys-kernel/win4lin-sources/win4lin-sources-2.4.23-r1.ebuild) | 3 | ||||
-rw-r--r-- | sys-kernel/win4lin-sources/win4lin-sources-2.6.2-r1.ebuild (renamed from sys-kernel/win4lin-sources/win4lin-sources-2.6.0-r1.ebuild) | 3 |
10 files changed, 99 insertions, 53 deletions
diff --git a/sys-kernel/win4lin-sources/ChangeLog b/sys-kernel/win4lin-sources/ChangeLog index 976c09f54c44..b431cda3573b 100644 --- a/sys-kernel/win4lin-sources/ChangeLog +++ b/sys-kernel/win4lin-sources/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for sys-kernel/win4lin-sources -# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/ChangeLog,v 1.12 2004/01/06 21:48:33 plasmaroo Exp $ +# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/ChangeLog,v 1.13 2004/02/18 21:12:04 plasmaroo Exp $ + +*win4lin-sources-2.6.2-r1 (18 Feb 2004) + + 18 Feb 2004; <plasmaroo@gentoo.org> win4lin-sources-2.4.22-r1.ebuild, + win4lin-sources-2.4.23-r1.ebuild, win4lin-sources-2.4.23-r2.ebuild, + win4lin-sources-2.6.0-r1.ebuild, win4lin-sources-2.6.2-r1.ebuild, + files/win4lin-sources-2.4.munmap.patch, + files/win4lin-sources-2.6.munmap.patch: + Added the patch for the mremap/munmap vulnerability. Bug #42024. + Removed vulnerable versions. *win4lin-sources-2.6.0-r1 (06 Jan 2004) diff --git a/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.4.22-r1 b/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.4.22-r1 deleted file mode 100644 index c97f53086d19..000000000000 --- a/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.4.22-r1 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 75dc85149b06ac9432106b8941eb9f7b linux-2.4.22.tar.bz2 29528612 -MD5 32e4cda45fa0f090dffa157bc4504a4e mki-adapter.patch 181483 -MD5 bd9303c330720b94176933046cbba913 Kernel-Win4Lin3-2.4.22.patch 22733 diff --git a/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.4.23-r1 b/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.4.23-r2 index c0bee3c77be1..c0bee3c77be1 100644 --- a/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.4.23-r1 +++ b/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.4.23-r2 diff --git a/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.6.0-r1 b/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.6.0-r1 deleted file mode 100644 index a276a12a67b4..000000000000 --- a/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.6.0-r1 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 c9e73737002521a347d2e6617beb56cc linux-2.6.0.tar.bz2 33255278 -MD5 5ad006f074e11ed9c650d3b99b166830 mki-adapter26_1_3_3.patch 126268 -MD5 a04de354fb5bc4fd22e5829512706e95 Kernel-Win4Lin3-2.6.0.patch 26736 diff --git a/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.6.2-r1 b/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.6.2-r1 new file mode 100644 index 000000000000..62d70d246ade --- /dev/null +++ b/sys-kernel/win4lin-sources/files/digest-win4lin-sources-2.6.2-r1 @@ -0,0 +1,3 @@ +MD5 2a745088acba366f22f8bd3e284a84d4 linux-2.6.2.tar.bz2 33899733 +MD5 5ad006f074e11ed9c650d3b99b166830 mki-adapter26_1_3_3.patch 126268 +MD5 f36c55447a01d38fa56a8236b0321b52 Kernel-Win4Lin3-2.6.2.patch 26601 diff --git a/sys-kernel/win4lin-sources/files/win4lin-sources-2.4.munmap.patch b/sys-kernel/win4lin-sources/files/win4lin-sources-2.4.munmap.patch new file mode 100644 index 000000000000..e120b35b7adb --- /dev/null +++ b/sys-kernel/win4lin-sources/files/win4lin-sources-2.4.munmap.patch @@ -0,0 +1,27 @@ +diff -ur linux-2.4.25-rc3/mm/mremap.c linux-2.4.25-rc4/mm/mremap.c +--- linux-2.4.25-rc3/mm/mremap.c 2004-02-18 13:56:01.000000000 +0000 ++++ linux-2.4.25-rc4/mm/mremap.c 2004-02-18 13:49:08.000000000 +0000 +@@ -258,16 +258,20 @@ + if ((addr <= new_addr) && (addr+old_len) > new_addr) + goto out; + +- do_munmap(current->mm, new_addr, new_len); ++ ret = do_munmap(current->mm, new_addr, new_len); ++ if (ret && new_len) ++ goto out; + } + + /* + * Always allow a shrinking remap: that just unmaps + * the unnecessary pages.. + */ +- ret = addr; + if (old_len >= new_len) { +- do_munmap(current->mm, addr+new_len, old_len - new_len); ++ ret = do_munmap(current->mm, addr+new_len, old_len - new_len); ++ if (ret && old_len != new_len) ++ goto out; ++ ret = addr; + if (!(flags & MREMAP_FIXED) || (new_addr == addr)) + goto out; + } diff --git a/sys-kernel/win4lin-sources/files/win4lin-sources-2.6.munmap.patch b/sys-kernel/win4lin-sources/files/win4lin-sources-2.6.munmap.patch new file mode 100644 index 000000000000..47a199c870db --- /dev/null +++ b/sys-kernel/win4lin-sources/files/win4lin-sources-2.6.munmap.patch @@ -0,0 +1,53 @@ +diff -Naur 2.6.2/mm/mremap.c 2.6.3/mm/mremap.c +--- 2.6.2/mm/mremap.c 2004-02-18 03:29:48.000000000 +0100 ++++ 2.6.3/mm/mremap.c 2004-02-18 10:21:20.000000000 +0100 +@@ -135,15 +135,17 @@ + dst = alloc_one_pte_map(mm, new_addr); + if (src == NULL) + src = get_one_pte_map_nested(mm, old_addr); +- error = copy_one_pte(vma, old_addr, src, dst, &pte_chain); +- pte_unmap_nested(src); +- pte_unmap(dst); +- } else + /* +- * Why do we need this flush ? If there is no pte for +- * old_addr, then there must not be a pte for it as well. ++ * Since alloc_one_pte_map can drop and re-acquire ++ * page_table_lock, we should re-check the src entry... + */ +- flush_tlb_page(vma, old_addr); ++ if (src) { ++ error = copy_one_pte(vma, old_addr, src, ++ dst, &pte_chain); ++ pte_unmap_nested(src); ++ } ++ pte_unmap(dst); ++ } + spin_unlock(&mm->page_table_lock); + pte_chain_free(pte_chain); + out: +@@ -346,7 +348,9 @@ + if ((addr <= new_addr) && (addr+old_len) > new_addr) + goto out; + +- do_munmap(current->mm, new_addr, new_len); ++ ret = do_munmap(current->mm, new_addr, new_len); ++ if (ret) ++ goto out; + } + + /* +@@ -354,9 +358,11 @@ + * the unnecessary pages.. + * do_munmap does all the needed commit accounting + */ +- ret = addr; + if (old_len >= new_len) { +- do_munmap(current->mm, addr+new_len, old_len - new_len); ++ ret = do_munmap(current->mm, addr+new_len, old_len - new_len); ++ if (ret && old_len != new_len) ++ goto out; ++ ret = addr; + if (!(flags & MREMAP_FIXED) || (new_addr == addr)) + goto out; + old_len = new_len; diff --git a/sys-kernel/win4lin-sources/win4lin-sources-2.4.22-r1.ebuild b/sys-kernel/win4lin-sources/win4lin-sources-2.4.22-r1.ebuild deleted file mode 100644 index b3977eaa8b97..000000000000 --- a/sys-kernel/win4lin-sources/win4lin-sources-2.4.22-r1.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2004 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/win4lin-sources-2.4.22-r1.ebuild,v 1.2 2004/01/07 00:16:47 plasmaroo Exp $ - -IUSE="build" - -# OKV=original kernel version, KV=patched kernel version. They can be the same. - -ETYPE="sources" - -inherit kernel - -OKV="2.4.22" -KV="2.4.22-win4lin" -EXTRAVERSION="-win4lin" - -S=${WORKDIR}/linux-${KV} - -DESCRIPTION="Full sources for the linux kernel with win4lin support" -SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2 - http://www.netraverse.com/member/downloads/files/mki-adapter.patch - http://www.netraverse.com/member/downloads/files/Kernel-Win4Lin3-${OKV}.patch" - -KEYWORDS="x86" -SLOT="${KV}" - -src_unpack() { - - unpack linux-${OKV}.tar.bz2 - mv linux-${OKV} linux-${KV} || die - - epatch ${DISTDIR}/Kernel-Win4Lin3-${OKV}.patch || die "Error: Win4Lin3 patch failed!" - - cd linux-${KV} - cat ${DISTDIR}/mki-adapter.patch | patch -p1 &> /dev/null || die "Error: mki-adapter patch failed!" - - epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch do_brk() vulnerability!" - epatch ${FILESDIR}/${PN}-2.4.CAN-2003-0985.patch || die "Failed to patch mremap() vulnerability!" - epatch ${FILESDIR}/${PN}-2.4.rtc_fix.patch || die "Failed to patch RTC vulnerabilities!" - - kernel_universal_unpack - -} diff --git a/sys-kernel/win4lin-sources/win4lin-sources-2.4.23-r1.ebuild b/sys-kernel/win4lin-sources/win4lin-sources-2.4.23-r2.ebuild index 57788b3d59b7..aec76ff0c6b3 100644 --- a/sys-kernel/win4lin-sources/win4lin-sources-2.4.23-r1.ebuild +++ b/sys-kernel/win4lin-sources/win4lin-sources-2.4.23-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/win4lin-sources-2.4.23-r1.ebuild,v 1.2 2004/01/07 00:16:47 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/win4lin-sources-2.4.23-r2.ebuild,v 1.1 2004/02/18 21:12:04 plasmaroo Exp $ # OKV=original kernel version, KV=patched kernel version. They can be the same. @@ -35,6 +35,7 @@ src_unpack() { epatch ${FILESDIR}/${PN}-2.4.CAN-2003-0985.patch || die "Failed to patch mremap() vulnerability!" epatch ${FILESDIR}/${PN}-2.4.rtc_fix.patch || die "Failed to patch RTC vulnerabilities!" + epatch ${FILESDIR}/${PN}-2.4.munmap.patch || die "Failed to apply munmap patch!" kernel_universal_unpack diff --git a/sys-kernel/win4lin-sources/win4lin-sources-2.6.0-r1.ebuild b/sys-kernel/win4lin-sources/win4lin-sources-2.6.2-r1.ebuild index e79f541c78cf..c0f18bba3e64 100644 --- a/sys-kernel/win4lin-sources/win4lin-sources-2.6.0-r1.ebuild +++ b/sys-kernel/win4lin-sources/win4lin-sources-2.6.2-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/win4lin-sources-2.6.0-r1.ebuild,v 1.1 2004/01/06 21:48:33 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/win4lin-sources-2.6.2-r1.ebuild,v 1.1 2004/02/18 21:12:04 plasmaroo Exp $ # OKV=original kernel version, KV=patched kernel version. They can be the same. OKV=${PV} @@ -42,6 +42,7 @@ src_unpack() { eend $? epatch ${FILESDIR}/${PN}-2.6.CAN-2003-0985.patch || die "Failed to patch mremap() vulnerability!" + epatch ${FILESDIR}/${PN}-2.6.munmap.patch || die "Failed to apply munmap patch!" unset ARCH # Sometimes we have icky kernel symbols; this seems to get rid of them |