Hello community, here is the log from the commit of package afl for openSUSE:Factory checked in at 2016-03-01 09:45:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/afl (Old) and /work/SRC/openSUSE:Factory/.afl.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "afl" Changes: -------- --- /work/SRC/openSUSE:Factory/afl/afl.changes 2016-02-26 00:26:45.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.afl.new/afl.changes 2016-03-01 10:20:59.000000000 +0100 @@ -1,0 +2,7 @@ +Sun Feb 28 13:59:04 UTC 2016 - astie...@suse.com + +- afl 2.05b: + * Put __sanitizer_cov_module_init & co behind #ifdef to avoid + problems with ASAN. + +------------------------------------------------------------------- Old: ---- afl-2.04b.tgz New: ---- afl-2.05b.tgz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ afl.spec ++++++ --- /var/tmp/diff_new_pack.QAWoCC/_old 2016-03-01 10:21:00.000000000 +0100 +++ /var/tmp/diff_new_pack.QAWoCC/_new 2016-03-01 10:21:00.000000000 +0100 @@ -17,7 +17,7 @@ Name: afl -Version: 2.04b +Version: 2.05b Release: 0 Summary: American fuzzy lop is a security-oriented fuzzer License: Apache-2.0 ++++++ afl-1.58b-fix-paths.patch ++++++ --- /var/tmp/diff_new_pack.QAWoCC/_old 2016-03-01 10:21:00.000000000 +0100 +++ /var/tmp/diff_new_pack.QAWoCC/_new 2016-03-01 10:21:00.000000000 +0100 @@ -2,11 +2,11 @@ Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: afl-2.04b/Makefile +Index: afl-2.05b/Makefile =================================================================== ---- afl-2.04b.orig/Makefile -+++ afl-2.04b/Makefile -@@ -18,8 +18,8 @@ VERSION = 2.04b +--- afl-2.05b.orig/Makefile ++++ afl-2.05b/Makefile +@@ -18,8 +18,8 @@ VERSION = 2.05b PREFIX ?= /usr/local BIN_PATH = $(PREFIX)/bin @@ -16,4 +16,4 @@ +DOC_PATH = $(DOC_DIR)/afl MISC_PATH = $(PREFIX)/share/afl - # PROGS intentionally omit afl-as, which gets installed elsewhere. + # PROGS intentionally omit afl-as, which gets installed to its own dir. ++++++ afl-2.04b.tgz -> afl-2.05b.tgz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-2.04b/Makefile new/afl-2.05b/Makefile --- old/afl-2.04b/Makefile 2016-02-22 03:22:50.000000000 +0100 +++ new/afl-2.05b/Makefile 2016-02-24 23:45:50.000000000 +0100 @@ -14,7 +14,7 @@ # PROGNAME = afl -VERSION = 2.04b +VERSION = 2.05b PREFIX ?= /usr/local BIN_PATH = $(PREFIX)/bin @@ -22,7 +22,7 @@ DOC_PATH = $(PREFIX)/share/doc/afl MISC_PATH = $(PREFIX)/share/afl -# PROGS intentionally omit afl-as, which gets installed elsewhere. +# PROGS intentionally omit afl-as, which gets installed to its own dir. PROGS = afl-gcc afl-fuzz afl-showmap afl-tmin afl-gotcpu afl-analyze SH_PROGS = afl-plot afl-cmin afl-whatsup diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-2.04b/docs/ChangeLog new/afl-2.05b/docs/ChangeLog --- old/afl-2.04b/docs/ChangeLog 2016-02-21 21:19:12.000000000 +0100 +++ new/afl-2.05b/docs/ChangeLog 2016-02-24 23:07:22.000000000 +0100 @@ -17,6 +17,13 @@ to get on with the times. -------------- +Version 2.05b: +-------------- + + - Put __sanitizer_cov_module_init & co behind #ifdef to avoid problems + with ASAN. Spotted by Christian Holler. + +-------------- Version 2.04b: -------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-2.04b/docs/sister_projects.txt new/afl-2.05b/docs/sister_projects.txt --- old/afl-2.04b/docs/sister_projects.txt 2016-02-21 01:27:47.000000000 +0100 +++ new/afl-2.05b/docs/sister_projects.txt 2016-02-22 09:43:30.000000000 +0100 @@ -249,3 +249,11 @@ -------------------------------------------------------- https://github.com/choller/afl/blob/master/docs/mozilla/partial_instrumentation.txt + +Kernel fuzzing (Dmitry Vyukov) +------------------------------ + + A similar guided approach as applied to fuzzing syscalls: + + https://github.com/google/syzkaller/wiki/Found-Bugs + https://github.com/dvyukov/linux/commit/33787098ffaaa83b8a7ccf519913ac5fd6125931 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-2.04b/llvm_mode/afl-llvm-rt.o.c new/afl-2.05b/llvm_mode/afl-llvm-rt.o.c --- old/afl-2.04b/llvm_mode/afl-llvm-rt.o.c 2016-02-21 21:23:08.000000000 +0100 +++ new/afl-2.05b/llvm_mode/afl-llvm-rt.o.c 2016-02-25 01:28:21.000000000 +0100 @@ -203,12 +203,17 @@ } +static void __afl_trace_pc_init(void); + + /* Proper initialization routine. */ __attribute__((constructor(0))) void __afl_auto_init(void) { is_persistent = !!getenv(PERSIST_ENV_VAR); + __afl_trace_pc_init(); + if (getenv(DEFER_ENV_VAR)) return; __afl_manual_init(); @@ -249,29 +254,11 @@ } -/* Same deal, but for indirect calls. */ - -void __sanitizer_cov_trace_pc_indir(void* dummy) { - - u32 cur = ((u32)__builtin_return_address(0)) & MIN(4095, MAP_SIZE - 1); - - if (cur > inst_ratio_scaled) return; - - __afl_area_ptr[cur ^ __afl_prev_loc]++; - -#if MAP_SIZE_POW2 > 12 - __afl_prev_loc = cur << (MAP_SIZE_POW2 - 12); -#else - __afl_prev_loc = cur >> 1; -#endif /* ^MAP_SIZE_POW2 > 12 */ - -} - - /* Init callback. Unfortunately, LLVM does not support compile-time - instrumentation density scaling, at least not just yet. */ + instrumentation density scaling, at least not just yet. This means + taking some performance hit by checking inst_ratio_scaled at runtime. */ -void __sanitizer_cov_module_init(void) { +static void __afl_trace_pc_init(void) { u8* x = getenv("AFL_INST_RATIO"); @@ -288,3 +275,9 @@ } + +/* Work around a short-lived bug in LLVM with -fsanitize-coverage=trace-pc. */ + +void __sanitizer_cov_module_init(void) __attribute__((weak)); +void __sanitizer_cov_module_init(void) { } +