DF-5125 / run.fixed.log
# DF-5125/5126 FIX VALIDATION — fix.diff applied to /usr/src, drm.ko rebuilt, # harness rebuilt against fixed headers, identical PoC (ssh capture) $ kldload ./drm-fixed.ko && kldload ./rcu_race.ko $ sleep 50 $ sysctl rcu_race.stageA_runs rcu_race.stageA_uaf rcu_race.stageB_runs rcu_race.stageB_uaf rcu_race.poison_reads rcu_race.canary rcu_race.stageA_runs: 5 rcu_race.stageA_uaf: 0 rcu_race.stageB_runs: 3 rcu_race.stageB_uaf: 0 rcu_race.poison_reads: 0 rcu_race.canary: 0 $ dmesg | grep -E "rcu_race|expand RCU" | tail -8 rcu_race: starting on cpu 0 (hz=100) DF-5125 stage A x5 rcu_race: DF-5125 stage A done: runs=5 uaf_hits=0 poison_reads=0 canary=0 rcu_race: DF-5126 stage B x3 (reader blocks 2s inside CS) drm: expand RCU cpu 0 to 16 rcu_race: DF-5126 stage B done: runs=3 uaf_hits=0 poison_reads=0 canary=0 rcu_race: initial run complete ... # adversarial re-check on the FIXED build: rip_panic=1 + more=5 + moreb=3 $ sysctl rcu_race.rip_panic=1; sysctl rcu_race.more=5; sysctl rcu_race.moreb=3 $ sleep 45 $ sysctl rcu_race.stageA_runs rcu_race.stageA_uaf rcu_race.stageB_runs rcu_race.stageB_uaf rcu_race.canary; uptime rcu_race.stageA_runs: 10 rcu_race.stageA_uaf: 0 rcu_race.stageB_runs: 6 rcu_race.stageB_uaf: 0 rcu_race.canary: 0 3:28AM up 5 mins, 0 users, load averages: 0.05, 0.04, 0.01 # guest still up, no trap