From: ty...@mit.edu
Subject: Updated 2.4 TODO List
Date: 2000/10/09
Message-ID: <fa.jcl1dfv.94o1a7@ifi.uio.no>
X-Deja-AN: 679174666
Original-Date: Mon, 9 Oct 2000 00:19:26 -0400
Sender: linux-kernel-ow...@vger.kernel.org
Original-Message-Id: <200010090419.e994JQT09775@trampoline.thunk.org>
To: linux-ker...@vger.kernel.org
X-Authentication-Warning: trampoline.thunk.org: tytso set sender to ty...@mit.edu using -f
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
Phone: (781) 391-3464
Newsgroups: fa.linux.kernel


OK, I've finally caught up (mostly) with my e-mail since Linux
Kongress.  So, here's an updated 2.4 TODO list.    This list hasn't been
updated on Sourceforge yet, because the sshd on shells1.sourceforge.net
is failing to let anyone in, and it hasn't been fixed yet.

There are probably a few bugs on this list which have already been
fixed, and there may have been one or two bugs discussed on the
linux-kernel list that I missed.  (I don't have a army of cloned gnomes
to carefully read every single message on the L-K list, although I do
try to skim most messages.)   Please send any updates to me; and please
put "TODO UPDATE:" in the subject line to make it more likely that I'll
find them in my mailboxes.

Also, some bugs have been marked as critical, but that doesn't mean that
all bugs that deserve to be marked as critical have been marked as
critical yet.  The next update of the list should be improved in this
regard (although some categories naturally imply criticality).

Finally, the "USB:" bugs may be a bit out of date.  I should be getting
a updated USB bug list from the USB folks tomorrow, but I wanted to get
this out tonight, before I leave for ALS, so that people can start
sending me comments on the rest of the bug list.

							- Ted


                         Linux 2.4 Status/TODO Page

   This list is almost always out of date, by definition, since kernel
   development moves so quickly. I try to keep it as up to date as
   possible, though. Please send updates to ty...@mit.edu.

   Every few days or so, I periodically send updated versions of this
   list to the linux-kernel list, but you should consult
   http://linux24.sourceforge.net to get the latest information.

   If you're curious to see what has changed recently, check out
   http://linux24.sourceforge.net/status-changes.html. The previous set
   of changes can be found here. Also, this html file is managed under
   CVS at SourceForge.

   I try to keep e-mail addresses out of this document, since I don't
   want to make life easy for bottom-feeder spam artists. If you are a
   developer and want to contact the person who originally reported the
   problem, or want to see the e-mail message which prompted me to
   include a bug/issue in this list, contact me. I keep an mail archive
   which will have that information assuming it was an item added since I
   took over the list from Alan.

   Last modified: [tytso:20001009.0008EDT]

   Hopefully up to date as of: test9

1. Should Be Fixed (Confirmation Wanted)

     * Fbcon races (cursor problems when running continual streaming
       output mixed with printk + races when switching from X while doing
       continuous rapid printing --- Alan)
     * RTL 8139 cards sometimes stop responding. Both drivers don't
       handle this quite good enough yet. (reported by Rogier Wolff,
       tentatively reported as fixed by David Ford.)
     * ACPI hangs on boot for some systems (Are there any cases left ?)

2. Capable Of Corrupting Your FS/data

     * Use PCI DMA by default in IDE is unsafe (must not do so on via
       VPx, x < 3) (Vojtech Pavlik --- requires chipset tuning to be
       enabled according to Andre Hedrick --- we need to turn this on by
       default, if it is safe -- TYT)
     * USB: Fix the OOPS in usb-storage from the error-recovery handler.
       (reported by Matthew Dharm)
     * USB: Problems with USB storage drives (ORB, maybe Zip) during APM
       sleep/suspend
     * Non-atomic page-map operations can cause loss of dirty bit on
       pages (sct, alan)

3. Security

     * Fix module remove race bug (still to be done: TTY, ldisc, I2C,
       video_device - Al Viro) (Rogier Wolff will handle ATM)

4. Boot Time Failures

     * Use PCI DMA 'lost interrupt' problem with PIIXn tuning enabled
       will hang laptop requiring physical power loss to restart (NEC
       Versa LX, 2.3.x to 2.4.0-test8-pre6, David Ford) (Vojtech Pavlik
       is looking at this)
     * Crashes on boot on some Compaqs ? (may be fixed)
     * IBM Thinkpad 390 won't boot since 2.3.11 (See Decklin Foster for
       more info)
     * Various Alpha's don't boot under 2.4.0-test9 (PCI resource
       allocation problem? Michal Jaegermann; Richard Henderson may have
       an idea what's failing.)

5. Compile errors

     * arcnet/com20020-isa.c doesn't compile, as of 2.4.0-test8. Dan
       Aloni has a fix

6. In Progress

     * Finish I2O merge (Intel/Alan)
     * Restore O_SYNC functionality (Stephen) - core code and ext2 done
     * Fix all remaining PCI code to use pci_enable_device (mostly done)
     * Finish the audit/code review of the code dealing with descriptor
       tables. (Al Viro)
     * DMFE is not SMP safe (Frank Davis patch exists, but hasn't gotten
       much commens yet)
     * 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. (Frank Davis --- moving slowly; if someone
       wants to help, contact Frank)
     * USB: hotplug (PNP) and module autoloader support

7. Obvious Projects For People (well if you have the hardware..)

     * Make syncppp use new ppp code
     * Fix SPX socket code

8. Fix Exists But Isnt Merged

     * Update SGI VisWS to new-style IRQ handling (Ingo)
     * 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)
     * 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
     * PPC-specific: won't boot on 601 CPU's (powermac) (Andreas Tobler;
       Paul Mackerras has fix in PPC tree)
     * IRDA fixes:
          + Fixes from DAG: Incluldes a number of critical bugfixes.
            Detailed listing of changes here:
               o irda1
               o irda2
               o irda3
          + Fixes from Jean Tourrilhes (Fixes critical bugs: Infinote
            loop in /proc/discovery, unsafe discovery entry removal,
            potential out of array access in QoS handling) (Functional
            bugs fixed: Zombie sockets disable listening socket, some
            discovery acses unhandled)
     * Many network device drivers don't call MOD_INC_USE_COUNT in
       dev->open. (Paul Gortmaker has patches)
     * 2.4.0-test8 has a BUG at ll_rw_blk:711. (Johnny Accot, Steffen
       Luitz) (Al Viro has a patch)
     * using ramfs with highmem enabled can yield a kernel NULL pointer
       dereference. (wol...@cns.mpg.de has a patch)
     * Writing past end of removeable device can cause data corruption
       bugs in the future (Jari Ruusu)
     * fix the UFS, minixfs and sysvfs races (the latter couple is broken
       as ext2 was, UFS is _completely_ broken; eats filesystems) (Al
       Viro -- patch mostly exists)
     * HT6560/UMC8672 ide sets up stuff too early (before region stuff
       can be done) (Andre Herick has fix)
     * TLAN nic appears to be adding a timer twice (2.4.0test8pre6, Arjan
       ve de Ven) (Fixed, but patch not sent to Linus yet -- Torben
       Mathiasen)
     * Loading the qlogicfc driver in 2.4.0-test8 causes the kernel to
       loop forver reporting SCSI disks that aren't present (Paul
       Hubbard, Torben Mathiasen has a potential patch, sent to Linus,
       need to very with Paul)

9. To Do

     * Check all devices use resources properly (Everyone now has to use
       request_region and check the return since we no longer single
       thread driver inits in all module cases. Also memory regions are
       now requestable and a lot of old drivers dont know this yet. --
       Alan Cox)
     * Tulip hang on rmmod/crashes sometimes
     * Devfs races (mostly done - Al Viro)
     * Fix further NFS races (Al Viro)
     * Test other file systems on write
     * Fix mount failures due to copy_* user mishandling
     * Check all file systems are either LFS compliant or error large
       files
     * Issue with notifiers that try to deregister themselves? (lnz;
       notifier locking change by Garzik should backed out, according to
       Jeff)
     * Misc locking problems
          + drivers/pcmcia/ds.c: ds_read & ds_write. SMP locks are
            missing, on UP the sleep_on() use is unsafe.
          + USB:
               o USB: fix MOD_INC races in plusb.c and uss720.c
               o USB: fix concurrent read/write and other SMP like bugs
                 in:
                    # acm.c
                    # printer.c
                    # scanner.c
                    # uss720.c
                    # serial/ftdi_sio.c
                    # serial/omninet.c
          + do_execve (Al Viro, reported by Manfred)
          + fix the quota races (Al Viro)
     * SCSI CD-ROM doesn't work on filesystems with < 2kb block size
       (Jens Axboe will fix)
     * Remove (now obsolete) checks for ->sb == NULL (Al Viro)
     * Audit list of drivers that dereference ioremap's return (Abramo
       Bagnara)
     * 2.4.0-test2 breaks the behaviour of the ether=0,0,eth1 boot
       parameter (dwguest)
     * ISAPnP can reprogram active devices (2.4.0-test5, Elmer Joandi,
       alan)
     * Multilink PPP can get the kernel into a tight loop which spams the
       console and freezes the machine (Aaron Tiensivu)
     * Writing to tapes > 2.4G causes tar to fail with EIO (using
       2.4.0-test7-pre5; it works under 2.4.0-test1-ac18 --- Tigran
       Aivazian)
     * mm->rss is modified in some places without holding the
       page_table_lock (sct)
     * Copying between two encrypting loop devices causes an immediate
       deadlock in the request queue (Andi Kleen)
     * FAT filesystem doesn't support 2kb sector sizes (did under 2.2.16,
       doesn't under 2.4.0test7. Kazu Makashima, alan)
     * The new hot plug PCI interface does not provide a method for
       passing the correct device name to cardmgr (David Hinds, alan)
     * non-PNP SB AWE32 has tobles in 2.4.0-test7 and newer (Gerard
       Sharp) (Paul Laufer has a potential patch)
     * 2.4.0-test8 pcmcia is unusable in fall forms (kernel, mixed, or
       dhinds code) (David Ford)
     * VGA Console can cause SMP deadlock when doing printk {CRITICAL}
       (Keith Owens)
     * Forwawrd port 2.2 fixes to allow 2 GHz or faster CPU's. {CRITICAL}
     * NFS V3 lockd causes kernel oops (Trond Myklebust)
     * VM: Out of Memory handling {CRITICAL}
     * VM: Fix the highmem deadlock, where the swapper cannot create low
       memory bounce buffers OR swap out low memory because it has
       consumed all resources {CRITICAL} (old bug, already reported in
       2.4.0test6)
     * VM: page->mapping->flush() callback in page_lauder() for easier
       integration with journaling filesystem and maybe the network
       filesystems
     * VM: maybe rebalance the swapper a bit... we do page aging now so
       maybe refill_inactive_scan() / shm_swap() and swap_out() need to
       be rebalanced a bit
     * USB: OHCI root-hub-timer does not restart on resume {CRITICAL}
       (Paul Mackerras)
     * USB: add bandwidth allocation support to usb-uhci HCD
     * USB: race conditions on devices in use and being unplugged
     * USB: SANE backend can't communicate to its scanner (sometimes,
       some scanners)
     * USB: OHCI memory corruption problem
     * USB: Fix differences in UHCI and OHCI HCD behaviors/semantics:
          + OHCI doesn't do URB timeouts
          + Only uhci.c does EARLY_COMPLETE (drop EARLY_COMPLETE ?)
          + OHCI always does BULK_QUEUE (as David.B said, Bulk queueing
            is a UHCI notion; not needed in OHCI; fix not needed)
     * USB: fix USB_QUEUE_BULK problem in uhci.c (oopsen after a while)
       {CRITICAL}
     * USB: system hang with USB audio driver {CRITICAL} (David
       Woodhouse; dw...@infradead.org)
     * USB: usb-ohci needs to null urb->dev to avoid various
       reboots/hangs/oopses {CRITICAL} (David Brownell;
       davi...@pacbell.net)
     * USB: printer Device ID string should not be static; printers can
       update it
     * USB: Fix serial/omninet.c to not require a small mtu setting in
       order to get a PPP link to work properly (as reported by Bernhard
       Reiter)
     * USB: pegasus: avoid warning spewage on disconnect
     * USB: OHCI optional zero length packet (USB_DISABLE_SPD at send)
     * USB: consistent short packet handling OHCI/UHCI (including
       0-length packets) (Roman)
     * USB: consistent URB next pointer handling by OHCI/UHCI (Roman)
     * USB: booting with USB compiled into kernel causes a lot of syslog
       entries as the root hubs are probed by all drivers (this is
       especially obnoxious as the usb-serial drivers start up)
     * USB: pegasus driver locks up on slow oHCI machine; sometimes
       cannot be rmmod-ed (Cyrille Chepelov; chepe...@calixo.net)
     * USB: system hangs with usb audio driver {CRITICAL} (Randy Dunlap,
       Narayan Desai)

