summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Birchinger <joker@gentoo.org>2004-07-09 14:33:13 +0000
committerChristian Birchinger <joker@gentoo.org>2004-07-09 14:33:13 +0000
commita28c9cb03731e7a328072f0a882302444f0c4ae4 (patch)
treeaec88711bd4a8f2ab9569256fa1472140e3c2deb /sys-kernel
parenttidy; x86 stable (Manifest recommit) (diff)
downloadgentoo-2-a28c9cb03731e7a328072f0a882302444f0c4ae4.tar.gz
gentoo-2-a28c9cb03731e7a328072f0a882302444f0c4ae4.tar.bz2
gentoo-2-a28c9cb03731e7a328072f0a882302444f0c4ae4.zip
Added a security fix for fs/attr.c
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/sparc-sources/ChangeLog8
-rw-r--r--sys-kernel/sparc-sources/files/2.4-attr-fix.patch26
-rw-r--r--sys-kernel/sparc-sources/files/digest-sparc-sources-2.4.26-r32
-rw-r--r--sys-kernel/sparc-sources/sparc-sources-2.4.26-r3.ebuild72
4 files changed, 107 insertions, 1 deletions
diff --git a/sys-kernel/sparc-sources/ChangeLog b/sys-kernel/sparc-sources/ChangeLog
index ebff45be0959..429bc0365946 100644
--- a/sys-kernel/sparc-sources/ChangeLog
+++ b/sys-kernel/sparc-sources/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-kernel/sparc-sources
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/sparc-sources/ChangeLog,v 1.59 2004/06/25 17:38:58 joker Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/sparc-sources/ChangeLog,v 1.60 2004/07/09 14:33:13 joker Exp $
+
+*sparc-sources-2.4.26-r3 (09 Jul 2004)
+
+ 09 Jul 2004; Christian Birchinger <joker@gentoo.org>
+ +files/2.4-attr-fix.patch, +sparc-sources-2.4.26-r3.ebuild:
+ Added a security fix for fs/attr.c
*sparc-sources-2.4.26-r2 (25 Jun 2004)
diff --git a/sys-kernel/sparc-sources/files/2.4-attr-fix.patch b/sys-kernel/sparc-sources/files/2.4-attr-fix.patch
new file mode 100644
index 000000000000..41b3196f84ea
--- /dev/null
+++ b/sys-kernel/sparc-sources/files/2.4-attr-fix.patch
@@ -0,0 +1,26 @@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+# 2004/07/02 20:55:04-07:00 chrisw@osdl.org
+# [PATCH] chown permission check fix for ATTR_GID
+#
+# SuSE discovered this problem with chown and ATTR_GID. Make sure user
+# is authorized to change the group, CAN-2004-0497.
+#
+# fs/attr.c
+# 2004/07/02 09:07:32-07:00 chrisw@osdl.org +2 -1
+# chown permission check fix for ATTR_GID
+#
+diff -Nru a/fs/attr.c b/fs/attr.c
+--- a/fs/attr.c 2004-07-08 16:35:57 -07:00
++++ b/fs/attr.c 2004-07-08 16:35:57 -07:00
+@@ -35,7 +35,8 @@
+
+ /* Make sure caller can chgrp. */
+ if ((ia_valid & ATTR_GID) &&
+- (!in_group_p(attr->ia_gid) && attr->ia_gid != inode->i_gid) &&
++ (current->fsuid != inode->i_uid ||
++ (!in_group_p(attr->ia_gid) && attr->ia_gid != inode->i_gid)) &&
+ !capable(CAP_CHOWN))
+ goto error;
+
diff --git a/sys-kernel/sparc-sources/files/digest-sparc-sources-2.4.26-r3 b/sys-kernel/sparc-sources/files/digest-sparc-sources-2.4.26-r3
new file mode 100644
index 000000000000..ce6ae7ed6f79
--- /dev/null
+++ b/sys-kernel/sparc-sources/files/digest-sparc-sources-2.4.26-r3
@@ -0,0 +1,2 @@
+MD5 88d7aefa03c92739cb70298a0b486e2c linux-2.4.26.tar.bz2 30772389
+MD5 ec4db0cbb81c30dea24ee27287eb2ae2 patches-2.4.26-sparc.tar.bz2 145065
diff --git a/sys-kernel/sparc-sources/sparc-sources-2.4.26-r3.ebuild b/sys-kernel/sparc-sources/sparc-sources-2.4.26-r3.ebuild
new file mode 100644
index 000000000000..02bd7f7d61cf
--- /dev/null
+++ b/sys-kernel/sparc-sources/sparc-sources-2.4.26-r3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/sparc-sources/sparc-sources-2.4.26-r3.ebuild,v 1.1 2004/07/09 14:33:13 joker Exp $
+
+IUSE="ultra1"
+
+# Kernel ebuilds using the kernel.eclass can remove any patch that you
+# do not want to apply by simply setting the KERNEL_EXCLUDE shell
+# variable to the string you want to exclude (for instance
+# KERNEL_EXCLUDE="grsecurity" would not patch any patches whose names match
+# *grsecurity*). Kernels are only tested in the default configuration, but
+# this may be useful if you know that a particular patch is causing a
+# conflict with a patch you personally want to apply, or some other
+# similar situation.
+
+ETYPE="sources"
+inherit kernel eutils
+
+# OKV=original kernel version, KV=patched kernel version. They can be the same.
+[ "$OKV" == "" ] && OKV="${PV}"
+
+EXTRAVERSION="-${PN/-*/}"
+[ ! "${PR}" == "r0" ] && EXTRAVERSION="${EXTRAVERSION}-${PR}"
+KV="${OKV}${EXTRAVERSION}"
+
+PATCH_VERSION="2.4.26-sparc"
+
+# Documentation on the patches contained in this kernel will be installed
+# to /usr/share/doc/sparc-sources-${PV}/patches.txt.gz
+
+DESCRIPTION="Full sources for the Gentoo Sparc Linux kernel"
+SRC_URI="http://www.kernel.org/pub/linux/kernel/v2.4/linux-${OKV}.tar.bz2
+ mirror://gentoo/patches-${PATCH_VERSION}.tar.bz2"
+
+S=${WORKDIR}/linux-${KV}
+KEYWORDS="~x86 -ppc sparc"
+SLOT="${KV}"
+
+src_unpack() {
+ unpack ${A}
+ mv linux-${OKV} linux-${KV} || die "Error moving kernel source tree to linux-${KV}"
+ cd ${PATCH_VERSION} || die "Unable to cd into ${PATCH_VERSION}"
+
+ kernel_src_unpack
+
+ # fix format string problem in panic()
+ epatch ${FILESDIR}/2.4.26-CAN-2004-0394.patch
+ # fix for DECnet
+ epatch ${FILESDIR}/2.4.26-CAN-2004-0495.patch
+ # fix for e1000 (rumours say some cards work in Sparc)
+ epatch ${FILESDIR}/2.4.CAN-2004-0535.patch
+ # fix for fs/attr.c
+ epatch ${FILESDIR}/2.4-attr-fix.patch
+
+ # Patch the HME driver only on Ultra1 machines.
+ use ultra1 && epatch ${FILESDIR}/U1-hme-lockup.patch
+}
+
+pkg_postinst() {
+
+ kernel_pkg_postinst
+
+ # Display SUN Ultra 1 HME warning if it can be detected or if the machinetype is unknown.
+ if [ ! -r "/proc/openprom/name" -o "`cat /proc/openprom/name 2>/dev/null`" = "'SUNW,Ultra-1'" ]; then
+ einfo
+ einfo "For users with an Enterprise model Ultra 1 using the HME network interface,"
+ einfo "please emerge the kernel using the following command:"
+ einfo
+ einfo "USE=ultra1 emerge sparc-sources"
+ einfo
+ fi
+}