DF-2826 / run.sh
#!/bin/sh # DF-2826 / DF-2827 exact reproduction (guest, root, same boot!) set -e cd /root/df2826 sh build.sh > build.log 2>&1 || { tail -20 build.log; exit 1; } echo '=== DF-2826 variant A: checkpoint fd >= 3 -> vref panic ===' ./trigger_fd3 # panics: vref: bad refcnt 00000000 1 echo '=== DF-2826 variant B: checkpoint fd 0 -> fdrop panic at exit ===' ./gen df2826.ckpt stage2.bin normal 0x600000f0 1 # freshen file handle ./trigger_fd0 # panics: fdrop: invalid f_count 0 echo '=== DF-2827: e_phnum == 0 -> kernel page fault at VA 0x18 ===' ./gen df2827.ckpt stage2.bin zero ./trigger_fd3 df2827.ckpt # Fatal trap 12, fault VA 0x18 |