conference logo

Playlist "All Systems Go! 2023"

Making a magic deduplicating tar using the FICLONE ioctl

Wicher Minnaard

A walkthrough of an interesting use case for the `FICLONE` ioctl: cloning file data into a tar archive, and cloning files out of it again. "Free" archiving and unarchiving at zero-copy speeds!
Topics:

- Copy-on-write and the `FICLONE` ioctl
- The ancient `tar` format
- A trick for adding arbitrary padding to the `tar` format in order to force file system page alignment
- How to avoid symlink attacks and other TOCTOU issues, using the fairly recently introduced (linux 5.6) `openat2` system call.
- An interesting bug in GNU tar

At the end you'll receive a free autographed copy of [deduptar](https://git.sr.ht/~nullenenenen/deduptar/tree/master/item/README.md) to use for party tricks. 🥳