DF-0634 / run.log
+ cc -O2 -o df0634_oob_sim df0634_oob_sim.c
BUILD_EXIT=0
-rwxr-xr-x 1 maxx maxx 8944 Jul 19 04:15 df0634_oob_sim
+ small overshoot (1 byte) - may or may not crash
[*] simulated m_tag data area: 8 bytes at 0x800473ff8 (end of mapped page)
[*] user tag_len=9 (overshoot=1 bytes past m_tag_len)
[*] page boundary at 0x800474000; guard page (unmapped) at 0x800474000
[*] simulating memcmp((void*)(tag+1), hip->in_tag_data, 9)
[*] bytes that the kernel memcmp would read:
aa aa aa aa aa aa aa aa
[offset 8] @0x800474000 is in the unmapped guard page -> kernel memcmp would PAGE FAULT here (panic)
EXIT=0
+ page-crossing overshoot (4096) - should segfault
[*] simulated m_tag data area: 8 bytes at 0x800473ff8 (end of mapped page)
[*] user tag_len=4104 (overshoot=4096 bytes past m_tag_len)
[*] page boundary at 0x800474000; guard page (unmapped) at 0x800474000
[*] simulating memcmp((void*)(tag+1), hip->in_tag_data, 4104)
[*] bytes that the kernel memcmp would read:
aa aa aa aa aa aa aa aa
[offset 8] @0x800474000 is in the unmapped guard page -> kernel memcmp would PAGE FAULT here (panic)
EXIT=0
RUN_EXIT=0