Date: Fri, 28 Jul 2000 11:31:15 -0400 From: tytso@mit.edu To: linux-kernel@vger.rutgers.edu Subject: Updated 2.4 status/todo list Thanks to Al Viro, Jeff Garzik, Arjan van de Ven, Davem, Thomas Hiller, Alan Cox, and any other whom I might have missed towards getting this list more up-to-date. I've also arranged to post the latest version of this list at: http://linux24.sourceforge.net At the moment I'm only using the sourceforge project web page; this is because my home DSL line is only 416k, and I didn't want it to get Slashdotted. As a preemptive strike, everyone and his brother has approached me suggesting that I use their favorite bug tracking system. The answer which I'm giving folks is that for now, trying to get the information into a sane state is far more important than the mechanism of which bug tracking system to use. At the moment, the hardest parts of the problem are: * Figuring out when Linus has applied a patch that fixes a particular item on the bug list. * Determining when someone complains whether it's a real bug or not, and if so, how important is it. * Ditto for when someone posts a patch. * Figuring out what Alan meant by descriptive items such as "Check all devices use resources properly" (If anyone has a copy of Vulcan Mind Melds for Dummies, let me know. :-) Anyway, here's the latest list. Enjoy..... - Ted Linux 2.4 Status/TODO Page Important note! I just recently inherited this list from Alan, so it may not be fully accurate yet. Please send updates to tytso@mit.edu. Last modified: [tytso:20000728.1115EDT] Should Be Fixed (Confirmation Wanted) * IDE fails on some VIA boards (eg the i-opener) * Floppy driver broken by VFS changes. Other drivers may be too (Stuff gets called after _close now - unload race possibly too) * Fbcon races * Fix all remaining PCI code to use pci_enable_device (mostly done) Capable Of Corrupting Your FS * Use PCI DMA by default in IDE is unsafe (must not do so on via VPx x<3) * Data corruption on IDE disks (Generic PCI DMA and SiS support (Steven Walter) Security * Fix module remove race bug (still to be done: TTY, ldisc, I2C, video_device, network devices(?) - Al Viro) * access_process_mm oops/lockup if task->mm changes (Manfred) [user can cause deliberately] Boot Time Failures * AHA29xx driver appears to stomp other cards (may be BIOS) * AHA27xx is broken (maybe 28xx too) * Use PCI DMA 'lost interrupt' problem with some hw [which ?] (NEC Versa LX with PIIX tuning) * HT6560/UMC8672 ide sets up stuff too early (before region stuff can be done) * Crashes on boot on some Compaqs ? (may be fixed) * Boot hangs on a range of Dell docking stations (Latitude) Compile-time failures * pdc202xx.c doesn't compile under test5 In Progress * Merge the network fixes (DaveM) * Finish I2O merge (Intel/Alan) * Exploitable leak in file locking (Willy) * Restore O_SYNC functionality (Stephen) - core code and ext2 done Obvious Projects For People (well if you have the hardware..) * nNCR5380 isnt smp safe * DMFE is not SMP safe * Make syncppp use new ppp code * Fix SPX socket code * Merge the 2.2 ServeRAID driver into 2.4 Fix Exists But Isnt Merged * Update SGI VisWS to new-style IRQ handling (Ingo) * 64bit lockf support * Support MP table above 1Gig (Ingo) * Dont panic on boot when meeting HP boxes with wacked APIC table numbering (AC) * Scheduler bugs in RT (Dimitris) * HFS is still broken * AIC7xxx doesnt work non PCI ? (Doug says OK, new version due anyway) * Fix boards with different TSC per CPU and kill TSC use on them * Floppy last block cache flush error * TB Multisound driver hasnt been updated for new isa I/O totally. Compatibility Errors * Xterm broke in 2.3.99pre6 (FIONREAD/select loop) To Do * mount crashes on Alpha platforms * Check all devices use resources properly * Tulip hang on rmmod/crashes sometimes * Devfs races (mostly done - Al Viro) * Fix further NFS races (Al Viro) * Test other file systems on write * Audit all char and block drivers to ensure they are safe with the 2.3 locking - a lot of them are not especially on the read()/write() path. * Keyboard/mouse problems (may be fixed ?) * Fix mount failures due to copy_* user mishandling * Fix default mount behaviour to disallow repeat mounting * Check all file systems are either LFS compliant or error large files * Issue with notifiers that try to deregister themselves? (lnz) * Mount of new fs over existing mointpoint should return an error unless forced (Andrew McNabb, Alan Cox) * Kernel build has race conditions when building modversions.h (Mikael Pettersson) To Do But Non Showstopper * Finish 64bit vfs merges (lockf64 and friends missing) * Go through as 2.4pre kicks in and figure what we should mark obsolete for the final 2.4 * Union mount (Al Viro) * Per Process rtsigio limit * iget abuse in knfsd * Some people report 2.3.x serial problems * USB hangs on APM suspend on some machines * ISAPnP IRQ handling failing on SB1000 + resource handling bug * DVD-RAM is apparently not working for write currently (Rogier Wolff) * Parallel ports should set SA_SHIRQ if PCI (eg in Plip) * Devfs compiled in but not mounted causes crap for ->mnt_devname of root (Al Viro) * PCMCIA/Cardbus hangs, IRQ problems. (Basically unusable - Hinds pcmcia code is reliable) + PCMCIA crashes on unloading pci_socket + yenta (PCMCIA) and pci_socket modules have mutual dependency (cardbus_register, yenta_operations) (test5, worked in test3) To Check * Check O_APPEND atomicity bug fixing is complete * Protection on i_size (sct) [Al Viro mostly done] * Mikulas claims we need to fix the getblk/mark_buffer_uptodate thing for 2.3.x as well * Network block device seems broken by block device changes * VFS?VM - mmap/write deadlock (demo code seems to show lock is there) * rw sempahores on page faults (mmap_sem) * kiobuf seperate lock functions/bounce/page_address fixes * Fix routing by fwmark * rw semaphores on inodes to fix read/truncate races ? [Probably fixed] * Not all device drivers are safe now the write inode lock isnt taken on write * Multiwrite IDE breaks on a disk error [minor issue at best] * ACPI/APM suspend issue - IDE related stuff ? * NFS bugs are fixed * Chase reports of SMB not working * IRDA calls get random bytes before random is set up * Some AWE cards are not being found by ISAPnP ?? * SHM segments not always being detached and destroyed right ? * RAM disk contents vanishing on cramfs (block change) and bforget cases * ACPI hangs on boot for some systems (Are there any cases left ?) Drivers In 2.2 not 2.4 Probably Post 2.4 * per super block write_super needs an async flag * addres_space needs a VM pressure/flush callback (Ingo) * per file_op rw_kiovec Fixed * Incredibly slow loopback tcp bug (believed fixed about 2.3.48) * COMX series WAN now merged * VM needs rebalancing or we have a bad leak * SHM works chroot * SHM back compatibility * Intel i960 problems with I2O * Symbol clashes and other mess from _three_ copies of zlib! * PCI buffer overruns * Shared memory changes change the API breaking applications (eg gimp) * Finish softnet driver port over and cleanups * via rhine oopses under load ? * SCSI generic driver crashes controllers (need to pass PCI_DIR_UNKNOWN..) * UMSDOS fixups resync (not quite done) * Make NTFS sort of work * Any user can crash FAT fs code with ftruncate * AFFS fixups * Directory race fix for UFS * Security holes in execve() * Lan Media WAN update for 2.3 * Get the Emu10K merged * Paride seems to need fixes for the block changes yet * Kernel corrupts fs and gs in some situations (Ulrich has demo code) * 1.07 AMI MegaRAID * Merge 2.2.15 changes (Alan) * Get RAID 0.90 in (Ingo) * S/390 Merge * NFS DoS fix (security) * Merge the RIO driver * Fix Space.c duplicate string/write to constants * Elevator and block handling queue change errors are all sorted * Make sure all drivers return 1 from their __setup functions (Done ?) * Enhanced disk statistics * Complete vfsmount merge (Al Viro) * Merge removed-buf-open directory stuff into VFS (Al Viro) * Problems with ip autoconfig according to Zaitcev * NFS causes dup kmem_create on reload (Trond) * vmalloc(GFP_DMA) is needed for DMA drivers (Ingo) * TLB flush should use highest priority (Ingo) * SMP affinity code creates multiple dirs with the same name (Ingo) * Set SMP affinity mask to actual cpu online mask (needed for some boards) (Ingo) * heavy swapping corrupts ptes (believed so) * pci_set_master forces a 64 latency on low latency setting devices.Some boards require all cards have latency <= 32 * msync fails on NFS (probably fixed anyway) * Find out what has ruined disk I/O throughput. (mostly) * PIII FXSAVE/FXRESTORE support * The netdev name changing stuff broke GRE * put_user is broken for i386 machines (security) - sem stuff may be wrong too * BusLogic crashes when you cat /proc/scsi/BusLogic/0 (Robert de Vries) * Finish sorting out VM balancing (Rik Van Riel, Juan Quintela et al) * Fix eth= command line * 8139 + bridging fails * RtSig limit handling bug * Signals leak kernel memory (security) [FIX in ac tree] * TTY and N_HDLC layer called poll_wait twice per fd and corrupt memory * ATM layer calls poll_wait twice per fd and corrupts memory * Random calls poll_wait twice per fd and corrupts memory * PCI sound calls poll_wait twice per fd and corrupts memory * sbus audio calls poll_wait twice per fd and corrupts memory * IBM MCA driver breaks on Device_Inquiry at boot * SHM code corrupts memory (Russell) * Linux sends a 1K buffer with SCSI inquiries. The ANSI-SCSI limit is 255. * Linux uses TEST_UNIT_READY to chck for device presence on a PUN/LUN. The INQUIRY is the only valid test allowed by the spec. * truncate_inode_pages does unsafe page cache operations * Fix the ptrace code to be back compatible and add a new PTRACE call set for getting the PIII extra registers * EPIC100 fixes * Tlan and Epic100 crash under load * Fix hpfs_unlink (Al Viro) * exec loader permissions * Locking on getcwd * Loopback fs hangs * E820 memory setup causes crashes/corruption on some laptops[**VERY NASTY**] (fixed in test5) * Debian report that the gcc 2.95 possibly miscompiles fault.c or mm/remap.c (Perl script available from Arjan) (fixed in test2 or 3) * Dcache threading (Al Viro) * Sockfs races (removing NULL ->i_sb stuf) (Al Viro) * Module remove race bug (done: anything with file_operations, fb stuff, procfs stuff - Al Viro) * DEFXX driver appears broken (reported fixed by Jeff Garzik) * Some FB drivers check the A000 area and find it busy then bomb out (checked and fixed, reported by Jeff Garzik) * Stick lock_kernel() calls around OSS driver with issues to hard to fix nicely for 2.4 itself (Alan, fixed) * Merge the current Compaq RAID driver into 2.4 (fixed, reported by thomas.hiller@sap.com)