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.
Objective-C C Other
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