diff options
| author | DJ Delorie <dj@delorie.com> | 2016-07-19 15:40:11 -0400 |
|---|---|---|
| committer | DJ Delorie <dj@delorie.com> | 2016-07-19 15:40:11 -0400 |
| commit | b28259c68e49ce1c2cfd4092f1232cf04e9971d2 (patch) | |
| tree | b9dacc28f0dd8534febf2333f7de85f7623b05b8 /scripts/check-execstack.awk | |
| parent | 25cfec597473141893cb416723aa872fb9d90c86 (diff) | |
| download | glibc-b28259c68e49ce1c2cfd4092f1232cf04e9971d2.tar.xz glibc-b28259c68e49ce1c2cfd4092f1232cf04e9971d2.zip | |
Detect single trace inversions and correct them.
Trace inversion happens when:
* thread A calls malloc, starts a trace record, and then is
suspended by the kernel.
* thread B calls free, writes a trace record, and frees address X.
* thread A is scheduled, and returns address X.
The trace would show thread A's malloc returning pointer X before
thread B free's it, which is "trace inversion".
This patch detects a single inversion (multiple inversions can happen,
although rare) and reschedules the malloc to happen right after the
free.
Diffstat (limited to 'scripts/check-execstack.awk')
0 files changed, 0 insertions, 0 deletions