10. To Do But Non Showstopper

     * Go through as 2.4pre kicks in and figure what we should mark
       obsolete for the final 2.4 (i.e. XT hard disk support?)
     * Union mount (Al Viro)
     * Per Process rtsigio limit
     * iget abuse in knfsd
     * ISAPnP IRQ handling failing on SB1000 + resource handling bug
     * 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 (Basically unusable - Hinds pcmcia code is
       reliable)
          + PCMCIA crashes on unloading pci_socket
     * ATM phy-chip-driver interface change for Firestream ATM card
       (Rogier Wolff)
     * Loop device can still hang (William Stearns has script that will
       hang 2.4.0-test7, Peter Enderborg has a short sequence that will
       hang 2.4.0test9)
     * USB: acm (modem) driver is slow compared to Windows drivers for
       same modems (maybe an HCD problem, not acm driver, or acm should
       use bulk queueing)
     * USB: speed up device enumeration (hub driver has large delays in
       it)
     * USB: add devfs support to drivers that don't have it
     * USB: add DocBook info to main USB driver interfaces (usb.c)
     * USB: Printer stalls at random places when printing large graphics.
       When printing big pictures (10..50 meg) the printer stalls
       halfway. The point where it stalls is random but the fact that it
       stalls is reproducable. Printing the same pictures using the
       parallel interface is ok. Printing text is ok anyway. Frank van
       Maarseveen: F.vanMaarsev...@inter.NL.net
     * USB: Misc locking problems: fix concurrent read/write and other
       SMP-like bugs in:
          + bluetooth.c
          + mdc800.c
          + rio800.c
          + serial/keyspan.c
          + serial/whiteheat.c
     * fix usb_unlink_urb() bug when called with an urb that was used on
       a device that is no longer registered in the USB system.
     * control pipe locking (mutual exclusion)
     * use pci_alloc_consistent throughout (mostly OHCI; some people want
       UHCI also)

11. 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
     * VFS?VM - mmap/write deadlock (demo code seems to show lock is
       there)
     * 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]
       (hopefully fixed)
     * ACPI/APM suspend issue - IDE related stuff ? (requires full
       taskfile support that was vetoed by Linus)
     * NFS bugs are fixed
     * Chase reports of SMB not working
     * Some AWE cards are not being found by ISAPnP ??
     * RAM disk contents vanishing on cramfs (block change) and bforget
       cases
     * Disappointing performance of Software Raid, esp. write performance
       (reported by Nils Rennebarth)
     * List of potential problems found by Stanford students using g++
       hacks:
          + Andy Chou's list of mismatched spinlocks and interrupts/bh
            enable/disable.
          + Seth Andrew Hallem's list potentially sleeping functions
            called with interrupts off or spinlocks held.
          + Dawson Engler's list of potential kmalloc/kfree bugs
     * Potential races in file locking code (Christian Ehrhardt)
          + locks_verify_area checks the wrong range if O_APPEND is set
            and the current file position is not at the end of the file.
          + dito if the file position changes between the call to
            locks_verify_area and the actual read/write (requires a
            shared file pointer, an attacker can use this to circumvent
            virtually any mandatory lock).
          + active writes should prevent anyone from getting mandatory
            locks for the area beeing written.
          + active reads should prevent anyone from getting mandatory
            write locks for the area beeing read.
     * cdrecord doesn't work (produces CD-ROM coasters) w/o any errors
       reported, works under 2.2 (Damon LoCascio)
     * Possible race in b-tree code for HFS, HPFS, NTFS: insert into the
       tree whild doing a readdir (Matthew Wilcox)
     * Stressing the VM (IOPS SPEC SFS) with HIGHMEM turned on can hang
       system (linux-2.4.0test5, Ying Chen, Rik van Riel)
     * Eepro100 driver can sometimes report out of resources on reboot
       (Josue Emmanuel Amaro)

12. 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
     * rw sempahores on page faults (mmap_sem) (Currently protected by
       mmap_sem)
     * module remove race bugs (ipchains modules -- Rusty; won't fix for
       2.4)
     * NCR5380 isnt smp safe (Frank Davis --- belives the driver should
       be rewritten)
     * VM: physical->virtual reverse mapping, so we can do much better
       page aging with less CPU usage spikes
     * VM: better IO clustering for swap (and filesystem) IO
     * VM: move all the global VM variables, lists, etc. into the pgdat
       struct for better NUMA scalability
     * VM: (maybe) some QoS things, as far as they are major improvements
       with minor intrusion
     * VM: thrashing control, maybe process suspension with some forced
       swapping ?
     * VM: include Ben LaHaise's code, which moves readahead to the VMA
       level, this way we can do streaming swap IO, complete with
       drop_behind()
     * USB: spread out interrupt frames for devices that use the same
       interrupt period (interval)
     * USB: add USB 2.0 EHCI HCD
     _________________________________________________________________

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)
     * 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
     * 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.hil...@sap.com)
     * mount crashes on Alpha platforms (fixed, reported by Thorsten
       Kranzkowski)
     * IDE fails on some VIA boards (eg the i-opener) (reported fixed by
       Konrad Stepien)
     * access_process_mm oops/lockup if task->mm changes (Manfred) [user
       can cause deliberately]
     * PCMCIA IRQ routing should now be fixed modulo ISA cards and bios
       doesn't tell us that an IRQ is ISA-only (Martin Mares)
     * TB Multisound driver hasnt been updated for new isa I/O totally.
       (reported fixed by John Coiner; see
       http://atv.ne.mediaone.net/linux-multisound)
     * yenta (PCMCIA) and pci_socket modules have mutual dependency
       (cardbus_register, yenta_operations) (test5, worked in test3)
       (reported fixed by Erik Mouw)
     * Keyboard/mouse problems (should be fixed?)
     * Loop device hangs (Peter Enderborg can duplicate by writing large
       file to dosfs mounted via loop device; Steve Dodd reports deadlock
       issues; Linus says fixed in test6)
     * Floppy driver broken by VFS changes. Other drivers may be too
       (Stuff gets called after _close now - unload race possibly too;
       should be fixed in test6)
     * OSS module remove races (fixed by Christoph Hellwig)
     * Merge the 2.2 ServeRAID driver into 2.4 (Christoph Hellwig)
     * AHA27xx is broken (maybe 28xx too) (reported fixed by Doug
       Ledford)
     * Merge the network fixes (DaveM)
     * Finish 64bit vfs merges (lockf64 and friends missing -- willy?)
       (Andreas Jaeger reports that lockf64 has been added for Intel and
       Alpha; other architectures may not be done, but if not, they won't
       build :-)
     * Can't compile CONFIG_IBMTR and CONFIG_PCMCIA_IBMTR in kernel at
       once; kernel link failes (rasmus; fixed in a kludgy way by not
       allowing the combination by arjan)
     * Merge the RIO driver
     * Potential deadlock in EMU10K driver when running SMP
       (o...@nada.kth.se, Alan)
     * Symbol clashes from ppp and irda compression code (Arjan van de
       Ven)
     * Kernel build has race conditions when building modversions.h
       (Mikael Pettersson)
     * USB Pegasus driver explodes on disconnect (lots of printk and/or
       OOPS spewage to the console. David Ford) (reported fixed by Petko
       Manolov)
     * unsafe sleep_on in ibmcam and ov511 drivers (never was a problem,
       according to Mark McClelland)
     * netfilter doesn't compile correctly (test7-pre3, reported by Pau
       Aliagas, fixed by test7-pre6, rusty)
     * Innd data corruption, probably caused by bug truncation bug (Rik
       van Riel)
     * If all the ISO NLS's are modules, there can be an undefined ref to
       CONFIG_NLS_DEFAULT in inode.c (Dale Amon --- not a bug CONFIG_NLS
       is forced)
     * Fix sysinfo interface so it is binary compatible with 2.2.x (i.e.
       mem_unit=1), except when memory >= 4Gb (Erik Andersen)
     * Some people report 2.3.x serial problems (reported fixed by Shaya
       Potter)
     * Some Ultra-I sbus sparc64 systems fail to boot since 2.4.0-test3,
       may be due to specific memory configurations. (reported fixed by
       davem)
     * Fix, um, interesting races around dup2() and friends. (Al Viro)
     * complete the ext2 races fixes (truncate) (Al Viro)
     * USB pegasus driver doesn't work since 2.4.0test5 (David Ford)
     * Splitting a posix lock causes an infinite loop (Stephen Rothwell,
       according to Rusty)
     * Oops in dquot_transfer (David Ford, Martin Diehl) (Jan Kara has a
       potential patch from 2.2, submitted to Linus by Martin Diehl,
       fixed in test9)
     * SHM segments not always being detached and destroyed right ?
       (problem reported by Lincoln Dale (was combination of XFree86 and
       kernel bug, fixed))
     * Mount of new fs over existing mointpoint should return an error
       unless forced (Andrew McNabb, Alan Cox) (Andries Brouwer has
       posted a patch)
     * Boot hangs on a range of Dell docking stations (Latitude, reported
       fixed in 2.4.0-pre9)
          + Almost certainly related: PCI code doesn't see devices behind
            DECchip 21150 PCI bridges (used in Dell Latitude). Reported
            by Simon Trimmer . (Patch from Martin Mares exists but it
            disables cardbus devices, according to Tigran.)
          + Derek Fawcus at Cisco reports similar problems with Toshiba
            Tecra 8000 attached to the DeskStation V+ docking station.
            (once again, caused by bridge returning 0 when reading the
            I/O base/limit and Memory base/limit registers which confuses
            the new PCI resource code).
     * drivers/sound/cs46xx.c has compile errors test7 and test8 (C
       Sanjayan Rosenmund, reported fixed by Hayden James)
     * Network block device seems broken by block device changes (Jeffery
       C. Becker reports no problems)
     * USB: hid joystick handling (patch from Vajtech, 2.4.0.9.4)
     * USB: cpia_usb module doesn't handle "no bandwidth" returns (OOPS)
       (2.4.0.9.4)
     * USB: microtek memory handling (patch from Oliver Neukum)
       (2.4.0.9.4)
     * USB: usb-uhci not use set PCI Latency Timer register to 0
     * USB: printer driver aborts on out-of-paper or off-line conditions
       instead of retrying until the condition is fixed
     * USB: usb-uhci SMP spinlock/bad pointer crash
     * USB: cpia camera driver with OHCI HCD locks up or fails
     * USB: pegasus (ethernet) driver crashes often

Probably Hardware Bugs

     * Data corruption on IDE disks (Generic PCI DMA and SiS support
       Steven Walter) (sounds like PCChips #M599LMR motherboard doesn't
       disable UDMA when a non-UDMA cable is used. If you disable UDMA in
       the BIOS, then there is no problem. hardware bug?)
     * AHA29xx driver appears to stomp other cards (may be BIOS; probably
       motherboard has assigned to small of a range to a card, so that
       it's overlapping with some other card -- Doug Ledford)
     * USB hangs on APM suspend on some machines (fixed more most; Alan
       has one still that fails but the BIOS has 'issues')

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: Alan Cox <a...@lxorguk.ukuu.org.uk>
Subject: Re: Updated 2.4 TODO List
Date: 2000/10/09
Message-ID: <fa.gljr8gv.1hnms04@ifi.uio.no>#1/1
X-Deja-AN: 679344075
Original-Date: Mon, 9 Oct 2000 16:24:24 +0100 (BST)
Sender: linux-kernel-ow...@vger.kernel.org
Original-Message-Id: <E13iemx-0002NW-00@the-village.bc.nu>
Content-Transfer-Encoding: 7bit
References: <fa.jcl1dfv.94o1a7@ifi.uio.no>
To: ty...@mit.edu
Content-Type: text/plain; charset=us-ascii
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
MIME-Version: 1.0
Newsgroups: fa.linux.kernel

> 4. Boot Time Failures
> 
>      * IBM Thinkpad 390 won't boot since 2.3.11 (See Decklin Foster for
>        more info)

Add Palmax PD1100 hangs during boot since 2.4.0-test9

> 6. In Progress
>      * Finish I2O merge (Intel/Alan)

Assume this is done for 2.4.0. There are things to look at but it works well
enough to be counted as enhancing not fixing. The order of scsi/i2o does need
checking and double checking though

>      * Misc locking problems
>           + drivers/pcmcia/ds.c: ds_read & ds_write. SMP locks are
>             missing, on UP the sleep_on() use is unsafe.

Add:  Power management locking needs implementing properly

>      * FAT filesystem doesn't support 2kb sector sizes (did under 2.2.16,
>        doesn't under 2.4.0test7. Kazu Makashima, alan)

[Same as the CDROM bug listed earlier I think]

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: Andrew Morton <andr...@uow.edu.au>
Subject: Re: Updated 2.4 TODO List
Date: 2000/10/10
Message-ID: <fa.dkdfokv.1k080pb@ifi.uio.no>#1/1
X-Deja-AN: 679706810
Original-Date: Wed, 11 Oct 2000 00:04:22 +1100
Sender: linux-kernel-ow...@vger.kernel.org
Content-Transfer-Encoding: 7bit
Original-Message-ID: <39E313D6.1E790758@uow.edu.au>
References: <fa.jcl1dfv.94o1a7@ifi.uio.no>
To: ty...@mit.edu
Original-References: <200010090419.e994JQT09...@trampoline.thunk.org>
X-Accept-Language: en
Content-Type: text/plain; charset=us-ascii
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
MIME-Version: 1.0
Newsgroups: fa.linux.kernel

ty...@mit.edu wrote:
> 
> 3. Security
> 
>      * Fix module remove race bug (still to be done: TTY, ldisc, I2C,
>        video_device - Al Viro) (Rogier Wolff will handle ATM)

Patch for tty and ldisc is in your inbox...

> ...
> 
> 8. Fix Exists But Isnt Merged
> 
> ...
>      * Many network device drivers don't call MOD_INC_USE_COUNT in
>        dev->open. (Paul Gortmaker has patches)

This should be rephrased "Many network device drivers call
MOD_INC_USE_COUNT too late in dev->open()".

And it has been proposed (frequently, by me) that the
dev_hold()/dev_put()/unregister_netdevice() logic ensures that netdevice
drivers are _not_ race prone wrt module removal and so no development is
needed here.

Unless someone squeaks I suggest you take the red pen to this one.

> ...
> 9. To Do
> 
> ...
>      * Misc locking problems
>           + drivers/pcmcia/ds.c: ds_read & ds_write. SMP locks are
>             missing, on UP the sleep_on() use is unsafe.


It is my understanding that hen's teeth easily outnumber SMP PCMCIA
systems.  spinlocks in drivers/pcmcia/ and drivers/net/pcmcia/ are
almost nonexistent.

So I propose that this item be removed simply by stating "Linux 2.4 does
not support PCMCIA on multiprocessors".   Comments, David?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: David Hinds <dhi...@valinux.com>
Subject: Re: Updated 2.4 TODO List
Date: 2000/10/10
Message-ID: <fa.d6ajmuv.1qgck39@ifi.uio.no>#1/1
X-Deja-AN: 679815726
Original-Date: Tue, 10 Oct 2000 11:04:11 -0700
Sender: linux-kernel-ow...@vger.kernel.org
Original-Message-ID: <20001010110411.A6257@valinux.com>
References: <fa.dkdfokv.1k080pb@ifi.uio.no>
To: Andrew Morton <andr...@uow.edu.au>
Original-References: <200010090419.e994JQT09...@trampoline.thunk.org> <39E313D6.1E790...@uow.edu.au>
Content-Type: text/plain; charset=us-ascii
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
Mime-Version: 1.0
Newsgroups: fa.linux.kernel

On Wed, Oct 11, 2000 at 12:04:22AM +1100, Andrew Morton wrote:

> >      * Misc locking problems
> >           + drivers/pcmcia/ds.c: ds_read & ds_write. SMP locks are
> >             missing, on UP the sleep_on() use is unsafe.
> 
> It is my understanding that hen's teeth easily outnumber SMP PCMCIA
> systems.  spinlocks in drivers/pcmcia/ and drivers/net/pcmcia/ are
> almost nonexistent.
> 
> So I propose that this item be removed simply by stating "Linux 2.4 does
> not support PCMCIA on multiprocessors".   Comments, David?

There are some people who use PCMCIA on SMP desktop boxes; many
wireless network cards are only made as PCMCIA cards, and the "desktop
version" consists of an ISA or PCI card reader plus a card.

It is not a configuration that I currently test.  I am told it mostly
works, though some client drivers are not SMP safe.  It is something
that should be fixed eventually, for sure, but given the number of
open issues with PCMCIA in 2.4, I don't think it is high on the list.
If you want to say that PCMCIA on SMP is unsupported until someone
carefully checks it out and fixes these things, I suppose that's fine.

-- Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: Rik van Riel <r...@conectiva.com.br>
Subject: Re: Updated 2.4 TODO List
Date: 2000/10/10
Message-ID: <fa.nok8dhv.gmcpj9@ifi.uio.no>#1/1
X-Deja-AN: 679877281
Original-Date: Tue, 10 Oct 2000 17:53:57 -0300 (BRST)
Sender: linux-kernel-ow...@vger.kernel.org
Original-Message-ID: <Pine.LNX.4.21.0010101738110.11122-100000@duckman.distro.conectiva>
References: <fa.jcl1dfv.94o1a7@ifi.uio.no>
To: ty...@mit.edu
X-Sender: r...@duckman.distro.conectiva
X-Authentication-Warning: duckman.distro.conectiva: riel owned process doing -bs
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
MIME-Version: 1.0
Newsgroups: fa.linux.kernel

On Mon, 9 Oct 2000 ty...@mit.edu wrote:

> 2. Capable Of Corrupting Your FS/data
> 
>      * Non-atomic page-map operations can cause loss of dirty bit on
>        pages (sct, alan)

Is anybody looking into fixing this bug ?

> 9. To Do
> 
>      * mm->rss is modified in some places without holding the
>        page_table_lock (sct)

Probably not a show-stopper, but we're looking for
volunteers to fix this one anyway ;)

>      * VM: Out of Memory handling {CRITICAL}

Seems to work now, except for the fact that it is possible
to end up with a heavily thrashing system that /just/ didn't
run out of memory and doesn't get anything killed.

Then again, you can end up with a heavily thrashing system
where you can't get anything done without running out of swap
anyway ... the proper fix for this is probably some form of
thrashing control...

>      * VM: Fix the highmem deadlock, where the swapper cannot create low
>        memory bounce buffers OR swap out low memory because it has
>        consumed all resources {CRITICAL} (old bug, already reported in
>        2.4.0test6)

Haven't been able to reproduce it on my 1GB test machine,
but it might still be there. Can anyone confirm if this
bug is still present ?

>      * VM: page->mapping->flush() callback in page_lauder() for easier
>        integration with journaling filesystem and maybe the network
>        filesystems

Possibly a 2.5 issue, or something to merge later in 2.4,
since we don't have journaling filesystems in the kernel
anyway. I guess we'll want it for the network filesystems
though.

But this is a fairly simple thing to integrate:
1) have an appropriate function in the filesystems
2) insert function pointer in the right struct
3) call the function from vmscan.c::page_launder()

>      * VM: maybe rebalance the swapper a bit... we do page aging now so
>        maybe refill_inactive_scan() / shm_swap() and swap_out() need to
>        be rebalanced a bit

I'll try to look into this (3 days to go before I have to
leave for Miami) and see how things can be improved here.

> 11. To Check
> 
>      * VFS?VM - mmap/write deadlock (demo code seems to show lock is
>        there)

Does anyone have the demo code at hand so we can verify if this
still happens ?

>      * Stressing the VM (IOPS SPEC SFS) with HIGHMEM turned on can hang
>        system (linux-2.4.0test5, Ying Chen, Rik van Riel)

Ditto. Can this still be reproduced with the latest VM or was
it simply a side effect of something else in the VM that got
fixed recently ?

(the highmem code itself looks ok so the bug might well have
been caused by a side effect of something else)

> 12. Probably Post 2.4
> 
>      * addres_space needs a VM pressure/flush callback (Ingo)

[duplicate item?]

We may want this to better support the journaling filesystems
in 2.4 .... but I agree that it should probably be post 2.4.0.

>      * VM: physical->virtual reverse mapping, so we can do much better
>        page aging with less CPU usage spikes
>      * VM: better IO clustering for swap (and filesystem) IO
>      * VM: move all the global VM variables, lists, etc. into the pgdat
>        struct for better NUMA scalability
>      * VM: (maybe) some QoS things, as far as they are major improvements
>        with minor intrusion

These 4 seem /definate/ 2.5 issues, though I hope to have them
(except maybe QoS?) ready in an patch before 2.5.0 is split off.

>      * VM: thrashing control, maybe process suspension with some forced
>        swapping ?
>      * VM: include Ben LaHaise's code, which moves readahead to the VMA
>        level, this way we can do streaming swap IO, complete with
>        drop_behind()

These two are fairly simple and may well be done in the next
few weeks. If no bug reports about the current 2.4 VM pop up,
I'll probably look into some of the issues above...


FYI, my personal VM TODO list:
- see if refill_inactive_scan(), swapout_shm(), swap_out(), etc...
  need rebalancing
- anti-thrashing code  (if no hidden nasties are present)
- better IO clustering + readahead at VMA level

AFAIK Juan Quintela is already looking into the ->flush()
callback for journaling filesystems.

And one more TODO item:

* pinned page reservation system for journaling filesystems


regards,

Rik
--
"What you're running that piece of shit Gnome?!?!"
       -- Miguel de Icaza, UKUUG 2000

http://www.conectiva.com/		http://www.surriel.com/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: Alan Cox <a...@lxorguk.ukuu.org.uk>
Subject: Re: Updated 2.4 TODO List
Date: 2000/10/10
Message-ID: <fa.fjh8nov.13lkf81@ifi.uio.no>#1/1
X-Deja-AN: 679920613
Original-Date: Wed, 11 Oct 2000 00:03:50 +0100 (BST)
Sender: linux-kernel-ow...@vger.kernel.org
Original-Message-Id: <E13j8R5-00047I-00@the-village.bc.nu>
Content-Transfer-Encoding: 7bit
References: <fa.d6ajmuv.1qgck39@ifi.uio.no>
To: dhi...@valinux.com (David Hinds)
Content-Type: text/plain; charset=us-ascii
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
MIME-Version: 1.0
Newsgroups: fa.linux.kernel

> It is not a configuration that I currently test.  I am told it mostly
> works, though some client drivers are not SMP safe.  It is something
> that should be fixed eventually, for sure, but given the number of
> open issues with PCMCIA in 2.4, I don't think it is high on the list.
> If you want to say that PCMCIA on SMP is unsupported until someone
> carefully checks it out and fixes these things, I suppose that's fine.

If we wish to do this then we might as well be honest about the current code
and say
	'power management doesnt work on SMP either'

alternatively the right thing to do is to fix both PM and the pcmcia. Most of
the PCMCIA can be fixed for 2.4 by dropping lock_kernel() around the relevant
areas. Sure its ugly but PCMCIA hot swapping is not a critical performance code
path.

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/






From: Ben LaHaise <b...@redhat.com>
Subject: [RFC] atomic pte updates for x86 smp
Date: 2000/10/11
Message-ID: <fa.mopk5dv.1pjom0e@ifi.uio.no>
X-Deja-AN: 680366922
Original-Date: Wed, 11 Oct 2000 19:52:21 -0400 (EDT)
Sender: linux-kernel-ow...@vger.kernel.org
Original-Message-ID: <Pine.LNX.4.21.0010111937380.892-100000@devserv.devel.redhat.com>
References: <fa.jo6d57v.1mm4p1e@ifi.uio.no>
To: torva...@transmeta.com, ty...@mit.edu
X-Sender: b...@devserv.devel.redhat.com
X-Authentication-Warning: devserv.devel.redhat.com: bcrl owned process doing -bs
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
MIME-Version: 1.0
Newsgroups: fa.linux.kernel

On Wed, 11 Oct 2000 ty...@mit.edu wrote:

