|
|
Log in / Subscribe / Register

2.6.0-test9 long-format changelog


Summary of changes from v2.6.0-test8 to v2.6.0-test9
============================================

<stevef-AT-smfhome2.austin.rr.com>
	check return code on failed kmalloc.  list management bugs.  fix xid going negative. 

<stevef-AT-stevef95.austin.ibm.com>
	Fix spinlock usage for SMP safety

<stevef-AT-smfhome2.austin.rr.com>
	Fix various SMP/locking problems pointed out by Shoobhit Dayal and Arjan van de Ven

<stevef-AT-stevef95.austin.ibm.com>
	Remove illegal kunmap

<stevef-AT-stevef95.austin.ibm.com>
	Missing spin_unlock in error path and extraneous kunmap in cifs_writepages

<stevef-AT-steveft21.austin.ibm.com>
	missing cifs mount options

<stevef-AT-steveft21.austin.ibm.com>
	add missing mount option iocharset to cifs vfs

<stevef-AT-linux.local>
	list processing fixes in cifs reopen_files

<overby-AT-sgi.com>
	[XFS] A problem was found with the debug code in xlog_state_do_callback.  At
	the end of processing all log buffers that can be processed, there is
	a (debug only) double-check to make sure that log buffers with
	completed I/O don't get marooned when the function completes.  The
	check only needs to go to the first buffer that will cause an I/O
	completion, that has not completed.  The loop doesn't stop a WANT_SYNC
	state buffer is found, but it should.
	
	SGI Modid: 2.5.x-xfs:slinx:159683a

<stevef-AT-stevef95.austin.ibm.com>
	Fix case where server hung but tcpip session still good.  Fix double request of same spinlock

<stevef-AT-stevef95.austin.ibm.com>
	don't kill demultiplex thread on ERESTARTSYS

<stevef-AT-stevef95.austin.ibm.com>
	missing check for eagain on sock ops

<stevef-AT-smfhome2.austin.rr.com>
	fix loop on mount failure of session setup

<stevef-AT-stevef95.austin.ibm.com>
	 fixes to not prematurely exit demultiplex captive thread

<mikenc-AT-us.ibm.com>
	[PATCH] fix oops caused when writing to the rescan attribute
	
	If an upper layer driver is not loaded, and you write to a device's 
	rescan attribute you will get an oops. The attached patch fixes this by 
	testing if the device's driver variable is set before accessing it.

<dougg-AT-torque.net>
	[PATCH] SCSI constants.c
	
	However, drivers/scsi/constants.c does know about Report Luns??
	Looks like a merging problem by Andries and me sometime back.

<patmans-AT-us.ibm.com>
	[PATCH] SCSI: limit mode sense usage
	
	Re-roll of the patch against 2.6.0-test6 to allow overriding or setting of
	mode sense related flags, includes Alan Stern's as95 patch minus his
	scsiglue.c changes.
	
	Moves scsi_devinfo.h for use outside of drivers/scsi, and adds three new
	devinfo flags:
	
		BLIST_MS_SKIP_PAGE_08
		BLIST_MS_SKIP_PAGE_3F
		BLIST_USE_10_BYTE_MS
	
	Adds a per host template flags, and use of it in scsiglue.c. The per host
	value can be overridden by a devinfo entry, the patch does not allow
	scsi_default_dev_flags to override default host values.
	
	USB mass storage and removable media (for testing mode page 3f use) were
	not tested, if you have a USB storage device that still chokes on mode
	sense 3f please give this a spin.
	
	 drivers/scsi/scsi_devinfo.c    |   15 +++++++++++----
	 drivers/scsi/scsi_devinfo.h    |   17 -----------------
	 drivers/scsi/scsi_priv.h       |    3 ++-
	 drivers/scsi/scsi_scan.c       |   17 +++++++++++++----
	 drivers/scsi/sd.c              |    9 +++++++++
	 drivers/usb/storage/scsiglue.c |    8 ++++----
	 include/scsi/scsi_device.h     |    2 ++
	 include/scsi/scsi_devinfo.h    |   22 ++++++++++++++++++++++
	 include/scsi/scsi_host.h       |    6 ++++++
	 9 files changed, 69 insertions(+), 30 deletions(-)

<nathans-AT-sgi.com>
	[XFS] Fix inode btree lookup code precision problem with large allocation groups
	
	SGI Modid: 2.5.x-xfs:slinx:160092a

<greg-AT-kroah.com>
	[PATCH] USB: gadget fixes for 64bit processor warnings.

<jbarnes-AT-sgi.com>
	[PATCH] ia64: fix topology init
	
	Populate topology directories correctly now that NUMA kernels work.

<len.brown-AT-intel.com>
	[ACPI] speed up reads from /proc/acpi/ (Shaohua David Li)
	http://bugme.osdl.org/show_bug.cgi?id=726

<len.brown-AT-intel.com>
	[ACPI] fix object reference count bug for battery status (Shaohua David Li)
	http://bugme.osdl.org/show_bug.cgi?id=1038

<len.brown-AT-intel.com>
	[ACPI] acpi_ec_gpe_query(ec) fix for T40 crash (Shaohua David Li)
	http://bugme.osdl.org/show_bug.cgi?id=1171

<len.brown-AT-intel.com>
	[ACPI] fix acpi_ev_gpe_dispatch() parameter (Bob Moore)

<davidm-AT-tiger.hpl.hp.com>
	ia64: Add missing exports to modules build again.

<davidm-AT-tiger.hpl.hp.com>
	ia64: Fix printk format error.

<davidm-AT-tiger.hpl.hp.com>
	ia64: Don't mix code and declarations (not C90-compliant).

<zwane-AT-arm.linux.org.uk>
	[IPV6]: Fix sit.c compilation w/o CONFIG_XFRM.

<davem-AT-nuts.ninka.net>
	[NET]: Undo deprecation of init_etherdev, we will add it back once all in-tree drivers are fixed.

<bdschuym-AT-pandora.be>
	[EBTABLES]: Adjust skb->pkt_type when necessary.

