diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2016-11-11 23:02:48 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2016-11-11 23:03:20 +0000 |
commit | 46ee4b72fa83b9652bf4ac5a92914f7a558b4cab (patch) | |
tree | 103b70226e7c3622f244eb2965631f0d30ff89ea /app-forensics | |
parent | sys-devel/binutils-config: update man page to cover --linker #594034 (diff) | |
download | gentoo-46ee4b72fa83b9652bf4ac5a92914f7a558b4cab.tar.gz gentoo-46ee4b72fa83b9652bf4ac5a92914f7a558b4cab.tar.bz2 gentoo-46ee4b72fa83b9652bf4ac5a92914f7a558b4cab.zip |
app-forensics/honggfuzz: unbreak --linux_perf_bts_block flag
Workaround --linux_perf_bts_block flag breakage.
Mateusz reports that running honggfuzz fails as:
[2016-11-11T21:54:27+0000][W][1190] arch_perfOpen():223 mmap(mmapAuxBuf) failed,
try increasing the kernel.perf_event_mlock_kb sysctl (up to even 300000000): Cannot allocate memory
It seems aux data also needs WRITE permissions.
Reported-by: Mateusz Lenik
Package-Manager: portage-2.3.2
Diffstat (limited to 'app-forensics')
-rw-r--r-- | app-forensics/honggfuzz/files/honggfuzz-0.8-bts-perms.patch | 19 | ||||
-rw-r--r-- | app-forensics/honggfuzz/honggfuzz-0.8-r1.ebuild | 42 |
2 files changed, 61 insertions, 0 deletions
diff --git a/app-forensics/honggfuzz/files/honggfuzz-0.8-bts-perms.patch b/app-forensics/honggfuzz/files/honggfuzz-0.8-bts-perms.patch new file mode 100644 index 000000000000..e8ac4919e208 --- /dev/null +++ b/app-forensics/honggfuzz/files/honggfuzz-0.8-bts-perms.patch @@ -0,0 +1,19 @@ +Workaround --linux_perf_bts_block flag breakage. + +Mateusz reports that running honggfuzz fails as: + [2016-11-11T21:54:27+0000][W][1190] arch_perfOpen():223 mmap(mmapAuxBuf) failed, + try increasing the kernel.perf_event_mlock_kb sysctl (up to even 300000000): Cannot allocate memory + +It seems aux data also needs WRITE permissions. + +Reported-by: Mateusz Lenik +diff --git a/linux/perf.c b/linux/perf.c +index d8ede5f..2f71b3d 100644 +--- a/linux/perf.c ++++ b/linux/perf.c +@@ -217,3 +217,4 @@ static bool arch_perfOpen(honggfuzz_t * hfuzz, fuzzer_t * fuzzer UNUSED, pid_t p + fuzzer->linux.perfMmapAux = +- mmap(NULL, pem->aux_size, PROT_READ, MAP_SHARED, *perfFd, pem->aux_offset); ++ mmap(NULL, pem->aux_size, PROT_READ | PROT_WRITE, MAP_SHARED, *perfFd, pem->aux_offset); ++ + if (fuzzer->linux.perfMmapAux == MAP_FAILED) { diff --git a/app-forensics/honggfuzz/honggfuzz-0.8-r1.ebuild b/app-forensics/honggfuzz/honggfuzz-0.8-r1.ebuild new file mode 100644 index 000000000000..8c9774cb28f8 --- /dev/null +++ b/app-forensics/honggfuzz/honggfuzz-0.8-r1.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit toolchain-funcs + +DESCRIPTION="A general purpose fuzzer with feedback support" +HOMEPAGE="http://google.github.io/honggfuzz/" +SRC_URI="https://github.com/google/honggfuzz/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +RDEPEND=" + sys-libs/binutils-libs:= + sys-libs/libunwind +" + +DEPEND="${RDEPEND}" + +DOCS=( + CHANGELOG + COPYING + CONTRIBUTING + README.md +) + +PATCHES=("${FILESDIR}"/${P}-bts-perms.patch) + +src_compile() { + CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" emake +} + +src_install() { + dobin ${PN} + + einstalldocs +} |