DF-2955 / run.sh
#!/bin/sh # run on the DragonFly guest (root unless noted) dd if=/dev/zero of=/tmp/fat.img bs=1m count=8 vnconfig -c /dev/vn0 /tmp/fat.img newfs_msdos /dev/vn0 mount_msdos /dev/vn0 /mnt cd /mnt && touch C W1 W2 X1 X2 X3 && cd / /root/fattime_poc /mnt/C 1763721600 # control: MATCH /root/fattime_poc /mnt/W1 4295030400 # DF-2955: 2106-02-08 -> 1970-01-01 /root/fattime_poc /mnt/W2 4354750800 # DF-2955: 2107-12-31 -> 1971-11-23 /root/fattime_poc /mnt/X1 4354819200 # DF-2956: 2108-01-01 -> 1980-01-01 /root/fattime_poc /mnt/X3 140737488355327 # DF-2956: year 4.4M -> 2023-11-23 cd /; umount /mnt /root/findentry /tmp/fat.img W2 # MDate=0xff9f (valid on disk!) /root/findentry /tmp/fat.img X1 # MDate=0x0021 (wrapped 1980) # unprivileged variant: mount_msdos -u 1001 -g 1001 /dev/vn0 /mnt su -m testu -c '/root/../tmp/fattime_poc /mnt/mine 4354750800' # (copy poc to /tmp first) |