<rmk-AT-arm.linux.org.uk>
	[NET]: Prevent 'eth0: driver changed get_stats after register' from lying.

<akpm-AT-osdl.org>
	[NET]: Make register_netdevice return correct error when driver init function fails.

<herbert-AT-gondor.apana.org.au>
	[NET]: More build fixes for CONFIG_XFRM disabled.

<bjorn.helgaas-AT-hp.com>
	[PATCH] ia64: fix EFI memory map trimming
	
	This fixes a problem in EFI memory map trimming. For example,
	here's part of the memory map on my i2000:
	
	    mem00: type=4, attr=0x9, range=[0x0000000000000000-0x0000000000001000) (0MB)
	    mem01: type=7, attr=0x9, range=[0x0000000000001000-0x0000000000088000) (0MB)
	    mem02: type=4, attr=0x9, range=[0x0000000000088000-0x00000000000a0000) (0MB)
	    mem03: type=5, attr=0x8000000000000009, range=[0x00000000000c0000-0x0000000000100000) (0MB)
	    mem04: type=7, attr=0x9, range=[0x0000000000100000-0x0000000004000000) (63MB)
	    mem05: type=2, attr=0x9, range=[0x0000000004000000-0x00000000049ba000) (9MB)
	    mem06: type=7, attr=0x9, range=[0x00000000049ba000-0x000000007ec0b000) (1954MB)
	    ...
	
	There's a hole at 0xa0000-0xc0000, so we should ignore all the WB memory
	in that granule.  With 16MB granules, the existing code trims like this
	(note the 4K page at 0x0 should have been ignored, but wasn't).

<jbarnes-AT-sgi.com>
	[PATCH] ia64: zero out topology related sysfs nodes
	
	Tony pointed out (thanks Tony) that in -test8 kobject_set_name() will
	try to free a kobject's k_name field if it's non-NULL, so we need to
	zero it out in case kmalloc() gave us recycled memory or we'll try to
	kfree a bogus area.

<davidm-AT-tiger.hpl.hp.com>
	ia64: Sync with i386 irq.c (deadlock avoidance for certain disable_irq()/
		enable_irq() sequences).

<arun.sharma-AT-intel.com>
	[PATCH] ia64: make strace of ia32 processes work again
	
	Newer versions of strace manipulate the syscall arguments and to make this
	work for ia32 processes, we need to reload the syscall args after
	doing the syscall-trace callback.

<eranian-AT-hpl.hp.co>
	[PATCH] ia64: two perfmon fixes
	
	- converts hdr_cur_pos into hdr_cur_offs to avoid leaking kernel
	  addresses to userland. As a consequence hdr_last_pos is gone.
	
	- correct buffer saturation mode bug by which the hdr_count would
	  be reset, leading to no visible samples collected.

<B.Zolnierkiewicz-AT-elka.pw.edu.pl>
	[PATCH] fix drivers/ide/pci/siimage.c for PROC_FS=n
	
	From: "Noah J. Misch" <noah-AT-caltech.edu>
	
	The Silicon Image driver is not building properly when CONFIG_PROC_FS is unset.
	This patch corrects that problem.  It appears as though several utility
	functions at the top of drivers/ide/pci/siimage.c that the driver always needs
	accidentally fell within an #ifdef CONFIG_PROC_FS.  I also removed an excess
	include while I noticed it.

<kraxel-AT-bytesex.org>
	[PATCH] Fix bttv BUG() at video-buf.c:378
	
	As found by Herbert Xu: the last v4l update broke bttv.  videobuf_iolock
	was passed a vb that has just been filled with zeros. 
	
	Fixed like this.

<neilb-AT-cse.unsw.edu.au>
	[PATCH] md -  Use sector rather than block numbers when splitting raid0 requests.
	
	When raid0 needs to split a request, it uses 'block' (1K) addresses
	rather than sector (512b) addresses, which causes problems if the sector
	address is odd.  This patch fixes the problem.
	
	Thanks to Andy Polyakov <appro-AT-fy.chalmers.se>

<neilb-AT-cse.unsw.edu.au>
	[PATCH] kNFSd -  In READDIRPLUS reply, don't return a file handle for a mounted directory.
	
	... as if "nohide" is in used, it will be the wrong filehandle, and
	returning a filehandle is optional anyway.

<len.brown-AT-intel.com>
	[ACPI] fix !CONFIG_PCI build
	  use X86 ACPI specific version of eisa_set_level_irq()
	  http://bugzilla.kernel.org/show_bug.cgi?id=1390

<len.brown-AT-intel.com>
	[ACPI] Broken fan detection prevents booting (Shaohua David Li)
	  http://bugme.osdl.org/show_bug.cgi?id=1185

<viro-AT-parcelfarce.linux.theplanet.co.uk>
	[PATCH] Fix initrd with devfs enabled
	
	This fixes initrd with devfs.  With that combination the late-boot code
	does temporary mount of devfs over rootfs /dev, which made /dev/initrd
	inaccessible.  For setups without devfs that didn't happen. 
	
	The fix is trivial - put the file in question outside of /dev; IOW,
	we simply replace "/dev/initrd" with "/initrd.image" in init/*.
	
	Confirmed to fix the problem by Valdis Kletnieks

<kuznet-AT-ms2.inr.ac.ru>
	TCP: do not return -EINTR, when data are available for read()

<davem-AT-nuts.ninka.net>
	[LLC]: Make LLC2 compile with PROC_FS=n

<da-x-AT-gmx.net>
	[NET]: Fix sysctl breakage during network device renaming.
	
	Sysctl assumes its ctl_table.procname field is const, but the 
	networking points ctl_table.procname to dev->name. When renaming 
	a network device using SIOCSIFNAME, dev->name is modified and 
	sysctl's assumption breaks, causing this behaviour, at least:
	
	  1. sysctl wouldn't be able to remove the proc entry when the 
	     device requests to be unregistered, because it would be 
	     using the new name instead of the old one.
	  2. proc entries for devices remain with the old name after 
	     rename.
	  
	This change includes allocating the current device name to a
	new copy upon registering with sysctl, plus re-registering with 
	sysctl when the device is renamed.
	
	This only fixes IPv4, IPv6, and net/core/neightbour.c.
	Fixes for ax25 and decnet are also planned.

<davem-AT-nuts.ninka.net>
	[NET]: sysctl_net_core.c needs linux/module.h

<hunold-AT-linuxtv.org>
	[PATCH] Fix bugs in various DVB drivers
	
	 - DVB networking uses big endian crc32, so change all occurences of
	   crc32_le to crc32_be
	 - fix usage of firmware location Kconfig option in tda1004x frontend
	   driver
	 - add missing VBI line decoding initialization to saa7113 code for
	   av7110 driver
	 - make av7110 firmware static and *not* __initdata, so recover_arm()
	   can work in case the driver is compiled in statically

<hunold-AT-linuxtv.org>
	[PATCH] Fix bug in saa7146 analog tv i2c-handling
	
	 - remove cruft, add I2C_ADAP_CLASS_TV_ANALOG identifier for analog tv
	   i2c handler

<hunold-AT-linuxtv.org>
	[PATCH] Fix bugs in analog tv i2c-helper chipset drivers
	
	 - remove cruft, memset() i2c-client structures in tda9840, tea6420,
	    tea6415c driver, otherwise i2c_register()/kobject() segfaults later on

<B.Zolnierkiewicz-AT-elka.pw.edu.pl>
	[PATCH] fix drivers/ide/pci/cmd640.c for CONFIG_PCI=n
	
	CMD640 driver also supports VLB version of the chipset, therefore fix
	drivers/ide/Makefile to include pci/ subdir even if CONFIG_BLK_DEV_IDEPCI=n.

<davidm-AT-tiger.hpl.hp.com>
	ia64: Based on patch by Arun Sharma: fix IA-32 subsystem to support NPTL.

<dave.jiang-AT-com.rmk.(none)>
	[ARM PATCH] 1691/1: Fix IOP321 platform booting in 2.6
	
	Patch from Dave Jiang
	
	The fix allows IOP321 based platforms to boot all the way instead of
	blank screen after "starting kernel...".  Inherited from Deepak's
	earlier patch. 

<davidm-AT-tiger.hpl.hp.com>
	ia64: Fix IA-32 NPTL fixes so things compile again.

<alex-AT-de.rmk.(none)>
	[ARM PATCH] 1692/1: Shark: PCIMEM_BASE
	
	Patch from Alexander Schulz
	
	This patch adds the define for PCIMEM_BASE so that the shark kernel
	compiles again.

<jgarzik-AT-redhat.com>
	[libata] Merge Serial ATA core, and drivers for:
	Intel ICH5 (production)
	ServerWorks / Apple K2 (beta)
	VIA (beta)
	Silicon Image 3112 (broken!)
	Various Promise (alpha/beta)

<jgarzik-AT-redhat.com>
	[libata] Integrate Serial ATA driver into kernel tree.

<davidm-AT-tiger.hpl.hp.com>
	ia64: Fix efi_mem_type() and efi_mem_attributes() to avoid potential
		underflows.  In my case, the underflows occurred with the
		first memory descriptor which got trimmed down to a size of 0.
		Due to the underflow, this descriptor ended up covering the entire
		address-range which in turn caused Bad Things to happen with the
		X server.

<davidm-AT-tiger.hpl.hp.com>
	ia64: Patch by Arun Sharma: fix allocation/handling of GDT shared page (the old code
		was inconsistent and in places still assumed there is both a GDT and a TSS
		shared page, but the latter was removed a long time ago).

<jamesclv-AT-us.ibm.com>
	[PATCH] Allow more APIC irq sources
	
	The "irq_vector[]" array is indexed by the sum of all RTEs in all I/O
	APICs, and is not necessarily limited by the x86 CPU irq vector inputs.
	
	In fact, the irq vector index would overflow on big machines with lots
	of IO APIC's, causing the boot to fail.
	
	So grow the array for the big SMP boxes, keeping the default the same as
	before (and shrink the vector entry size down to a 8-bit value, since
	that's the size of the actual CPU vector entry).

<davem-AT-nuts.ninka.net>
	[IPV6]: Set fl->proto in _decode_sesseion6.

<davem-AT-nuts.ninka.net>
	[TG3]: Disable/enable timer in suspend/resume.

<davem-AT-nuts.ninka.net>
	[NET COMPAT]: Fix hangs caused by bugs in do_netfilter_replace().
	
	It is illegal to try to access things via userspace pointers
	after set_fs(KERNEL_DS), and that is exactly what this function
	was doing.  Fix by using compat_alloc_user_user_space(), this
	preserves the copy minimization the original code had.

<akpm-AT-osdl.org>
	[PATCH] fix split_vma vs. invalidate_mmap_range_list race
	
	From: "V. Rajesh" <vrajesh-AT-eecs.umich.edu>
	
	If a vma is already present in an i_mmap list of a mapping,
	then it is racy to update the vm_start, vm_end, and vm_pgoff
	members of the vma without holding the mapping's i_shared_sem. 
	This is because the updates can race with invalidate_mmap_range_list.
	
	I audited all the places that assign vm_start, vm_end, and vm_pgoff.
	AFAIK, the following is the list of questionable places:
	
	1) This patch fixes the racy split_vma. Kernel 2.4 does the
	   right thing, but the following changesets introduced a race.
	
	   http://linux.bkbits.net:8080/linux-2.5/patch-AT-1.536.34.4
	   http://linux.bkbits.net:8080/linux-2.5/patch-AT-1.536.34.5
	
	   You can use the patch and programs in the following URL to
	   trigger the race.
	
	  http://www-personal.engin.umich.edu/~vrajesh/linux/truncate-race/
	
	2) This patch also locks a small racy window in vma_merge.
	
	3) In few cases vma_merge and do_mremap expand a vma by adding 
	   extra length to vm_end without holding i_shared_sem. I think
	   that's fine.
	
	4) In arch/sparc64, vm_end is updated without holding i_shared_sem.
	   Check make_hugetlb_page_present.  I hope that is fine, but
	   I am not sure.

<akpm-AT-osdl.org>
	[PATCH] scsi: handle zero-length requests
	
	From: Jens Axboe <axboe-AT-suse.de>
	
	The command 'eject /dev/scd0' sends a START_STOP command to the device with
	the data direction set to SCSI_DATA_WRITE but a transfer length of zero.
	This causes a problem for some code paths.

<akpm-AT-osdl.org>
	[PATCH] ia32 limit_regions update
	
	Sync this up with 2.4:
	
	 ChangeSet-AT-1.404.2.2  2002-05-06 21:30:10-03:00  hch-AT-infradead.org
	 [PATCH] memsetup fixes (again)
	
	 The mem= fixes from Red Hat's tree had a small bug:
	 if mem= was not actually used with the additional features, but
	 int plain old way, is used the value as the size of memory it
	 wants, not the upper limit.  The problem with this is that there
	 is a small difference due to memory holes.
	
	 I had one report of a person using mem= to reduce memory size for
	 a broken i386 chipset thaty only supports 64MB cached and the rest
	 as mtd/slram device for swap.  I got broken as the boundaries changed.

<akpm-AT-osdl.org>
	[PATCH] Fix unmap_vmas() compile warning
	
	Silence a bogus "may be used uninitialised" warning.  It only affects
	architectures which use the tlb_finish_mmu() args.

<akpm-AT-osdl.org>
	[PATCH] Time precision, adjtime(x) vs. gettimeofday
	
	From: Stephen Hemminger <shemminger-AT-osdl.org>
	
	The following will prevent adjtime from causing time regression.  It delays
	starting the adjtime mechanism for one tick, and keeps gettimeofday inside
	the window.
	
	Only fixes i386, but changes to other arch would be similar.
	
	Running a simple clock test program and playing with adjtime demonstrates
	that this fixes the problem (and 2.6.0-test6 is broken).  But given the
	fragile nature of the timer code, it should go through some more testing
	before inclusion.

<akpm-AT-osdl.org>
	[PATCH] atp870u oops fix
	
	This driver is taking uinitialised stack gunk from the pdev[] array and
	feeding it into pci_read_config_byte() and crashing when modprobed with no
	hardware present.
	
	Fix it to not index past the initialised members of pdev[].
	
	We don't know if this driver works.

<akpm-AT-osdl.org>
	[PATCH] tmpfs 1/7 LTP ENAMETOOLONG fix
	
	From: Hugh Dickins <hugh-AT-veritas.com>
	
	LTP tests the filesystem on /tmp: there are many failures when using tmpfs
	because simple_lookup forgot to reject filenames longer than the NAME_MAX
	tmpfs declares in its statfs.  This also fixes ramfs and hugetlbfs.

<akpm-AT-osdl.org>
	[PATCH] tmpfs 2/7 LTP S_ISGID on directories fix
	
	From: Hugh Dickins <hugh-AT-veritas.com>
	
	LTP tests the filesystem on /tmp: many failures when tmpfs because it missed
	the way directories hand down their gid.  Also fix ramfs and hugetlbfs.

<akpm-AT-osdl.org>
	[PATCH] tmpfs 3/7 swapoff/truncate race fix
	
	From: Hugh Dickins <hugh-AT-veritas.com>
	
	On 23 July, Sergey S. Kostyliov <rathamahata-AT-php4.ru> reported a tmpfs
	BUG_ON(inode->i_blocks) during swapoff: my last version of the fix to
	swapoff/truncate race was inadequate, since I_FREEING might get set or
	i_size be reduced (from another cpu) the instant after it's tested here.
	
	So revert to the previous version of the fix, shmem_truncate calling
	truncate_inode_pages again, if pages still left in cache; but avoid the
	recall in usual cases of partial truncation, by having a "pagein" flag
	to indicate when recall might be necessary.  (Since those flags already
	use VM_ACCOUNT and VM_LOCKED, must redefine another VM_flag for this.)
	Sergey and 2.4-aa have run fine with this for a couple of months.

<akpm-AT-osdl.org>
	[PATCH] tmpfs 4/7 getpage/truncate race fix
	
	From: Hugh Dickins <hugh-AT-veritas.com>
	
	Extend use of that SHMEM_PAGEIN flag to where shmem_getpage adds a page
	to the cache.  It couldn't have caused a BUG_ON(inode->i_blocks), but if
	i_size is reduced (from another cpu) the instant after shmem_swp_alloc
	checks it, shmem_getpage could insert a page into the cache just after
	truncate_inode_pages has passed through cleaning it, leaving stale data
	(which may mysteriously reappear if the file is later extended).
	
	Easily fixed for tmpfs, using the mechanism just added for swapoff; and
	probably more important there, since its read from swap can insert non-0
	data.  But is there not a similar issue, a tiny window, in filemap.c?
	if truncate_inode_pages comes in between checking i_size and adding new
	page to cache.  Not worth getting excited, but something to beware of.

<akpm-AT-osdl.org>
	[PATCH] tmpfs 5/7 writepage/truncate race fix
	
	From: Hugh Dickins <hugh-AT-veritas.com>
	
	If it's possible for a tmpfs page beyond i_size to remain in cache until
	shmem_truncate repeats truncate_inode_pages, then shmem_writepage's
	BUG_ON(index >= info->next_index) cannot be completely safe.  But it's a
	useful check in a fragile area, so retain it when not in shmem_truncate.

<akpm-AT-osdl.org>
	[PATCH] tmpfs 6/7 write i_size_write
	
	From: Hugh Dickins <hugh-AT-veritas.com>
	
	mm/shmem.c was converted to i_size_read in -test1, and the remaining
	references to a file's naked i_size are safely protected by i_sem;
	but surely shmem_file_write must use i_size_write to update i_size.

<akpm-AT-osdl.org>
	[PATCH] tmpfs 7/7 write mark_page_accessed
	
	From: Hugh Dickins <hugh-AT-veritas.com>
	
	mm/filemap.c's generic_file_aio_write_nolock changed SetPageReferenced
	to mark_page_accessed in -test3: now follow that in shmem_file_write.

<akpm-AT-osdl.org>
	[PATCH] Quota deadlock fix
	
	From: Jan Kara <jack-AT-ucw.cz>
	
	attached patch should fix a quota locking problem causing deadlock (when
	inode was being released from icache and it caused newly created quota
	structure to be written).

<akpm-AT-osdl.org>
	[PATCH] export system_running to other files
	
	There seems to be no header file which declares system_running.

<akpm-AT-osdl.org>
	[PATCH] Kill early might_sleep warnings
	
	OK, I give up.  Kill all the might_sleep warnings from the early boot
	process.

<akpm-AT-osdl.org>
	[PATCH] digi_acceleport.c has bogus "address of" operator
	
	From: "Kurtis D. Rader" <kdrader-AT-us.ibm.com>
	
	http://bugme.osdl.org/show_bug.cgi?id=1365
	
	The digi_acceleport.c USB serial driver has a bogus "address of" operator
	that results in BUGs.
	
	The problem is that digi_wakeup_write_lock() takes a pointer to a struct
	usb_serial_port.  However, what gets passed is a pointer to a pointer to a
	struct usb_serial_port.

<akpm-AT-osdl.org>
	[PATCH] fix microcode.c for older gcc's
	
	Fix a C99ism.

<akpm-AT-osdl.org>
	[PATCH] Fix mtd printk warnings
	
	From: Jesper Juhl <juhl-lkml-AT-dif.dk>

<akpm-AT-osdl.org>
	[PATCH] fs/binfmt_elf.c:load_elf_binary() doesn't verify interpreter arch
	
	From: Peter Bergner <bergner-AT-vnet.ibm.com>
	
	In fs/binfmt_elf.c:load_elf_binary() (both 2.6 and 2.4), there is some
	minimal checking whether the interpreter it's about to load/run is a valid
	ELF file, but it fails to check whether the interpreter is of the correct
	arch.  We ran into this when a borked powerpc64-linux toolchain set the
	interpreter on our 64-bit app to our 32-bit ld.so.  Executing the app
	caused the kernel to really chew up memory.  I'm assuming x86_64 and
	sparc64 might possibly see the same behavior.
	
	Note I'm not sure of the history behind INTERPRETER_AOUT, so I added the
	test for INTERPRETER_ELF so as not to change it's behavior in case someone
	still relies on it.
	
	As an aside, it seems the elf_check_arch() macros should really be checking
	for more than a valid e_machine value.  I'd think checking one or more of
	the e_ident[EI_CLASS], e_ident[EI_DATA] and e_ident[EI_OSABI] values would
	be required as well, no?

<akpm-AT-osdl.org>
	[PATCH] JBD kfree() fix
	
	I happened to spot this kfree(of complete garbage) - it is on an
	oh-we-raced-retry path which is obviously exceedingly rare,

<akpm-AT-osdl.org>
	[PATCH] Fix JBD memory leak
	
	Plug the two-megabyte-per-day memory leak.

<akpm-AT-osdl.org>
	[PATCH] fix low-memory BUG in slab
	
	cache_grow() will call kmem_freepages() if the call to alloc_slabmgmt()
	fails.  But the pages have not been marked PageSlab at this stage, so
	kmem_freepages() goes BUG.
	
	It is more symmetrical to mark the pages as PageSlab in kmem_getpages().
	
	The patch also prunes a bunch of incorrect comments.
	
	(PageSlab doesn't actually do anything: its only value is as a debug check.
	I think the LKCD patch uses it).

<akpm-AT-osdl.org>
	[PATCH] fix for register_cpu()
	
	From: jbarnes-AT-sgi.com (Jesse Barnes)
	
	The patch adds a symlink from /sys/devices/system/node/nodeM/cpuN to the
	/sys/devices/cpu/cpuN directory so that a userspace program can determine
	which CPUs belong to which nodes easily.  Non-NUMA systems can simply pass
	NULL in for the root arg and everything will work like it used to.

<akpm-AT-osdl.org>
	[PATCH] fix bluetooth broken compilation when PROC_FS=n.
	
	From: Luiz Capitulino <lcapitulino-AT-prefeitura.sp.gov.br>
	
	Fix bluetooth build when CONFIG_PROC_FS=n

<akpm-AT-osdl.org>
	[PATCH] make printk more robust with "null" pointers
	
	Expand printk's traditional handling of null pointers so that anything in the
	first page is considered a null pointer.
	
	This gives us better behaviour when someone (acpi..) accidentally prints a
	string which is embedded in a struct, the pointer to which is null.

<akpm-AT-osdl.org>
	[PATCH] kcapi.c CONFIG_MODULES=n build fix
	
	With CONFIG_MODULES=n this file does not compile because the type of
	module->owner is not known.
	
	Gven that card->owner is probably a null pointer when this driver is
	statically linked, best thing to do is to just not poke around inside
	card->owner at all.

<akpm-AT-osdl.org>
	[PATCH] DRM modprobe retval fix
	
	If you try to load a DRM module when agpgart is not present, modprobe says
	"Cannot allocate memory", which is rather misleading.
	
	Make it return -EINVAL instead.

<akpm-AT-osdl.org>
	[PATCH] parport_pc not releasing all ioports
	
	From: John Mock <kd6pag-AT-qsl.net>
	
	If 'parport_pc' is compile as a module, it fails to properly return certain
	ioport resources after being removed.

<akpm-AT-osdl.org>
	[PATCH] Fix oops with CONFIG_MCA=y
	
	With CONFIG_MCA=y and no MCA bus present, drivers go oops deep in the kobject
	code when calling mca_register_driver().  Because there is no MCA subsystem
	registered against the driver.
	
	Plug this in mca_register_driver().

<akpm-AT-osdl.org>
	[PATCH] Fix another CONFIG_MCA=y oops
	
	If you have an MCA kernel on non-MCA hardware and load an MCA driver,
	mca_find_unused_adapter() ends up dereferencing NULL. 
	
	Teach it about the absence of MCA buses.

<akpm-AT-osdl.org>
	[PATCH] ipc msg race fix
	
	Backport this fix from 2.4

<akpm-AT-osdl.org>
	[PATCH] io scheduler oops fixes
	
	Peter Osterlund <petero2-AT-telia.com> notes oopses in the anticipatory
	scheduler with slab poisoning enabled due to arq->rb_node.rb_right being
	uninitialised.  So wipe the whole thing when we allocate it.
	
	deadline seems to have the same problem.

<akpm-AT-osdl.org>
	[PATCH] pcm_native locking fix
	
	It is missing an up() on an error path.

<akpm-AT-osdl.org>
	[PATCH] Fix toshiba.c and neofb.c for CONFIG_PROC_FS=n
	
	From: "Noah J. Misch" <noah-AT-caltech.edu>
	
	Allows the Toshiba SMM driver to compile with CONFIG_PROC_FS=n.

<akpm-AT-osdl.org>
	[PATCH] v850: Workaround for tty-driver init-order problem
	
	From: miles-AT-lsi.nec.co.jp (Miles Bader)
	
	Use `late_initcall' instead of just `__initcall' as a workaround for
	the fact that (1) simcons_tty_init can't be called before tty_init,
	(2) tty_init is called via `module_init', (3) if statically linked,
	module_init == device_init, and (4) there's no ordering of init lists.
	
	We can do this easily because simcons is always statically linked, but
	other tty drivers that depend on tty_init and which must use
	`module_init' to declare their init routines are likely to be broken.

<akpm-AT-osdl.org>
	[PATCH] v850: Don't reserve root-filesystem memory twice
	
	From: miles-AT-lsi.nec.co.jp (Miles Bader)
	
	This reservation is handled by platform-independent code in 2.6.0, but some
	platforms _also_ did it in platform-specific code (left over from 2.4.x).

<akpm-AT-osdl.org>
	[PATCH] v850: Use irqreturn_t on rte-me2-cb platform
	
	From: miles-AT-lsi.nec.co.jp (Miles Bader)
	
	The cb_pic_handle_irq function on this platform hadn't been updated to
	use irqreturn_t; do so.

<akpm-AT-osdl.org>
	[PATCH] Add needed __devexit_p's to two gameport drivers
	
	From: "Noah J. Misch" <noah-AT-caltech.edu>
	
	Two gameport drivers need __devexit_p wrapped around their remove
	functions.  A newer binutils caught this is a link error.  This patch fixes
	that.
	
	Wrapped a __devexit_p around the 'remove' functions of two gameport
	drivers.  The lack of __devexit_p was wrong according to linux/init.h,
	differed from the practices in nearby files, and caused a link error with
	binutils 2.14.90.0.5.

<akpm-AT-osdl.org>
	[PATCH] /dev/mem range checking
	
	From: Bjorn Helgaas <bjorn.helgaas-AT-hp.com>
	
	ia64 needs more complete checking on the offset which is passed into reads
	or writes of /dev/mem.
	
	This patch factors out the range checking so that the architecture can
	implement a private version.

<akpm-AT-osdl.org>
	[PATCH] Kill unneccessary debug printk
	
	From: Pavel Machek <pavel-AT-ucw.cz>
	
	This printk is unneccessary for quite a long time, please kill it. [I
	added it, so it should be okay for me to request it being killed..]

<akpm-AT-osdl.org>
	[PATCH] Fix arlan compilation with CONFIG_PROC_FS=n
	
	From: Luiz Capitulino <lcapitulino-AT-prefeitura.sp.gov.br>
	
	when PROC_FS=n, arlan.h will define init_arlan_proc() and
	cleanup_arlan_proc() as macros.  So, whitout the #ifdef/#endif here, we have
	two definitions.

<akpm-AT-osdl.org>
	[PATCH] Altix console driver
	
	From: Patrick Gefre <pfg-AT-sgi.com>
	
	Add ia64 Altix serial console driver.

<akpm-AT-osdl.org>
	[PATCH] befs oops fix
	
	Need to null-terminate that table.

<akpm-AT-osdl.org>
	[PATCH] early_serial_setup array bounds check
	
	From: Bjorn Helgaas <bjorn.helgaas-AT-hp.com>
	
	early_serial_setup() doesn't validate the array index, so a caller could
	corrupt memory after serial8250_ports[] by supplying a value of port->line
	that's too large.
	
	I haven't seen a failure related to this, but it seems fragile to rely on
	callers to know how many ports the driver supports.

<viro-AT-parcelfarce.linux.theplanet.co.uk>
	[PATCH] fix for do_tty_hangup() access of kfreed memory
	
		do_tty_hangup() does fput() on redirect struct file too early -
	it could've been the only holder of tty_struct we are working with and in
	that case we'll end up freeing it from fput() and then both reading and
	modifying kfreed memory.

<torvalds-AT-home.osdl.org>
	bcopy() doesn't return anything.

<torvalds-AT-home.osdl.org>
	Make the pc9800, visws and voyager sub-architectures tell us
	their NR_IRQ_VECTORS.

<arun.sharma-AT-intel.com>
	[PATCH] ia64: don't touch IA-32 segment descriptors too early
	
	Without this patch, if a signal handler tried to access TLS data (via %gs), things break, because the GS descriptor is zero.
	
	To be compatible with i386, we shouldn't be touching the segment descriptors
	before getting into signal handlers.

<alex.williamson-AT-hp.com>
	[PATCH] ia64: trivial ia64 numa/discontig fixes
	
	I stumbled on a couple trivial bugs in ia64 numa/discontig support.
	The first just sets the default number of nodes to something reasonable
	for a generic kernel, otherwise it's really easy to start walking over
	your initdata (more error checking should probably be added).  The
	second fixes a memcpy to a physical address.

<torvalds-AT-home.osdl.org>
	Revert bogus IRQ_INPROGRESS clear.
	
	It's incorrect for any user of the non-synchronizing irq_disable_nosync().
	
	Cset exclude: torvalds-AT-home.osdl.org|ChangeSet|20031013020955|28777

<ianw-AT-gelato.unsw.edu.au>
	[PATCH] ia64: fix gate-data.S build for binutils 2.14
	
	gas will match anything with a prefix
	'.data.' as a data special section.  Thus to stop unnecessary warning
	about changing attributes, we use the .data section standard
	attributes aw when creating gate-data.o.

<davem-AT-nuts.ninka.net>
	[SPARC]: Fix do_gettimeofday() as per cset 1.1347.1.17

<andmike-AT-us.ibm.com>
	[PATCH] Add release function to sd for scsi_disk structure
	
	This patch removes the delay in calling device_del on the sdev struct
	device during a surprise removal event. Reference counting functions for
	sd's scsi_disk structure where also added to fix issues of unregistering
	when a sd is open.
	
	I have tested this patch using scsi_debug with differnt combinations of
	adds / removes. I mounted both partitioned and un-partitioned sd disks,
	remove the host, and then did a umount. The ref count debug output shows
	the objects staying in place prior to the umount and cleaning up once
	the umount is called.
	
	This patch fixes an issue with a delayed call of device_del on the
	sdev_gendev struct device.
		- Remove the delayed call to device_del.
		- Add kobject to sd scsi_disk structure.
		- Add release function for scsi_disk kobject.
		- Add get / put functions for scsi_disk and calls to these
		  functions.
	
	 drivers/scsi/scsi.c       |    4 --
	 drivers/scsi/scsi_sysfs.c |    3 --
	 drivers/scsi/sd.c         |   63 ++++++++++++++++++++++++++++++++++++++++------
	 3 files changed, 57 insertions(+), 13 deletions(-)

<p.lavarre-AT-ieee.org>
	[PATCH] SG_SET_RESERVED_SIZE negative oops
	
	I propose the 2.6.0-test8 two-line patch below to teach
	SG_SET_RESERVED_SIZE to reject a negative size, rather than oops-ing.

<markh-AT-osdl.org>
	[PATCH] Work around aacraid FW problem
	
	If you have a 4gig or greater system, some versions of aacraid firmware
	have problems if you set HostPhysMemPages >= 0x100000.  This can
	potentially cause data corruption.  If you have 4gig or greater memory,
	this patch sets the HostPhysMemPages to something that the firmware can
	deal with.

<torvalds-AT-home.osdl.org>
	Make yenta allocate IO resource windows in same range as in 2.4.x
	
	Apparently some laptops (Compaq EVO N620c for one) have something
	hidden at IO port range 0x1000, and the 2.4.x default of allocating
	IO starting at 0x4000 is safer.

<nathans-AT-sgi.com>
	[XFS] final round of code cleanup, now using 3-clause-bsd in these headers
	
	SGI Modid: 2.5.x-xfs:slinx:159997a

<nathans-AT-sgi.com>
	[XFS] Use an xfs_ino_t to hold the result of inode extraction from a handle, not a possibly 32-bit number
	
	SGI Modid: 2.5.x-xfs:slinx:159943a

<overby-AT-sgi.com>
	[XFS] xfs_dir2_node_addname_int had reminants of an old block placement
	algorithm in it.  The old algorithm appeared to look for the first
	place to put a new data block, and thus a new freespace block (this is
	where the 'foundindex' variable came from).  However, new space in a
	directory is always added at the lowest file offset as determined by
	the extent list.  So this stuff is never used.
	
	I completely ripped out the reminants of the old algorithm, and
	(again) moved the freespace block add code inside the conditional
	where a data block is added.
	
	SGI Modid: 2.5.x-xfs:slinx:159751a

<lord-AT-sgi.com>
	[XFS] Change XFS maintainer
	
	SGI Modid: 2.5.x-xfs:slinx:160507a

<bjorn.helgaas-AT-hp.com>
	[PATCH] ia64: prevent "dd if=/dev/mem" crash
	
	The drivers/char/mem.c change was accepted, so here's the
	ia64-specific part.

<davidm-AT-tiger.hpl.hp.com>
	ia64: Sync with Linus' i386 patch: Revert bogus IRQ_INPROGRESS clear.

<acme-AT-conectiva.com.br>
	[PATCH] leaking info on drivers/usb
	
	I'm doing an audit wrt copy_to_user leaking info to userspace, started
	with drivers/usb, please apply.

<dhollis-AT-davehollis.com>
	[PATCH] USB: ax8817x fixes in usbnet.c
	
	* ax8817x_set_multicast - use address of dev->data, not contents
	* ax8817x_write_async_cmd - free request and urb if submit fails

<david-b-AT-pacbell.net>
	[PATCH] USB: ACM USB modem fixes
	
	Please merge this patch.  I've had two success reports from it.
	Putback comment can be:
	
	  Fixes some long-standing cdc-acm bugs including:
	  - Oopsing
	  - Probe messages not so excessive
	  - Makes /proc/bus/usb/devices show both interface claims
	  - Now cdc_acm won't hotplug for Ethernet devices (or RNDIS)

<abbotti-AT-mev.co.uk>
	[PATCH] USB: ftdi_sio - Perle UltraPort new ids - 1 of 2
	
	Scott Allen's patch to add vid/pid support for Perle Systems
	UltraPort USB serial converter, merged up with minor whitespace
	changes by myself (Ian Abbott).

<abbotti-AT-mev.co.uk>
	[PATCH] USB: ftdi_sio - Perle UltraPort new ids - 2 of 2
	
	Patch by me (Ian Abbott).  Removed aliases of FTDI_VID define for
	consistency.  Renamed FTDI_PERLE_PID to FTDI_PERLE_ULTRAPORT_PID.
	Removed Matrix Orbital and Perle Systems devices from the 8U232AM
	device table (but left them in the FT232BM device table) as they
	are known to be FT232BM devices.

<car.busse-AT-gmx.de>
	[PATCH] USB: one more digicam for unusual_devs.h
	
	its for the Jenoptik JD 5200 z3 Digicam, to enable it to work as a simple
	storage device
	
	more or less i took the values for the 0x0d96 vendor in the 2.6.0-test7
	usb-storage and mixed them with my device id, which seems to work quite well
	
	tested with 2.4.22 kernel

<stern-AT-rowland.harvard.edu>
	[PATCH] USB: fix for earlier unusual_devs.h patch
	
	An earlier patch caused trouble because it effectively removed the
	US_FL_FIX_INQUIRY flag for devices with release number higher than
	0x5009.  This one might cause problems because it explicitly goes
	against the immediately preceding comment in unusual_devs.h.  That
	comment says that these Casio digital cameras claim to use the CBI
	transport when in fact they only use CB.  However, there have been two
	reports in the last few weeks from people getting the "unneeded SubClass
	and Protocol" log messages.  One of them was using a device with release
	number 0x1000, right at the start of the range.  The other had a device
	with release number 0x5010, just beyond the end of the current range.
	
	Maybe Casio is marketing two different devices with different behaviors
	but having the same Vendor, Product, and Release values -- I don't know.

<david-b-AT-pacbell.net>
	[PATCH] USB: fix usb-storage self-deadlock
	
	This fixes a problem that showed in usb-storage (osdl bugme 1310)
	and could have shown in other drivers that used usb_reset_device()
	when they already held dev->serialize:  a self-deadlock with some
	devices.
	
	There are some drivers that should likely change so that they grab
	this lock themselves, since they don't call this during probe()
	when the lock is already held.  The lock protects against config
	changes by other tasks, which is currently quite rate.

<arun.sharma-AT-intel.com>
	[PATCH] ia64: fix broken __emul_prefix
	
	his seems to be broken for ia32 on ia64 and possibly other emulation
	architectures as well. The problem comes from
	fs/namei.c:set_fs_altroot() using path_lookup() instead of a
	path_walk() relative to "/" (which is the case for 2.4).

<eranian-AT-hpl.hp.com>
	[PATCH] ia64: fix critical perfmon2 bugs
	
	This patch fixes the following issues:
	
	- fix a nasty corner case by which a task could inherit psr.pp/psr.up
	  that could be stale by the time it runs. psr.pp/psr.up bits must be
	  cleared on fork and inherited on execve(). Test case provided by
	  John Levon.
	
	- mask interrupts when locking the pfm stat structure. We don't want
	  to take PMU interrupts in the middle of this kind of critical
	  section.
	
	- fix a bug in pfm_close() for context which use asynchronous
	  notifications.  You cannot call fasync_helper() with interrupts
	  disabled because it reenables them. There was no real danger of
	  moving the call outside our critical section.
	
	- fix a bug in in pfm_flush_pmds() where you can leave the freeze bit
	  set in the pmc saved state.
	
	- updated dump_pmu_state()
	
	- cleanup the BUG_ON() usage

<david-b-AT-pacbell.net>
	[PATCH] USB: usb enumeration clears full speed ep0 state
	
	This resolves a bug that was recently reported to me by someone
	enumerating a USB 1.1 modem through a high speed hub.  I'm a bit
	surprised we never saw it before; I think cache/dma timings must
	usually be strongly in our favor.
	
	The problem was that the HC was still using the old ep0 maxpacket
	value, so when it received an 18 byte device descriptor it would
	report a packet overrun and enumeration would fail.  The fix is
	straightforward:  invalidate the HC's old endpoint state when we
	change the full speed maxpacket size.  (And eventually, we can
	remove EHCI and OHCI code coping with usbcore not doing this.)

<davem-AT-nuts.ninka.net>
	[SPARC64]: Get hugetlb support back into working shape.

<torvalds-AT-home.osdl.org>
	Add a quirk for the Intel ICH-[45] to add special ACPI regions.
	
	This fixes resource conflicts due to IO decode that doesn't show
	up with a normal PCI probe (we do similar quirks for most other
	chipsets). Without it, the kernel doesn't know about some magic
	IO decodes for the chips.

<Knut_Petersen-AT-t-online.de>
	[PATCH] input / keyboard / Scancode Set 3 support broken
	
	If somebody uses keyboard scancode set 3 it is necessary to explicitly
	program the keyboard to send make/break codes for all keys and to set
	autorepeat for all keys.
	
	This is critical for some people.  One example is the LK461/46W series
	of keyboards from Digital Equipment Corporations.  These are VMS
	keyboards that are also usable on a normal PC.
	
	These keyboards support Scancode Set 2, but for some keys this support
	is screwed up -- some function keys (e.g.  F18/F20) report the same
	scancode sequence combined with both alt and shift keys. 
	
	Scancode Set 3 works perfectly if all keys are programmed to give
	make/break codes. 
	
	A lot of keyboards manufactured by Cherry only make/break for some (not all!)
	modifyer keys in scancode set 3 without this fix.

<Knut_Petersen-AT-t-online.de>
	[PATCH] setkeycode ioctl fix
	
	This is a bugfix for setkeycode() in /drivers/char/keyboard.c.
	
	If we change a keycode the corresponding bit should be cleared if and
	only if this keycode is not defined any longer.  I believe that this
	also was intended with the original code, but the implementation is
	faulty.
	
	First off all the first three changed lines are obviously erroneus:
	oldkey == truekey is false or true, you do not need to inclose this in a
	for().  I believe the author intended INPUT_KEYCODE(dev,i) == oldkey.
	But fixing this alone is not enough.
	
	If somebody wants to interchange the definition of two keys A and B, the
	normal way is to use two setkeycode calls:
	
	    setkeycode (scancode A, keycode B);
	    setkeycode (scancode B, keycode A);
	
	The old code does a clearbit(oldkey ..) call even in situations where
	two keys have the same definition, and this situation arises commonly in
	the situation mentioned above.
	
	Both errors are fixed with this patch.

<rmk-AT-flint.arm.linux.org.uk>
	[ARM] Correct acornfb arguments for fb_set_var()

<davidm-AT-tiger.hpl.hp.com>
	ia64: Fix/finish kernel module table support so it actually works.

<torvalds-AT-home.osdl.org>
	Linux 2.6.0-test9




to post comments


Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds