Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
prog: add concept of "special pointers"
Currently we only generate either valid user-space pointers or NULL. Extend NULL to a set of special pointers that we will use in programs. All targets now contain 3 special values: - NULL - 0xfffffffffffffff (invalid kernel pointer) - 0x999999999999999 (non-canonical address) Each target can add additional special pointers on top of this. Also generate NULL/special pointers for non-opt ptr's. This restriction was always too restrictive. We may want to generate them with very low probability, but we do want to generate them. Also change pointers to NULL/special during mutation (but still not in the opposite direction).
- Loading branch information
Showing
with
161 additions
and 67 deletions.
- +2 −2 prog/analysis.go
- +4 −6 prog/encoding.go
- +34 −2 prog/encoding_test.go
- +0 −7 prog/encodingexec.go
- +24 −0 prog/encodingexec_test.go
- +8 −1 prog/mutation.go
- +19 −13 prog/prog.go
- +5 −1 prog/rand.go
- +14 −0 prog/target.go
- +6 −5 prog/types.go
- +14 −11 prog/validation.go
- +20 −18 sys/linux/init.go
- +11 −1 sys/linux/init_iptables.go
Oops, something went wrong.