>    > 2. Capable Of Corrupting Your FS/data
>    > 
>    >      * Non-atomic page-map operations can cause loss of dirty bit on
>    >        pages (sct, alan)
> 
>    Is anybody looking into fixing this bug ?
> 
> According to sct (who's sitting next to me in my hotel room at ALS) Ben
> LaHaise has a bugfix for this, but it hasn't been merged.

Here's an updated version of the patch that doesn't do the funky RISC like
dirty bit updates.  It doesn't incur the additional overhead of page
faults on dirty, which actually happens a lot on SHM attaches
(during Oracle runs this is quite noticeable due to their use of
hundreds of MB of SHM).  Ted: Note that there are a couple of other SMP
races that still need fixing: list them under VM threading bug under SMP
(different bug).

		-ben

Patch

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: Linus Torvalds <torva...@transmeta.com>
Subject: Re: [RFC] atomic pte updates for x86 smp
Date: 2000/10/12
Message-ID: <fa.n64n7lv.27ohog@ifi.uio.no>#1/1
X-Deja-AN: 680372327
Original-Date: Wed, 11 Oct 2000 17:09:29 -0700 (PDT)
Sender: linux-kernel-ow...@vger.kernel.org
Original-Message-ID: <Pine.LNX.4.10.10010111702001.2444-100000@penguin.transmeta.com>
References: <fa.mopk5dv.1pjom0e@ifi.uio.no>
To: Ben LaHaise <b...@redhat.com>
X-Authentication-Warning: penguin.transmeta.com: torvalds owned process doing -bs
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
MIME-Version: 1.0
Newsgroups: fa.linux.kernel



On Wed, 11 Oct 2000, Ben LaHaise wrote:
> 
> Here's an updated version of the patch that doesn't do the funky RISC like
> dirty bit updates.  It doesn't incur the additional overhead of page
> faults on dirty, which actually happens a lot on SHM attaches
> (during Oracle runs this is quite noticeable due to their use of
> hundreds of MB of SHM).

I much prefered the dirty fault version.

What does "quite noticeable" mean? Does it mean that you can see page
faults (no big deal), or does it mean that you can actually measure the
performance degradation objectively?

Also, this version doesn't seem to fix the bug.

> diff -ur v2.4.0-test10-pre1/mm/vmscan.c work-v2.4.0-test10-pre1/mm/vmscan.c
> --- v2.4.0-test10-pre1/mm/vmscan.c	Tue Oct 10 16:57:31 2000
> +++ work-v2.4.0-test10-pre1/mm/vmscan.c	Wed Oct 11 18:17:17 2000
> @@ -134,7 +143,7 @@
>  	 * locks etc.
>  	 */
>  	if (!(gfp_mask & __GFP_IO))
> -		goto out_unlock;
> +		goto out_unlock_restore;
>  
>  	/*
>  	 * Don't do any of the expensive stuff if
> @@ -143,7 +152,7 @@
>  	if (page->zone->free_pages + page->zone->inactive_clean_pages
>  					+ page->zone->inactive_dirty_pages
>  		      	> page->zone->pages_high + inactive_target)
> -		goto out_unlock;
> +		goto out_unlock_restore;
>  
>  	/*
>  	 * Ok, it's really dirty. That means that

Both of the above paths can cause the dirty bit to be dropped again, as
far as I can see.

In fact, you seem to have _added_ those drops in this patch. What's up?

I'm not going to apply a patch that I don't see will even fix the problem
at this point.

I _will_ apply the "exception on dirty" version, if you remove the SMP
special case (ie you do it unconditionally). At least that one I believe
really fixes the problem.

		Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: "Benjamin C.R. LaHaise" <b...@kvack.org>
Subject: Re: [RFC] atomic pte updates for x86 smp
Date: 2000/10/12
Message-ID: <fa.lg1iiav.4n8q3l@ifi.uio.no>#1/1
X-Deja-AN: 680428016
Original-Date: Thu, 12 Oct 2000 00:03:31 -0400 (EDT)
Sender: linux-kernel-ow...@vger.kernel.org
Original-Message-ID: <Pine.LNX.3.96.1001011232450.23223A-100000@kanga.kvack.org>
References: <fa.n64n7lv.27ohog@ifi.uio.no>
To: Linus Torvalds <torva...@transmeta.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
MIME-Version: 1.0
Newsgroups: fa.linux.kernel

Hello Linus,

On Wed, 11 Oct 2000, Linus Torvalds wrote:

> I much prefered the dirty fault version.

> What does "quite noticeable" mean? Does it mean that you can see page
> faults (no big deal), or does it mean that you can actually measure the
> performance degradation objectively?

It's a factor of 4 difference in execution time on the filemap rewrite
test on a 1GB file (including all those cache misses that should have
dwarfed the page fault handler). Moving the writable test and mkdirty
early on in the page fault handler made no measurable difference in
execution time; the bulk of the overhead appears to be in handling the
page fault itself.

> Also, this version doesn't seem to fix the bug.
...
> Both of the above paths can cause the dirty bit to be dropped again, as
> far as I can see.

Note the fragment above those portions of the patch where the
pte_xchg_clear is done on the page table: this results in a page fault
for any other cpu that looks at the pte while it is unavailable.

> In fact, you seem to have _added_ those drops in this patch. What's up?

It's safe because of how x86s hardware works when it encounters the
cleared pte.  According to one of the manuals I've got here (the old 386
book is the only one that states it outright, sigh), the access and dirty
bits are updated with a locked memory cycle only if the entry is marked
present.  If you want test code demonstrating that x86 does a reread of
the pte on a dirty fault, I'll gladly share it.

> I'm not going to apply a patch that I don't see will even fix the problem
> at this point.
> 
> I _will_ apply the "exception on dirty" version, if you remove the SMP
> special case (ie you do it unconditionally). At least that one I believe
> really fixes the problem.

I'd rather not lose the use of a hardware feature that makes a difference
during the most important time: when the system is under heavy load and
the page table scanner is active.  If there's a way the atomic updates can
be cleaned up acceptably, then I want to do so.  Cheers,

		-ben

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: Linus Torvalds <torva...@transmeta.com>
Subject: Re: [RFC] atomic pte updates for x86 smp
Date: 2000/10/12
Message-ID: <fa.n84r7tv.47sjgh@ifi.uio.no>#1/1
X-Deja-AN: 680460521
Original-Date: Wed, 11 Oct 2000 23:42:04 -0700 (PDT)
Sender: linux-kernel-ow...@vger.kernel.org
Original-Message-ID: <Pine.LNX.4.10.10010112318110.2852-100000@penguin.transmeta.com>
References: <fa.lg1iiav.4n8q3l@ifi.uio.no>
To: "Benjamin C.R. LaHaise" <b...@kvack.org>
X-Authentication-Warning: penguin.transmeta.com: torvalds owned process doing -bs
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
MIME-Version: 1.0
Newsgroups: fa.linux.kernel



On Thu, 12 Oct 2000, Benjamin C.R. LaHaise wrote:
> 
> Note the fragment above those portions of the patch where the
> pte_xchg_clear is done on the page table: this results in a page fault
> for any other cpu that looks at the pte while it is unavailable.

Ok, I see..

Hmm.. That's a singularly ugly interface, though - it all looks very
x86-specific. Things like "pte_xchg_clear()" look just a bit too obviously
like the name only makes sense due to the x86 implementation. So I'd like
to change the naming to be more about the design and less about the
implementation..

(It also doesn't make sense to me that you call the "clear the write bit"
thing "atomic_pte_wrprotect()", but you call the "clear the dirty bit"
"pte_test_and_clear_dirty()" - why not the same naming scheme for the two 
things?). 

I also have this suspicion that if this was done right, we should be able
to clean up the 64-bit atomic stuff for the x86 PAE case - which does a
cmpxchg8b right now on PAE entries exactly because of atomicity reasons.

With your patch as it stands now, we'd end up basically always doing two
of them.

And looking at the patch I get this nagging feeling that if this was
really done right, we could get rid of that PAE special case for
set_pte(), because the issue with atomic updates on PAE really boils down
to pretty much the same thing as the issue of one atomic bit.

(Instead of doing an atomic 64-bit memory write, we would be doing the
atomic "pte_xchg_clear()" followed by two _non_atomic 32-bit writes where
the second write would set the present bit. Although maybe the erratum
about the PAE pgd entry not honoring the P bit correctly makes this be
unworkable).

Ingo? I'd really like you to take a long look at this patch for sanity,
especially wrt PAE.

After this patch, are there any cases where we do a "set_pte()" where the
PTE wasn't clear before? That might be a good sanity-test to add, just to
make sure. And I'd really like to speed up the PAE set_pte() - as far as I
can tell both set_pte and set_pmd really should be safe without the atomic
64-bit crap with your changes.

Why do I care?

Basically, I'd be a lot happier about this patch if it also solves another
problem - if the "lost dirty bits" patch automagically also solves the
"64-bit atomic PTE" issue for the PAE case, then I will just feel a lot
happier about the fact that the solution is not just a specific hack for
handling "dirty", but a real change that makes conceptual sense for two
unrelated problems.

Because this, as always, is my final test for a "GoodDesign(tm)" patch: if
it solves just one problem it's a bug-fix, but if it solves two problems
it is the "RightThing(tm)" to do. And bug-fixes are a dime a dozen. Good
design is something to be admired.

What do you say, Ben? Do you think your approach really would solve the
PAE atomicity issue too, or am I just expecting too much?

		Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: Ingo Molnar <mi...@elte.hu>
Subject: Re: [RFC] atomic pte updates for x86 smp
Date: 2000/10/12
Message-ID: <fa.g1rl9pv.1uj4prh@ifi.uio.no>#1/1
X-Deja-AN: 680529322
Original-Date: Thu, 12 Oct 2000 10:13:48 +0200 (CEST)
Sender: linux-kernel-ow...@vger.kernel.org
Original-Message-ID: <Pine.LNX.4.21.0010120921510.1191-100000@elte.hu>
References: <fa.n84r7tv.47sjgh@ifi.uio.no>
To: Linus Torvalds <torva...@transmeta.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-Mailing-List: linux-kernel@vger.kernel.org
Organization: Internet mailing list
MIME-Version: 1.0
Reply-To: mi...@elte.hu
Newsgroups: fa.linux.kernel


On Wed, 11 Oct 2000, Linus Torvalds wrote:

> (Instead of doing an atomic 64-bit memory write, we would be doing the
> atomic "pte_xchg_clear()" followed by two _non_atomic 32-bit writes where
> the second write would set the present bit. Although maybe the erratum
> about the PAE pgd entry not honoring the P bit correctly makes this be
> unworkable).
> 
> Ingo? I'd really like you to take a long look at this patch for sanity,
> especially wrt PAE.

the PAE pgd 'anomaly' should not affect this case, because we never clear
neither user-space pgds, nor user-space pmds in PAE mode. Unless we start
swapping pagetables i dont think this will ever happen in the future. The
PAE anomaly only affects the four top-level pgds, so even if we started
swapping pagetables, we'll never have to swap the pgds themselves.

i completely agree with the need to clean the pte-setting atomicity
interface up. And getting rid of cmpxch8b will be a definite performance
(and GCC-optimization) improvement.

> After this patch, are there any cases where we do a "set_pte()" where
> the PTE wasn't clear before? That might be a good sanity-test to add,
> just to make sure. And I'd really like to speed up the PAE set_pte() -
> as far as I can tell both set_pte and set_pmd really should be safe
> without the atomic 64-bit crap with your changes.

yep, the two 32-bit writes idea is very nice - this should be safe - and
there isnt even any need for any barriers (except optimization barrier),
given that writes are strongly ordered on x86.

my gut feeling is that all these things will only benefit PAE support, and
the risk of those changes is low, none of those should bite us in the
future, design-wise. And it's also a nice speedup. And after this we could
finally get rid of the 'unsigned long long' as well and just define two
32-bit fields in pte.

	Ingo

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: ty...@mit.edu
Subject: Updated Linux 2.4 Status/TODO List (from the ALS show)
Date: 2000/10/12
Message-ID: <linux.kernel.200010121206.e9CC6k704156@trampoline.thunk.org>
X-Deja-AN: 680564145
Approved: n...@nntp-server.caltech.edu
X-To: linux-ker...@vger.kernel.org
Newsgroups: mlist.linux.kernel


OK, here's an updated Linux 2.4 TODO list.   It's actually somewhat up
to date as for test10-pre1, but there a bunch of test10-pre1 bug reports
that defied easy categoricalization (i.e., real bug vs. PEBCAK) so I've
left the offical page as saying that it's hopefully up-to-date as of
pre9.  Certainly it's much more uptodate than the one posted earlier
this week, especially as far as the "USB:" items are concerned (thanks
Randy Dunlap and all of the other folks on the USB development list for
updating me with a list of USB bugs).

						- Ted


                         Linux 2.4 Status/TODO Page

   This list is almost always out of date, by definition, since kernel
   development moves so quickly. I try to keep it as up to date as
   possible, though. Please send updates to ty...@mit.edu.

   Every few days or so, I periodically send updated versions of this
   list to the linux-kernel list, but you should consult
   http://linux24.sourceforge.net to get the latest information.

   If you're curious to see what has changed recently, check out
   http://linux24.sourceforge.net/status-changes.html. The previous set
   of changes can be found here. Also, this html file is managed under
   CVS at SourceForge.

   I try to keep e-mail addresses out of this document, since I don't
   want to make life easy for bottom-feeder spam artists. If you are a
   developer and want to contact the person who originally reported the
   problem, or want to see the e-mail message which prompted me to
   include a bug/issue in this list, contact me. I keep an mail archive
   which will have that information assuming it was an item added since I
   took over the list from Alan.

   Last modified: [tytso:20001012.0802EDT]

   Hopefully up to date as of: test9

1. Should Be Fixed (Confirmation Wanted)

     * Fbcon races (cursor problems when running continual streaming
       output mixed with printk + races when switching from X while doing
       continuous rapid printing --- Alan)
     * USB: hotplug (PNP) and module autoloader support (currently being
       tested)
     * USB: OHCI root-hub-timer does not restart on resume {CRITICAL}
       (Paul Mackerras)
     * USB: add bandwidth allocation support to usb-uhci HCD
     * USB: usb-ohci needs to null urb->dev to avoid various
       reboots/hangs/oopses {CRITICAL} (David Brownell)
     * USB: speed up device enumeration (hub driver has large delays in
       it)

2. Capable Of Corrupting Your FS/data

     * Use PCI DMA by default in IDE is unsafe (must not do so on via
       VPx, x < 3) (Vojtech Pavlik --- requires chipset tuning to be
       enabled according to Andre Hedrick --- we need to turn this on by
       default, if it is safe -- TYT)
     * Non-atomic page-map operations can cause loss of dirty bit on
       pages (sct, alan, Ben LaHaise has fix, not yet merged)
     * USB: Problems with USB storage drives (ORB, maybe Zip) during APM
       sleep/suspend

3. Security

     * Fix module remove race bug (still to be done: TTY, ldisc, I2C,
       video_device - Al Viro) (Rogier Wolff will handle ATM)

4. Boot Time Failures

     * Use PCI DMA 'lost interrupt' problem with PIIXn tuning enabled
       will hang laptop requiring physical power loss to restart (NEC
       Versa LX, 2.3.x to 2.4.0-test8-pre6, David Ford) (Vojtech Pavlik
       is looking at this)
     * Crashes on boot on some Compaqs ? (may be fixed)
     * Various Alpha's don't boot under 2.4.0-test9 (PCI resource
       allocation problem? Michal Jaegermann; Richard Henderson may have
       an idea what's failing.)
     * Palmax PD1100 hangs during boot since 2.4.0-test9 (Alan Cox)
     * Compaq proliant 7000 (with Compaq Smart Array-3100ES) hangs during
       2.4.0-test9. Likely related to the Raid driver given where it hung
       in the boot messages (chonga at isoft)

5. Compile errors

6. In Progress

     * Restore O_SYNC functionality (Stephen) - core code and ext2 done
     * Fix all remaining PCI code to use pci_enable_device (mostly done)
     * Finish the audit/code review of the code dealing with descriptor
       tables. (Al Viro)
     * DMFE is not SMP safe (Frank Davis patch exists, but hasn't gotten
       much commens yet)
     * 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. (Frank Davis --- moving slowly; if someone
       wants to help, contact Frank)
     * Fixing autofs4 to deal with VFS changes (Jeremy Fitzhardinge)

7. Obvious Projects For People (well if you have the hardware..)

     * Make syncppp use new ppp code
     * Fix SPX socket code

8. Fix Exists But Isnt Merged

     * Update SGI VisWS to new-style IRQ handling (Ingo)
     * 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)
     * 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
     * IRDA fixes:
          + Fixes from DAG: Incluldes a number of critical bugfixes.
            Detailed listing of changes here:
               o irda1
               o irda2
               o irda3
          + Fixes from Jean Tourrilhes (Fixes critical bugs: Infinite
            loop in /proc/discovery, unsafe discovery entry removal,
            potential out of array access in QoS handling) (Functional
            bugs fixed: Zombie sockets disable listening socket, some
            discovery acses unhandled)
     * Many network device drivers don't call MOD_INC_USE_COUNT in
       dev->open. (Paul Gortmaker has patches)
     * using ramfs with highmem enabled can yield a kernel NULL pointer
       dereference. (wollny at cns.mpg.de has a patch)
     * Writing past end of removeable device can cause data corruption
       bugs in the future (Jari Ruusu)
     * fix the UFS, minixfs and sysvfs races (the latter couple is broken
       as ext2 was, UFS is _completely_ broken; eats filesystems) (Al
       Viro -- patch mostly exists)
     * HT6560/UMC8672 ide sets up stuff too early (before region stuff
       can be done) (Andre Herick has fix)
     * TLAN nic appears to be adding a timer twice (2.4.0test8pre6, Arjan
       ve de Ven) (Fixed, but patch not sent to Linus yet -- Torben
       Mathiasen)
     * Loading the qlogicfc driver in 2.4.0-test8 causes the kernel to
       loop forver reporting SCSI disks that aren't present (Paul
       Hubbard, Torben Mathiasen has a potential patch, sent to Linus,
       need to very with Paul)
     * SIT tunneling (ipv6 in ipv4) is broken (Gerhard Mack; Davem has a
       fix)

9. To Do

     * Check all devices use resources properly (Everyone now has to use
       request_region and check the return since we no longer single
       thread driver inits in all module cases. Also memory regions are
       now requestable and a lot of old drivers dont know this yet. --
       Alan Cox)
     * Tulip hang on rmmod/crashes sometimes
     * Devfs races (mostly done - Al Viro)
     * Fix further NFS races (Al Viro)
     * Test other file systems on write
     * Fix mount failures due to copy_* user mishandling
     * Check all file systems are either LFS compliant or error large
       files
     * Issue with notifiers that try to deregister themselves? (lnz;
       notifier locking change by Garzik should backed out, according to
       Jeff)
     * Misc locking problems
          + drivers/pcmcia/ds.c: ds_read & ds_write. SMP locks are
            missing, on UP the sleep_on() use is unsafe.
          + Power management locking (Alan Cox)
          + USB:
               o USB: fix MOD_INC races in plusb.c and uss720.c
               o USB: fix concurrent read/write and other SMP like bugs
                 in:
                    # acm.c
                    # printer.c
                    # scanner.c
                    # uss720.c
                    # serial/ftdi_sio.c
                    # serial/omninet.c
          + do_execve (Al Viro, reported by Manfred)
          + fix the quota races (Al Viro)
     * SCSI CD-ROM doesn't work on filesystems with < 2kb block size
       (Jens Axboe will fix)
     * Remove (now obsolete) checks for ->sb == NULL (Al Viro)
     * Audit list of drivers that dereference ioremap's return (Abramo
       Bagnara)
     * ISAPnP can reprogram active devices (2.4.0-test5, Elmer Joandi,
       alan)
     * Multilink PPP can get the kernel into a tight loop which spams the
       console and freezes the machine (Aaron Tiensivu)
     * mm->rss is modified in some places without holding the
       page_table_lock (sct)
     * Copying between two encrypting loop devices causes an immediate
       deadlock in the request queue (Andi Kleen)
     * FAT filesystem doesn't support 2kb sector sizes (did under 2.2.16,
       doesn't under 2.4.0test7. Kazu Makashima, alan)
     * The new hot plug PCI interface does not provide a method for
       passing the correct device name to cardmgr (David Hinds, alan)
     * non-PNP SB AWE32 has tobles in 2.4.0-test7 and newer (Gerard
       Sharp) (Paul Laufer has a potential patch)
     * 2.4.0-test8 pcmcia is unusable in fall forms (kernel, mixed, or
       dhinds code) (David Ford)
     * VGA Console can cause SMP deadlock when doing printk {CRITICAL}
       (Keith Owens)
     * Forwawrd port 2.2 fixes to allow 2 GHz or faster CPU's. {CRITICAL}
     * IDE tape driver broken; if the last data written does not make up
       a full block, then the driver won't be able to read back ANY part
       of the last block (Mikael Pettersson, Alan Cox)
     * VM: Out of Memory handling {CRITICAL}
     * VM: Fix the highmem deadlock, where the swapper cannot create low
       memory bounce buffers OR swap out low memory because it has
       consumed all resources {CRITICAL} (old bug, already reported in
       2.4.0test6)
     * VM: page->mapping->flush() callback in page_lauder() for easier
       integration with journaling filesystem and maybe the network
       filesystems
     * VM: maybe rebalance the swapper a bit... we do page aging now so
       maybe refill_inactive_scan() / shm_swap() and swap_out() need to
       be rebalanced a bit
     * USB: race conditions on devices in use and being unplugged
     * USB: SANE backend can't communicate to its scanner (sometimes,
       some scanners)
     * USB: OHCI memory corruption problem
     * USB: Fix differences in UHCI and OHCI HCD behaviors/semantics:
          + OHCI doesn't do URB timeouts
          + Only uhci.c does EARLY_COMPLETE (drop EARLY_COMPLETE ?)
          + OHCI always does BULK_QUEUE (as David.B said, Bulk queueing
            is a UHCI notion; not needed in OHCI; fix not needed)
     * USB: fix USB_QUEUE_BULK problem in uhci.c (oopsen after a while)
       {CRITICAL}
     * USB: system hang with USB audio driver {CRITICAL} (David
       Woodhouse, Randy Dunlap, Narayan Desai)
     * USB: printer Device ID string should not be static; printers can
       update it
     * USB: Fix serial/omninet.c to not require a small mtu setting in
       order to get a PPP link to work properly (as reported by Bernhard
       Reiter)
     * USB: pegasus: avoid warning spewage on disconnect
     * USB: OHCI optional zero length packet (USB_DISABLE_SPD at send)
     * USB: consistent short packet handling OHCI/UHCI (including
       0-length packets) (Roman)
     * USB: consistent URB next pointer handling by OHCI/UHCI (Roman)
     * USB: booting with USB compiled into kernel causes a lot of syslog
       entries as the root hubs are probed by all drivers (this is
       especially obnoxious as the usb-serial drivers start up)
     * USB: pegasus driver locks up on slow oHCI machine; sometimes
       cannot be rmmod-ed (Cyrille Chepelov)
     * USB: fix setting urb->dev in printer, acm, bluetooth, all serial
       drivers (Greg KH) {CRITICAL}
     * USB: fix usbdevfs memset() on IOC_WRITE (Dan Streetman) {CRITICAL}
     * USB: fix setting urb->dev in plusb, wacom, mdc800) (Greg KH)
       {CRITICAL}
     * USB: fix usb-uhci setting urb->dev = NULL at correct places only
       {CRITICAL}
     * USB: fix hub driver allocation/usage of portstr & tempstr (D.
       Brownell) (causes oops and memory corruptoin) {CRITICAL}
     * USB: USB mouse stopped working (2.4.0-test9) (Gunther Mayer)
     * USB: oops on boot with 2.4.0-test9, usb-uhci, pegasus (in
       process_transfer) (fr...@unternet.org)
     * USB: pegasus driver version 0.4.12: update to work with HCD
       changes; fix module use counting & dev refcounting; fix to work
       with dhcpd (Petko) {CRITICAL}

10. To Do But Non Showstopper

     * Go through as 2.4pre kicks in and figure what we should mark
       obsolete for the final 2.4 (i.e. XT hard disk support?)
     * Union mount (Al Viro)
     * Per Process rtsigio limit
     * iget abuse in knfsd
     * ISAPnP IRQ handling failing on SB1000 + resource handling bug
     * 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 (Basically unusable - Hinds pcmcia code is
       reliable)
          + PCMCIA crashes on unloading pci_socket
     * ATM phy-chip-driver interface change for Firestream ATM card
       (Rogier Wolff)
     * Loop device can still hang (William Stearns has script that will
       hang 2.4.0-test7, Peter Enderborg has a short sequence that will
       hang 2.4.0test9)
     * USB: acm (modem) driver is slow compared to Windows drivers for
       same modems (maybe an HCD problem, not acm driver, or acm should
       use bulk queueing)
     * USB: add devfs support to drivers that don't have it
     * USB: add DocBook info to main USB driver interfaces (usb.c)
     * USB: Printer stalls at random places when printing large graphics.
       When printing big pictures (10..50 meg) the printer stalls
       halfway. The point where it stalls is random but the fact that it
       stalls is reproducable. Printing the same pictures using the
       parallel interface is ok. Printing text is ok anyway. (Frank van
       Maarseveen)
     * USB: Misc locking problems: fix concurrent read/write and other
       SMP-like bugs in:
          + bluetooth.c
          + mdc800.c
          + rio800.c
          + serial/keyspan.c
          + serial/whiteheat.c
     * fix usb_unlink_urb() bug when called with an urb that was used on
       a device that is no longer registered in the USB system.
     * control pipe locking (mutual exclusion)
     * use pci_alloc_consistent throughout (mostly OHCI; some people want
       UHCI also)
     * RTL 8139 cards sometimes stop responding. Both drivers don't
       handle this quite good enough yet. (reported by Rogier Wolff,
       tentatively reported as fixed by David Ford; reports from Frank
       Jacobberger and Shane Shrybman indicate that it doesn't appear to
       be fixed in test9)
     * tty_register_devfs and tty_unregister_devfs declare struct
       tty_struct as a local, which causes stack overflows for user-mode
       linux. (Jeff Dike)

11. 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
     * VFS?VM - mmap/write deadlock (demo code seems to show lock is
       there)
     * 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]
       (hopefully fixed)
     * ACPI/APM suspend issue - IDE related stuff ? (requires full
       taskfile support that was vetoed by Linus)
     * NFS bugs are fixed
     * Chase reports of SMB not working
     * Some AWE cards are not being found by ISAPnP ??
     * RAM disk contents vanishing on cramfs (block change) and bforget
       cases
     * Disappointing performance of Software Raid, esp. write performance
       (reported by Nils Rennebarth)
     * List of potential problems found by Stanford students using g++
       hacks:
          + Andy Chou's list of mismatched spinlocks and interrupts/bh
            enable/disable.
          + Seth Andrew Hallem's list potentially sleeping functions
            called with interrupts off or spinlocks held.
          + Dawson Engler's list of potential kmalloc/kfree bugs
     * Potential races in file locking code (Christian Ehrhardt)
          + locks_verify_area checks the wrong range if O_APPEND is set
            and the current file position is not at the end of the file.
          + dito if the file position changes between the call to
            locks_verify_area and the actual read/write (requires a
            shared file pointer, an attacker can use this to circumvent
            virtually any mandatory lock).
          + active writes should prevent anyone from getting mandatory
            locks for the area beeing written.
          + active reads should prevent anyone from getting mandatory
            write locks for the area beeing read.
     * Possible race in b-tree code for HFS, HPFS, NTFS: insert into the
       tree whild doing a readdir (Matthew Wilcox)
     * Stressing the VM (IOPS SPEC SFS) with HIGHMEM turned on can hang
       system (linux-2.4.0test5, Ying Chen, Rik van Riel)
     * Eepro100 driver can sometimes report out of resources on reboot
       (Josue Emmanuel Amaro)

12. Probably Post 2.4

     * per super block write_super needs an async flag
     * per file_op rw_kiovec
     * rw sempahores on page faults (mmap_sem) (Currently protected by
       mmap_sem)
     * module remove race bugs (ipchains modules -- Rusty; won't fix for
       2.4)
     * NCR5380 isnt smp safe (Frank Davis --- belives the driver should
       be rewritten)
     * VM: physical->virtual reverse mapping, so we can do much better
       page aging with less CPU usage spikes
     * VM: better IO clustering for swap (and filesystem) IO
     * VM: move all the global VM variables, lists, etc. into the pgdat
       struct for better NUMA scalability
     * VM: (maybe) some QoS things, as far as they are major improvements
       with minor intrusion
     * VM: thrashing control, maybe process suspension with some forced
       swapping ?
     * VM: include Ben LaHaise's code, which moves readahead to the VMA
       level, this way we can do streaming swap IO, complete with
       drop_behind()
     * USB: spread out interrupt frames for devices that use the same
       interrupt period (interval)
     * USB: add USB 2.0 EHCI HCD
     _________________________________________________________________

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)
     * 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
     * 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)
     * mount crashes on Alpha platforms (fixed, reported by Thorsten
       Kranzkowski)
     * IDE fails on some VIA boards (eg the i-opener) (reported fixed by
       Konrad Stepien)
     * access_process_mm oops/lockup if task->mm changes (Manfred) [user
       can cause deliberately]
     * PCMCIA IRQ routing should now be fixed modulo ISA cards and bios
       doesn't tell us that an IRQ is ISA-only (Martin Mares)
     * TB Multisound driver hasnt been updated for new isa I/O totally.
       (reported fixed by John Coiner; see
       http://atv.ne.mediaone.net/linux-multisound)
     * yenta (PCMCIA) and pci_socket modules have mutual dependency
       (cardbus_register, yenta_operations) (test5, worked in test3)
       (reported fixed by Erik Mouw)
     * Keyboard/mouse problems (should be fixed?)
     * Floppy driver broken by VFS changes. Other drivers may be too
       (Stuff gets called after _close now - unload race possibly too;
       should be fixed in test6)
     * OSS module remove races (fixed by Christoph Hellwig)
     * Merge the 2.2 ServeRAID driver into 2.4 (Christoph Hellwig)
     * AHA27xx is broken (maybe 28xx too) (reported fixed by Doug
       Ledford)
     * Merge the network fixes (DaveM)
     * Finish 64bit vfs merges (lockf64 and friends missing -- willy?)
       (Andreas Jaeger reports that lockf64 has been added for Intel and
       Alpha; other architectures may not be done, but if not, they won't
       build :-)
     * Can't compile CONFIG_IBMTR and CONFIG_PCMCIA_IBMTR in kernel at
       once; kernel link failes (rasmus; fixed in a kludgy way by not
       allowing the combination by arjan)
     * Merge the RIO driver
     * Potential deadlock in EMU10K driver when running SMP (orre at
       nada.kth.se, Alan)
     * Symbol clashes from ppp and irda compression code (Arjan van de
       Ven)
     * Kernel build has race conditions when building modversions.h
       (Mikael Pettersson)
     * USB Pegasus driver explodes on disconnect (lots of printk and/or
       OOPS spewage to the console. David Ford) (reported fixed by Petko
       Manolov)
     * unsafe sleep_on in ibmcam and ov511 drivers (never was a problem,
       according to Mark McClelland)
     * netfilter doesn't compile correctly (test7-pre3, reported by Pau
       Aliagas, fixed by test7-pre6, rusty)
     * Innd data corruption, probably caused by bug truncation bug (Rik
       van Riel)
     * If all the ISO NLS's are modules, there can be an undefined ref to
       CONFIG_NLS_DEFAULT in inode.c (Dale Amon --- not a bug CONFIG_NLS
       is forced)
     * Fix sysinfo interface so it is binary compatible with 2.2.x (i.e.
       mem_unit=1), except when memory >= 4Gb (Erik Andersen)
     * Some people report 2.3.x serial problems (reported fixed by Shaya
       Potter)
     * Some Ultra-I sbus sparc64 systems fail to boot since 2.4.0-test3,
       may be due to specific memory configurations. (reported fixed by
       davem)
     * Fix, um, interesting races around dup2() and friends. (Al Viro)
     * complete the ext2 races fixes (truncate) (Al Viro)
     * USB pegasus driver doesn't work since 2.4.0test5 (David Ford)
     * Splitting a posix lock causes an infinite loop (Stephen Rothwell,
       according to Rusty)
     * Oops in dquot_transfer (David Ford, Martin Diehl) (Jan Kara has a
       potential patch from 2.2, submitted to Linus by Martin Diehl,
       fixed in test9)
     * SHM segments not always being detached and destroyed right ?
       (problem reported by Lincoln Dale (was combination of XFree86 and
       kernel bug, fixed))
     * Mount of new fs over existing mointpoint should return an error
       unless forced (Andrew McNabb, Alan Cox) (Andries Brouwer has
       posted a patch)
     * Boot hangs on a range of Dell docking stations (Latitude, reported
       fixed in 2.4.0-pre9)
          + Almost certainly related: PCI code doesn't see devices behind
            DECchip 21150 PCI bridges (used in Dell Latitude). Reported
            by Simon Trimmer. (Patch from Martin Mares exists but it
            disables cardbus devices, according to Tigran.)
          + Derek Fawcus at Cisco reports similar problems with Toshiba
            Tecra 8000 attached to the DeskStation V+ docking station.
            (once again, caused by bridge returning 0 when reading the
            I/O base/limit and Memory base/limit registers which confuses
            the new PCI resource code).
     * drivers/sound/cs46xx.c has compile errors test7 and test8 (C
       Sanjayan Rosenmund, reported fixed by Hayden James)
     * Network block device seems broken by block device changes (Jeffery
       C. Becker reports no problems)
     * cdrecord doesn't work (produces CD-ROM coasters) w/o any errors
       reported, works under 2.2 (Damon LoCascio, reported as fixed by
       Robert M. Love)
     * ACPI hangs on boot for some systems (Are there any cases left?
       Reported as fixed by Simon Richter)
     * arcnet/com20020-isa.c doesn't compile, as of 2.4.0-test8. Dan
       Aloni has a fix, reported fixed)
     * 2.4.0-test8 has a BUG at ll_rw_blk:711. (Johnny Accot, Steffen
       Luitz) (Al Viro has a patch, reported fixed by Udo A. Steinberg)
     * Writing to tapes > 2.4G causes tar to fail with EIO (using
       2.4.0-test7-pre5; it works under 2.4.0-test1-ac18 --- Tigran
       Aivazian, reported fixed)
     * 2.4.0-test2 breaks the behaviour of the ether=0,0,eth1 boot
       parameter (dwguest, reported as fixed.)
     * IBM Thinkpad 390 won't boot since 2.3.11 (Decklin Foster; NOT A
       BUG; caused by misconfigured CPU model)
     * PPC-specific: won't boot on 601 CPU's (powermac) (Andreas Tobler;
       Paul Mackerras has fix in PPC tree)
     * Finish I2O merge (Intel/Alan, reported as fixed as it's going to
       be)
     * NFS V3 lockd causes kernel oops (Trond Myklebust, reported fixed)
     * USB: hid joystick handling (patch from Vajtech, 2.4.0.9.4)
     * USB: cpia_usb module doesn't handle "no bandwidth" returns (OOPS)
       (2.4.0.9.4)
     * USB: microtek memory handling (patch from Oliver Neukum)
       (2.4.0.9.4)
     * USB: usb-uhci not use set PCI Latency Timer register to 0
     * USB: printer driver aborts on out-of-paper or off-line conditions
       instead of retrying until the condition is fixed
     * USB: usb-uhci SMP spinlock/bad pointer crash
     * USB: cpia camera driver with OHCI HCD locks up or fails
     * USB: pegasus (ethernet) driver crashes often
     * USB: Fix differences in UHCI and OHCI HCD behaviors/semantics:
          + Only uhci.c does EARLY_COMPLETE (drop EARLY_COMPLETE ?)
          + USB: Fix the OOPS in usb-storage from the error-recovery
            handler. {CRITICAL} (reported by Matthew Dharm, fixed as of
            test9)

Probably Hardware Bugs

     * Data corruption on IDE disks (Generic PCI DMA and SiS support
       Steven Walter) (sounds like PCChips #M599LMR motherboard doesn't
       disable UDMA when a non-UDMA cable is used. If you disable UDMA in
       the BIOS, then there is no problem. hardware bug?)
     * AHA29xx driver appears to stomp other cards (may be BIOS; probably
       motherboard has assigned to small of a range to a card, so that
       it's overlapping with some other card -- Doug Ledford)
     * USB hangs on APM suspend on some machines (fixed more most; Alan
       has one still that fails but the BIOS has 'issues')
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: "David S. Miller" <da...@redhat.com>
Subject: Re: Updated Linux 2.4 Status/TODO List (from the ALS show)
Date: 2000/10/12
Message-ID: <linux.kernel.200010130029.RAA18914@pizda.ninka.net>#1/1
X-Deja-AN: 680813584
Approved: n...@nntp-server.caltech.edu
X-To: da...@suse.de
X-CC: ty...@mit.edu, torva...@transmeta.com, linux-ker...@vger.kernel.org, linux...@kvack.org
Newsgroups: mlist.linux.kernel

   From: da...@suse.de
   Date: 	Fri, 13 Oct 2000 01:20:23 +0100 (BST)

   Any of the mm gurus give the patch below a quick once over ?  Is
   this adequate, or is there more to this than the description
   implies?

It might make more sense to just make rss an atomic_t.

Later,
David S. Miller
da...@redhat.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: Linus Torvalds <torva...@transmeta.com>
Subject: Re: Updated Linux 2.4 Status/TODO List (from the ALS show)
Date: 2000/10/12
Message-ID: <linux.kernel.Pine.LNX.4.10.10010122202350.14174-100000@penguin.transmeta.com>#1/1
X-Deja-AN: 680885734
Approved: n...@nntp-server.caltech.edu
X-To: "David S. Miller" <da...@redhat.com>
Content-Type: TEXT/PLAIN; charset=US-ASCII
MIME-Version: 1.0
X-cc: da...@suse.de, ty...@mit.edu, linux-ker...@vger.kernel.org, linux...@kvack.org
Newsgroups: mlist.linux.kernel



On Thu, 12 Oct 2000, David S. Miller wrote:
> 
>    Any of the mm gurus give the patch below a quick once over ?  Is
>    this adequate, or is there more to this than the description
>    implies?
> 
> It might make more sense to just make rss an atomic_t.

Agreed.

		Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: Alan Cox <a...@lxorguk.ukuu.org.uk>
Subject: Re: Updated Linux 2.4 Status/TODO List (from the ALS show)
Date: 2000/10/13
Message-ID: <linux.kernel.E13k3HY-0000yb-00@the-village.bc.nu>#1/1
X-Deja-AN: 680975215
Approved: n...@nntp-server.caltech.edu
X-To: da...@redhat.com (David S. Miller)
Content-Type: text/plain; charset=us-ascii
X-Cc: da...@suse.de, ty...@mit.edu, torva...@transmeta.com, linux-ker...@vger.kernel.org, linux...@kvack.org
MIME-Version: 1.0
Newsgroups: mlist.linux.kernel

>    Any of the mm gurus give the patch below a quick once over ?  Is
>    this adequate, or is there more to this than the description
>    implies?
> 
> It might make more sense to just make rss an atomic_t.

Can we always be sure the rss will fit in an atomic_t - is it > 32bits on the
ultrsparc/alpha ?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: "David S. Miller" <da...@redhat.com>
Subject: Re: Updated Linux 2.4 Status/TODO List (from the ALS show)
Date: 2000/10/13
Message-ID: <linux.kernel.200010132129.OAA03105@pizda.ninka.net>#1/1
X-Deja-AN: 681190855
Approved: n...@nntp-server.caltech.edu
X-To: a...@lxorguk.ukuu.org.uk
X-CC: da...@suse.de, ty...@mit.edu, torva...@transmeta.com, linux-ker...@vger.kernel.org, linux...@kvack.org
Newsgroups: mlist.linux.kernel

   Date: Fri, 13 Oct 2000 12:45:47 +0100 (BST)
   From: Alan Cox <a...@lxorguk.ukuu.org.uk>

   > It might make more sense to just make rss an atomic_t.

   Can we always be sure the rss will fit in an atomic_t - is it >
   32bits on the ultrsparc/alpha ?

Yes, this issue occurred to me last night as well.
It is 32-bit on Alpha/UltraSparc.

However, given the fact that this number measures "pages", the
PAGE_SIZE on Ultra/Alpha, and the size of the 64-bit user address
space on Ultra and Alpha, it would actually end up working.

This doesn't make it a good idea though.

Later,
David S. Miller
da...@redhat.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

From: ty...@mit.edu
Subject: Linux 2.4 Status/TODO page (test11-pre3)
Date: 2000/11/12
Message-ID: <linux.kernel.200011121939.eACJd9D01319@trampoline.thunk.org>
X-Deja-AN: 692826951
Approved: n...@nntp-server.caltech.edu
X-To: linux-ker...@vger.kernel.org
Newsgroups: mlist.linux.kernel


OK, here's an updated version of the TODO list.  

The version on linux24.sourceforge.net hasn't been updated over the
weekend, due to the SSH daemon on the sourceforge projects server being
dead.  I'll get the web version synced up by tomorrow, hopefully.

						- Ted


                         Linux 2.4 Status/TODO Page

   This list is almost always out of date, by definition, since kernel
   development moves so quickly. I try to keep it as up to date as
   possible, though. Please send updates to ty...@mit.edu.

   Every few days or so, I periodically send updated versions of this
   list to the linux-kernel list, but you should consult
   http://linux24.sourceforge.net to get the latest information.

   If you're curious to see what has changed recently, check out
   http://linux24.sourceforge.net/status-changes.html. The previous set
   of changes can be found here. Also, this html file is managed under
   CVS at SourceForge.

   I try to keep e-mail addresses out of this document, since I don't
   want to make life easy for bottom-feeder spam artists. If you are a
   developer and want to contact the person who originally reported the
   problem, or want to see the e-mail message which prompted me to
   include a bug/issue in this list, contact me. I keep an mail archive
   which will have that information assuming it was an item added since I
   took over the list from Alan.

   Last modified: [tytso:20001112.1433EST]

   Hopefully up to date as of: test11pre3

1. Should Be Fixed Already (Confirmation Wanted)

     * Fbcon races (cursor problems when running continual streaming
       output mixed with printk + races when switching from X while doing
       continuous rapid printing --- Alan)
     * USB: system hang with USB audio driver {CRITICAL} (David
       Woodhouse, Randy Dunlap, Narayan Desai) (Fixed with usb-uhci;
       uhci-alt is unknown -- randy dunlap)
     * USB: fix setting urb->dev in printer, acm, bluetooth, all serial
       drivers (Greg KH) {CRITICAL} (test10-pre1)
     * USB: race conditions on devices in use and being unplugged
       (test10)
     * USB: printer Device ID string should not be static; printers can
       update it (test10)
     * USB: fix hub driver allocation/usage of portstr & tempstr (D.
       Brownell) (causes oops and memory corruptoin) {CRITICAL} (test10)
     * USB: SMP/concurrent/thread-safe for scanner.c, mdc800.c, rio800.c
       (test10)
     * USB: printer open should not fail on printer not ready; add
       GETSTATUS ioctl (2.4.0-test10)

2. Capable Of Corrupting Your FS/data

     * Use PCI DMA by default in IDE is unsafe (must not do so on via
       VPx, x < 3) (Vojtech Pavlik --- requires chipset tuning to be
       enabled according to Andre Hedrick --- we need to turn this on by
       default, if it is safe -- TYT)
     * USB: Problems with USB storage drives (ORB, maybe Zip) during APM
       sleep/suspend
     * Bug in VFAT truncate code will cause slow and painful corruption
       of filesystem (Ivan Baldo, Alan Cox)

3. Security

     * Fix module remove race bug (still to be done: TTY, ldisc, I2C,
       video_device - Al Viro) (Rogier Wolff will handle ATM)

4. Boot Time Failures

     * Use PCI DMA 'lost interrupt' problem with PIIXn tuning enabled
       will hang laptop requiring physical power loss to restart (NEC
       Versa LX, 2.3.x to 2.4.0-test8-pre6, David Ford) (Vojtech Pavlik
       is looking at this)
     * Crashes on boot on some Compaqs ? (may be fixed)
     * Various Alpha's don't boot under 2.4.0-test9 (PCI-PCI bridges are
       not configured correctly Michal Jaegermann; Richard Henderson may
       have an idea what's failing.)
     * Compaq proliant 7000 (with Compaq Smart Array-3100ES) hangs during
       2.4.0-test9. Likely related to the Raid driver given where it hung
       in the boot messages (chonga at isoft)
     * Crashes soon after decompressing on Sparcstation 10 (Rafal
       Mazkowski)

5. Compile errors

6. In Progress

     * Finish the audit/code review of the code dealing with descriptor
       tables. (Al Viro)
     * DMFE is not SMP safe (Frank Davis patch exists, but hasn't gotten
       much commens yet; Jeff Garzik says needs to protect access to
       multiple hw registers)
     * Fixing autofs4 to deal with VFS changes (Jeremy Fitzhardinge)
     * The new hot plug PCI interface does not provide a method for
       passing the correct device name to cardmgr (David Hinds, a an)
     * DRM and MTD cannot use AGP support module when CONFIG_MODVERSIONS
       is defined (issue with get_module_symbol caused fix proposed by
       John Levon to be rejected) (Keith Owens has fix)

7. Obvious Projects For People (well if you have the hardware..)

     * Make syncppp use new ppp code
     * Fix SPX socket code

8. Fix Exists But Isnt Merged

     * Restore O_SYNC functionality (CRITICAL, DB's depend on it)
       (Stephen)
     * Update SGI VisWS to new-style IRQ handling (Ingo)
     * 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)
     * 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
     * Many network device drivers don't call MOD_INC_USE_COUNT in
       dev->open. (Paul Gortmaker has patches)
     * using ramfs with highmem enabled can yield a kernel NULL pointer
       dereference. (wollny at cns.mpg.de has a patch)
     * Writing past end of removeable device can cause data corruption
       bugs in the future (Jari Ruusu)
     * fix the UFS and sysvfs races (the latter couple is broken as ext2
       was, UFS is _completely_ broken; eats filesystems) (Al Viro --
       patch mostly exists)
     * HT6560/UMC8672 ide sets up stuff too early (before region stuff
       can be done) (Andre Herick has fix)
     * mtrr.c is broken for machines with >= 4GB of memory (David Wragg
       has a fix)
     * Playing of some audio CD's stops in nearly regular places (Jens
       Axboe reports has patch)

9. To Do

     * truncate->invalidate_inode_pages removes mapping information from
       mapped pages which may be dirty; sync_pte -> crash. (CRITICAL)
       (sct, Linus and AL are looking at this)
     * VM: raw I/O data loss (raw IO may arrive in a page which afer it
       is unammped from a process) (CRITICAL) (rik van riel)
     * Alpha SMP problem: RSN reuse (Richard Henderson)
     * Tulip hang on rmmod/crashes sometimes
     * Devfs races (mostly done - Al Viro)
     * Fix further NFS races (Al Viro)
     * Test other file systems on write
     * Fix mount failures due to copy_* user mishandling
     * Check all file systems are either LFS compliant or error large
       files
     * Misc locking problems
          + drivers/pcmcia/ds.c: ds_read & ds_write. SMP locks are
            missing, on UP the sleep_on() use is unsafe.
          + Power management locking (Alan Cox)
          + USB:
               o USB: fix MOD_INC races in plusb.c and uss720.c
               o USB: fix concurrent read/write and other SMP like bugs
                 in:
                    # acm.c
                    # printer.c
                    # uss720.c
                    # serial/ftdi_sio.c
                    # serial/omninet.c
          + do_execve (Al Viro, reported by Manfred)
          + fix the quota races (Al Viro)
     * Either SCSI layer or various FS's need to do reblocking for
       device/filesystem blocksize mismatches:
          + SCSI CD-ROM doesn't work on filesystems with < 2kb block size
            (Jens Axboe will fix)
          + FAT filesystem doesn't support 2kb sector sizes (did under
            2.2.16, doesn't under 2.4.0test7. Kazu Makashima, alan)
     * Remove (now obsolete) checks for ->sb == NULL (Al Viro)
     * Audit list of drivers that dereference ioremap's return (Abramo
       Bagnara)
     * ISAPnP can reprogram active devices (2.4.0-test5, Elmer Joandi,
       alan)
     * Multilink PPP can get the kernel into a tight loop which spams the
       console and freezes the machine (Aaron Tiensivu)
     * mm->rss is modified in some places without holding the
       page_table_lock (sct)
     * Copying between two encrypting loop devices causes an immediate
       deadlock in the request queue (Andi Kleen)
     * non-PNP SB AWE32 has tobles in 2.4.0-test7 and newer (Gerard
       Sharp) (Paul Laufer has a potential patch)
     * 2.4.0-test10 pcmcia fails to detect IRQ's correctly, and will
       sometimes kill all software interrupts on card insertion on a NEC
       Versa LX (David Ford)
     * VGA Console can cause SMP deadlock when doing printk {CRITICAL}
       (Keith Owens)
     * Forwawrd port 2.2 fixes to allow 2 GHz or faster CPU's. {CRITICAL}
     * IDE tape driver broken; if the last data written does not make up
       a full block, then the driver won't be able to read back ANY part
       of the last block (Mikael Pettersson, Alan Cox)
     * f_pos is not protected against multiple accessor across
       lseek/generic_file_read/generic_file_write (David Wragg)
     * VM: Fix the highmem deadlock, where the swapper cannot create low
       memory bounce buffers OR swap out low memory because it has
       consumed all resources {CRITICAL} (old bug, already reported in
       2.4.0test6)
     * VM: page->mapping->flush() callback in page_lauder() for easier
       integration with journaling filesystem and maybe the network
       filesystems
     * VM: maybe rebalance the swapper a bit... we do page aging now so
       maybe refill_inactive_scan() / shm_swap() and swap_out() need to
       be rebalanced a bit
     * drivers/input/mousedev.c dereferences userspace pointers directly
       (prumpf)
     * In autofs4_expire, dput is called with dcache_lock already held,
       resulting in deadlock (Nigel Gamble)
     * USB: SANE backend can't communicate to its scanner (sometimes,
       some scanners)
     * USB: OHCI memory corruption problem
     * USB: Fix differences in UHCI and OHCI HCD behaviors/semantics:
          + OHCI doesn't do URB timeouts
          + OHCI always does BULK_QUEUE (as David.B said, Bulk queueing
            is a UHCI notion; not needed in OHCI; fix not needed)
     * USB: fix USB_QUEUE_BULK problem in uhci.c (oopsen after a while)
       {CRITICAL}
     * USB: Fix serial/omninet.c to not require a small mtu setting in
       order to get a PPP link to work properly (as reported by Bernhard
       Reiter)
     * USB: pegasus: avoid warning spewage on disconnect
     * USB: OHCI optional zero length packet (USB_DISABLE_SPD at send)
     * USB: consistent short packet handling OHCI/UHCI (including
       0-length packets) (Roman)
     * USB: consistent URB next pointer handling by OHCI/UHCI (Roman)

10. To Do But Non Showstopper

     * Go through as 2.4pre kicks in and figure what we should mark
       obsolete for the final 2.4 (i.e. XT hard disk support?)
     * Union mount (Al Viro)
     * Per Process rtsigio limit
     * iget abuse in knfsd
     * ISAPnP IRQ handling failing on SB1000 + resource handling bug
     * 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)
     * ATM phy-chip-driver interface change for Firestream ATM card
       (Rogier Wolff)
     * Loop device can still hang (William Stearns has script that will
       hang 2.4.0-test7, Peter Enderborg has a short sequence that will
       hang 2.4.0test9)
     * Check all devices use resources properly (Everyone now has to use
       request_region and check the return since we no longer single
       thread driver inits in all module cases. Also memory regions are
       now requestable and a lot of old drivers dont know this yet. --
       Alan Cox. Most common drivers are now done, as of pre10)
     * PCMCIA serial cards using built-in PCMCIA code will crash if a
       serial card is removed. (David Ford)
     * USB: acm (modem) driver is slow compared to Windows drivers for
       same modems (maybe an HCD problem, not acm driver, or acm should
       use bulk queueing)
     * Fix all remaining PCI code to use pci_enable_device (mostly done,
       final cleanup )
     * USB: add devfs support to drivers that don't have it
     * USB: add DocBook info to main USB driver interfaces (usb.c)
     * USB: Printer stalls at random places when printing large graphics.
       When printing big pictures (10..50 meg) the printer stalls
       halfway. The point where it stalls is random but the fact that it
       stalls is reproducable. Printing the same pictures using the
       parallel interface is ok. Printing text is ok anyway. (Frank van
       Maarseveen)
     * USB: Misc locking problems: fix concurrent read/write and other
       SMP-like bugs in:
          + bluetooth.c
          + serial/keyspan.c
          + serial/whiteheat.c
     * USB: fix usb_unlink_urb() bug when called with an urb that was
       used on a device that is no longer registered in the USB system.
     * USB: control pipe locking (mutual exclusion)
     * USB: use pci_alloc_consistent throughout (mostly OHCI; some people
       want UHCI also)
     * tty_register_devfs and tty_unregister_devfs declare struct
       tty_struct as a local, which causes stack overflows for user-mode
       linux. (Jeff Dike)

11. 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
     * VFS?VM - mmap/write deadlock (demo code seems to show lock is
       there)
     * 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]
       (hopefully fixed)
     * ACPI/APM suspend issue - IDE related stuff ? (requires full
       taskfile support that was vetoed by Linus)
     * NFS bugs are fixed
     * Chase reports of SMB not working
     * RAM disk contents vanishing on cramfs (block change) and bforget
       cases
     * Disappointing performance of Software Raid, esp. write performance
       (reported by Nils Rennebarth)
     * List of potential problems found by Stanford students using g++
       hacks:
          + Andy Chou's list of mismatched spinlocks and interrupts/bh
            enable/disable.
          + Seth Andrew Hallem's list potentially sleeping functions
            called with interrupts off or spinlocks held.
          + Dawson Engler's list of potential kmalloc/kfree bugs
     * Potential races in file locking code (Christian Ehrhardt -- patch
       which may fix some of these posted by trond, at
       http://boudicca.tux.org/hypermail/linux-kernel/2000week45/0404.htm
       l)
          + locks_verify_area checks the wrong range if O_APPEND is set
            and the current file position is not at the end of the file.
          + dito if the file position changes between the call to
            locks_verify_area and the actual read/write (requires a
            shared file pointer, an attacker can use this to circumvent
            virtually any mandatory lock).
          + active writes should prevent anyone from getting mandatory
            locks for the area beeing written.
          + active reads should prevent anyone from getting mandatory
            write locks for the area beeing read.
     * Possible race in b-tree code for HFS, HPFS, NTFS: insert into the
       tree whild doing a readdir (Matthew Wilcox)
     * Stressing the VM (IOPS SPEC SFS) with HIGHMEM turned on can hang
       system (linux-2.4.0test5, Ying Chen, Rik van Riel)
     * Eepro100 driver can sometimes report out of resources on reboot
       (Josue Emmanuel Amaro) (and at other times, according to Jeff
       Garzik)
     * block writes causes WAY too many context switches, due to bdflush?
       (Mark Hahn)
     * Christian Casteyde reports that swapoff while programs are in swap
       space causes them to crash. (2.4.0-test10)
     * __init/__exit etc. usage should be audited because it is sometimes
       misused (Barklomiej Zolnierkiewicz, checks in progress)
     * many drivers are not hot-plugging safe (__devinit/__devexit)
       (Barklomiej Zolnierkiewicz)

12. Probably Post 2.4

     * per super block write_super needs an async flag
     * per file_op rw_kiovec
     * rw sempahores on page faults (mmap_sem) (Currently protected by
       mmap_sem)
     * module remove race bugs (ipchains modules -- Rusty; won't fix for
       2.4)
     * NCR5380 isnt smp safe (Frank Davis --- belives the driver should
       be rewritten)
     * VM: physical->virtual reverse mapping, so we can do much better
       page aging with less CPU usage spikes
     * VM: better IO clustering for swap (and filesystem) IO
     * VM: move all the global VM variables, lists, etc. into the pgdat
       struct for better NUMA scalability
     * VM: (maybe) some QoS things, as far as they are major improvements
       with minor intrusion
     * VM: thrashing control, maybe process suspension with some forced
       swapping ?
     * VM: include Ben LaHaise's code, which moves readahead to the VMA
       level, this way we can do streaming swap IO, complete with
       drop_behind()
     * USB: spread out interrupt frames for devices that use the same
       interrupt period (interval)
     * USB: add USB 2.0 EHCI HCD
     _________________________________________________________________

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 ? S
     * 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) x
     * Get RAID 0.90 in (Ingo)
     * S/390 Merge
     * NFS DoS fix (security)
     * 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
     * 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)
     * mount crashes on Alpha platforms (fixed, reported by Thorsten
       Kranzkowski)
     * IDE fails on some VIA boards (eg the i-opener) (reported fixed by
       Konrad Stepien)
     * access_process_mm oops/lockup if task->mm changes (Manfred) [user
       can cause deliberately]
     * PCMCIA IRQ routing should now be fixed modulo ISA cards and bios
       doesn't tell us that an IRQ is ISA-only (Martin Mares)
     * TB Multisound driver hasnt been updated for new isa I/O totally.
       (reported fixed by John Coiner; see
       http://atv.ne.mediaone.net/linux-multisound)
     * yenta (PCMCIA) and pci_socket modules have mutual dependency
       (cardbus_register, yenta_operations) (test5, worked in test3)
       (reported fixed by Erik Mouw)
     * Keyboard/mouse problems (should be fixed?)
     * Floppy driver broken by VFS changes. Other drivers may be too
       (Stuff gets called after _close now - unload race possibly too;
       should be fixed in test6)
     * OSS module remove races (fixed by Christoph Hellwig)
     * Merge the 2.2 ServeRAID driver into 2.4 (Christoph Hellwig)
     * AHA27xx is broken (maybe 28xx too) (reported fixed by Doug
       Ledford)
     * Merge the network fixes (DaveM)
     * Finish 64bit vfs merges (lockf64 and friends missing -- willy?)
       (Andreas Jaeger reports that lockf64 has been added for Intel and
       Alpha; other architectures may not be done, but if not, they won't
       build :-)
     * Can't compile CONFIG_IBMTR and CONFIG_PCMCIA_IBMTR in kernel at
       once; kernel link failes (rasmus; fixed in a kludgy way by not
       allowing the combination by arjan)
     * Merge the RIO driver
     * Potential deadlock in EMU10K driver when running SMP (orre at
       nada.kth.se, Alan)
     * Symbol clashes from ppp and irda compression code (Arjan van de
       Ven)
     * Kernel build has race conditions when building modversions.h
       (Mikael Pettersson)
     * USB Pegasus driver explodes on disconnect (lots of printk and/or
       OOPS spewage to the console. David Ford) (reported fixed by Petko
       Manolov)
     * unsafe sleep_on in ibmcam and ov511 drivers (never was a problem,
       according to Mark McClelland)
     * netfilter doesn't compile correctly (test7-pre3, reported by Pau
       Aliagas, fixed by test7-pre6, rusty)
     * Innd data corruption, probably caused by bug truncation bug (Rik
       van Riel)
     * If all the ISO NLS's are modules, there can be an undefined ref to
       CONFIG_NLS_DEFAULT in inode.c (Dale Amon --- not a bug CONFIG_NLS
       is forced)
     * Fix sysinfo interface so it is binary compatible with 2.2.x (i.e.
       mem_unit=1), except when memory >= 4Gb (Erik Andersen)
     * Some people report 2.3.x serial problems (reported fixed by Shaya
       Potter)
     * Some Ultra-I sbus sparc64 systems fail to boot since 2.4.0-test3,
       may be due to specific memory configurations. (reported fixed by
       davem)
     * Fix, um, interesting races around dup2() and friends. (Al Viro)
     * complete the ext2 races fixes (truncate) (Al Viro)
     * USB pegasus driver doesn't work since 2.4.0test5 (David Ford)
     * Splitting a posix lock causes an infinite loop (Stephen Rothwell,
       according to Rusty)
     * Oops in dquot_transfer (David Ford, Martin Diehl) (Jan Kara has a
       potential patch from 2.2, submitted to Linus by Martin Diehl,
       fixed in test9)
     * SHM segments not always being detached and destroyed right ?
       (problem reported by Lincoln Dale (was combination of XFree86 and
       kernel bug, fixed))
     * Mount of new fs over existing mointpoint should return an error
       unless forced (Andrew McNabb, Alan Cox) (Andries Brouwer has
       posted a patch)
     * Boot hangs on a range of Dell docking stations (Latitude, reported
       fixed in 2.4.0-pre9)
          + Almost certainly related: PCI code doesn't see devices behind
            DECchip 21150 PCI bridges (used in Dell Latitude). Reported
            by Simon Trimmer. (Patch from Martin Mares exists but it
            disables cardbus devices, according to Tigran.)
          + Derek Fawcus at Cisco reports similar problems with Toshiba
            Tecra 8000 attached to the DeskStation V+ docking station.
            (once again, caused by bridge returning 0 when reading the
            I/O base/limit and Memory base/limit registers which confuses
            the new PCI resource code).
     * drivers/sound/cs46xx.c has compile errors test7 and test8 (C
       Sanjayan Rosenmund, reported fixed by Hayden James)
     * Network block device seems broken by block device changes (Jeffrey
       C. Becker reports no problems)
     * cdrecord doesn't work (produces CD-ROM coasters) w/o any errors
       reported, works under 2.2 (Damon LoCascio, reported as fixed by
       Robert M. Love)
     * ACPI hangs on boot for some systems (Are there any cases left?
       Reported as fixed by Simon Richter)
     * arcnet/com20020-isa.c doesn't compile, as of 2.4.0-test8. Dan
       Aloni has a fix, reported fixed)
     * 2.4.0-test8 has a BUG at ll_rw_blk:711. (Johnny Accot, Steffen
       Luitz) (Al Viro has a patch, reported fixed by Udo A. Steinberg)
     * Writing to tapes > 2.4G causes tar to fail with EIO (using
       2.4.0-test7-pre5; it works under 2.4.0-test1-ac18 --- Tigran
       Aivazian, reported fixed)
     * 2.4.0-test2 breaks the behaviour of the ether=0,0,eth1 boot
       parameter (dwguest, reported as fixed.)
     * IBM Thinkpad 390 won't boot since 2.3.11 (Decklin Foster; NOT A
       BUG; caused by misconfigured CPU model)
     * PPC-specific: won't boot on 601 CPU's (powermac) (Andreas Tobler;
       Paul Mackerras has fix in PPC tree)
     * Finish I2O merge (Intel/Alan, reported as fixed as it's going to
       be)
     * Non-atomic page-map operations can cause loss of dirty bit on
       pages (sct, alan, Ben LaHaise fixed)
     * NFS V3 lockd causes kernel oops (Trond Myklebust, reported fixed)
     * VM: Out of Memory handling {CRITICAL} (added in test10)
     * TLAN nic appears to be adding a timer twice (2.4.0test8pre6, Arjan
       ve de Ven) (Fixed, but patch not sent to Linus yet -- Torben
       Mathiasen)
     * Loading the qlogicfc driver in 2.4.0-test8 causes the kernel to
       loop forver reporting SCSI disks that aren't present (Paul
       Hubbard, Torben Mathiasen has a potential patch, sent to Linus,
       need to very with Paul)
     * Fix the minixfs races (Al Viro)
     * SIT tunneling (ipv6 in ipv4) is broken (Gerhard Mack; Davem has a
       fix) (fixed in test10-pre2)
     * USB: hid joystick handling (patch from Vajtech, 2.4.0.9.4)
     * USB: cpia_usb module doesn't handle "no bandwidth" returns (OOPS)
       (2.4.0.9.4)
     * USB: microtek memory handling (patch from Oliver Neukum)
       (2.4.0.9.4)
     * USB: usb-uhci not use set PCI Latency Timer register to 0
     * USB: printer driver aborts on out-of-paper or off-line conditions
       instead of retrying until the condition is fixed
     * USB: usb-uhci SMP spinlock/bad pointer crash
     * USB: cpia camera driver with OHCI HCD locks up or fails
     * USB: pegasus (ethernet) driver crashes often
     * USB: Fix differences in UHCI and OHCI HCD behaviors/semantics:
          + Only uhci.c does EARLY_COMPLETE (drop EARLY_COMPLETE ?)
     * USB: Fix the OOPS in usb-storage from the error-recovery handler.
       {CRITICAL} (reported by Matthew Dharm, fixed as of test9)
     * USB: booting with USB compiled into kernel causes a lot of syslog
       entries as the root hubs are probed by all drivers (this is
       especially obnoxious as the usb-serial drivers start up) (Fixed in
       test9, according to Greg KH)
     * USB: fix setting urb->dev in plusb, wacom, mdc800) (Greg KH)
       {CRITICAL} (fixed in test10-pre1)
     * USB: fix usb-uhci setting urb->dev = NULL at correct places only
       {CRITICAL} (fixed in test10-pre1)
     * USB: pegasus driver version 0.4.12: update to work with HCD
       changes; fix module use counting & dev refcounting; fix to work
       with dhcpd (Petko) {CRITICAL} (fixed in test10-pre1)
     * USB: pegasus driver locks up on slow oHCI machine; sometimes
       cannot be rmmod-ed (Cyrille Chepelov) (was uhci problem fixedin
       test10-pre1 according to Petko Manolov)
     * USB: oops on boot with 2.4.0-test9, usb-uhci, pegasus (in
       process_transfer) (fr...@unternet.org) (was uhci problem fixedin
       test10-pre1 according to Petko Manolov)
     * Sys_revoke() (CRITICAL, revoke or some subset of it is needed to
       fix some security issues) (alan, linus, worked around for now)
     * Palmax PD1100 hangs during boot since 2.4.0-test9 (Alan Cox, fixed
       in test10)
     * Spin doing ioctls on a down netdeice as it unloads == BOOM
       (prumpf, Alan Cox) Possible other net driver SMP issues (andi
       kleen) Not really a concern, but there might be some issues in
       specific drivers.
     * PCMCIA/Cardbus hangs (Basically unusable - Hinds pcmcia code is
       reliable)
          + PCMCIA crashes on unloading pci_socket
     * Issue with notifiers that try to deregister themselves? (lnz;
       notifier locking change by Garzik should backed out, according to
       Jeff)
     * 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. (Frank Davis --- looks fine now)
     * Zip/Imm/Parport will reliably hang the system (James M. "Dart",
       fixed)
     * RTL 8139 cards sometimes stop responding. Both drivers don't
       handle this quite good enough yet. (reported by Rogier Wolff,
       tentatively reported as fixed by David Ford; reports from Frank
       Jacobberger and Shane Shrybman indicate that it doesn't appear to
       be fixed in test9. Jeff Garzik hopes fixed in test10, but hasn't
       gotten reports back yet. Frank Jaccobberger reports solid)
     * vmtruncate() violates the page_table_lock/i_shared_lock
       acquisition ordering rules leading to deadlock (CRITICAL) (davem,
       fixed in pre3)
     * IRDA fixes: (applied)
          + Fixes from DAG: Incluldes a number of critical bugfixes.
            Detailed listing of changes here:
               o irda1
               o irda2
               o irda3
          + Fixes from Jean Tourrilhes (Fixes critical bugs: Infinite
            loop in /proc/discovery, unsafe discovery entry removal,
            potential out of array access in QoS handling) (Functional
            bugs fixed: Zombie sockets disable listening socket, some
            discovery acses unhandled)
     * USB: hotplug (PNP) and module autoloader support (currently being
       tested)
     * USB: OHCI root-hub-timer does not restart on resume {CRITICAL}
       (Paul Mackerras)
     * USB: add bandwidth allocation support to usb-uhci HCD
     * USB: usb-ohci needs to null urb->dev to avoid various
       reboots/hangs/oopses {CRITICAL} (David Brownell)
     * USB: speed up device enumeration (hub driver has large delays in
       it)
     * USB: OOPS when unplugging mouse from external hub (Unable to
       handle kernel paging request at virtual address 00080004; in
       usb_disconnect) (2.4.0-test9-pre7)
     * USB: With uhci HCD, switching from X to a text console and back to
       X, USB mouse is dead. (2.4.0-test9-pre7)
     * USB: plusb oops, segfaults, performance.
     * USB: usb-uhci, microtek scanner driver on 2.4.0-test7 & SANE 1.0.3
       OOPSes; usb-ohci works. >[usb-uhci]uhci_cleanup_unlink+4c/140<
     * USB: 2.4.0-test9-pre9: Novatek Ortek USB kbd not working.
     * USB: 2.4.0-test9-pre9: unresolved USB symbols when only usbcore is
       in-kernel.
     * USB: 2.4.0-test10: unresolved symbol 'this_module' when compiling
       only usbcore in kernel (in inode.c).
     * USB: 2.4.0-test9: USB + SMP gives lots of USB device timeout
       errors. OK without SMP. Tyan tiger 133 (1854d, i believe) mobo
       (via apollo pro 133a chipset). Redhat 6.2 and 7.0 (thought it
       might be gcc 2.96, but it seems to happen with both). Either UHCI
       HCD. Or Asus p2b-ds mobo with the intel bx chipset with same
       results.
     * USB: test9, test10-pre1, and 2.2.18-pre15: OOPS with USB mouse.
       >>EIP; c0121491 >kmem_cache_free+14d/174< >===== Trace; d00387a6
       >[usb-uhci]uhci_unlink_urb_sync+122/150<
     * USB: many unexplained "usb_control/bulk_msg: timeout" messages on
       several different USB devices.
     * USB: 3Com USB ISDN TA not working with test9-pre3 or test10-pre4.
       Worked with test8.
     * USB: USB mouse stopped working (2.4.0-test9) (Gunther Mayer)
       (fixed in test10, confirmed by Gunther Mayer)
     * USB: fix usbdevfs memset() on IOC_WRITE (Dan Streetman) {CRITICAL}
       (test10, confirmed by Dan Streetman)

Probably Hardware Bugs

     * Data corruption on IDE disks (Generic PCI DMA and SiS support
       Steven Walter) (sounds like PCChips #M599LMR motherboard doesn't
       disable UDMA when a non-UDMA cable is used. If you disable UDMA in
       the BIOS, then there is no problem. hardware bug?)
     * AHA29xx driver appears to stomp other cards (may be BIOS; probably
       motherboard has assigned to small of a range to a card, so that
       it's overlapping with some other card -- Doug Ledford)
     * USB hangs on APM suspend on some machines (fixed more most; Alan
       has one still that fails but the BIOS has 'issues')
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

			  SCO's Case Against IBM

November 12, 2003 - Jed Boal from Eyewitness News KSL 5 TV provides an
overview on SCO's case against IBM. Darl McBride, SCO's president and CEO,
talks about the lawsuit's impact and attacks. Jason Holt, student and 
Linux user, talks about the benefits of code availability and the merits 
of the SCO vs IBM lawsuit. See SCO vs IBM.

Note: The materials and information included in these Web pages are not to
be used for any other purpose other than private study, research, review
or criticism.