Alan Cox [Fri, 23 Nov 2007 20:20:25 +0000 (15:20 -0500)]
Linux 2.2.14pre12
o Fix an IP checking bug (Stephan Uphoff)
o Ultrasparc corruption bugfix (Dave Miller)
o Tidy up the drive spin up timer (Jens Axboe)
o Fix AX.25 hanging socket bug (Tomi Manninen)
o PPC SMP build bug fix (Cort Dougan)
o Fix SCSI CD memory leak on readraw mode (Martin Vogt)
o Firewall rule counting fix (Emanuele Caratti)
o Fix script symbol collisions on NCR 53c78xx (Richar Hirst)
o Unload lp if it finds no ports (Tim Waugh)
o Improve old/new tulip docs (Wichert Akkerman)
o Syncookie memory leak (Andi Kleen)
o dput could be called on freed dentry (H J Lu)
o SCSI end_request race fix (Soohoon Lee)
o Fix shared irq bug in synclink driver (Paul Fulghum)
Alan Cox [Fri, 23 Nov 2007 20:20:24 +0000 (15:20 -0500)]
Linux 2.2.14pre11
o Back out Rusty's ipfw patch (Alan Cox)
| Should fix the malloc error reports
o Hopefully fix the AX.25 "buggy" messages
o SCSI disk spin up broke in pre9 - now fixed I (Alan Cox)
hope
o ESS Maestro fixes for NEC Versa (Zach "Fufu" Brown)
o Fix cosmetic buffer counting bug (Andrea Arcangeli)
o Fix compile warnings in dquot.c (Daniel Roesen)
o Fix fs/namei problem that bit autofs (Linus Torvalds)
o Soundscape PnP support (Sergey Smitienko)
o Compaq Deskpro M internal sound support (Colin Scott)
Alan Cox [Fri, 23 Nov 2007 20:20:22 +0000 (15:20 -0500)]
Linux 2.2.14pre10
o Further PPC updates (Cort Dougan)
o TCPv6 crash fix
o Update Tlan driver maintainer (James Banks)
o Fix syncookie URL (Daniel Roesen)
o Move the scsi_malloc lock (Peter Blomgren)
o Advansys update (Bob Frey)
o Fix Acard compile as built in driver (Arjan van de Ven)
o NFS directory link count fixes (Jim Winstead)
o sk98 compile fixes (Christoph Goos)
o Fix HFS back compatibility problem (Adrian Sun)
o More PPC updates (Cort Dougan)
o Sk98 update (Christoph Goos)
o Update kernel-docs (Juan-Mariano de Goyeneche)
o Buffer race on flush fixes (Andrea Arcangeli)
Alan Cox [Fri, 23 Nov 2007 20:20:21 +0000 (15:20 -0500)]
Linux 2.2.14pre9
o Updated Acard scsi driver. Used their 2.0 driver (Acard + Alan Cox)
+ my tweaks
| Treat this with care. It should be ok but its
| a major driver change.
o PPC update for bootx (Cort Dougan)
o Compile combination fixes (Arjan van de Ven)
o Fix scsi_malloc locking holes (Jens Axboe)
o Fix sk98 non x86 problems (Christoph Goos)
o Fix lp port tunelp bits (Tim Waugh)
o Alpha updates (Jay Estabrook,
Richard Henderson)
o gcc 2.95 changes
o pcnet32 fix (Thomas Bogendoerfer)
Alan Cox [Fri, 23 Nov 2007 20:20:19 +0000 (15:20 -0500)]
Linux 2.2.14pre8
o Fix profiling on sparc (Dave Miller)
o Fix Sparc/Alpha FPU emu bugs (Jakub Jelinek)
o Fix net symbols and net init config option (Andrzej M. Krzysztofowicz)
o MatroxFB update (Petr Vandrovec)
o Aic7xxx update (Doug Ledford)
o Advansys SCSI update (Bob Frey)
o PPC default configuration updates (Cort Dougan)
o Kmod could chdir() init by accident. (Chip Salzenberg)
o NFS dentry revalidation fixes for unfsd bugs (Trond Myklebust)
o Fix sdla symbol clash bug fix bug (Arjan van de Ven)
o Backout keyboard fix (causes packet loss and (Alan Cox)
other problems)
o Fix SMP races in scsi cd (Jens Axboe)
o MorePPC updates (Cort Dougan)
o AMI MegaRaid update (AMI)
o Print hash sizes in K not in bytes (Zack Weinberg)
o Fix SMP races in scsi generic (Doug Gilbert)
o Split BT848/MSP3400 for cleaner compile/cfg (Arjan van de Ven)
o Alpha FPU emulator update (Jakub Jelinek)
o Fix error in Config.in (Sam Clippinger)
o Fix fencepost error on mmapping the top page (Christian Zankel)
o Fix a case where a busy CD could be ejected (Jens Axboe)
o Include both tulip drivers (sigh) (Alan Cox)
Alan Cox [Fri, 23 Nov 2007 20:20:17 +0000 (15:20 -0500)]
Linux 2.2.14pre7
o IRDA builtin config fix (Arjan van de Ven)
o YAM without procfs fix (Arjan van de Ven)
o Maths emulator updates (Dave Miller)
o Sparc updates for symbios controllers (Dave Miller)
o PowerPC update (Paul Mackerras)
o PowerPC update update (Cort Dougan)
o Sparc build fix for ide-tape (Dave Miller)
o Fixes for some compile combinations failing (Arjan van de Ven)
o Fix scsi/iphase config check (Arjan van de Ven)
o Arlan + procfs fix (Arjan van de Ven)
o Fix ver_linux for sh utils 2.0 (Kent Skaar)
o VGA16 fix and sdla symbol clash fix (Arjan van de Ven)
o Fix sparc/raid build problem (Dave Miller)
o Jazz16 audio speed rounding improvement (David Schleef)
o PCI documentation update (Bret Indrelee)
Alan Cox [Fri, 23 Nov 2007 20:20:15 +0000 (15:20 -0500)]
Linux 2.2.14pre6
o Fix missing auth check in shaper (Alan Cox)
o ISDN update (Karsten Keil)
o Sparc update (Dave Miller)
o NFS/TCP races fixes (Dave Miller)
o Remove unused nfs show_dentry routine (Dave Miller)
o Networking updates (Dave Miller)
o Fix to oom changes in ptrace for kills (Dave Miller)
o Delay on keyboard polls to fix some DECompaq kit(Phillip Ezolt)
o Documentation for the SiS900 card. Move to non (Ollie Lho)
experimental
o SMBfs improvements on directory scan (Andrew Tridgell)
o Documentation additions for oops-tracing (Keith Owens)
o Add HITACHI GF-1050 to the DVD RAM list (Rogier Wolff)
o Longer timeouts in ide-scsi for CD-RW (Mark Lord)
o Fix IDE/PCI compile
o Export inode_generation_count
o Maestro driver update (Fufu Brown)
Alan Cox [Fri, 23 Nov 2007 20:20:12 +0000 (15:20 -0500)]
Linux 2.2.14pre4
o Signal race fix (Dave Miller)
o NFS root fix (Peter Braam)
o NFS root fix fix (Trond)
o COMX drivers (Gergely Madarasz)
o Wireless updates (Jean Tourrilhes)
o Netdev list has moved (Ralf Baechle)
o SMP and other fixes for scsi generic (Douglas Gilbert)
o Fix IP masquerade (Joseph Gooch)
o Bridge printk levels (Stuart Lynne)
o IPFW fix rule number logging, improve locking (Rusty)
o Fix bug in fd array expansion (Savochkin Andrey Vladimirovich)
o Make FPU emulator safe with newer compilers (Bill Metzenthen)
o SiS900 driver update (Ollie Lho)
o Documentation fix (Michael Babcock)
o EATA scsi update (Dario Ballabio)
Alan Cox [Fri, 23 Nov 2007 20:20:08 +0000 (15:20 -0500)]
Linux 2.2.14pre2
o Back out buggy masquerade tweak
o Add Matrox G400 fb support (Petr Vandrovec)
o a.out improvements (Andrea Arcangeli)
o More build fixes (Arjan van de Ven)
o Report new intel CPU caches correctly (Dragan Stancevic)
o Fix doubled io_apic_setup extern (lots of folks)
o Updated list of documentation about the kernel (Juan-Mariano de Goyeneche)
o IDE/SMP fixes (Mark Lord)
| This isnt Andre's big stuff - yet...
o Quota fix (Jan Kara)
o Handle NEC 260 IDE CD right (David Woodhouse)
o Masquerade fix (Joseph Gooch)
o PCI parallel port handling (Tim Waugh)
o Tulip 0.91g (Donald Becker)
Alan Cox [Fri, 23 Nov 2007 20:20:07 +0000 (15:20 -0500)]
Linux 2.2.14pre1
o Update Alpha architecture slightly (Jay Estabrook)
o Multi-apic support (Ingo Molnar)
o Fix FC4 compile glitch (Alan Cox)
o PCNet 32 speed ups (HP, Alan Cox)
o Update oldpci tables
o Qlogic Alpha fixes (Jay Estabrook)
o Audio compile fixes
o knfsd 0.4.7 (HJ Lu et al)
o Hashing scale by memory (Dave Miller)
o Revert a.out change, switch from timers to (Several people)
counts
o Support very big disks (Andries Brouwer)
o Compile cleanups (Arjan van de Ven)
o Fix enabled flag on transparent proxy on (Alan Cox)
o SIS900 driver update (SIS)
o Small PPC update (Cort Dougan)
o Increase loader heap for uncompressing (HJ Lu)
o Future domain build fix (Anthony Barbachan)
o Bring PCI sound drivers in 2.2.x in line with
2.3.x enhancements (Thomas Sailer)
o Documentation fixes (Thierry Vignaud)
o Bridge update (more of a rewrite) (Matthew Grant)
o Masquerade fix (Juanjo Ciarlante)
o Changes file update (Chris Ricker)
o NFS zero padding cleanup (Trond Myklebust)
o Clean up OPL3 configuration and surplus options (Thomas Molina)
o GCC 2.95 patches (Bero Rosenkraenzer)
| If you hit problems please verify them with an
| older gcc, but you should now be able to build
| with 2.95.* to go looking for them...
Alan Cox [Fri, 23 Nov 2007 20:20:02 +0000 (15:20 -0500)]
Linux 2.2.13pre17
o Fix real time signal queue corruption (Dave Miller)
o Work around a thinkpad APM bug (Paul Martin)
o Adaptec AIC7xxx update (Doug Ledford)
o Soundpro doc updates (Ionut Badescu)
o Small poll cleanup (Andrea Arcangeli)
Alan Cox [Fri, 23 Nov 2007 20:20:00 +0000 (15:20 -0500)]
Linux 2.2.13pre16
o Partially rethink the SMP/IDE fix (Alan Cox)
o Fix the Yamaha CDRW bug (Alan Cox)
o Fix xtime lock on Alpha (Andrea Arcangeli)
o Sparc video locking patch (Dave Miller)
Alan Cox [Fri, 23 Nov 2007 20:19:59 +0000 (15:19 -0500)]
Linux 2.2.13pre15
o Symbios 1510D SCSI added to sym driver (Charles White)
o Cyclades update (Ivan Passos)
o Fix SMC ultra oops on unload (Paul Gortmaker)
o Small SX serial driver fix (Rogier Wolff)
o Quota fix (Jan Kara)
o ISDN update (Karsten Keil)
o Driver for NCR 53c710 PC controllers (Richard Hirst)
o Fix int v long warnings (Mikael Pettersson)
o ESS solo1 claimed excess resources (Thomas Sailer)
o Fix missing \n in CPU info (Petri Kaukasoina)
o Sparc updates (Dave Miller)
o Network small fixes (Dave Miller)
o Clean up DVD/Ghost handling (Rogier Wolff)
o PCSP has moved site (David Woodhouse)
o Hopefully fix SMP/IDE hang (Alan Cox)
Alan Cox [Fri, 23 Nov 2007 20:19:53 +0000 (15:19 -0500)]
Linux 2.2.13pre11
o Fix /dev/random scribble (Ted Tso)
o Multicast on token ring (Mike Phillips)
o Fix tty locking bug (Ted Tso)
o Alpha updates (fix udelay etc) (Jay Estabrook)
o Make NULL C++ friendly in kernel (Ben La Haise)
o pcwd watchdog bug fix (Marc Boucher)
o Fix dummycom bug on Alpha (Jay Estabrook)
Alan Cox [Fri, 23 Nov 2007 20:19:51 +0000 (15:19 -0500)]
2.2.13pre10
o Fix SA_SHIRQ handling bug (Andrea Arcangeli)
o SMP time locking (Andrea Arcangeli)
o Fix i386 tlb race (Andrea Arcangeli)
o Fix bh race on SMP (Andrea Arcangeli)
o SMP scheduler boot up race fix (Andrea Arcangeli)
o NFS fix (Trond)
o Clean up ntohl/htonl on 64bit boxes (Jakub Jelinek)
o Neomagic NM256 audio
Alan Cox [Fri, 23 Nov 2007 20:19:50 +0000 (15:19 -0500)]
Linux 2.2.13pre9
o Make shmall configurable (Henrik Nordstrom)
| + fixed a couple of bugs
o Amateur radio update (Tomi Manninen)
o Tlan unloads if it finds no cards (Christian Holtje)
o ISOfs fix (Todd Sabin)
o Fix Amiga RDSK parsing (Benny)
o Fix signal delivery hole (Alan Cox)
o Davicom D9102 driver (Sten Wang, Davicom)
o Strlen_user fix (Ivan Kokshaysky)
| I still strongly recommend you don't use gcc 2.95 to
| build 2.2.13 kernels. There are 3 or 4 reports now of 'random
| crash' that went away with older compilers.
o Hopefully fixed the 3c527 properly (Alan Cox)
Alan Cox [Fri, 23 Nov 2007 20:19:48 +0000 (15:19 -0500)]
Linux 2.2.13pre8
o Fix PCI/PCI_QUIRKS compile error (Alan Cox)
o I/O APIC update (Ingo Molnar)
o ISDN update (Karsten Keil)
o SyncLink update (Paul Fulghum)
o PPC Update (Paul Mackerras)
o QlogicISP fix (Dave Miller)
o Update ctime on rename (Chris Siebenmann)
o NFS generation ids (G. Allen Morris III)
o Fix /proc kstk values (Solar Designer)
o Updated multisound drivers (Andrew Veliath)
Alan Cox [Fri, 23 Nov 2007 20:19:46 +0000 (15:19 -0500)]
Linux 2.2.13pre7
o EEPro100 for Ultrasparc (Dave Miller)
o MediaGX audio bug workarounds (Alan Cox)
o Wavelan bug fixes (Jean Tourrilhes)
o SBNI driver (Yaroslav Polyakov)
o AHA1542 option fix (Chris Faulhaber)
o Fix possible sync_quota race (Jan Kara)
Alan Cox [Fri, 23 Nov 2007 20:19:43 +0000 (15:19 -0500)]
Linux 2.2.13pre5
o Fix 3c527 multicast crash (Alan Cox)
o VIA Apollo Pro needs DMA workaround (Takehiro TOMINAGA)
o bttv ADS data update (Karl Heinz Kremer)
o Clean potential kernel->user data leak (Rpbert de Vries)
o Advansys driver update (Bob Frey, Advansys)
o Optimise the memory zoning changes (Ben LaHaise)
o Fix memory tracking bug in sk_buffs (Henner Eisen)
o strnlen_user/exec fixes (Solar Designer)
| sparc,ppc fixes to follow
o Always defragment is now a sysctl
o Documentation update for SG (Doug Gilbert)
o Module parameters for tlan (spotted by Keith Owens)
o Fix qnx memory corruption (Andries Brouwer)
o Masquerade list fixes (Julian Anastasov)
o CD-ROM update (Jens Axboe)
o Fix task counting race (Curtis Regentin)
Alan Cox [Fri, 23 Nov 2007 20:19:41 +0000 (15:19 -0500)]
Linux 2.2.13pre4
o Fix ATP delay loop (Alan Cox)
o Fix tioccons tests (Miquel van Smoorenburg)
o VIA 82Cxxx audio (Jeff Garzik)
o Trust radio driver (Eric Lammerts)
o IBM ServeRAID driver (Keith Mitchell, IBM)
o C-Media CMI 8338 PCI audio driver (Chen-Li Tien)
Alan Cox [Fri, 23 Nov 2007 20:19:38 +0000 (15:19 -0500)]
Linux 2.2.13pre2
o Fix mm warning (Pascal Dupuis)
o Improved execve fix (Solar Designer)
o Fix SiS900 compile bug (Bill Nottingham)
o Fix bttv tuner breakages (Pauline Middelink)
o Don't print confusing reports on
3c529 probes with io/irq forced (Me)
o Support multiple eepro cards (Pascal Dupuis)
o New home for watchdog tools (Michael Meskes)
o IP masquerade mfw fix (Julian Anastasov)
o Name check fix in /proc/pid (Solar Designer)
o Make chown match tighter 2.0 behaviour (Solar Designer)
| Both behaviours are spec compliant btw
o Disallow non root use of clone_pid (Solar/Alan Cox)
o PPC sync up (Paul Gortmaker)
o Sparc sync up (Dave Miller)
Alan Cox [Fri, 23 Nov 2007 20:19:37 +0000 (15:19 -0500)]
Linux 2.2.13pre1
o execve() fix - based on one by (Tymm Twillman)
p ext2fs flag fixes (Matthias Riese)
o i2c tuner update (from Pauline Middelink)
o bttv schedule on irq fix
o Console race fixes/klogd (Andrea Arcangeli)
o Ensure version is up to date (David Woodhouse)
o QlogicFC fixes (Chris Loveland)
o Fix memory leaks in the serial layer (Armin Groesslinger)
o ARM sound fixes (Phil Blundell)
o Assorted warning cleanups (Riley Williams)
o Fix arcnet bug in 2.2.12 (Riley Williams)
o Small NFS fixes (Trond Myklebust)
o Updated sb1000 docs (Clemmitt Sigler)
o Fix IPX packet handling (Kelly French)
o PCI multifunction fixes (Martin Mares)
o Back out mmap resource change (Dick Streefland)
o Minor cleanups (Mikael Pettersson)
o Fix vt console print (Andrea Arcangeli)
o Rate limit a.out binfmt errors (Alan Cox)
o Generate different ksyms for 1G/2G (Alan Cox)
o Small cleanups (David Weinehall)
o Munmap, vm cache fix (Stephen Tweedie)
Alan Cox [Fri, 23 Nov 2007 20:19:35 +0000 (15:19 -0500)]
Linux 2.2.12
Platforms:Alpha (see notes), PowerPC, Sparc, X86
Introduction
Linux 2.2.12 is the latest update to the Linux kernel tree. It fixes the memory
leak bug in the 2.2.11 kernel. In addition it updates various drivers and the
platform specific support. The out of the box tree supports the Alpha, PPC,
Sparc and X86 platforms. MIPS is mostly merged but you should obtain the
platform specific tree. It is hoped MIPS and PowerPC will soon be fully merged.
ARM and M680x0 users should get their platform specific tree.
Known Bugs
On the Alpha platform we know the new maths code currently fails some glibc
maths checks. The Alpha port people are looking into this. Expect patches soon.
Compilers
This code is intended to build with gcc 2.7.2 and egcs 1.1.2. It is known that
not all of it builds validly on the x86 CPU's with gcc 2.95. As far as we know
these are Linux not gcc issues. Fixes for gcc 2.95 to gcc 3.0 may go into Linux
2.2 in time. You should therefore not use gcc 2.95 to build stable kernels for
the moment.
Binary Compatibility
Linux 2.2.12 changes a few internal system structures. You may need to rebuild
a few third party modules such as pcmcia-cs when upgrading from older kernels
to this one.
Security Notes
The TCP fixes in the 2.2.12 kernel for the memory leak and Solaris food fight
are the only security updates. You can obtain them seperately to 2.2.12 from
the 2.2.11 release notes. Linux 2.2.11 with the errata is believed to be as
secure as 2.2.12 unless you are trying to use strictly enforced capability
sets. In which case you may wish to apply the fs/proc/array.c patch from 2.2.12
to get precisely the same security.
Architecture Updates
Alpha
Further changes have been made to the maths emulation support.
A bug where the floppy drive may be unusable for alternating periods of
49.7 days has been fixed.
The Symbios cache test should now pass and the SCSI work properly.
i386
Optimisations for the IDT Winchip.
Identify and report the AMD Athlon.
Fix a crash on boot with the AMD Athlon.
MIPS
Fix a timeout scheduling error in the dz driver.
PowerPC
All the PPC changes should now be merged.
Sparc
A problem with the viking MMU code has been fixed.
A small Sparc64 kernel_thread change.
Core Updates
File Handles
The kernel now supports large numbers of file handles per process.
The default remains unchanged but can be raised by processes.
Memory Limits
Certain parts of the kernel didn't correctly interpret RLIM_INFINITY
and enforced 2Gig limits.
Mlock
Munlock was checking for CAP_IPC_LOCK when it should only be required
to lock memory.
Quota
Fixed a pair of accounting errors in the quota code.
Driver Updates
Computone Intelliport 2
A driver for this card under Linux has been included.
DAC960
The DAC960 driver has been updated.
ESS Solo
An experimental driver for this PCI sound card is now included.
Iomega Buz
A Zoran ZR36067 driver for video capture including MJPEG capture is
now included.
This works with the Iomega buz but does not yet support the LML33.
ISDN
The ISDN fax patches have been merged.
The hisax driver now passes certification with some ELSA cards.
Fix a buffer headroom issue with compression and ISDN ppp.
MAD16
The MAD16 driver now defaults to not enabling its on board CD port.
This avoids problems with users not being aware the default may
interfere with other drivers.
Multitech ISI driver
Support for PCI interrupt sharing is now included.
PCWD Watchdog
Revision A boards reported their status incorrectly.
Soundblaster
A case where IRQ 0 may be erroneously freed has been fixed.
VisWs Sound
The SGI visual workstation onboard audio is now supported.
VisWs Video
The SGI visual workstation onboard video driver has been improved.
File System Updates
Welsh Language
ISO 8859-14 (The Celtic languages) is now supported for UTF8 translations.
Miscellaneous Updates
ChangeLog
The Changelog has been updated to reflect newer tools.
Documentation
Various documents have been updated.
Network Updates
Alteon AceNIC
Small changes have been made to reduce its interrupt load and increase
performance further.
Interphase 5526
This fibre channel chipset is now supported under Linux
RTL8139
A sign handling bug has been fixed that might have caused memory leakage.
SB1000
The errata patch for the SB1000 has been folded into the 2.2.12 kernel.
This driver is now functional.
SiS900
This driver has been updated further.
SCSI Updates
PAS-16
The module now allows you to set the I/O and IRQ.
Symbios controller
The symbios 53C876 revision 32 is now supported.
Security Updates
/proc/kcore
The RAWIO capability is now needed to access /proc/kcore.
Memory leak from TCP
This is the nasty bug fixed in the 2.2.11 errata. The fix is also in 2.2.12.
Solaris food fight
This TCP fringe case has been fixed.
Tightened capabilities
We have tightened the capabilities needed for setting frame buffer bases
to include RAWIO.
Alan Cox [Fri, 23 Nov 2007 20:19:24 +0000 (15:19 -0500)]
Linux 2.2.12pre1
Fix
o Fix the TCP memory leak (Dave Miller)
o Fix the 6Mb kernel bug on PPC (Paul Mackerras)
o Fix shared IRQ on ISI serial (Alan Cox)
| Still not SMP safe it seems
o Sb1000 compiles built in (Alan Cox)
o Sb1000 works (Alan Cox)
o Fix warning in eth16i driver
o Sis900 driver update (Jim Huang SIS)
o PAS16 takes module arguments (Bob Tracey)
o 53C875 model 37 detection (Pekka Pietikanen)
o Autofs deadlock with nfs
o Require RAWIO cap for kcore (Matthew Kirkwood)
o munlock isnt priviledged (Matthew Kirkwood)
o RLIM_INFINITY handling (Kanoj Sarcar)
Add
o Enhanced Raid (Ingo Molnar)
o Computone Serial Driver (Computone)
o Minor documentation update
o IP virtual server masquerade (Wensong Zhang and others)
o Iomega Buz capture driver (Rainer Johanni, Dave Perks, et al)
o Large file array support (Stephen Tweedie)
o FPU emulation enhancements for
Alpha (Richard Henderson)
o Universal Serial Bus (Assorted, backport by Paul Mackerras)
o Detect AMD Athlon and report (Alan Cox)
o Honour Bios EBDA (??)
o PPC updates
o Celtic language NLS (Rhys Jones)
o IPH5526 FC Driver (Vineet M Abraham)
Alan Cox [Fri, 23 Nov 2007 20:19:22 +0000 (15:19 -0500)]
Linux 2.2.11
Platforms:Alpha, Sparc, X86
Introduction
Linux 2.2.11 is the latest major update to the Linux kernel tree. It fixes
security holes in the kernel so should seriously be considered as an important
update for all Linux 2.2 systems. The out of the box tree supports the Alpha
the Sparc and X86 platforms. PowerPC and MIPS are mostly merged but you should
obtain the platform specific tree. It is hoped MIPS and PowerPC will soon be
fully merged. ARM and M680x0 users should get their platform specific tree.
Binary Compatibility
Linux 2.2.11 changes internal system structures. You should therefore rebuild
third party kernel modules such as pcmcia-cs when upgrading from older kernels
to this one.
Security Notes
If you have local users on the machine there are no workarounds for some of
the fixed bugs. If you are concerned only with remotely exploitable bugs then
the only concern is the firewall bug. This can be worked around by
1. Applying just the patch to net/ipv4/ip_fw.c or
2. Building a kernel with CONFIG_ALWAYS_DEFRAGMENT.
This is the recommended configuration for a firewall except where there
are multiple ingres paths. Using this option also screens clients behind
the firewall from fragment attacks.
It is possible the socket binding bug can be exploited remotely by requesting
the right things from a server. We are not aware of any ways to do this.
Architecture Updates
Alpha
Extensive updates to the Alpha platform support have been merged from the
Alpha maintainers. Significant changes have been made to the maths
emulation support.
i386
Support is now available for machines with 2Gig of RAM.
The interrupt handling has been modified for better SMP performance.
An SMP race when freeing an interrupt has been cured.
The interrupt return path has been optimised for modern CPU's with a
hardware call stack.
ioremap now allows mapping to the top of memory.
Mips
Most of the mips port has been merged with the main tree.
The work is not totally complete.
PowerPC
Some changes have been merged.
Sparc
The master kernel should now be up to date with the Sparc tree.
A problem with the Sun4m SMP has been fixed.
Sparc64 support for TV capture cards has been added.
A race condition on core dumping has been fixed.
Core Updates
Coloured Zero Page
The kernel core supports a colouring of zero pages.
Currently only the MIPS port uses this facility.
Fork
Fork set the processor id to NO_PROC_ID. This could cause crashes.
Kupdated
The update task now runs in kernel space instead of user space.
Memory allocation
The memory allocator has been updated so that it tries a lot harder to
keep ISA DMA memory pools available.
PCI bus
If the machine ran out of memory during boot up scanning of the PCI bus
it would crash.
Request Length Limit
The block device layer can now do merging of non memory-contiguous
requests for some drivers and can also limit the number of segments
per merge.
Signal Handling
Queued RT signals had atomicity problems that could eventually cause them
to stop working.
Swapping
An off by one error that could cause system deadlocks when you ran out of
memory has been fixed.
Driver Updates
BTTV TV capture
The capture driver now supports the ultrasparc platform.
The LifeView FlyKit card is now supported.
Cadet Radio Driver
A bug has been fixed which could cause RDS data corruption.
CDROM driver
A procfs handling bug where the cdrom layer could hand back more data
than was requested has been fixed.
Compaq SMART2
The Compaq SMART2 now has a Linux driver.
Cyclades multiport serial
Interrupt mode is supported on the Cyclom-Z>br>Several minor bugs were fixed.
Gemtek Radio
The I/O address for the onboard GemTek card is now recognized.
IDE CDROM
Several small bugs have been fixed.
IDE Floppy
The ZIP disk corruption problem should be dead.
IDE Tape
An SMP race condition has been fixed. A case where it used memory after
freeing it has been fixed.
ISDN4Linux
Significant updates have been made to the ISDN layer in the kernel.
Several more cards are now supported.
Multitech ISI series multiport adapters
Support has been added for the PCI bus ISI cards.
Mylex DAC-960
The DAC-960 raid controller card is now supported by Linux.
Network Block Device
The network block device mis-set the size of larger network block devices
(those over about 2Gig).
Parallel Port
ECP Parallel ports are now dropped into a PS/2 like mode.
Radiotrack 2
This driver previously only worked as a module.
It now works compiled into the kernel.
Sound Layer
The DMAsound driver has several small bug fixes.
Allocation bugs were fixed on the ES1370/ES1371 and SonicVibes drivers.
The S/PDIF output is now supported on newer ES1371 chips.
A configuration bug on the Opti C924 has been fixed.
The OPL3/SA2 driver has been improved.
ES1869+ ESS chips should now play at the right speed.
3DSE enable/disable is supported by OSS.
The joystick on the trix card is now runtime configurable.
Specialix SX/SI multiport
These cards are now supported by a new specialix serial driver.
Quick Cam
A memory allocation bug that could cause crashes in both the quickcam
drivers has been fixed.
Serial
A bug that prevent shared interrupt mode working on the PC serial driver
has been fixed.
TGAfb
A frame buffer for the DECChip 21030 frame buffers.
These are found in many of the Alpha based machines.
VGA Frame Buffer Console
Linux 2.2.11 adds a native EGA/VGA 16 colour console to the frame buffer
console support. This is primarily aimed at GUI installers but can be
used for other things too.
File System Updates
CODA
Coda now supports pipe devices. Several other cleanups/changes.
EFS
SGI EFS is now supported read only.
Ext2fs
"Too large" error andling errors on very large files have been fixed.
The immutability rules have been updated.
FAT
FAT now caches by starting cluster.
FAT knows FAT32 is really only 28bit.
Now generates inode numbers differently.
FIBMAP
The FIBMAP ioctl now requires RAWIO capability.
ISOfs
A case where the ISO fs could crash the machine when it ran out of memory
has been resolved.
Lockd
A list mishandling bug in the lock daemon has been fixed.
2.0.x compatible 'local only' locking is supported.
Loop Device
The loopback driver for mounting file systems onto files now checks the
underlying layer supportd bmap().
Nextstep CD-ROM supported
The UFS file system can now handle NextStep CD-ROM format.
NCP fs
A null pointer crash case has been fixed.
NFS client
A stale handle case has been fixed.
Pipes
A technical violation of the SuSv2 specification when preading 0 bytes
from a pipe has been fixed.
Procfs
The kernel memory image now reports the correct offset for its base.
A memory handling bug has been fixed.
QNX fs
A crash when bad blocks are read has been fixed.
Quota
A whole pile of races, especially SMP races, in the Quota subsystem
have been fixed.
UFS
Crashes when a block cannot be read have been cured.
Ultrix Partition Tables
Ultrix partition tables are now supported.
This is needed for the MIPS port in particular.
Miscellaneous Updates
ChangeLog
The Changelog has been updated to reflect newer tools.
Network Updates
Alteon AceNIC
The driver now recognizes the Farallon PN9000SX and the SGI variants
of the board.
Appletalk
Now allows larger net ranges as 2.0 did. Fixed a crash on route changes.
ARCnet
Several cases where an out of memory could crash the machine have been
fixed. The irq probe delay has been increased to resolve a problem on
some SMP boxes using ARCnet cards.
Arlan
The ISA bus Arlan radio interfaces are now supported.
Bridge
The bridge layer handled BPDU time values wrongly.
Comtrol Hostess SV-11
A case where a DMA channel could be freed twice has been cured.
COSA
The COSA driver has several bugs fixed including a firmware bug workaround
and a deadlock bugfix.
CS89x0
Underrun handling on the DMA was faulty. This update should fix it.
DEPCA
Bridging did not work with the DEPCA driver due to an error in the
packet length computation.
General Instruments Surfboard 1000
A driver supporting the internal SB1000 ISA card has been added to the
kernel. For more information see http://home.adelphia.net/~siglercm/sb1000.html.
IBM 'Olympic' PCI token ring adapters
Support has been added for most of the IBM PCI token ring adapters.
The Lanstreamer is not yet supported however.
IP layer
Fixed routing bug, socket hashing bug, crash with MTU below 68 bytes.
An IGMP protocol handling error has been fixed.
IP version 6
The firewall code could oops if it ran out of memory.
IPX
IPX packet routing could oops if the machine ran out of memory.
Lance
The Lance driver could oops if there was no memory free.
Masquerade
Masquerading made a poor choice of hashes for some operations.
The IRC masquerade did not understand the extended DCC commands.
Multicast Routing
PIM2 checksumming was incorrect and broke with old peers.
NE2000/PCI Driver
This now supports the PowerPC and also the differently broken Holtek chips.
NetROM
The NetROM layer could oops during loading if it ran out of memory.
Packet Schedulers
Several bugs were fixed in the packet scheduling.
PCNet 32
Now supports the 79cc973/5 chips.
Some PCI scanning changes have been made.
A bug with manual MII selection has been fixed.
Realtek 8129/8139
This driver has been updated.
ROSE
The ROSE layer could oops during loading if it ran out of memory.
Sealevel Systems 4021
A driver for this Z85230 based card has been added.
Seeq 8005
This driver may now be built as a module.
SiS900
An experimental driver for this new chipset is now included.
sk_mca
Minor MCA bus fixes
Synchronous PPP
A bug where the synchronous PPP driver would drop connections under high
load due to keepalive lossage has been fixed.
TCP Protocol
Fixed a race condition with two writers and partial writes.
Update workarounds for bugs in the PAWS protocol (RFC1323)
Fix crash in socket binding.
Tulip Driver
A fix for a race where the Tulip driver would hang has been added.
VIA Rhine
This driver has been updated.
Wavelan
The frequency handling for the wavelan has been updated for the newer
modem revision.
YAM FPGA Radio Modem
This is now supported under Linux in 1200 and 9600 baud mode.
Yellowfin
The yellowfin driver has been updated to correctly handle non x86 platforms.
Z85230
Several non fatal bugs in the Z85230 synchronous driver have been fixed.
SCSI Updates
The general SCSI layer has been updated to fix a couple of read only reuses of
freed memory and to fix oopses when loading modules and running out of memory.
A problem where the scsi error thread stopped initrd unloading has also been
fixed.
AHA152x
Driver is now SMP safe. Abominable responsiveness under heavy load should
also be cured.
AHA154x
Supports loadtime options as a module for configuration.
Supports AHA1542CFP geometry translation modes.
AIC7xxx
Updated to fix various reported bugs.
AMI Megaraid
Fixed a bug with manager control commands causing false SCSI layer errors.
Increased SCSI command timeouts.
ATP870U
This driver is now SMP safe.
Constants
The SCSI layer will now name SCSI 2 commands in verbose error reports.
EATA
The driver will set a device to master mode if need be.
EATA-DMA
This driver is now SMP safe.
IDE SCSI
When scsi generic was used the IDE SCSI layer could get confused.
IDE SCSI generic transform couldn't be disabled once enabled.
IN2000
The assembly part of this did not compile with the latest compilers.
Initio SCSI
On non X86 platforms some delays were incorrect by a factor of ten.
NCR 53c8xx
Fix misdetection of 53C875E and other minor fixes.
NCR 53C9x
Driver is now SMP safe.
QlogicFC
Now supports the isp2200 card.
Qlogic ISP
Geometry handling corrected for larger than 8Gig disks.
Symbios 53c416
This driver is now SMP safe.
Symbios 53c8xx
Fix misdetection of the 53C875E. Added support for the 53C895A.
Updated scripts.
Security Updates
AX.25
The AX.25 layer had a bug allowing arbitrary scribbling into kernel space
by an application. The area hit is hard to control so the exploit is
probably limited, but still dangerous.
Capabilities
There is now a bounding capability set that can only be increased by
process 1. This provides securelevel equivalence.
Firewall
A carefully constructed packet sequence could rewrite the port numbers on
a packet potentially allowing frames that should be screened through the
firewall.
Mremap
Mremap called zap_page_range with incorrect arguments.
A large realloc() under glibc could do all sorts of nasty things.
Sysrq
It is now possible to build a kernel with debugging sysrq support and
enable/disable the option at runtime.
TCP
Some unusual patterns of socket binding could cause a crash.
A user could deliberately trigger this. Now fixed.
/dev/port
The RawIO capability is now required to open /dev/port, /dev/mem
and /dev/kmem.
Alan Cox [Fri, 23 Nov 2007 20:19:12 +0000 (15:19 -0500)]
Linux 2.2.11pre2
Core Changes
o Crashes and other problems caused by atomicity errors in signal
delivery are cured.
o Fixed bug in mremap
o Try to preserve DMA pages
o Swapfile miscalculation deadlock fix
o Fix the free_irq race on x86 SMP
o Zero page colouring is supported. Only Mips uses it. The changes for
other architectures are macro no-ops
o ll_rw_blk supports segment limiting on mergeing for scatter gather
o Move to 128 requests outstanding (needed for big end raid kit)
o Fixed out of memory checks in pci scan
o Try to handle out of memory right for scsi
o Fix initrd busy/disk busy problem with scsi_eh thread
o Fix scsi cmd_len bug
o Switch to a kernel side updated
o Add a panic time notifier chain
o A global capability limit is now available akin to securelevel but
fine grained
Network Changes
o Socket hash crashes are fixed
o Appletalk large net ranges allowed as per 2.0.x
o Fix oops in appletalk
o Fix exploitable buffer overrun in AX.25
o Disallow inet devices with < 68 mtu
o Fix masquerade hash keys
o IRC masquerade allows extended commands
o Kernel nfs root bootp fix
o PIMv2 fixes for multicasting
o Fix TCP/UDP address returns on 0 length read
o IPv6 address config fixes
o IPv6 out of memory firewall crash
o IPX oops on out of memory fix
o Netrom/ROSE out of memory fixes
o Remove escaped printk in traffic scheduler
o Various small af_unix changes
FS Changes
o Changes to partition code for names for new raid drivers
o Changes to partition code - added EFS/Ultrix
o Changes to partition code - buffer leak fixes
o Changes to partition code - endian bug fixes
o EFS file system
o Small coda update
o Fix races in quota handling
o Fix ext2fs errors when writing past 2Gig boundary
o FAT now uses cluster numbering for inode info
o Fix the fact FAT32 is really FAT28
o Optimise fat directory scanning
o Stop FIBMAP being used without rawio capability
o Stop crash on out of memory in isofs
o Support 2.0.x compatible local locking over NFS
o Fix NULL pointer crash in NCPfs
o Fix SUS compliance bug in pipes
o Fix out of memory crash in procfs
o Fix disk read error crashes in Qnx and UFS
o Support Nextstep UFS cdroms
Driver Changes
o Sysrq key is runtime enable/disable
o PC keyboard changed to use macros (needed for MIPS and will be
needed for PA-RISC shortly)
o Updated ISDN layer (The patch from SuSE)
o BT848 supports ultrasparc
o Added DAC960 raid driver
o Added Compaq SMART2 raid driver
o IDE CDROM toc/readraw fix
o IDE ZIP fix
o IDE tape updates
o Loopback driver fix some minor flaws
o nbd - fixed a problem where very large nbds reported wrong disk size
o ramdisk - fixed compile warning
o Fixed /proc overrun in cdrom
o bttv - fixed zoltrix tv max, sparc support, added lifeview fly
o bw-qcam/cqcam - fixed kmalloc check missing
o Cyclades. Updated driver from vendor.
o ISI driver update. Now supports PCI cards too.
o Cadet radio driver update
o Tweak gemtek radio to support radio/sound combo card
o Fix IRQ sharing on serial ports
o Radiotrack2 only worked as a module. Fixed
o Added ARLAN radio-lan driver
o Added Olympic chipset driver (IBM PCI token ring)
o Added YAM FPGA amateur radio modem driver
o Fixed memory allocation bugs in arcnet
o Fixed SMP irq detect bug in arcnet
o Clean up copy_*_user stuff in various net drivers
o Correct packet length bug in depca
o Cache align rings for eepro100
o Fix erroneous DMA free in Comtrol driver if run in single DMA mode
o Fix egcs warnings in irda
o Add out of memory check to lance
o Update Ne2K-pci driver. Adds Holtek support
o Fix memory allocation checks in net_init
o Support network stats on shapers
o Updated RTL8139 driver
o Add Sealevel systems sync driver
o Support module built version of Seeq8005 driver
o Fix link drop under load bug in syncppp
o Fix DescOwned race in tulip driver
o Updated VIA Rhine driver
o Alignment fixes for yellowfin driver
o Fix bugs in Z85230
o SMP safety fix for NCR539x
o Clean up and fix several aha152x bugs.
o Fix module options and geometry on aha154x
o AIC7xxx update
o ATP870u SMP safety fixes
o Add SCSI-2 names to scsi debug/verbose info
o SMP safety fixes for eata-dma
o IDE-scsi sg-transform fix
o in2000 asm fixed to work with recent tools
o Megaraid update
o Qlogic FC driver update
o Qlogic ISP geometry fixes
o Clean up OPL3SA sound
o Fix overrun in dmasound
o ES1370/ES1371/Sonicvibes allocation bug fixes
o Opti 924 PnP mode fix
o ESS ISA fixes
o Support AWE32 AWSE device
o Allow joystick selection in trix module
o 16 colour EGA/VGA frame buffer console support
o Enhanced TGA frame buffer
Architecture Changes
o Synchronized with Alpha updates from Richard Henderson
o 2Gig support for i386
o i386 boot up crash on keyboard timeout fix
o Cache align i386 irq structures for performance on SMP
o Fix the ix86 unbalanced call stack performance problem
o Fix the ix86 ioremap to top of memory bug
o Big mips merge with the main mips tree
o Fix missing sparc core dump locks
o Fix semaphore race on x86
o Remove cyrix COMA thing. Use set6x86
Minor Stuff
o Updates CREDITS, MAINTAINERS
o A lot of documentation updates
o Makefile changes for MIPS cross compiling
o Makefile checks genksyms version
o Makefile clean ups
o Fix offset on /proc/kcore
o Added generic memchr
Linus Torvalds [Fri, 23 Nov 2007 20:18:57 +0000 (15:18 -0500)]
Linux 2.2.8
Most of 2.2.8 by far is just architecture updates: arm, ppc and m68k stand
out as having been pretty much synchronized to their respective devel
trees, but there are some fixes to alpha and x86 too.
The one major fix in 2.2.8 is the SMP fix for disable_irq(), courtesy of
Andrea Arcangeli (I disagreed in details and did it differently in the
end, but all the heavy lifting was done by Andrea). This is the thing that
caused silenth deaths for some people with certain network adapters (3c509
and 8390-based cards in particular: the latter covers ne2000 clones which
are fairly common).
There are lots of smaller things (driver updates, filesystem cleanups and
some networking fixes), but the SMP irq thing is the one to kill for if
you happened to have any of the affected cards.
Linus Torvalds [Fri, 23 Nov 2007 20:18:41 +0000 (15:18 -0500)]
There's a pre-3 patch on ftp.kernel.org in the kernel/testing directory,
and I'd really like people to give it a good testing: especially if you've
seen slow network connections to some clients (ie Windows). David worked
in the compatibility patches to work around some of the Windows TCP stack
"features" (and Apple too, for that matter), and we want to get this well
tested. It's all fairly straightforward, but let's be careful out there..
Linus Torvalds [Fri, 23 Nov 2007 20:18:31 +0000 (15:18 -0500)]
Linux 2.2.5 - and a vacation
I made Linux-2.2.5 yesterday (as some people already have noticed: due to
popular demand I try to delay the announcement for some time in order to
let the thing percolate to mirror sites, in case anybody wondered).
The 2.2.5 release is meant to be a final cleanup release before I leave
for a two-week vacation. So please take these release notes to also mean
that it is probably a good idea to hold off emailing me stuff directly,
unless it is a major bug that you really think I should look at
immediately. I would suggest people discuss problems on the mailing list
and on the newsgroups, where other competent people are, rather than
expecting me to do much about it.
Also, note that there have been various indications that egcs potentially
miscompiles the kernel, or at least makes some problems worse. We don't
know whether that is due to one or more kernel bugs, compiler problems, or
just combinations of "features" in both. I would suggest that if you have
problems you at least verify whether the problems still exist with
gcc-2.7.2.
That said, I bet that both the kernel people and the egcs people would be
really happy the more people look into this - if somebody feels motivated
enough and sees problems with egcs, it would be extremely powerful to try
to pinpoint the particular file that seems to bring on the problems. I'm
afraid it needs a known failure mode and lots of legwork to find out what
triggers it, though.
- compiles with accounting.
- add support for Microgate SyncLink and Synchronous HDLC
- stallion driver update
- alpha EV6 and SMP fix for bootup with newer compilers
- ptrace fix for sparc/i386
- small sparc updates
- floppy driver could oops at bootup under certain setups
- random driver updates (bw-qcam, sound driver error codes, etc oneliners)
- FIOASYNC ioctl fix
- network locking fixes
- SMP "struct user" and signal sending fixes
Linus Torvalds [Fri, 23 Nov 2007 20:18:26 +0000 (15:18 -0500)]
Linux 2.2.4
As of 2.2.4, I should be synchronized with the Sparc[64] and PPC ports,
which is the major reason why the patch is pretty huge. Apart from the
architecture synchronizations, 2.2.4 does:
- dumping core over NFS could do bad things. Core-dumping cleaned up and
fixed.
- various small TCP/IP buglets fixed. Linux got confused by hosts that
didn't report any mss, and had problems with zero-sized fragments, etc.
Linus Torvalds [Fri, 23 Nov 2007 20:18:20 +0000 (15:18 -0500)]
Linux 2.2.3pre3
There's a new pre-patch for 2.2.3, one that I was already going to make
the final 2.2.3, but I decided that I'm chicken after all, and that I
might as well let some people check that it's sane.
This pre-2.2.3 does:
- Fix some silly NFS problems. Some of them can be quite bad: lost error
notification of asynchronous writes, which can result in horrible
problems (including lost email etc). Most people wouldn't ever notice,
so don't panic, but forgetting about the error notification certainly
counts as a brown paper bag.
- Alpha should compile and work again
- Various driver updates. This is actually the bulk of the patch, with
IRDA updates, some scsi, video and sound driver updates etc.
- The "mmap forgets about the file that was mapped" bug that has been
discussed here. Only affected certain drivers.
- shaper atomicity fixes
- various minor TCP fixes
- buffer growth fix and recursive IO memory reclaim fix from Andrea
- network filter compiles ;)
- unix gc fixes
Tell me if you see problems, because I'm going to release it as 2.2.3
unless people tell me otherwise..
Linus Torvalds [Fri, 23 Nov 2007 20:18:12 +0000 (15:18 -0500)]
Linux 2.2.2pre4
In a superhuman effort to not get killed by my wife, I delayed the latest
release for a day. And in fact, it's still just a pre-release, because I
wanted to check with Ingo that I have his latest IO-APIC code with the
proper handling of ExtINT. Ingo?
Anyway, the "not quite valentine days release" (also known as the "horny
greased weasel", aka "presidents day" release ;), is right now a pre-patch
on ftp.kernel.org: /pub/linux/kernel/testing/pre-patch-2.2.2-4.gz.
Happily, I haven't heard of any new real show-stoppers, which is good
(especially considering the fact that I gave it an extra week just to hear
if somebody could come up with some new problems). The things fixed
relative to 2.2.1 are:
- the inode thing. If you don't know, don't worry.
- config scripts updated
- IO-APIC cleanups and fixes, so that people with strange motherboards
should be able to reboot cleanly and not get unexpected interrupts.
- 2kB sector media (ie mostly MO) fixes. See all the warnings on the
lists about fdisk confusion etc if you have one of these things.
- IDE disk cleanups/fixes (geometry and autodetection)
- PS/2 mouse hides ACK's again
- pty crash fix
- some network driver fixes (out-of-memory and shared interrupts)
- some sound and video updates.
- lockd cookie fixes
- nfsd readdir reply cache fix
- filesystem/VM deadlock avoidance (new deamon: kpiod)
- SMP scheduler race condition (which nobody has probably ever seen)
- TCP socket locking fix
Most of the above are really hard to see in the first place, and not
something most people would ever hit (with the possible exception of the
inode thang). But it would be good to have a really rock solid 2.2.2, so
if people could just bother to check that it works for them, and I'll make
this official tomorrow.
Linus Torvalds [Fri, 23 Nov 2007 20:18:11 +0000 (15:18 -0500)]
Linux 2.2.2-pre2
this one contains various small documentation updates and updates to xconfig,
but the important parts (and the smallest part of the actual patch) are:
- shared file lockup fix by Stephen Tweedie
- my fix for the TCP bug that Ingo found
- Ingo's io-apic setup fixes, which should finally get rid of the
spurious apic interrupts with some motherboards and the ExtINT setup.
- inode leak thing
- SMP scheduler potential race condition fix
- sound driver updates
- partition and disk fixes (2kB blocksize media and some IDE disk
geometry and irq detection issues).
None of the fixes are critical to most people, but all of them _can_ be
critical to people who have seen vulnerabilities in the area. As such, if
you're happy with 2.2.1 there is no pressing reason to test this patch
out, but I hope to have the pre-patches so that the final 2.2.2 can be
left around for a while (CD-ROM manufacturers etc would certainly prefer
to not see lots of releases).
Linus Torvalds [Fri, 23 Nov 2007 20:18:08 +0000 (15:18 -0500)]
Linux 2.2.1 - the Brown Paper Bag release
The subject says it all. We did have a few paper-bag-inducing bugs in
2.2.0, so there's a 2.2.1 out there now, just a few days after 2.2.0.
Oh, well. These things happen,
Linus
- the stupid off-by-one bug 'execute a coredump' crash found by Ingo
- __down_interruptible on alpha
- move "esstype" to outside a #ifdef MODULE
- NFSD rename/rmdir fixes
- revert to old array.c
- change comment about __PAGE_OFFSET
- missing "vma = NULL" case for avl find_vma()
Linus Torvalds [Fri, 23 Nov 2007 20:18:06 +0000 (15:18 -0500)]
Linux 2.2.0
> Compile this code
>
> ---- cut here ----
> #include <fcntlbits.h>
> void main( int argc, char *argv[] ) {
> open( argv[ 1 ], O_WRONLY|O_CREAT|O_TRUNC, 0666 );
> }
> ---- and here ----
>
> and run it like this
>
> strace ./a.out >(cat - )
>
> with 2.0.36 & 2.2.0-pre[67] you get:
>
> open("/dev/fd/63", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
>
> with 2.2.0-pre[89] you get:
>
> open("/dev/fd/63", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 ENOENT (No
> such file or directory)
Ok, this seems to be due to pre9 removing some rather bogus code that
happened to hide another problem in open_namei().
I haven't actually tested this, but it looks really obvious, so does this
patch fix it for you? (This should also fix a potential performance
bogosity - there's absolutely no reason why we should get the directory
lock when we don't need to for a normal open of an existing file).
Linus Torvalds [Fri, 23 Nov 2007 20:18:05 +0000 (15:18 -0500)]
2.2.0-final
Hoya,
there's now a 2.2.0-pre9 on ftp.kernel.org, and when you compile it it
will call itself 2.2.0-final. The reason is fairly obvious: enough is
enough, and I can't make pre-kernels forever, it just dilutes the whole
idea. The only reason the tar-file is not called 2.2.0 is that I want to
avoid having any embarrassing typos that cause it to not compile under
reasonable configurations or something like that. Unreasonable
configurations I no longer care about.
Every program has bugs, and I'm sure there are still bugs in this. Get
over it - we've done our best, and nobody ever believed that there
wouldn't be 2.2.x kernels to fix problems as they come up, and delaying
2.2.0 forever is not an option.
I have a wedding anniversary and a company party coming up, so I'm taking
a few days off - when I get back I expect to take this current 2.2.0-final
and just remove the "-final" from the Makefile, and that will be it. I
suspect somebody _will_ find something embarrassing enough that I would
fix it too, but let's basically avoid planning on that.
In short, before you post a bug-report about 2.2.0-final, I'd like you to
have the following simple guidelines:
"Is this something Linus would be embarrassed enough about that he would
wear a brown paper bag over his head for a month?"
and
"Is this something that normal people would ever really care deeply
about?"
If the answer to either question is "probably not", then please consider
just politely discussing it as a curiosity on the kernel mailing lists
rather than even sending email about it to me: I've been too busy the last
few weeks, and I'd really appreciate it if I could just forget the worries
of a release for a few days..
But if you find something hilariously stupid I did, feel free to share it
with me, and we'll laugh about it together (and I'll avoid wearing the
brown paper bag on my head during the month of February). Do we have a
deal?
I've seen people working on a 2.2.0 announcement, and I'm happy - I've
been too busy to think straight, much less worry about details like that.
If everything turns out ok, I'll have a few memorable bloopers in my
mailbox but nothing worse than that, and I can sit down and actually read
the announcement texts that people have been discussing.
ObFeatures:
- m68k sync
- various minor driver fixes (irda, net drivers, scsi, video, isdn)
- SGI Visual Workstation support
- adjtimex update to the latest standards
- vfat silly buglet fix
- semaphores work on alpha again
- drop the inline strstr() that gcc got wrong whatever we did
- kswapd needed to be a bit more aggressive
- minor TCP retransmission and delack fixes
Until Monday,
Linus
Linus Torvalds [Fri, 23 Nov 2007 20:18:01 +0000 (15:18 -0500)]
Linux 2.2.0pre7
Ok, I think I now know why pre-6 looks so unbalanced. It's two issues.
Basically, trying to swap out a large number of pages from one process
context is just doomed. It bascially sucks, because
- it has bad latency. This is further excerberated by the per-process
"thrashing_memory" flag, which means that if we were unlucky enough to
be selected to be the process that frees up memory, we'll probably be
stuck with it for a long time. That can make it extremely unfair under
some circumstances - other processes may allocate the pages we free'd
up, so that we keep on being counted as a memory trasher even if we
really aren't.
Note that this shows most under "moderate" load - the problem doesn't
tend to show itself if you have some process that is _really_
allocating a lot of pages, because then that process will be correctly
found by the trashing logic. But if you have lots of "normal load"
processes, some of those can get really badly hurt by this.
In particular, the worst case you have a number of processes that all
allocate memory, but not very quickly - certainly not more quickly than
we can page things out. What happens is that under these circumstances
one of them gets marked as a "scapegoat", and once that happens all the
others will just live off the pages that the scapegoat frees up, while
the scapegoat itself doesn't make much progress at all because it is
always just freeing memory for others.
The really bad behaviour tends to go away reasonably quickly, but while
it happens it's _really_ unfair.
- try_to_free_pages() just goes overboard, and starts paging stuff out
without getting back to the nice balanced behaviour. This is what
Andrea noticed.
Essentially, once it starts failing the shrink_mmap() tests, it will
just page things out crazily. Normally this is avoided by just always
starting from shrink_mmap(), but if you ask try_to_free_pages() to try
to free up a ton of pages, the balancing that it does is basically
bypassed.
So basically pre-6 works _really_ well for the kind of stress-me stuff
that it was designed for: a few processes that are extremely memory
hungry. It gets close to perfect swap-out behaviour, simply because it is
optimized for getting into a paging rut.
That makes for nice benchmarks, but it also explains why (a) sometimes
it's just not very nice for interactive behaviour and (b) why it under
normal load can easily swap much too eagerly.
Anyway, the first problem is fixed by making "trashing" be a global flag
rather than a per-process flag. Being per-process is really nice when it
finds the right process, but it's really unfair under a lot of other
circumstances. I'd rather be fair than get the best possible page-out
speed.
Note that even a global flag helps: it still clusters the write-outs, and
means that processes that allocate more pages tend to be more likely to be
hit by it, so it still does a large part of what the per-process flag did
- without the unfairness (but admittedly being unfair sometimes gets you
better performance - you just have to be _very_ careful whom you target
with the unfairness, and that's the hard part).
The second problem actually goes away by simply just not asking
try_to_free_pages() to free too many pages - and having the global
trashing flag makes it unnecessary to do so anyway because the flag will
essentially cluster the page-outs even without asking for them to be all
done in one large chunk (and now it's not just one process that gets hit
any more).
There's a "pre-7.gz" on ftp.kernel.org in testing, anybody interested?
It's not the real thing, as I haven't done the write semaphore deadlock
thing yet, but that one will not affect normal users anyway so for
performance testing this should be equivalent.
Linus Torvalds [Fri, 23 Nov 2007 20:17:58 +0000 (15:17 -0500)]
Linux 2.2.0pre5
Oh, well.. Based on what the arca-[678] patches did, there's now a pre-5
out there. Not very similar, but it should incorporate the basic idea:
namely much more aggressively asynchronous swap-outs from a process
context.
Comment away,
Linus
Linus Torvalds [Fri, 23 Nov 2007 20:17:56 +0000 (15:17 -0500)]
Linux 2.2.0pre4
Ok, you know the drill by now. This fixes:
- yes, people told me about the new and improved ksymoops. Much better,
no need for C++, and this one actually seems to compile and work
reliably.
- ntfs fixes
- the vfat thing _really_ works now
- NFS fix for deleting files while writebacks active.
- ppa/imm driver updated
- minor mm balancing patches
- Alan took the gauntlet and cleaned up some CONFIG_PROC_FS stuff.
More on Monday,
Linus Torvalds [Fri, 23 Nov 2007 20:17:48 +0000 (15:17 -0500)]
Linux 2.2.0pre2 (December 31 1998)
Well, some people obviously had problems with the first 2.2.0pre, so
there's a second one there. Most of it is almost purely syntactic sugar:
configuration issues and jiffies wraparound, but there were a few problems
wrt some IDE disk geometry stuff in particular that made 2.2.0pre1 not
boot for some people.
Other real changes:
- nfsd updated, and we have an official maintainer for knfsd (and I was
happy by how many people were ready to stand up for it. Good show,
guys!)
- network driver updates (tulip/eepro)
- some TCP fixes for occasional but nasty performance problems.
- fix for an attack where you could cause a complete and utter lockup of
the kernel as a normal user. Thanks to Michael Chastain for keeping the
faith on this one and reminding me to fix it.
If you haven't had problems with pre1, there should be no major cause to
look at pre2. But if you haven't even looked at pre1 yet, please consider
looking at the pre-2.2.0 kernels before it's too late. I'm going to be
extremely rude to people who knew better but didn't test out the pre-
kernels and then send me bug-reports on the released 2.2.0.
Linus Torvalds [Fri, 23 Nov 2007 20:17:46 +0000 (15:17 -0500)]
Linux 2.2.0 (pre1) (28 Dec 1998)
we're in the pre-2.2.0 series now, I'm all synched up with Alan, and I
don't have anything pending any more. Over the internet nobody can hear
you all scream in pain over all your favourite features that didn't make
it.
Linus "another year older and wise as hell by now" Torvalds