This plugin recomputes expressions of function arguments marked by a size_overflow attribute with double integer precision (DImode/TImode for 32/64 bit integer types). The recomputed argument is checked against TYPE_MAX and an event is logged on overflow and the triggering process is killed.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Makefile
README.md
disable.h
e_aux.h
e_fields.h
e_fns.h
e_fptrs.h
e_vars.h
gcc-common.h
gcc-generate-gimple-pass.h
gcc-generate-ipa-pass.h
gcc-plugin.sh
insert_size_overflow_asm.c
intentional_overflow.c
remove_unnecessary_dup.c
size_overflow.h
size_overflow_debug.c
size_overflow_ipa.c
size_overflow_misc.c
size_overflow_plugin.c
size_overflow_plugin_hash.c
size_overflow_transform.c
size_overflow_transform_core.c
test.c

README.md

size_overflow

This plugin recomputes expressions of function arguments marked by a size_overflow attribute with double integer precision (DImode/TImode for 32/64 bit integer types). The recomputed argument is checked against TYPE_MAX and an event is logged on overflow and the triggering process is killed.

The kernel patches required by the plugin are maintained in PaX (http://www.grsecurity.net/~paxguy1/) and grsecurity (http://grsecurity.net/).

Documentation

http://forums.grsecurity.net/viewtopic.php?f=7&t=3043

Compiling & Usage

gcc 4.5 - 6:
$ make clean; make
Usage
$ make run