Summary of changes from v2.5.75 to v2.6.0-test1 ============================================ [PCMCIA] Prevent PCMCIA oops during socket driver initialisation. We were calling wake_up on an uninitialised wait queue. Oops. Fix this by ignoring events from the socket driver if we know that the pcmcia thread is not running. [PCMCIA] don't hide calls to socket drivers Don't hide calls to the socket driver by "shorthand functions" [PCMCIA] rename ss_entry to ops Rename the strangely named "ss_entry" structure to "ops". NTLMv2 password support and NTLMSSP signing part 1 ntlmssp signing [SPARC]: SEMTIMEDOP for both Sparc ports. [AGPGART] Remove unneeded assignment. [AGPGART] Use defines for register bits in AMD K8 GART driver. [AGPGART] K8 GART driver doesn't need masks. [AGPGART] Ignore multiple K8 GARTS on UP. [AGPGART] Optimise PCI searching in K8 GART driver. [AGPGART] K8 Device 0x1103 is always at PCI_FUNC 3. [PATCH] usblp: usb_buffer_free() not called Here is the blind flight :-) === drivers/usb/class/usblp.c usblp->dev was set to NULL to indicate a device disconnect but we need this value for usb_buffer_free() when device is still opened and cleanup is delayed until usblp_release(). We have a usblp->present now for preventing device read, write, open and ioctl. [PATCH] USB: ftdi_sio update A couple of patches for the ftdi_sio driver on 2.5.73 "2.5.73-ftdi_sio-bigupdate.patch" - this is a big, ugly patch to bring the ftdi_sio driver in line with what recently submitted for inclusion in the 2.4.x kernel (v2.4/testing/cset/cset-abbotti@mev.co.uk|ChangeSet|20030627190202|35624.txt), but with necessary changes for 2.5.x. I've bumped the driver's version number to 1.4.0 to distinguish it from that submitted for the 2.4.x kernel. "2.5.73-ftdi_sio-dynamicwrite.patch" - this adds to the above patch to replace the pool of urbs used for writes with dynamically allocated urbs and transfer buffers. I've tested this on the FT8U232AM and FT232BM and I think I've catered for the older "SIO" device, but I don't have a device to test that. Also, it is not safe to unload the driver module while write urbs are in flight (same as for the Visor driver). [PATCH] USB: fix usb-storage initializers This patch makes the 2.5 initializers use the DMA-safe us->iobuf instead of local stack or local dynamic allocation. [PATCH] USB: fix datafab and freecom to use I/O buffer This patch makes the Datafab and the Freecom driver both use the I/O safe buffer us->iobuf instead of local stack or local allocations. [PATCH] USB: Small correction to usb-skeleton.c This fixes a minor error in usb-skeleton's disconnect() routine: if the interface's private data is NULL, the current code exits without releasing the disconnect_sem semaphore. I removed the test entirely because I can't think of any situation where that private data actually would be NULL, other than a pretty badly malfunctioning system. Why test for something that should never happen? And if it does happen, we shouldn't want the disconnect routine to fail silently -- we should want to see a nice big segfault (when the NULL pointer is dereferenced) so that we can find and fix the underlying error. Is there any sort of convention (a la Documentation/CodingStyle) about whether this approach should be used in general? There are _lots_ of places in the kernel where unnecessary checks for NULL pointers are made. [PATCH] USB: usb_get_string(), don't use bogus ids This fixes a problem that's been around for some time: usbcore will sometimes use un-initialized memory as if it holds a valid language code. [PATCH] USB: usbnet, don't NET_XMIT_DROP Martin Diehl pointed out that the network layer treats a tx drop notification in special ways, so "usbnet" shouldn't be using them. This fixes that problem, which could potentially explain some infrequent oopsing seen in the network layer. (With memory so tight that an URB can't be gotten.) Please merge. [PATCH] USB: fix up my USB Bluetooth entry to help prevent confusion in the future. [PATCH] USB: Updates for unusual_devs.h These changes to unusual_devs.h can be applied to both 2.5 and 2.4. They reflect reports from users in response to the new kernel log messages about unneeded entries in the file. More NTLMv2 [AGPGART] K8 North bridge bus position is no longer relevant. We search for it by PCI ID now. [PATCH] USB: remove pointless warning about using usbdevfs This is being printed when it shouldn't, but there really isn't an easy way to fix it. This closes bug #223. [SPARC64]: Port over IPC msg{snd,rcv} compat32 fixes from ia64. [IrDA] include cleanup o [CORRECT] Cleanup cruft from [IrDA] struct check o [FEATURE] Add struct size check for buggy compilers [IrDA] irtty leaks o [CORRECT] fix two additional potential skb leaks in IrTTP. [IrDA] irnet cast o [FEATURE] remove pointer casting in IrNET debug code missed by David. [IrDA] IrCOMM devfs o [CRITICA] fix IrCOMM bogus device names with devfs [IrDA] setup dma fix o [CORRECT] Make ISA drivers depend on ISA. This is the consequence from David's change to setup_dma(). o [CORRECT] Make new dongle drivers depend on sir-dev (they require it) o [FEATURE] Make old dongle drivers depend on irtty/irport o [FEATURE] irda-usb driver is no longer experimental [IrDA] irda-usb endian o [FEATURE] Add USB-ID of new device o [CORRECT] Endianess fixes (for PPC and co.) [IrDA] nsc 39x support o [FEATURE] Add preliminary support for NSC PC8739x chipset (IBM R31 laptops) [netdrvr sundance] increase eeprom read timeout [e100] cu_start: timeout waiting for cu * Bug fix: 82557 (with National PHY) timeout during init [Adam Kropelin] akropel1@rochester.rr.com [e100] misc * Allow changing Wake On LAN when EEPROM disabled * Change Log updated * Version changed [PATCH] convert plip to alloc_netdev This converts the parallel network driver to use alloc_netdev instead of doing it's own allocation. Tested (load/unload) on 2.5.74 [PATCH] mkiss Below patch cleans the mkiss driver. After the previous cleanup in 2.4.0-prerelease various code had become unreachable because nothing was ever setting MKISS_DRIVER_MAGIC. This fixes fixes an oops - the mkiss pointer was potencially NULL. And it also removes the MOD_{INC,DEC}_USE_COUNT calls. Alan, lemme know if you want me to cook a 2.4 patch also. Patch from Jeroen Vreeken PE1RXQ. Ralf [PATCH] more net driver timer fixes following patch fixes some bogus additions to jiffies (w/o HZ beeing involved) - appletalk/cops.c - appletalk/ltpc.c - declance.c - sb1250-mac.c - sk_mca.c - via-rhine.c against 2.5.73-bk [PATCH] net/pcmcia fix fast_poll timers (HZ > 100) i think we want fast_poll to behave the same with HZ=100 and HZ=1000 [netdrvr dgrs] convert to using alloc_etherdev [netdrvr tg3] more ULL suffixes to make gcc 3.3 happy [netdrvr] fix compiler warnings in 3c359, proteon, skisa tokenring drivers. [netdrvr wavelan] remove check_region usage [netdrvr atmel_cs] kill compiler warning (jumping to "empty" label) [TCP]: When in SYN-SENT, initialize metrics after move to established state. [IPV6]: Fix offset of payload with extension header. Based upon a patch from Thomas Graf . [NET]: Return EDESTADDRREQ as appropriate in sendmsg implementations. Another 1003.1 fix: [EDESTADDRREQ] The socket is not connection-mode and does not have its peer address set, and no destination address was specified. fixes sendmsg in ipv{4,6}/{raw,udp} [NET]: Ok, sunhme is VLAN challenged after all. Open / Create lookup intents part one [IPV4]: Do not sent IGMP leave messages unless IFF_UP. Avoid mmap() overflow case if TASK_SIZE is the full range of an "unsigned long" (sparc64). [PATCH] via-agp.c - agp_try_unsupported typo via-agp.c has the agp_try_unsupported test reverted [PATCH] cryptoloop util-linux is waiting for this: it needs to update "struct loop_info64" to add the encryption policy name. Add mknod support [PATCH] parisc updates arch/parisc, drivers/parisc and include/asm-parisc updates: - Fixups for struct timespec changes (James Bottomley) - Add CONFIG_FRAME_POINTER (Thibaut Varene) - Fix hpux ustat emulation (Helge Deller) - Add a ->remove operation to struct parisc_device (James Bottomley) - More work on modules (James Bottomley) - More unaligned instructions handled (LaMont Jones) - Fix byteswap assembly (Grant Grundler) - Allow ISA support to be selected (Matthew Wilcox) - Fix swapping (James Bottomley) [PATCH] Makefile update for parisc parisc64 machines should build parisc kernels. [PATCH] eisa Kconfig update for parisc PA-RISC doesn't have PCI<->EISA bridges (they're all GSC<->EISA). [PATCH] Add two sysctls for PA-RISC Add two PA-RISC sysctls. [PATCH] Remove warning from binfmt_elf.c for upwards growing stack [PATCH] gsc-ps2 update Update gsc_ps2 for recent changes. [IPV6]: Build and send redirect packet using "buff" not "skb", fixes OOPS. [IPV6]: Fix dst reference counting in ndisc_send_redirect(). Merge comment updates from DRI CVS tree. Update i810 DRI driver from CVS to add page flipping. (version 1.2.1 to 1.3.0) Update r128 driver from DRI CVS: add support for ycbcr textures. (version 2.3.0 -> 2.4.0) Update radeon driver from DRI CVS: add more commands. (version 1.8.0 -> 1.9.0) Merge from DRI CVS tree: avoid zero DRI "handles". [PATCH] fix return of compat_sys_sched_getaffinity From: rwhron@earthlink.net It returns sizeof(compat_ulong_t) even if put_user() faulted. [PATCH] remove proc_mknod() From: Christoph Hellwig It's not used anymore since ALSA switched to traditional devices and device nodes in procfs are a bad idea in general.. Also update the docs. [PATCH] reiserfs dirty memory accounting fix The ClearPageDirty() in there is wrong - it doesn't adjust the VM's dirty memory accounting. The system thinks it's full of dirty memory and stops. [PATCH] fix reiserfs for 64bit arches From: Oleg Drokin From the time of reiserfs_file_write inclusion all 64bit arches were not able to work with reiserfs for pretty stupid reason (incorrect "unsigned long" definition of blocknumber type). This fixes the problem. [PATCH] wall_to_monotonic initialization fixes for From: Tim Schmielau This patch adds (or fixes) initialization of wall_to_monotonic for a few more architectures. This should get rid of the strange uptime>14600 days reports, except on arm whose arch file layout is too unfamiliar to me. The patch is blessed by George Anzinger, but untested due to lack of hardware. [PATCH] i_size atomic access: infrastructure From: Daniel McNeil This adds a sequence counter only version of the reader/writer consistent mechanism to seqlock.h This is used in the second part of this patch give atomic access to i_size. [PATCH] i_size atomic access From: Daniel McNeil This adds i_seqcount to the inode structure and then uses i_size_read() and i_size_write() to provide atomic access to i_size. This is a port of Andrea Arcangeli's i_size atomic access patch from 2.4. This only uses the generic reader/writer consistent mechanism. Before: mnm:/usr/src/25> size vmlinux text data bss dec hex filename 2229582 1027683 162436 3419701 342e35 vmlinux After: mnm:/usr/src/25> size vmlinux text data bss dec hex filename 2225642 1027655 162436 3415733 341eb5 vmlinux 3.9k more text, a lot of it fastpath :( It's a very minor bug, and the fix has a fairly non-minor cost. The most compelling reason for fixing this is that writepage() checks i_size. If it sees a transient value it may decide that page is outside i_size and will refuse to write it. Lost user data. [PATCH] kmap() -> kmap_atomic() in fs/exec.c replace a kmap() with kmap_atomic() [PATCH] make CONFIG_KALLSYMS default to "on" From: Diego Calleja Garcia Move CONFIG_KALLSYMS out of the arch directory and into init/. It defaults to "on" unless the user explicitly turns it off in the "embedded systems" menu. [PATCH] misc fixes - remove accidental debug code from ext3 commit. - /proc/profile documentation fix (Randy Dunlap) - use sb_breadahead() in ext2_preread_inode() - unused var in mpage_writepages() [PATCH] Set umask correctly for nfsd kernel threads From: Andreas Gruenbacher Without acls, when creating files the umask is applied directly in the vfs. ACLs require that the umask is applied at the file system level, depending on whether or not the containing directory has a default acl. The daemonize() function makes kernel threads share their fs_struct structure with the init process. Among other things, fs_struct contains the umask, so all kernel threads share their umask with init. The kernel nfsd needs to create files with a umask of 0. Init's umask cannot simply be changed to 0 --- this would have side effects on init, and init would have side effects on nfsd. So this patch recreates a fs_struct structure for nfsd kernel threads, and sets its umask to 0. This fixes bug #721, . [PATCH] Bug fix in AIO initialization From: "Chen, Kenneth W" We hit this bug when we have the following scenario: One process initializes an AIO context and then forks out many child processes. When those child processes exit, many BUG checks (effectively kernel oops) were triggered from put_ioctx(ctx) in function exit_aio(). The issue was that the AIO context was incorrectly copied upon forking and mislead all child processes to think they have an IO context and trying to free it where they really don't own. The following patch fix the issue. [PATCH] Fix race condition between aio_complete and From: "Chen, Kenneth W" We hit a memory ordering race condition on AIO ring buffer tail pointer between function aio_complete() and aio_read_evt(). What happens is that on an architecture that has a relaxed memory ordering model like IPF(ia64), explicit memory barrier is required in a SMP execution environment. Considering the following case: 1 CPU is executing a tight loop of aio_read_evt. It is pulling event off the ring buffer. During that loop, another CPU is executing aio_complete() where it is putting event into the ring buffer and then update the tail pointer. However, due to relaxed memory ordering model, the tail pointer can be visible before the actual event is being updated. So the other CPU sees the updated tail pointer but picks up a staled event data. A memory barrier is required in this case between the event data and tail pointer update. Same is true for the head pointer but the window of the race condition is nil. For function correctness, it is fixed here as well. By the way, this bug is fixed in the major distributor's kernel on 2.4.x kernel series for a while, but somehow hasn't been propagated to 2.5 kernel yet. [PATCH] separate locking for vfsmounts From: Maneesh Soni While path walking we do follow_mount or follow_down which uses dcache_lock for serialisation. vfsmount related operations also use dcache_lock for all updates. I think we can use a separate lock for vfsmount related work and can improve path walking. The following two patches does the same. The first one replaces dcache_lock with new vfsmount_lock in namespace.c. The lock is local to namespace.c and is not required outside. The second patch uses RCU to have lock free lookup_mnt(). The patches are quite simple and straight forward. The lockmeter reults show reduced contention, and lock acquisitions for dcache_lock while running dcachebench* on a 4-way SMP box SPINLOCKS HOLD WAIT UTIL CON MEAN( MAX ) MEAN( MAX )(% CPU) TOTAL NOWAIT SPIN RJECT NAME baselkm-2569: 20.7% 20.9% 0.5us( 146us) 2.9us( 144us)(0.81%) 31590840 79.1% 20.9% 0% dcache_lock mntlkm-2569: 14.3% 13.6% 0.4us( 170us) 2.9us( 187us)(0.42%) 23071746 86.4% 13.6% 0% dcache_lock We get more than 8% improvement on 4-way SMP and 44% improvement on 16-way NUMAQ while runing dcachebench*. Average (usecs/iteration) Std. Deviation (lower is better) 4-way SMP 2.5.69 15739.3 470.90 2.5.69-mnt 14459.6 298.51 16-way NUMAQ 2.5.69 120426.5 363.78 2.5.69-mnt 63225.8 427.60 *dcachebench is a microbenchmark written by Bill Hartner and is available at http://www-124.ibm.com/developerworks/opensource/linuxperf/dcachebench/dcachebench.html vfsmount_lock.patch ------------------- - Patch for replacing dcache_lock with new vfsmount_lock for all mount related operation. This removes the need to take dcache_lock while doing follow_mount or follow_down operations in path walking. I re-ran dcachebench with 2.5.70 as base on 16-way NUMAQ box. Average (usecs/iteration) Std. Deviation (lower is better) 16-way NUMAQ 2.5.70 120710.9 230.67 + vfsmount_lock.patch 65209.6 242.97 + lookup_mnt-rcu.patch 64042.3 416.61 So just the lock splitting (vfsmount_lock.patch) gives almost similar benifits [PATCH] fix for CPU scheduler load distribution From: Ingo Molnar It makes hot-balancing happen in the 'busy tick' case as well, which should spread out processes more agressively. [PATCH] NBD: cosmetic cleanups From: Lou Langholtz It's a helpful step in being better able to identify code inefficiencies and problems particularly w.r.t. locking. It also modifies some of the output messages for greater consistancy and better diagnostic support. This second patch is a lead in that way to the third patch, which will simply introduce the dprintk() debugging facility that my jumbo patch originally had. With the cosmetics patch and debugging enhancement (patch), it will make it easier to fix or at least improve the locking bugs/races in NBD (that will likely make up the fourth patch in my envisioned roadmap). [PATCH] nbd: enhanced diagnostics support From: Lou Langholtz This third patch (for enhancing diagnostics support) applies incrementally after my last LKML'd patch (for cosmetic changes). These changes introduce configurable KERN_DEBUG level printk output for a variety of different things that the driver does and provides the framework for enhanced future debugging support as well. [PATCH] nbd: remove unneeded blksize_bits field From: Lou Langholtz This fourth patch simply removes the blksize_bits field from the nbd_device struct and driver implementation. How this field made it into this driver to begin with is a mystery (where was Al Viro when that patch was submitted??). :-) This patch modifies both drivers/block/nbd.c and include/linux/nbd.h files. It's intended to be applied incrementally on top of my third patch (for enhanced diagnostics support). [PATCH] nbd: initialise the embedded kobject From: Lou Langholtz Fixes the NBD oopses which people have been reporting. [PATCH] nbd: cleanup PARANOIA usage & code From: Lou Langholtz This fifth patch cleans up usage of the PARANOIA sanity checking macro and code. This patch modifies both drivers/block/nbd.c and include/linux/nbd.h. It's intended to be applied incrementally on top of my fourth patch (4.1 really if you count the memset addition as .1's worth) that simply removed unneeded blksize_bits field. Again, I wanted to get this smaller change out of the way before my next patch will is much more major. [PATCH] NBD documentation update From: Paul Clements Modernise nbd.txt a bit. [PATCH] nbd: remove unneeded nbd_open/nbd_release and refcnt From: Paul Clements Remove the unneeded nbd_open and nbd_release functions. [PATCH] nbd: make nbd and block layer agree about device and From: Paul Clements Ensure that nbd and the block layer agree about device block sizes and total device sizes. [PATCH] JBD: checkpointing optimisations From: Alex Tomas Some transaction checkpointing improvements for the JBD commit phase. Decent speedups: creation of 500K files in single dir (with htree, of course): before: 4m16.094s, 4m12.035s, 4m11.911s after: 1m41.364s, 1m43.461s, 1m45.189s removal of 500K files in single dir: before: 43m50.161s after: 38m45.510s - Make __log_wait_for_space() recalculate the needed blocks because journal free space changes during commit - Make log_do_checkpoint() starts scanning from the oldest transaction - Make log_do_checkpoint() stop scanning if a transaction gets dropped. The caller will reevaluate the transaction state and decide whether more space needs to be generated in the log. The effect of this is to smooth out the I/O patterns, avoid the huge stop-and-go which currently happens when forced checkpointing writes out and waits upon 3/4 of the journal's size worth of data. [PATCH] JBD: transaction buffer accounting fix From: Alex Tomas start_this_handle() takes into account t_outstanding_credits when calculating log free space, but journal_next_log_block() accounts for blocks being logged also. Hence, blocks are accounting twice. This effectively reduces the amount of log space available to transactions and forces more commits. Fix it by decrementing t_outstanding_credits each time we allocate a new journal block. [PATCH] ext3: sync_fs() fix From: Alex Tomas fsync_super() calls ->sync_fs() just after ->write_super(). But write_super() will start a commit. In this case, ext3_sync_fs() will not itself start a commit, and it hence forgets to wait on the commit which ext3_write_super() started. Fix that up by making journal_start_commit() return the transaction ID of any currently-running transaction. [PATCH] oom killer fixes From: William Lee Irwin III There are reports of kernel threads being killed by the oomkiller. We think this is because the oom killer tries to kill a task after it has exitted and set its ->mm to zero. The oom killer will then try to kill all other tasks which have a null ->mm. Attempt to detect that case and fix it up. [PATCH] yenta-socket initialisation fix From: Daniel Ritz init_socket() enables interrupts, and the interrupt handler does a wakeup. Let's initialise that waitqueue head before turning on the interrupts. [PATCH] Fix yenta-socket oops From: Russell King Interrupts can sometimes occur before the socket thread is started. [PATCH] devfs oops fix From: Andrey Borzenkov Doing concurrent lookups for the same name in devfs with devfsd and modules enabled may result in stack coruption. When devfs_lookup needs to call devfsd it arranges for other lookups for the same name to wait. It is using local variable as wait queue head. After devfsd returns devfs_lookup wakes up all waiters and returns. Unfortunately there is no garantee all waiters will actually get chance to run and clean up before devfs_lookup returns. so some of them attempt to access already freed storage on stack. It is trivial to trigger with SMP kernel (I have single-CPU system if it matters) doing while true do ls /dev/foo & done Without spinlock debug system usually hung dead with reset button as the only possibility. I was not able to reproduce it on 2.4 on single-CPU system - in 2.4 devfs_d_revalidate_wait does not attempt to remove itself from wait queue so it appears to be safe. The patch makes lookup struct be allocated from heap and adds reference counter to free it when no more needed. [PATCH] devfs deadlock fix From: Andrey Borzenkov I finally hit a painfully trivial way to reproduce another long standing devfs problem - deadlock between devfs_lookup and devfs_d_revalidate_wait. When devfs_lookup releases directory i_sem devfs_d_revalidate_wait grabs it (it happens not for every path) and goes to wait to be waked up. Unfortunately, devfs_lookup attempts to acquire directory i_sem before ever waking it up ... To reproduce (2.5.74 UP or SMP - does not matter, single CPU system) ls /dev/foo & rm -f /dev/foo & or possibly in a loop but then it easily fills up process table. In my case it hangs 100% reliably - on 2.5 OR 2.4. The current fix is to move re-acquire of i_sem after all devfs_d_revalidate_wait waiters have been waked up. Much better fix would be to ensure that ->d_revalidate either is always called under i_sem or always without. But that means the very heart of VFS and I do not dare to touch it. The fix has been tested on 2.4 (and is part of unofficial Mandrake Club kernel); I expected the same bug is in 2.5; I just was stupid not seeing the way to reproduce it before. [PATCH] epoll-per-fd fix From: Davide Libenzi Fix epoll to allow pushing of multiple file descriptors sharing the same kernel's file* [PATCH] disk stats accounting fix We should only account file system requests, ones originating from __make_request(). Otherwise it skews the counters and they go negative really fast. [PATCH] Use on v850 [PATCH] More irqreturn_t changes for v850 [PATCH] show_stack changes for v850 [NET,COMPAT]: Delete bogus icmpv6 filter translation code. A long time ago in a land far far away the icmpv6 filter code bogusly used the "unsigned long" based bitops and thus we had all kinds of endianness problems wrt. 32-bit apps running on 64-bit machines. These days the icmpv6 code explicitly uses u32 fixed types and thus no translations are necessary. [IPV6]: Fix leaks of ndisc DST entries. fix cifs distributed caching - send oplock release immediately after flush of writebehind data on oplock break from server [PATCH] genrtc sets owner fields so.. [PATCH] Remove bogus printk in microcode.c [PATCH] clean up floppy98 a bit [PATCH] dtlk comment fix [PATCH] isurf compile fix [PATCH] axnet can unload with timers live [PATCH] ibmtr can unload with timers live [PATCH] fix up nmclan locking and hang on eject at wrong moment [Not tested as I no longer have the card] [PATCH] fix further timer in pcmcia stuff #ra1 [PATCH] Fix remaining g_NCR5380 use of check_region [PATCH] not sure what the author was on .. [PATCH] AC97 updates from 2.4 This deals with several things - Codecs that think they are modems but are not - Abstracting modem detection out of drivers - Abstracting digital switching out of drivers - Codecs that have no volume control - Codec plugins for specific setups - Codec plugins for things like touchscreen/batmon on AC97 - More codec handlers The plugin API is intentionally modelled on the other driver_register type interfaces. [PATCH] Add the au1000 driver This is used by some MIPS systems [PATCH] demo plugin for switching ad1980 ports Dell style [PATCH] Fix security leaks in btaudio [PATCH] Add the ALI5455 driver from 2.4 This is the newer audio used in later ALi chipsets. [PATCH] fix security leaks in cmpci [PATCH] Update cs46xx in 2.5 to the newer 2.4 release [PATCH] fix the security leak in dmasound [PATCH] Switch the SB Live! to the new ac97 api [PATCH] fix security leaks and a crash in es1370 [PATCH] bring es1371 in line with 2.4 Fixes security leak Fixes a crash Updates to use the new ac97 [PATCH] fix security leak and crash in esssolo [PATCH] Add Forte Media OSS driver [PATCH] update ITE audio [PATCH] update the i810 audio driver [PATCH] switch maestro3 to new ac97 [PATCH] fix security leak in maestro.c [PATCH] fix security leak in msnd_pinnacle.c [PATCH] Add swarm driver for broadcom boards [PATCH] update nec driver to new ac97 [PATCH] update trident driver for new ac97 etc [PATCH] fix wrong printk in nm256 audio [PATCH] update via audio driver, make it work on esd add new chips [PATCH] more wrong strlcpy's [PATCH] update ymfpci for new ac97 [PATCH] Merge AD1889 driver from 2.4 [PATCH] Fix AD1889 driver 2.4 merge - include/linux/wrapper.h doesn't exist in 2.5.75 and none of it's content is used by the driver; - s/MINOR/minor/; - KConfig/Makefile update. Merge with DRI CVS tree - which added a reminder to the DRI people not to remove the HAVE_KERNEL_CTX_SWITCH support that the sparc drivers require. Fix a FIXME. [SPARC64]: Ditch local KALLSYMS from Kconfig, update defconfig. [SPARC64]: Implement force_successful_syscall(). [SPARC64]: Use mm->free_area_cache. [AGPGART] HP AGP update. From David Mosberger This GART isn't actually a PCI device, which the AGP core/DRI expects it to be. This patch gets the relevant info out of ACPI tables, and fakes the rest. [PATCH] Fix IDE-CD command failure re-play Every failed SG_IO request is replayed second time without data transfer. Fix the problem by immediately purging the failed SG_IO request from the request queue. It fixes (among others) http://marc.theaimsgroup.com/?t=105634805100001&r=1&w=2 where induced kernel crash occurs upon packet replay. [PATCH] asm-generic/div64.h breakage - __div64_32(): remove __attribute_pure__ qualifier from the prototype since this function obviously clobbers memory through &(n); - do_div(): add a check to ensure (n) is type-compatible with uint64_t; - as_update_iohist(): Use sector_div() instead of do_div(). (Whether the result of the addition should always be stored in 64bits regardless of CONFIG_LBD is still being discussed, therefore it's unadderessed here); - Fix all places where do_div() was being called with a bad divisor argument. [PATCH] Deprecate numerical sysctl Deprecate the numerical sysctl name space. People can use /proc/sys instead. The numeric name space was never well maintained and especially in distribution kernels is not very consistent (everybody has their own extensions, conflicting with others). It's also a great source of rejects when merging patches. The name-based /proc/sys is a much better interface for this, which people should use instead. Discussion of this on l-k found no advocate for it, so it seems to not be very popular anyways. This patch deprecates numerical name space accesses to make it possible to remove them in the future. The only exception is kernel.version, which is used by glibc (this one has to be maintained forever) [PATCH] x86-64 fixes for 2.5.75 Some minimum critical fixes for x86-64: - Make it compile for uni processor again - Tell BIOS about long mode - Fix 32bit IPC (broken by earlier patch) [PATCH] Re: utimes/futimes/lutimes syscalls alpha, ia64, PA, sparc already export the existing "utimes()" system call (using 'timeval[2]' instead of 'utimebuf' like the old "utime()"). Make it available on x86 too.. Fix signedness tests in vsnprintf by making it explicit. It used to depend on us having a signed type (which in turn is incorrect for the later division). [AGPGART] Sort SiS device IDs. [AGPGART] SiS 746 support This (and a few other SiS chipsets) are AGP 3 compliant. AFAIK, none of these have been tested in AGP3 mode, but they should work just fine in AGP2.x mode at least. [PATCH] Fix error path in AD1889 driver Memory leak fix: the allocated areas weren't referenced any more once the original error path returned. [PATCH] c99 initializers for init/version.c [PATCH] [2.5] maestro volume tuning This tunes the volume control of maestro sound boards: The log conversion seems not good for PCM and CD. The volume buttons incrementing / decrementing the main volume by 10 on 100 is too much, much better set it to 5. [AGPGART] SiS 648 support. Again, untested in AGP3.x mode. Mark Bartlomiej as the IDE maintainer, about 3 months late ;) Disable TI cardbus PCI IRQ routing code that was forward-ported from 2.4-ac - it seems to cause hangs for people. [SPARC]: Clean secondary System.map [SPARC]: defconfig for willy's scsi [SPARC]: hch's cond_syscall() for PCI syscalls, Alpha/PPC/etc. can use this too. [SPARC]: Redo show_stack(). [SPARC]: Trap table alignment for Hyperspace (Keith Weselowsky). [NET]: Merge in IPVS layer. [NET]: Fix typo in net-sysfs.c copyright. [NETLINK]: Just drop packets for kernel netlink socket with no data_ready handler. [IPV4]: Do not redefine config macros in net/ip_vs.h [IPV4]: Always use Jenkins hash in ipvs conn table, use get_random_bytes() to init key. [IPV4]: Kill slow timers from IPVS, they are superfluous and inefficient these days. [IPSEC]: Missing reqid check in xfrm_state_ok. [AGPGART] Make frontend sparse clean. Didn't turn up anything particularly nasty, but it does clean up usage of a few types that are passed around. - Do the casts in the ioctl handler instead. - Remove unused variables. - __user annotations. [PATCH] new sysctl checking accesses userspace directly The recent change from Andi breaks here: tmp.name is user pointer, not array in __sysctl_args, and so it is better to access it through copy_from_user instead of directly. [PATCH] fs accounting, part 2 The accounting works now, but I still think this last bit should be added as well. This makes absolutely sure we only account fs requests, at both ends. Better safe than sorry. [ALPHA] Add tgkill syscall. [ALPHA] Set correct CLOCK_TICK_RATE for the RTC. [ALPHA] Remove SBUS & MCA from alpha Kconfig. From Matthew Wilcox . [PCMCIA] Fix hangs when PCMCIA modules loaded. Switching the PCMCIA interrupts from serial PCI interrupts to parallel PCI interrupts causes machines to hang solid. If we leave such setups well alone, and only change the interrupt mode of parallel PCI systems between PCI+ISA and PCI only. [PATCH] Documentation/CodingStyle spelling fixes Linux 2.6.0-test1 First "test" kernel. Same naming we used for 2.4.0 - there it took from May to December to get to the real version. Let's see if we can do it faster this time.