DF-4671 / run_4671.log
+ cd /root/df467x
+ kldstat
+ grep -q bktrig2
== race runs (all unprivileged; fresh init each run)
+ echo '== race runs (all unprivileged; fresh init each run)'
+ /home/maxx/df467x/poc_race --init
RIG_INIT: bigbuf=0xfffff80118bc0000 alloc_pages=32
+ su maxx -c 'cd ~/df467x && ./poc_race 33 200'
uid=1001 euid=1001; fault window W=32 pages; grows 33..200
initial buffer: bigbuf=0xfffff80118bc0000 alloc_pages=32
generation-0 markers written; starting race
*** CATCH #1 iter=1 page=0: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=0} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #2 iter=1 page=1: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=1} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #3 iter=1 page=2: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=2} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #4 iter=1 page=3: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=3} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #5 iter=1 page=4: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=4} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #6 iter=1 page=5: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=5} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #7 iter=1 page=6: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=6} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #8 iter=1 page=7: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=7} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #9 iter=1 page=8: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=8} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #10 iter=1 page=9: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=9} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #11 iter=1 page=10: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=10} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #12 iter=1 page=11: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=11} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #13 iter=1 page=12: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=12} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #14 iter=1 page=13: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=13} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #15 iter=1 page=14: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=14} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #16 iter=1 page=15: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=15} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #17 iter=1 page=16: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=16} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #18 iter=1 page=17: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=17} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #19 iter=1 page=18: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=18} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #20 iter=1 page=19: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=19} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #21 iter=1 page=20: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=20} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #22 iter=1 page=21: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=21} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #23 iter=1 page=22: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=22} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #24 iter=1 page=23: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=23} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #25 iter=1 page=24: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=24} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #26 iter=1 page=25: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=25} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #27 iter=1 page=26: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=26} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #28 iter=1 page=27: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=27} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #29 iter=1 page=28: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=28} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #30 iter=1 page=29: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=29} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #31 iter=1 page=30: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=30} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #32 iter=1 page=31: marker {magic=0xdf4671a5c0deba epoch=0 iter=0 page=31} live_epoch(before fault)=12 (after=29)
marker epoch 0 < pre-fault epoch 12 => fault resolved a page of a buffer freed 12 grow(s) earlier (dangling KVA)
*** CATCH #33 iter=4 page=0: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=0} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #34 iter=4 page=1: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=1} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #35 iter=4 page=2: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=2} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #36 iter=4 page=3: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=3} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #37 iter=4 page=4: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=4} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #38 iter=4 page=5: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=5} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #39 iter=4 page=6: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=6} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #40 iter=4 page=7: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=7} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #41 iter=4 page=8: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=8} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #42 iter=4 page=9: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=9} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #43 iter=4 page=10: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=10} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #44 iter=4 page=11: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=11} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #45 iter=4 page=12: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=12} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #46 iter=4 page=13: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=13} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #47 iter=4 page=14: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=14} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #48 iter=4 page=15: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=15} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #49 iter=4 page=16: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=16} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #50 iter=4 page=17: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=17} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #51 iter=4 page=18: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=18} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #52 iter=4 page=19: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=19} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #53 iter=4 page=20: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=20} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #54 iter=4 page=21: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=21} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #55 iter=4 page=22: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=22} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #56 iter=4 page=23: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=23} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #57 iter=4 page=24: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=24} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #58 iter=4 page=25: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=25} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #59 iter=4 page=26: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=26} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #60 iter=4 page=27: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=27} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #61 iter=4 page=28: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=28} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #62 iter=4 page=29: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=29} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #63 iter=4 page=30: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=30} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #64 iter=4 page=31: marker {magic=0xdf4671a5c0deba epoch=75 iter=3 page=31} live_epoch(before fault)=76 (after=77)
marker epoch 75 < pre-fault epoch 76 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #65 iter=5 page=0: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=0} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #66 iter=5 page=1: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=1} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #67 iter=5 page=2: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=2} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #68 iter=5 page=3: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=3} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #69 iter=5 page=4: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=4} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #70 iter=5 page=5: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=5} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #71 iter=5 page=6: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=6} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #72 iter=5 page=7: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=7} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #73 iter=5 page=8: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=8} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #74 iter=5 page=9: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=9} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #75 iter=5 page=10: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=10} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #76 iter=5 page=11: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=11} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #77 iter=5 page=12: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=12} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #78 iter=5 page=13: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=13} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #79 iter=5 page=14: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=14} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #80 iter=5 page=15: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=15} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #81 iter=5 page=16: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=16} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #82 iter=5 page=17: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=17} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #83 iter=5 page=18: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=18} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #84 iter=5 page=19: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=19} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #85 iter=5 page=20: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=20} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #86 iter=5 page=21: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=21} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #87 iter=5 page=22: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=22} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #88 iter=5 page=23: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=23} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #89 iter=5 page=24: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=24} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #90 iter=5 page=25: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=25} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #91 iter=5 page=26: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=26} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #92 iter=5 page=27: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=27} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #93 iter=5 page=28: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=28} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #94 iter=5 page=29: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=29} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #95 iter=5 page=30: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=30} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #96 iter=5 page=31: marker {magic=0xdf4671a5c0deba epoch=79 iter=4 page=31} live_epoch(before fault)=80 (after=83)
marker epoch 79 < pre-fault epoch 80 => fault resolved a page of a buffer freed 1 grow(s) earlier (dangling KVA)
*** CATCH #97 iter=8 page=0: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=0} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #98 iter=8 page=1: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=1} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #99 iter=8 page=2: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=2} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #100 iter=8 page=3: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=3} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #101 iter=8 page=4: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=4} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #102 iter=8 page=5: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=5} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #103 iter=8 page=6: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=6} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #104 iter=8 page=7: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=7} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #105 iter=8 page=8: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=8} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #106 iter=8 page=9: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=9} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #107 iter=8 page=10: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=10} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #108 iter=8 page=11: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=11} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #109 iter=8 page=12: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=12} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #110 iter=8 page=13: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=13} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #111 iter=8 page=14: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=14} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #112 iter=8 page=15: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=15} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #113 iter=8 page=16: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=16} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #114 iter=8 page=17: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=17} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #115 iter=8 page=18: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=18} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #116 iter=8 page=19: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=19} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #117 iter=8 page=20: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=20} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #118 iter=8 page=21: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=21} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #119 iter=8 page=22: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=22} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #120 iter=8 page=23: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=23} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #121 iter=8 page=24: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=24} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #122 iter=8 page=25: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=25} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #123 iter=8 page=26: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=26} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #124 iter=8 page=27: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=27} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #125 iter=8 page=28: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=28} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #126 iter=8 page=29: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=29} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #127 iter=8 page=30: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=30} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
*** CATCH #128 iter=8 page=31: marker {magic=0xdf4671a5c0deba epoch=94 iter=7 page=31} live_epoch(before fault)=96 (after=97)
marker epoch 94 < pre-fault epoch 96 => fault resolved a page of a buffer freed 2 grow(s) earlier (dangling KVA)
[grow] 168 grows ok, 0 failed (last target 201); final epoch=168
== RESULT ==
fault iterations: 31; final buffer alloc_pages=200; catches=128
FAULT-TIME DANGLING-KVA RESOLUTION REPRODUCED
+ /home/maxx/df467x/poc_race --init
RIG_INIT: bigbuf=0xfffff80118bc0000 alloc_pages=32
+ su maxx -c 'cd ~/df467x && ./poc_race 33 200'
uid=1001 euid=1001; fault window W=32 pages; grows 33..200
initial buffer: bigbuf=0xfffff80118bc0000 alloc_pages=32
generation-0 markers written; starting race
[grow] 168 grows ok, 0 failed (last target 201); final epoch=168
== RESULT ==
fault iterations: 53; final buffer alloc_pages=200; catches=0
no dangling resolution caught this run
+ /home/maxx/df467x/poc_race --init
RIG_INIT: bigbuf=0xfffff80118bc0000 alloc_pages=32
+ su maxx -c 'cd ~/df467x && ./poc_race 33 300'
uid=1001 euid=1001; fault window W=32 pages; grows 33..300
initial buffer: bigbuf=0xfffff80118bc0000 alloc_pages=32
generation-0 markers written; starting race
[grow] 268 grows ok, 0 failed (last target 301); final epoch=268
== RESULT ==
fault iterations: 139; final buffer alloc_pages=300; catches=0
no dangling resolution caught this run
+ sysctl vm.stats.vm.v_wire_count
vm.stats.vm.v_wire_count: 297709