Co to jest – można to skopiować z sieci, ma odpowiednią nazwę i dopisek It doesn't really exist yet.? Chodzi oczywiście o jądro serii 2.6.x, którego pierwszy pre-przedstawiciel pojawił się w sieci. Gotn podesłał nam informację, że pojawiła się wersja 2.6.0-test1 kernela linuksowego. Oznacza to jednocześnie, że seria 2.5.x zostaje zamknięta, a 2.5.75 był jej ostatnim przedstawicielem.

Więcej informacji na temat 2.6.0-test1 znajdziecie w changelogu, który publikujemy poniżej. Ze swojej strony dodam, że jeśli nie chcemy powtórki historii z 2.4.x, warto zainstalować nowe jądro na jakiejś testowej maszynie i poświęcić trochę czasu na wypełnienie zgłoszeń o znalezionych błędach.

Informację o nowym kernelu podesłał nam gotn

  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/|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]      	[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)  	- ap
pletalk/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:  	  	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  	  	 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 curren
tly 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)  	  	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      	[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: 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.      

Archiwalny news dodany przez użytkownika: honey.
Kliknij tutaj by zobaczyć archiwalne komentarze.

Oznaczone jako → 
Share →