On Tue, Jun 13, 2023 at 02:01:03PM -0400, Theodore Ts'o wrote: > I wonder if we should have a separate syzkaller subsystem for ext2 (as > distinct from ext4)? The syz reproducer seems to know that it should > be mounting using ext2, but also calls it an ext4 file system, which > is a bit weird. I'm guessing there is something specific about the > syzkaller internals which might not make this be practical, but I > thought I should ask. > > From the syz reproducer: > > syz_mount_image$ext4(&(0x7f0000000100)='ext2\x00', ...) > > More generally, there are a series of changes that were made to make > ext4 to make it more robust against maliciously fuzzed superblocks, > but we haven't necessarily made sure the same analogous changes have > been made to ext2. I'm not sure how critical this is in practice, > since most distributions don't actually compile fs/ext2 and instead > use CONFIG_EXT4_USE_FOR_EXT2 instead. However, while we maintain ext2 > as a sample "simple" modern file system, I guess we should try to make > sure we do carry those fixes over. Hmmmm. Modern filesystems are crash resilient, based on extents and are using/moving to folios+iomap - calling a non-journalled, indirect block indexed, bufferhead based code base (that nobody is really using in production) "modern" seems like a real stretch. I have my doubts that maintaining fs/ext2 is providing much benefit to anyone. The code base is in the git history if anyone wants to study it, so it's not like we have to keep it active in the tree for it to remain a code base that people can learn from. Therefore, given the current push to sideline/remove bufferheads from the kernel, should we simply deprecate fs/ext2 and then remove it in a year or two like we're doing with reiser to reduce our future maintenance and/or conversion burden? Or just remove it right now and simply make CONFIG_FS_EXT2 select CONFIG_EXT4_USE_FOR_EXT2? /Devil's Advocate Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx