Release notes for v2.5.5 Summary of changes from v2.5.5-pre1 to v2.5.5 ============================================ (02/02/12 1.262.8.2) Further PPC updates - fix thread_saved_pc, make sure init_thread_union is properly 8kB-aligned. (02/02/12 1.293.3.2) PPC updates: call schedule_tail only on SMP, update sched_find_first_bit, include in signal.c. (02/02/12 1.293.6.1) HiSax HFC PCI driver udpate Move to PCI DMA API. Make it work on big endian machines. Contributed by Benjamin Herrenschmidt. (02/02/12 1.293.7.1) HiSax netjet driver update Move netjet driver to new PCI DMA API. (02/02/13 1.326) [PATCH] ext2/inode.c cleanup. ext2_read_inode() and ext2_update_inode() share large chunk of code - getting a buffer_head with raw inode in it. Moved into a helper function (ext2_get_inode()), the rest of ext2_{read,update}_inode() slightly cleaned up. (02/02/13 1.327) [PATCH] BKL shifted into ->create() BKL shifted into ->create(). lock_kernel()/unlock_kernel() added in dquot_{alloc,free}_inode() - that makes {ext2,minix,sysv,ufs}_read_inode() SMP-safe. (02/02/13 1.328) [PATCH] SMP-safe ext2/namei.c BKL held around ->i_nlink changes in ext2/namei.c. That makes namei.c SMP-safe (dir.c already is). BKL dropped around ext2_free_inode() - it's already SMP-safe (the only place that needed BKL was DQUOT_FREE_INODE() and it got BKL in the previous patch). (02/02/13 1.329) [PATCH] BKL shifted into ->mknod() (02/02/13 1.330) [PATCH] misc fixes 1) proc//fd readdir() has broken locking - sometimes it ends up with task->files->file_lock locked. 2) missing variable definition in arch/s390x/kernel/linux32.c::cp_new_stat32(). Please, apply - the first one is really serious. (02/02/13 1.331) [PATCH] BKL shifted inside ->unlink() Next one in the series - this time it's ->unlink()... (02/02/13 1.332) update version (02/02/13 1.331.2.1) device model/driverfs updates (02/02/13 1.331.3.1) [PATCH] USB OHCI powerbook fix (v2.5.4) The patch below fixes a compile problem in the USB OHCI HCD driver on powerbooks, namely that the ohci_hcd structure doesn't have an irq member. Paul. (02/02/13 1.331.3.2) usb hpusbscsi driver fixes: - special case for REQUEST_SENSE - reset handling won't work properly -> disabled - error reporting corrected (02/02/13 1.331.3.3) usb vicam driver: - fix for memory leak. (02/02/13 1.331.3.4) Added mem_flags to usb_submit_urb(), this is the USB core code changes. (02/02/13 1.331.3.5) Added mem_flags to usb_submit_urb(). This modifies the drivers in drivers/usb. Patch done by Oliver Neukum. (02/02/13 1.331.3.6) added mem_flags to usb_submit_urb(). This fixes the drivers in drivers/usb/serial. Patch done by Oliver Neukum. (02/02/13 1.331.3.7) added mem_flags to usb_submit_urb(). Fixes drivers/usb/storage. Patch done by Oliver Neukum. (02/02/13 1.331.3.8) mem_flags added to usb_submit_urb(). This fixes usb drivers outside of the drivers/usb directory. (02/02/13 1.335) [PATCH] alsa + x86-64 Obvious patch to make x86_64 pick up new sound location (02/02/13 1.336) [PATCH] xattr updates (minor, 1/4) This first patch fixes the copying in of extended attribute names from userspace in the extended attribute syscalls (a problem found when using electric fence on the user tools). Nathan (02/02/13 1.337) [PATCH] xattr updates (minor, 2/4) This incremental patch fixes copying out of an extended attribute value or name list. Previously we copied out the entire buffer passed in from userspace, now we only copy out the size which the underlying filesystem tells us to (ie. we will no longer include potentialy-initialised data as well). Nathan (02/02/13 1.338) [PATCH] xattr updates (minor, 3/4) This next incremental patch tidies up the data types passed back from the `list' and `get' extended attribute syscalls - these now match the design (ie. using ssize_t) rather than simply using long or int everywhere; also now use const types in the VFS interface, where appropriate. Nathan (02/02/13 1.339) [PATCH] xattr updates (minor, 4/4) This final patch is a simple documentation fixup patch filling in the blanks for the extended attribute interfaces; and fixes a typo in the same spot: "permission". Nathan (02/02/14 1.331.6.1) Add ppc64 support. This includes both pSeries (RS/6000) and iSeries (AS/400). There are no changes outside of include/asm-ppc64 and arch/ppc64 in this changeset. (02/02/14 1.341) [PATCH] NeoMagic FPU fix (2.5.5-pre1) this is the NeoMagic floating foint removal patch I posted previously for Linux 2.4.18-pre9-ac3. Best regards, Denis Oliver Kropp (02/02/14 1.342) [PATCH] pid allocator bugfix This patch fixes a bug in the Linux process ID allocator. It isn't quite SMP safe since it references "last_pid" after releasing the lock protecting it. This can result in two processes getting assigned the same process ID. (02/02/14 1.343) [PATCH] (1/5) more BKL shifting BKL shifted into ->mkdir() (02/02/14 1.344) [PATCH] (2/5) more BKL shifting BKL shifted into ->rmdir() (02/02/14 1.345) [PATCH] (3/5) more BKL shifting BKL shifted into ->link(), check for S_ISDIR moved into vfs_link(). (02/02/14 1.346) [PATCH] (4/5) more BKL shifting BKL shifted into ->symlink() (+ fixes for {ramfs,shmem}_symlink()) (02/02/14 1.347) [PATCH] (5/5) more BKL shifting old_inode is locked by vfs_link(). (02/02/14 1.348) Fix sound config files (makes xconfig happy) (02/02/15 1.331.4.3) PPC fixes for SMP; also fix the stack overflow detection, remove various bits of cruft, and remove the third argument to switch_to. (02/02/15 1.342.1.1) Fix from Mike Kravetz: use the nr_running return value of double_lock_balance(). (02/02/15 1.331.2.2) Fix driverfs deadlock on file/directory removal (02/02/15 1.342.2.1) usb core: - Fix for removing a device that does not have a driver bound to it. (02/02/15 1.342.2.2) usb hub: - fixed problem where usb_port_status was on the stack. Based on a patch from Martin Diehl (02/02/15 1.342.2.3) usb visor driver: - added support for the Clie S-360 device (02/02/15 1.342.2.4) usb usbfs: - fixes based on Pat Mochel's latest driverfs fixes based on Al Viro's comments :) (02/02/15 1.342.2.5) usb skeleton driver: - fix by Holger Waechtler for if a device does not have both a bulk in and bulk out endpoint. (02/02/16 1.342.3.2) fix for ntpd and HZ=1024 from mike (02/02/18 1.342.4.2) xattr.patch (02/02/18 1.349) [PATCH] Re: 2.5: further llseek cleanup (3/3) (02/02/18 1.350) [PATCH] Re: [PATCH] Re: 2.5: further llseek cleanup (3/3) Ugh, another one. Linus, please apply. Robert Love (02/02/18 1.351) [PATCH] BKL shifting - ->rename() (02/02/18 1.352) [PATCH] dnotify race fix A bunch of places dereferences ->d_parent->d_inode with no protection whatsoever (e.g. on return from read()). It's an SMP race on all boxen and pretty wide UP race if we have dnotify set on parent (race between read() and rename() and similar beasts). Patch below is the first one in a series of ->d_parent-related fixes. It adds a helper (dnotify_parent(dentry, event)) and converts places that did inode_dir_notify(dentry->d_parent->d_inode,...) to it. Please, apply. Notice that problem exists in 2.4 and unlike 2.5 there we can't switch to saner API (basically, reporting file events on file, not on a parent directory). Some of the further fixes depend on Pat's and Greg's (driverfs and usbdevfs resp.) patches, so getting them merged would make life easier. And yes, some of further chunks (e.g. smbfs ->revalidate() and friends) will also have to go into 2.4 - they are independent from any threading projects ;-/ (02/02/18 1.325.1.1) [PATCH] PATCH 1/7: knfsd cleanups - big fixes Fix bugs recently introduced into kNFSd When searching a list.h list, we cannot export to find NULL at the end. Instead we return a pointer when found, or NULL if nothing found. Same bug, 4 times. The seq_file improvements to /proc/fs/nfs/exports got the counting wrong so that some clients would get reported twice, always the last. (02/02/18 1.325.1.2) [PATCH] PATCH 2/7: knfsd cleanup - FAT shouldn't return NULL Stop fat_fh_to_dentry returning NULL the fh_to_dentry routines should never return NULL. The caller expects an ERR_PTR or a valid (possibly negative) dentry. fat did the wrong thing and so could oops. (02/02/18 1.325.1.3) [PATCH] PATCH 3/7: knfsd cleanups - incorrect use of inode_change_ok Get nfsd_setattr to not put too much weight on inode_change_ok nfsd_currently calls inode_change_ok and does not try setattr if this fails. However this is wrong. If a filesystem defines it's own i_op->setattr, then it might use a completely different mechanisim for determining what is ok. nfsd shouldn't assume... We still use inode_change_ok when normalising NFSv2 "touch" requests, but only in passing. (02/02/18 1.325.1.4) [PATCH] PATCH 4/7: knfsd cleanups - vfs.c improvements Tidy up some vfs calls in nfsd 1/ changes to sys_fsync had not also been made to nfsd_sync. Now nfsd_sync calls filemap_fdatasync and filemap_fdatawait. 2/ change nfsd_readdir to use vfs_readdir instead of i_op->readdir (02/02/18 1.325.1.5) [PATCH] PATCH 5/7: knfsd cleanups - mkdev Use MKDEV for making device number from components This patch is thanks to GOTO Masanori (02/02/18 1.325.1.6) [PATCH] PATCH 6/7: knfsd cleanups - syscall cleanup Cleanup the syscall interface to nfsd 1/ add an "owner" field to the nfsd_linkage structure 2/ grab a reference to that module before calling the syscall 3/ Remove the reference counting from inside the module 4/ Always allow nfsd module to be called, even if compile with CONFIG_NFSD == N ( but not if CONFIG_MODULES also == N) (02/02/18 1.325.1.7) [PATCH] PATCH 7/7: knfsd cleanups - module initialisation Tidyup init/exit for nfsd module move nfsd_init into an initcall with other module startup. This means that "initialized" isn't needed for any of the files that use it, as the bits are always initialised if in use. (02/02/18 1.354) [PATCH] BUG register preservation Here's the x86 BUG() implementation we discussed the other day. I also have the rework of the header files which avoids instantiation of strings in headers and saves 100-200k. However that is only needed for gcc 2.X. I assume that by the time 2.6 is in use, gcc-3.x will be the preferred compiler. (02/02/18 1.325.2.1) [PATCH] IS_SYNC diretory handling A forward-port. ext2, minix and sysv aren't handling directories correctly when IS_SYNC is in place. They call waitfor_one_page(), but forgot to start the I/O. The patch also moves waitfor_one_page and writeout_one_page into fs/buffer.c, so mm/filemap.c now does not mention buffer_head at all. (02/02/18 1.325.2.2) [PATCH] msync correctness A forward port. At present, msync() does not report errors from EIO or ENOSPC. fsync() has the same bug for mapped pages against the affected fd. The patch correctly propagates these errors back up from writepage so that fsync and msync correctly report errors. It's fairly important - msync is the only way we have of reporting ENOSPC against sparse mappings. Of course, you can still silently lose your data if it's kswapd who gets ENOSPC during writepage. I have 3/4 of a patch for that. It records the data loss so that a later msync() will report the bad news. This patch also adds an implementation of msync(MS_ASYNC), because it was easy. (02/02/18 1.325.2.3) [PATCH] ENOSPC correctness A forward-port. This is the code which prevents ENOSPC errors from exposing stale data within filesystems. - in generic_file_write(), if prepare_write() fails, truncate the file to drop any part-added blocks. - in __block_write_full_page(), if we hit an error, push whatever buffers we _have_ mapped into the file out to disk. - in __block_prepare_write(), if we hit an error, zero out any blocks which we did manage to map into the file. This is because the caller won't be doing any writing to those blocks due to the error. (02/02/18 1.356) [PATCH] Re: IDE cleanup for 2.5.4-pre3 The end_request() function familiy (not the global one, but the IDE specific ones), did bear a permuted parameter ordering. After fixing this it turned out that at all places the huk parameter wasn't the hwgroup, but just the drive in question itself. I have changed this to be more sane, which allowed to remove many unneccessary code duplication, or rather obfuscation, in between the __ide_end_request() and ide_end_request() functions. This simplification is actually the "spreading" part of the game. (02/02/18 1.325.3.1) [PATCH] PATCH 2.5.5-pre1 dead arrays. Just the usual removal of the dead global arrays and associated cruft. (Thistime not affecting lvm, which BTW. doesn't compile currently anyway ;-). (02/02/18 1.358) [PATCH] meye driver update This patch (+ BK changeset) converts the meye driver to the new DMA API, this is necessary for the driver to be used in 2.5. Stelian. ChangeSet@1.332, 2002-02-15 16:35:31+01:00, stelian@popies.net Convert to the new DMA API and allocate separate DMA pages instead of one big buffer. (02/02/18 1.342.5.1) allow the boot-time sizing of the highmem pool. (02/02/18 1.359.1.2) usbdevfs: - put back locks that I accidentally took out with the last merge. (02/02/19 1.359.2.2) - the new vmalloc_to_page() interface should be used to determine the physical page a given vmalloc() area virtual address is mapped to. (02/02/19 1.359.2.3) adds simple support for atomically-mapped PTEs. On highmem systems this enables the allocation of the pagetables in highmem. (02/02/19 1.359.2.4) - cleanup from Andi Kleen: schedule_tail() does not have to take 'prev' as a parameter anymore. (02/02/19 1.359.4.1) [PATCH] new struct page shrinkage The patch has been changed like you wanted, with page->zone shoved into page->flags. I've also pulled the thing up to your latest changes from linux.bkbits.net so you should be able to just pull it into your tree from: Rik (02/02/19 1.359.5.1) - fix mapped-pte usage - do not access it after unmapping. (02/02/19 1.359.5.2) - clean up the vmalloc_to_page() interface: no need for any pgd parameter. (02/02/19 1.359.5.3) use the following, much more intuitive interface names: - pte_offset_map2 => pte_offset_map_nested - pte_unmap2 => pte_unmap_nested (02/02/19 1.359.2.8) [PATCH] ipx uninitialized memory in 2.5.5-pre1 * ipx needs cleared ipx_sk, mainly intrfc pointer member. Fixes boottime oops. Petr Vandrovec (02/02/19 1.359.2.9) [PATCH] 2.5.5-pre1: uninitialized SO_PASSCRED on sockets * move socket clearing code from sock_alloc to sock_alloc_inode, so root of socketfs does not contain garbage, and we have all initialization in one place * add initialization of passcred to zero - otherwise it is left on some random value, causing at least autobind() to randomly fail on unix sockets Petr Vandrovec (02/02/19 1.167.1.1) [PATCH] (1/3) matroxfb for 2.5.3 (1) Updates documentation. (2) Remove 'current' and 'previous' hardware fields. X just do not play fair, and one cannot assume anything about current hardware state. (3) Changes algorithm for computing PLL parameters to one used by Matrox. On recent chips (G550) there are no limits for PLL, you just have to try couple of possible combinations to find which one works on this particualr hardware. (4) Add code which can intialize G450/G550 when BIOS did not initalize it (non-ia32 hardware, secondary devices on ia32 hardware). Petr Vandrovec (02/02/19 1.167.1.2) [PATCH] (2/3) matroxfb for 2.5.3 this patch adds support for older MGA-TVO-B (found on G200-TV) to matroxfb. Petr Vandrovec (02/02/19 1.359.2.11) Add marker to warn others not to change config file (02/02/19 1.359.2.12) [PATCH] (1/4) 2.5.5-pre1 fixes hfs compile fixes (02/02/19 1.359.2.13) [PATCH] (2/4) 2.5.5-pre1 fixes helper for safe access to parent's inumber (02/02/19 1.359.2.14) [PATCH] (3/4) 2.5.5-pre1 fixes Adds an obvious helper, converts callers. (02/02/19 1.359.2.15) [PATCH] (4/4) 2.5.5-pre1 fixes Fixes overflow checks in smb_encode_path(). (02/02/19 1.325.4.1) [PATCH] ALSA update for 2.5.5-pre1 this is a sync with the current ALSA CVS tree (last code modification: (Sun Feb 17 17:46:41 2002 UTC)) and 2.5.5-pre1 code and contains: - ALSA code version 0.9.0beta11 - Config.in files updated (separated associated drivers to submenus) - global sound/Makefile fixes - added inclusion of missing header files for alpha architecture - fixed power functions (bad locking) - fixed copy_to_user calls (removed them from spinlocks) - fixed freeing of resource structures - fixed AD1816A driver (inverted volume controls) - added new functions to allocate ISA DMA memory (cleanups in ISA drivers) - updated ISA PnP detection in wavefront driver - added joystick support for VIA686 - updated ES1968 (Maestro2) driver - moved joystick support for YMFPCI to the control interface - updated Korg1212 driver (02/02/19 1.359.2.17) Update default config to match new sound setup (02/02/19 1.359.2.18) Clean up BDEV type handling (02/02/19 1.359.2.19) Remove stale variable. (02/02/19 1.359.2.20) Fix ptrace and fork interaction (02/02/19 1.363) [PATCH] 2.5.5-pre1 IDE cleanup The attached patch does: 1. Kill two exports which mankind will never know what they where good for 2. Kill duplicated comments. 3. Kill declarations of never defined functions 4. Some other minor tidups here and there. (02/02/19 1.364) [PATCH] 2.5.5-pre1 IDE cleanup 9 1. Kill the ide-probe-mod by merging it with ide-mod. There is *really* no reaons for having this stuff split up into two different modules unless you wan't to create artificial module dependancies and waste space of page boundaries during memmory allocation for the modules 2. Kill the ide_module_t - which is unnecessary and presents a "reimplementation" of module handling inside the ide driver. This is achieved by attaching the initialization routine ot the ide_driver_t, which will be gone next time, since there is no sane reason apparently, which this couldn't be done during the module-generic initialization of the corresponding driver module. 3. Kill unnecessary tagging of "subdriver" with IDE_SUBDRIVER_VERSION - we have plenty of other mechanisms for module consistency checking. And anyway the ide code didn't any consistence checks on this value at all. NOTE: The ide_(un)register_module() functions will be killed in next round. (02/02/19 1.325.5.1) [PATCH] LVM fixes. Numerous LVM fixes & cleanups. Gets things compiling again, and allegedly works according to feedback. Mostly from Anders in absence of any maintainence by LVM people. There are two critical problems with lvm in 2.5.2-pre11 (and earlier). * ioctls on the chardev allocates a >4k lv_t on stack. if the ioctl is LV_CREATE, LV_EXTEND, LV_REDUCE or LV_RENAME data is copied into this and the task_struct will most certainly be corrupted. * sizeof(lv_t) differs between user and kernelspace. The userspace version of the lv_t structure is much smaller than the kernelspace version. This leads to corruption of memory in the userspace application when an lv_t is copied from kernelspace to userspace, as in "vgdisplay -v" The following patch addresses these two issues. It puts the user-space version of the lv_t into a substructure of the kernelspace version. When communicating to userspace just the userlv_t part is used. This avoids the allocation of the lv_t on the stack by allocation just a userlv_t instead. (02/02/19 1.366) [PATCH] PATCH 2.5.4 i810_audio, bttv, working at all. Fix i810 audio for DMA mapping (from Pete Zaitcev). (02/02/19 1.368) [PATCH] more smbfs buffer overrun fixes More of the same - some of these guys have stuff after pathname. Overflow checks added. (02/02/19 1.369) Update version Summary of changes from v2.5.4 to v2.5.5-pre1 ============================================ (02/02/10 1.248.5.1) Import arch/ppc and include/asm-ppc changes from linuxppc_2_5 tree (02/02/10 1.263) [PATCH] 2.5.4-pre6 apm compile fix Make apm compile properly and without warnings. (02/02/10 1.264) [PATCH] 2.5.4-pre6 compile fix for i386/kernel/signal.c Fixe a compiler warning in signal.c due to a missing prototype for "do_coredump". (02/02/10 1.262.1.1) Remove warning in /proc inode conversions. (02/02/10 1.262.2.1) Clean up sparc64 build. (02/02/10 1.262.2.2) Split protocol specific information out from struct sock. Work done by Arnaldo Carvalho de Melo. (02/02/10 1.262.2.3) Netfilter bugfixes from Harald and Paul Russell. (02/02/10 1.262.2.4) Add writev support to TUN driver. From Eddie C. Dost (02/02/11 1.262.3.1) This patch fixes a bug that appears when you have more than 16 physical LUNs attached to a cciss controller, and a tape drive is beyond the 16th LUN. In such a case, the tape drive would not be accessible without this patch. Applies to 2.5.4-pre3. -- steve.cameron@compaq.com (02/02/11 1.262.3.2) setup_str[] only used in modular builds. (02/02/11 1.262.3.3) add more build config files to ignore list (02/02/11 1.262.3.4) Fix for cciss driver where I had passed the wrong first parameter to grok_partitions in the ioctl for registering a new disk. (02/02/11 1.262.3.5) Replace awful schedule_timeout polling code with completions. Applies to 2.5.4-pre3 -- steve.cameron@compaq.com (02/02/11 1.262.3.6) Replace calls to suser() with capable(). Move those checks to be as late as possible to avoid accounting overcharging processes with privilege usage. Applies to 2.5.4-pre3 -- steve.cameron@compaq.com (02/02/11 1.262.3.7) Make cciss driver contribute to entropy pool. Applies to 2.5.4-pre3 -- steve.cameron@compaq.com (02/02/11 1.262.3.8) change cciss driver version number. Applies to 2.5.4-pre3 -- steve.cameron@compaq.com (02/02/11 1.262.3.9) Small batch of IDE code cleanups from Pavel Machek (02/02/11 1.262.3.10) thread_saved_pc fix from akpm (02/02/11 1.257.2.2) Update PPC for recent generic changes; in particular adapt to having the thread_info struct at the base of the stack and the task_struct elsewhere. (02/02/11 1.262.3.11) Remove nr_sectors from bio_end_io end I/O callback. It was a relic from when completion was potentially called more than once to indicate partial end I/O. These days bio->bi_end_io is _only_ called when I/O has completed on the entire bio. (02/02/11 1.262.3.12) bio_endio doesn't take nr_sectors argument anymore. (02/02/11 1.262.4.1) Update Alpha UP for thread_info and scheduler changes. (02/02/11 1.262.4.2) Fixes for premature thread_info changeset. Minor warning removal. (02/02/11 1.262.6.1) merge to the -K3 scheduler. (02/02/11 1.262.7.1) patch from Peter Osterlund to fix usb-storage debug code compile problem. (02/02/11 1.262.7.2) patch from David Probnell, updating the USB error-codes.txt file (02/02/11 1.262.7.3) patch by Simon Evans that adds a Konica USB webcam driver (02/02/11 1.262.7.4) removed 'typedef' from the Digi Acceleport usb-serial driver. (02/02/11 1.262.7.5) removed 'typedef' from the ftdi_sio usb-serial driver. (02/02/11 1.262.7.6) removed 'typedef' from the IO Networks Edgeport usb-serial driver. (02/02/11 1.262.7.7) removed 'typedef' from the Keyspan usb-serial drivers. (02/02/11 1.262.7.8) removed 'typedef' from the kl5kusb105 usb-serial driver. (02/02/11 1.262.4.3) Update Alpha SMP for the new scheduler and preempt api change. (02/02/11 1.262.5.2) Add a couple #includes to fix the alpha build. (02/02/11 1.262.9.1) [PATCH] 2.5.4-pre6 apm compile fix Here is the patch against 2.5.4. I have compiled this patch under 2.5.3, so it should still be OK. This patch just resyncs the driver with 2.4.18-pre (which is what is being testd by others). The only outstanding known problem is some very strange interaction with VMWARE. But otherwise people seem happy with the changes. Original announcement to Dave Jones and Marcelo: Update a couple of email addresses Fix the idle handling (this is an improved version of the fix that Alan Cox has in his -ac tree) Notify user mode of suspend events before drivers (fix) Make the idling percentage boot time configurable Rename kapm-idled to kapmd Credit to Andreas Steinmetz, Russell King, Thomas Hood and me. More small updates to come. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ (02/02/11 1.271) [PATCH] Optimized UP preempt fix I previously sent a patch by Mikael Pettersson to fix the UP+preempt problem. It seems from your BK repository you have not yet merged it; if so, this patch takes a different approach which is optimal, removing the unneeded conditional altogether in the UP case. I have verified UP and SMP are now correct. Patch is against 2.5.4, please apply. Robert Love (02/02/11 1.272) [PATCH] (2.5.4) death of ->i_zombie Rediffed to 2.5.4, documentation added. This variant grabs ->s_vfs_rename_sem only for cross-directory renames. (02/02/11 1.276) [PATCH] updated version of VM_DATA_DEFAULT_FLAGS patch Here is the latest version of the VM_DATA_DEFAULT_FLAGS patch (relative to 2.5.4). --david (02/02/11 1.277) [PATCH] drivers/char/pcwd.c This patch to drivers/char/pcwd.c against 2.5.4 does two things: a) Makes one code snippet more consistent with the rest of the code, and b) Makes it possible for this code to actually work Nearly the same patch against 2.4 was reviewed by Alan, and, well, the maintainer seems to have disappeared. It's also looking like no one uses this driver much either. Regards, Rob Radez (02/02/11 1.278) [PATCH] dma64_addr_t fix ups This patch fixes up two places whre dma64_addr_t is used incorrectly. Note that pci_dev->dma_mask and the second argument to blk_queue_bounce_limit() are both u64, so the old types clearly are wrong (besides, dma64_addr_t is supposed to be used only with the pci_dac_*() routines, as per DaveM's earlier mail). --david (02/02/11 1.279) [PATCH] fix for elf coredump deadlock This patch fixes a deadlock condition in the elf core dump that shows on ia64 because ELF_CORE_COPY_REGS() needs to access user space (to get a hold of the backing store of the stacked registers). Marcelo already accepted this into 2.4.17. --david (02/02/11 1.280) [PATCH] video console fix up Here is the last patch for today: it enables writecombined mappings for ia64 in fbmem.c and gets rid of an ugly ia64 simulator workaround in vgacon.c which isn't needed anymore. --david (02/02/11 1.281) [PATCH] discarded section problem What should be happening with the references to the discarded .text.exit section? I see a __devexit_p mentioned in Documentation/pci.txt, but it hasn't been implemented except for down inside ieee1394. In any case, I need something like the following in order to build with pre-release binutils 2.12. If this sort of thing is acceptible I can prepare a more comprehensive patch. (02/02/11 1.282) [PATCH] 01-ioerrors-checks-2.diff Make sure all reiserfs_find_entry users correctly understand IO_ERROR retval. (02/02/11 1.283) [PATCH] 02-savelink_nospace_nowarning.diff Do not print a warning if savelink was not created due to lack of space. (02/02/11 1.284) [PATCH] 03-savelink_dir_truncate.diff Do not panic on incorrect savelink entries (truncate on directory). Currently we suppose these can be created if switching between kernels with and without savelinks support. (02/02/11 1.285) [PATCH] 04-hash_autodetect_fix.diff Correctly detect and print hash values, when manual hash detection is used. (02/02/11 1.286) [PATCH] 05-corrupt_items_checks.diff Do not panic when encountered item of unknown type, just print a warning. (02/02/11 1.287) [PATCH] 06-kmalloc_cleanup.diff Convert all the code to use reiserfs_{kmalloc,kfree}. Remove all extra reiserfs_{kmalloc,kfree} overhead if CONFIG_REISERFS_CHECK is not set. (02/02/11 1.288) [PATCH] 07-reiserfs-bitmap-journal-read-ahead.diff Speed up reading of journal bitmaps. RAID users should notice significant speedup when mounting reiserfs over self-rebuilding RAID arays. (02/02/11 1.289) [PATCH] 08-truncate_update_mtime.diff truncate now correctly sets mtime always. Before this fix, mtime was not updated if truncated file was of zero length or if new filesize was bigger then old. Problem was noticed by Matthias Andree (02/02/11 1.290) [PATCH] BKL-free ext2_get_block() Linus, I've got the first of BKL-removal ext2 patches ready to go. It removes BKL from ext2_get_block() and guts of ext2_truncate(). The only place where we hold BKL on these paths is in dquot.c - probably can be easily dealt with, but threading quota is a separate story. Inode metadata (pointers to blocks, both in inode itself and in indirect blocks, preallocation data and allocation goal) are protected by rwlock - EXT2_I(inode)->i_meta_lock. Next steps will involve threading the group descriptors and bitmaps handling - lock_super() uses in ext2 are going to die. However, that's a separate story - let's do that step-by-step. I suspect that patch below will take care of almost all BKL contention from ext2 - we still have BKL held over directory operations, but for regular files that's it. (02/02/11 1.292) [PATCH] zisofs compilation error * zisofs_cleanup cannot be __exit, as it is invoked from __init section when register_filesystem() fails. Petr Vandrovec (02/02/11 1.293) [PATCH] 2.5.4-pre5 and ncpfs fill_super changes * fs/ncpfs/inode.c: Return reasonable error codes instead of universal -EINVAL. Remove printk() as reasonable code is returned. Set maximum file size limit on ncpfs to 4GB-1. * fs/ncpfs/sock.c: Return correct error code when send() fails. Petr Vandrovec (02/02/12 1.294) Various minor documentation / comment typo fixes for net drivers 3c509, acenic, ni52, and skfp. Via Dave Jones. (02/02/12 1.295) request_region cleanups from 2.4 and the kernel janitors. Via Dave Jones. (02/02/12 1.296) Remove deprecated SIOCDEVPRIVATE ioctls in net drivers 3c59x, eepro100, sis900, and tulip. Also, update eepro100 Becker URL. Contributor: Dave Jones (02/02/12 1.297) Merge basic ethtool ioctl support from 2.4.x for 3c505 and sis900 net drivers. Merge two sis900 bug fixes from 2.4.x. Via Dave Jones. (02/02/12 1.298) Fix typo in aironet4500 net driver return value, s/NODEV/-ENODEV/, which prevented the driver from building. Via Dave Jones. (02/02/12 1.299) Merge cosmetic cleanup and driver version increment for dmfe net driver from 2.4.x. Via Dave Jones. (02/02/12 1.300) Add new ISAPNP card id to 'ne' net driver. Via Dave Jones. (02/02/12 1.301) Merge 8139too net driver oops fix from 2.4.x. Fix originally by Andreas Dilger IIRC, merged by Dave Jones. (02/02/12 1.302) Merge ns83820 GigE net driver changes from 2.4.x kernel: 0.13a - optical transceiver support added by Michael Clark 0.13b - call register_netdev earlier in initialization suppress duplicate link status messages 0.15 get ppc (big endian) working Via Dave Jones. (02/02/12 1.303) Merge ethtool support and PPC fix into pcnet32 net driver, from 2.4.x. Also, remove deprecated SIOCDEVPRIVATE ioctl calls. Via Dave Jones. (02/02/12 1.304) Merge changes from yellowfin GigE net driver version LK1.1.6: * Only print warning on truly "oversized" packets * Fix theoretical bug on gigabit cards - return to 1.1.3 behavior Contributor: Val Henson (02/02/12 1.305) A minor patch to remove the last isa_read/isa_write function in the ibmtr token ring net driver. Contributor: Mike Phillips Linux Token Ring Project (02/02/11 1.262.2.5) Fix recalc_sigpending handling. (02/02/12 1.306) Cleanup and fixes to sleeping/scheduling in the olympic token ring net driver. Also included are a couple of minor error reporting updates and the proper detection for cardbus removal. Contributor: Mike Phillips Linux Token Ring Project (02/02/11 1.293.1.1) Fix up typo from Al's ext2 balloc cleanups. (02/02/11 1.293.1.2) [PATCH] mmap can return incorrect errno mmap currently sets errno to EINVAL when it should be ENOMEM. SUS/POSIX states that ENOMEM should be returned when: "MAP_FIXED was specified, and the range [addr, addr + len) exceeds that allowed for the address space of a process; or if MAP_FIXED was not specified and there is insufficient room in the address space to effect the mapping." The following patch (against 2.4.17) fixes this behaviour: (02/02/12 1.307) Add new pci id to via-rhine net driver. (02/02/11 1.293.2.1) [PATCH] pegasus.h this patch somehow didn't get applied to 2.5.4 so i resend it. It is pretty harmless - only adds 3 more devices and 2 vendor ids into pegasus.h :-) (02/02/11 1.293.2.2) [PATCH] Update of USB input drivers to the latest versions Now that the input core changes have made it into 2.5 I can finally update the USB input drivers to their latest versions. Here is a patch that does that. In detail: HID driver: Fix a bug in descriptor parsing (array/variable), namely visible with Logitech new joysticks and mice Fix bugs in logical/physical min/max parsing Fix bugs in exponent parsing Remove workaround for low-speed devices with >8 byte reports, fix this in a correct way (bigger irq request) Untangle some code (fetc_item()) Implement asynchronous input/output/feature report reading and writing Implement (hopefully) proper locking in the above Implement support for devices with an output endpoint Add some support functions for force feedback support currently in development Add entries to the debug dump code, including FF and exponents Add more mappings into the hid-input interface Cleanups here and there usbkbd driver: Make LED URBS use GFP_ATOMIC, they'll be called from a completion handler Remove dependency on hid.h usbmouse driver: Just conversion to the new input core, minor cleanups wacom driver: Just conversion to the new input core. (02/02/12 1.281.1.1) [PATCH] BKL shifted into ->lookup() OK, here comes: ->lookup() had lost BKL, all in-tree instances of ->lookup() converted. I'm adding Documentation/filesystems/porting - with the list of API changes since 2.4. Are you OK with that format? (and yes, this sucker is *post*-compile ;-) (02/02/12 1.311) [PATCH] BKL shifted into ->truncate() BKL shifted into all instances of ->truncate(). Callers updated. (02/02/12 1.307.1.1) Remove GMAC net driver, with the ok of the PPC folks. 'sungem' which DaveM is maintaining is the replacement. (02/02/12 1.307.1.2) Merge bug fixes and PPC-specific feature additions from 2.4.x into bmac and mace net drivers. Via Dave Jones. (02/02/12 1.307.1.3) Add new pci id to 8139too net driver, for Allied Telesyn cardbus cards. Contributor: Go Taniguchi (02/02/12 1.293.4.1) Add Macrolink board PCI ids to pci.ids and pci_ids.h. Contributor: Ed Vance @ Macrolink (02/02/12 1.293.5.1) optimization, cleanup: switch_to(3 parameter) => switch_to(2 parameter). (02/02/12 1.293.5.2) move sched_find_first_bit() from mmu_context.h to bitops.h, it belongs there. (02/02/12 1.293.5.3) a cleanup and a bugfix in the preemptive kernel: - the PREEMPT_ACTIVE trick is not needed - schedule() should check for need_resched, we might miss a reschedule otherwise. the cleanup also fixes the bug. The only reason why i kept preempt_schedule() was to fix up p->state to TASK_RUNNING, to make it possible to preempt from places that mark the task TASK_UNINTERRUPTIBLE before adding the task to a waitqueue, and thus a preemption in that small window could cause the task to be removed from the runqueue erroneously. (02/02/13 1.293.5.4) do not unlock irqs before calling schedule() - besides being a small exit() speedup, this also fixes a preemption race that was introduced by my removal of PREEMPT_ACTIVE. (02/02/12 1.293.2.3) usb hid driver: - patch to fix bug where urbs were freed too soon. (02/02/12 1.293.2.4) [PATCH] usb_set_interface: correct toggle reset this is a patch to prevent usb_set_interface() from erroneously resetting the toggles for all endpoints instead of only the affected ones from the requested interface/altsetting. I've also added some missing parentheses to related macros in usb.h as I prefered not to take special care for nasty side-effects ;-) Patch below was created against 2.4.18-pre9 (with some lines of offset it applies to 2.5.4-pre5 as well). Tested in multi-interface configuration to provide evidence it: * correctly identifies the affected endpoints and resets the toggles * doesn't touch endpoints from other interfaces * provides correct handling of shared EP0 * solves an issue I had with 2.4.18-pre9 where setting one interface occasionally caused transfers on other interface to hang due to lost toggle synchronisation Despite being a pure bugfix, well localized and (IMHO) pretty obviously correct wrt. USB-spec, I'd like to suggest including this in early 2.4.19-pre. Just in case some existing driver would somehow workaround the currently wrong behavior and might break with this fix. And it's not very urgent right now, as we are probably close to 2.4.18-rc1. Regards, Martin (02/02/13 1.293.5.5) this is a fragile piece of the ptrace code, the code relies on a single wakeup coming from the parent. This fix is necessery after the preempt_schedule() cleanups, it unbreaks 'strace strace ...'. (02/02/13 1.293.5.6) - make the preempt-enable test cheaper - only test for the (very rare) TIF_NEED_RESCHED condition, we test the preemption count in preempt_schedule(). This reduces the icache footprint and the overhead of preemption. - plus optimize the irq-path preemption check a bit. (02/02/13 1.293.5.7) cleanups. (02/02/13 1.262.10.1) [PATCH] ALSA patch for 2.5.4 Integrate ALSA into v2.5.4 Jaroslav (02/02/13 1.316) [PATCH] 2.5.4, add help texts to drivers/net/pcmcia/Config.help Add help texts for CONFIG_PCMCIA_AXNET and CONFIG_PCMCIA_XIRCOM (02/02/13 1.317) Make Jaroslav the sound maintainer, remove Alan on his request. (02/02/13 1.318) Include linux/compiler.h in include/asm-i386/bitops.h, for the definition of unlikely(). (02/02/13 1.317.1.1) [PATCH] menuconfig: fix error exit if awk fails This one-liner fixes an error case in Menuconfig when awk fails. Written by Andrew Church (achurch@achurch.org). Reviewed and tested by Michael Elizabeth Chastain (mec@shout.net). Michael Elizabeth Chastain === (02/02/13 1.317.1.3) [PATCH] fix sd_find_target (v2.5.4) This patch fixes a compile error on PPC. It's in sd_find_target, a function that returns a kdev_t. (02/02/13 1.317.1.4) [PATCH] flush_icache_user_range (v2.5.4) The patch below changes access_process_vm to use a new architecture hook, flush_icache_user_range, instead of flush_icache_page, and adds a definition of flush_icache_user_range which does the same thing as flush_icache_page for all architectures except PPC. (The PPC update that is in Linus' BK tree already includes a suitable definition of flush_icache_user_range.) The reason for doing this is that when flush_icache_page is called from do_no_page or do_swap_page, I want to be able to do the flush conditionally, based on the state of the page. In contrast, access_process_vm needs to do the flush unconditionally since it has just modified the page. In the access_process_vm case it is useful to have the information about the user address and length that have been modified since then we can just flush the affected cache lines rather than the whole page. This patch should make it easy to improve performance on alpha, since there (as I understand it) the icache flush is not needed at all in do_no_page or do_swap_page, but is needed in access_process_vm. All that is needed is to make flush_icache_page a noop on alpha. The patch below doesn't do this, I'll let the alpha maintainers push that change if they want. (02/02/13 1.320) update version (02/02/13 1.321) Avoid pci driver warnings on 64-bit hosts (02/02/13 1.322) [PATCH] x86_64-merge file.c warning Just an gcc 3.1 warning fix. It now warns about __FUNCTION__ string concatenation. Also remove the check because it does not seem to trigger ever. -Andi (02/02/13 1.323) [PATCH] x86_64 merge: arch + asm This adds the x86_64 arch and asm directories and a Documentation/x86_64. It took a bit longer because I first had to make preemption and thread_info work and also found some other bugs while doing this. The port has been tested for a long time on UP. I'm not sure what I should describe. A lot is based on i386 with a lot of cleanups. I wrote a paper about it for last year's OLS that describes most of the changes (ftp://ftp.firstfloor.org/pub/ak/x86_64.ps.gz). It is a bit outdated now, but should give a good overview. It currently has a completely cut'n'pasted from others+hacked 32bit emulation. I hope to clean that up in the future by merging the generic core of this with other 64bit archs. Thanks, -Andi (02/02/13 1.324) [PATCH] x86-64 MAINTAINERS Add Andi Kleen as x86-64 maintainer. (02/02/13 1.325) [PATCH] x86_64 merge: fs/proc/inode.c #include fix fs/proc/inode.c is using __init, but for some reason missing an #include . Add this.