summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2010-02-09 01:55:12 +0000
committerMike Frysinger <vapier@gentoo.org>2010-02-09 01:55:12 +0000
commitadc34c421852f6b93fa8adab5d6ac878d9912462 (patch)
treec5dbbecac80c2d624b6eae72e89a34f1d085cbf1 /sys-apps
parentMark alpha/ia64/s390/sh stable #301179. (diff)
downloadgentoo-2-adc34c421852f6b93fa8adab5d6ac878d9912462.tar.gz
gentoo-2-adc34c421852f6b93fa8adab5d6ac878d9912462.tar.bz2
gentoo-2-adc34c421852f6b93fa8adab5d6ac878d9912462.zip
Add fix from upstream for blkid segfaults #301787 by Alec M.
(Portage version: 2.2_rc61/cvs/Linux x86_64)
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/util-linux/ChangeLog9
-rw-r--r--sys-apps/util-linux/files/0001-libblkid-fix-segfault-in-drdb.patch33
-rw-r--r--sys-apps/util-linux/util-linux-2.17-r1.ebuild98
3 files changed, 139 insertions, 1 deletions
diff --git a/sys-apps/util-linux/ChangeLog b/sys-apps/util-linux/ChangeLog
index cb467fe57b3e..331cf84c9697 100644
--- a/sys-apps/util-linux/ChangeLog
+++ b/sys-apps/util-linux/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-apps/util-linux
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/ChangeLog,v 1.299 2010/02/09 01:54:23 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/ChangeLog,v 1.300 2010/02/09 01:55:11 vapier Exp $
+
+*util-linux-2.17-r1 (09 Feb 2010)
+
+ 09 Feb 2010; Mike Frysinger <vapier@gentoo.org>
+ +files/0001-libblkid-fix-segfault-in-drdb.patch,
+ +util-linux-2.17-r1.ebuild:
+ Add fix from upstream for blkid segfaults #301787 by Alec M.
09 Feb 2010; Mike Frysinger <vapier@gentoo.org> util-linux-2.16.2.ebuild:
Mark alpha/ia64/s390/sh stable #301179.
diff --git a/sys-apps/util-linux/files/0001-libblkid-fix-segfault-in-drdb.patch b/sys-apps/util-linux/files/0001-libblkid-fix-segfault-in-drdb.patch
new file mode 100644
index 000000000000..9acc8849a6de
--- /dev/null
+++ b/sys-apps/util-linux/files/0001-libblkid-fix-segfault-in-drdb.patch
@@ -0,0 +1,33 @@
+From 10f494e1a0ac09e144a42fcaeb72663674eb30fc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Matthias=20K=C3=B6nig?= <mk@phasorlab.de>
+Date: Tue, 12 Jan 2010 13:58:28 +0100
+Subject: [PATCH] libblkid: fix segfault in drdb
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Check if blkid_probe_get_buffer() returns NULL to avoid dereferencing
+a zero pointer resulting in a segfault.
+
+Signed-off-by: Matthias König <mk@phasorlab.de>
+---
+ shlibs/blkid/src/superblocks/drbd.c | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/shlibs/blkid/src/superblocks/drbd.c b/shlibs/blkid/src/superblocks/drbd.c
+index e0bbb4d..a56486e 100644
+--- a/shlibs/blkid/src/superblocks/drbd.c
++++ b/shlibs/blkid/src/superblocks/drbd.c
+@@ -78,7 +78,8 @@ static int probe_drbd(blkid_probe pr, const struct blkid_idmag *mag)
+ blkid_probe_get_buffer(pr,
+ off,
+ sizeof(struct md_on_disk_08));
+-
++ if (!md)
++ return -1;
+
+ if (be32_to_cpu(md->magic) != DRBD_MD_MAGIC_08)
+ return -1;
+--
+1.6.6.1
+
diff --git a/sys-apps/util-linux/util-linux-2.17-r1.ebuild b/sys-apps/util-linux/util-linux-2.17-r1.ebuild
new file mode 100644
index 000000000000..cee5a1bc5657
--- /dev/null
+++ b/sys-apps/util-linux/util-linux-2.17-r1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/util-linux-2.17-r1.ebuild,v 1.1 2010/02/09 01:55:11 vapier Exp $
+
+EAPI="2"
+
+EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git"
+inherit eutils toolchain-funcs libtool
+[[ ${PV} == "9999" ]] && inherit git autotools
+
+MY_PV=${PV/_/-}
+MY_P=${PN}-ng-${MY_PV}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="Various useful Linux utilities"
+HOMEPAGE="http://www.kernel.org/pub/linux/utils/util-linux-ng/"
+if [[ ${PV} == "9999" ]] ; then
+ SRC_URI=""
+ #KEYWORDS=""
+else
+ SRC_URI="mirror://kernel/linux/utils/util-linux-ng/v${PV:0:4}/${MY_P}.tar.bz2
+ loop-aes? ( http://loop-aes.sourceforge.net/updates/util-linux-ng-2.17-20100120.diff.bz2 )"
+ KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="crypt loop-aes nls old-linux perl selinux slang uclibc unicode"
+
+RDEPEND="!sys-process/schedutils
+ !sys-apps/setarch
+ >=sys-libs/ncurses-5.2-r2
+ !<sys-libs/e2fsprogs-libs-1.41.8
+ !<sys-fs/e2fsprogs-1.41.8
+ perl? ( dev-lang/perl )
+ selinux? ( sys-libs/libselinux )
+ slang? ( sys-libs/slang )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ virtual/os-headers"
+
+src_prepare() {
+ if [[ ${PV} == "9999" ]] ; then
+ autopoint --force
+ eautoreconf
+ else
+ use loop-aes && epatch "${WORKDIR}"/util-linux-ng-*.diff
+ fi
+ epatch "${FILESDIR}"/0001-libblkid-fix-segfault-in-drdb.patch #301787
+ use uclibc && sed -i -e s/versionsort/alphasort/g -e s/strverscmp.h/dirent.h/g mount/lomount.c
+ elibtoolize
+}
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ --enable-agetty \
+ --enable-cramfs \
+ $(use_enable old-linux elvtune) \
+ --disable-init \
+ --disable-kill \
+ --disable-last \
+ --disable-mesg \
+ --enable-partx \
+ --enable-raw \
+ --enable-rdev \
+ --enable-rename \
+ --disable-reset \
+ --disable-login-utils \
+ --enable-schedutils \
+ --disable-wall \
+ --enable-write \
+ --without-pam \
+ $(use unicode || echo --with-ncurses) \
+ $(use_with selinux) \
+ $(use_with slang) \
+ $(tc-has-tls || echo --disable-tls)
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die "install failed"
+ dodoc AUTHORS NEWS README* TODO docs/*
+
+ if ! use perl ; then #284093
+ rm "${D}"/usr/bin/chkdupexe || die
+ rm "${D}"/usr/share/man/man1/chkdupexe.1 || die
+ fi
+
+ # need the libs in /
+ gen_usr_ldscript -a blkid uuid
+ # e2fsprogs-libs didnt install .la files, and .pc work fine
+ rm -f "${D}"/usr/$(get_libdir)/*.la
+
+ if use crypt ; then
+ newinitd "${FILESDIR}"/crypto-loop.initd crypto-loop || die
+ newconfd "${FILESDIR}"/crypto-loop.confd crypto-loop || die
+ fi
+}