summaryrefslogtreecommitdiffstats
path: root/tests/014/socket-basic.tl
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-09-17 15:58:17 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-09-17 15:58:17 -0700
commita6b80a09c364c59340d5a6b08d02ab33f085498b (patch)
treeefc2d06a062d9541d70e27ee08680a657b05caf7 /tests/014/socket-basic.tl
parente0e1f72e64812cc8df910ec5de92f319b4578c8b (diff)
downloadtxr-a6b80a09c364c59340d5a6b08d02ab33f085498b.tar.gz
txr-a6b80a09c364c59340d5a6b08d02ab33f085498b.tar.bz2
txr-a6b80a09c364c59340d5a6b08d02ab33f085498b.zip
android: pointer tagging countermeasure.
We strip Android's pointer tag from our heap pointer while we own it, then put it back at free time. * configure (android_target): New variable. Set this to y in the test where we detect Android. When setting CONFIG_NAN_BOXING, also set CONFIG_NAN_BOXING_STRIP_TAG if on Android. * gc.c (struct heap): New member, tag. (more): When tag stripping is enabled, clear the top 16 bits of the pointer coming from malloc, and keep those bits in heap->tag. This gets rid of Android's tag. (sweep): When releasing a heap block with free, we must put the tag back into the pointer, from heap->tag.
Diffstat (limited to 'tests/014/socket-basic.tl')
0 files changed, 0 insertions, 0 deletions