From 729fc41b35e898aea3cba02909ce20ff74fdacf9 Mon Sep 17 00:00:00 2001 From: Brandon Low Date: Sat, 16 Nov 2002 07:38:18 +0000 Subject: lcall DoS fix --- sys-kernel/gentoo-sources/ChangeLog | 5 +++- sys-kernel/gentoo-sources/files/lcall-DoS.patch | 32 ++++++++++++++++++++++ .../gentoo-sources-2.4.19-r10.ebuild | 6 +++- .../gentoo-sources/gentoo-sources-2.4.19-r9.ebuild | 4 +++ 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 sys-kernel/gentoo-sources/files/lcall-DoS.patch (limited to 'sys-kernel') diff --git a/sys-kernel/gentoo-sources/ChangeLog b/sys-kernel/gentoo-sources/ChangeLog index 0ad58283e35e..caa312d4311f 100644 --- a/sys-kernel/gentoo-sources/ChangeLog +++ b/sys-kernel/gentoo-sources/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for sys-kernel/gentoo-sources # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/ChangeLog,v 1.7 2002/10/07 22:53:54 lostlogic Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/ChangeLog,v 1.8 2002/11/16 07:38:17 lostlogic Exp $ + + 16 Nov 2002; Brandon Low gentoo-sources-2.4.19-r10.ebuild gentoo-sources-2.4.19-r9.ebuild: + Add fix for lcall-DoS from lkml. *gentoo-sources-2.4.19-r10 (06 Oct 2002) diff --git a/sys-kernel/gentoo-sources/files/lcall-DoS.patch b/sys-kernel/gentoo-sources/files/lcall-DoS.patch new file mode 100644 index 000000000000..dea58ed342d3 --- /dev/null +++ b/sys-kernel/gentoo-sources/files/lcall-DoS.patch @@ -0,0 +1,32 @@ +--- 1.15/arch/i386/kernel/entry.S Wed Sep 11 15:39:07 2002 ++++ 1.16/arch/i386/kernel/entry.S Wed Nov 13 13:40:19 2002 +@@ -63,7 +63,9 @@ + OLDSS = 0x38 + + CF_MASK = 0x00000001 ++TF_MASK = 0x00000100 + IF_MASK = 0x00000200 ++DF_MASK = 0x00000400 + NT_MASK = 0x00004000 + VM_MASK = 0x00020000 + +@@ -140,6 +142,9 @@ + movl CS(%esp),%edx # this is eip.. + movl EFLAGS(%esp),%ecx # and this is cs.. + movl %eax,EFLAGS(%esp) # ++ andl $~(NT_MASK|TF_MASK|DF_MASK), %eax ++ pushl %eax ++ popfl + movl %edx,EIP(%esp) # Now we move them to their "normal" places + movl %ecx,CS(%esp) # + movl %esp,%ebx +@@ -161,6 +166,9 @@ + movl CS(%esp),%edx # this is eip.. + movl EFLAGS(%esp),%ecx # and this is cs.. + movl %eax,EFLAGS(%esp) # ++ andl $~(NT_MASK|TF_MASK|DF_MASK), %eax ++ pushl %eax ++ popfl + movl %edx,EIP(%esp) # Now we move them to their "normal" places + movl %ecx,CS(%esp) # + movl %esp,%ebx diff --git a/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r10.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r10.ebuild index e618783229ef..bec4cfafb5cb 100644 --- a/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r10.ebuild +++ b/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r10.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r10.ebuild,v 1.3 2002/10/24 05:48:38 lostlogic Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r10.ebuild,v 1.4 2002/11/16 07:38:17 lostlogic Exp $ IUSE="build crypt xfs acpi4linux" @@ -35,6 +35,10 @@ src_unpack() { unpack ${A} mv linux-${OKV} linux-${KV} || die + cd linux-${KV} + patch -p1 < ${FILESDIR}/lcall-DoS.patch || die "lcall-DoS patch failed" + cd .. + cd ${KV} # Kill patches we aren't suppposed to use, don't worry about # failures, if they aren't there that is a good thing! diff --git a/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r9.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r9.ebuild index 2e40aa638f45..a1f3dfa9c406 100644 --- a/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r9.ebuild +++ b/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r9.ebuild @@ -40,6 +40,10 @@ src_unpack() { unpack ${A} mv linux-${OKV} linux-${KV} || die + cd linux-${KV} + patch -p1 < ${FILESDIR}/lcall-DoS.patch || die "lcall-DoS patch failed" + cd .. + # Now we need to deal with the tarball of patches. cd ${KV} || die "No patch dir to change to" [ `use crypt` ] || rm 8* -- cgit v1.2.3-65-gdbad