Linux File System Verification
Linux File System Verification project provides exhaustive test suites for Linux file system drivers. They contain a number of user space tests checking behavior of all file system interfaces exported to user space under various mkfs and mount options. The tests are augmented with kernel space helpers that enable additional test situations including but not limited to faults of memory allocation requests, bio layer, etc.
The unique feature of the test suites is a systematic approach to simulate faults dedicated to the file system driver under test. That means it does not introduce faults into requests coming from other modules and it implements systematic iteration of fault situations versus a typical random approach.
At this point Linux File System Verification covers the following file system drivers: ext4, xfs, btrfs, f2fs, UbiFS, jffs2, jfs.
Problems in Linux file system implementations already found by the project are as follows.
No. | Type | Brief | Added on | Accepted | Status |
F0006 | Deadlock | f2fs: a deadlock in mkdir if ACL is enabled | 2013-10-28 | https://lkml.org/lkml/2013/10/26/163 commit |
Fixed in kernel 3.12-rc3 |
F0004 | Deadlock | ext4: deadlocks after allocation failure in ext4_init_io_end() | 2013-06-04 | https://lkml.org/lkml/2013/5/13/426 commit |
Fixed in kernel 3.10-rc3 |
F0011 | Crash | ext4: When mounted with backup superblock online resize leads to BUG_ON or causes filesystem corruption | 2014-12-27 | http://www.spinics.net/lists/linux-ext4/msg46743.html commit |
Fixed in kernel 3.19-rc4 |
F0010 | Crash | f2fs: Possible use-after-free when umount filesystem | 2014-07-25 | https://lkml.org/lkml/2014/7/21/198 commit |
Fixed in kernel 3.17-rc1 |
F0009 | Crash | ext4: Destruction of ext4_groupinfo_caches during one mount causes BUG_ON for other mounted ext4 filesystems | 2014-05-12 | https://lkml.org/lkml/2014/5/12/147 commit |
Fixed in kernel 3.16-rc1 |
F0008 | Crash | f2fs: BUG_ON() is triggered in recover_inode_page() when mount valid f2fs filesystem | 2014-04-18 | https://lkml.org/lkml/2014/4/14/189 commit |
Fixed in kernel 3.17-rc1 |
F0007 | Crash | f2fs: f2fs unmount hangs if f2fs_init_acl() fails during mkdir syscall | 2014-02-17 | https://lkml.org/lkml/2014/2/6/18 commit |
Fixed in kernel 3.15-rc1 |
F0005 | Crash | ext4: system hangs after failure in ext4_mb_new_preallocation() | 2013-07-01 | https://lkml.org/lkml/2013/5/5/64 commit |
Fixed in kernel 3.10-rc3 |
F0003 | Crash | jfs: Several bugs in jfs_freeze() and jfs_unfreeze() | 2013-05-24 | https://lkml.org/lkml/2013/5/24/76 commit |
Fixed in kernel 3.10-rc3 |
F0002 | Crash | ext4: NULL dereference in ext4_calculate_overhead() | 2012-11-28 | https://lkml.org/lkml/2012/11/28/354 commit |
Fixed in kernel 3.8-rc1 |
F0001 | Crash | ext4: NULL pointer dereference in mount_fs() because of ext4_fill_super() wrongly reports success | 2012-11-08 | https://bugzilla.kernel.org/show_bug.cgi?id=48431 commit |
Fixed in kernel 3.8-rc1 |
Click on a problem number for detailed description. Click on a column header to change the sorting order.