openwrt/staging/blogic.git
19 years ago[PATCH] iseries_veth: Supress spurious WARN_ON() at module unload
Michael Ellerman [Thu, 9 Jun 2005 19:36:33 +0000 (12:36 -0700)]
[PATCH] iseries_veth: Supress spurious WARN_ON() at module unload

My patch from a few weeks back (now in mainline), called "Cleanup skbs to
prevent unregister_netdevice() hanging", can cause our TX timeout code to
fire on machines with lots of VLANs (because it takes > 2 seconds between
when we stop the queues and when we're finished stopping the connections).

When that happens the TX timeout code freaks out and does a WARN_ON()
because as far as it's concerned there shouldn't be a TX timeout happening,
which is fair enough.

I have a "proper" fix for this, which is to a) do refcounting on
connections and b) implement a proper ack timer so we don't keep unacked
skbs lying around for ever.  But for 2.6.12 I propose just supressing the
WARN_ON().  Users will still see the "NETDEV WATCHDOG" warning, but that's
not nearly as bad as a WARN_ON() which users interpret as an Oops.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: add 405EP cpu_spec entry
Eugene Surovegin [Thu, 9 Jun 2005 19:36:29 +0000 (12:36 -0700)]
[PATCH] ppc32: add 405EP cpu_spec entry

Add a definition for PPC 405EP which was lost somehow during 2.4 -> 2.6
transition.

Recent change to arch/ppc/kernel/misc.S ("Fix incorrect CPU_FTR fixup usage
for unified caches") triggered this bug and 405EP boards don't boot
anymore.

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Thu, 9 Jun 2005 22:37:56 +0000 (15:37 -0700)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 9 Jun 2005 22:36:31 +0000 (15:36 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Thu, 9 Jun 2005 22:25:29 +0000 (15:25 -0700)]
Merge /pub/scm/linux/kernel/git/aegl/linux-2.6

19 years ago[PATCH] PCI: MSI functionality broken on Serverworks GC chipset
Narendra Sankar [Fri, 6 May 2005 19:00:05 +0000 (12:00 -0700)]
[PATCH] PCI: MSI functionality broken on Serverworks GC chipset

MSI functionality is broken on the GC_LE x86 chipset that Serverworks
developed and that is being used in various platforms today. Broadcom is
going to push out to the kernel MSI enabled Gigabit drivers (in the very
near future), and we would like to make sure that MSI does not get
enabled on any platforms using the GC_LE chipset (device id 0x17).
Following the AMD 8131 example, I am including a patch to disable MSI
functionality when a GCNB_LE is detected. Please let me know if there
are any issues with this. This is a permanent fix for this chipset, as
the hardware will not be updated.

Signed-off-by: Narendra Sankar <nsankar@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] ARM: 2708/1: Fix hackkit CPU Frequency build faliure
Vincent Sanders [Thu, 9 Jun 2005 20:59:22 +0000 (21:59 +0100)]
[PATCH] ARM: 2708/1: Fix hackkit CPU Frequency build faliure

Patch from Vincent Sanders

This fixes the "multiple definitions of cpufreq_get" build faliure on
the hackkit SA1100 platform.

Signed-off-by: Vincent Sanders
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2707/2: Fix badge4 CPU Frequency build faliure
Vincent Sanders [Thu, 9 Jun 2005 20:59:21 +0000 (21:59 +0100)]
[PATCH] ARM: 2707/2: Fix badge4 CPU Frequency build faliure

Patch from Vincent Sanders

This fixes the "multiple definitions of cpufreq_get" build faliure on
the Badge4 SA1100 platform.

Signed-off-by: Vincent Sanders
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[IA64] Fix race condition in the rt_sigprocmask fastcall
Christoph Lameter [Thu, 9 Jun 2005 19:29:00 +0000 (12:29 -0700)]
[IA64] Fix race condition in the rt_sigprocmask fastcall

current->blocked will be set to the value of current->thread_info->flags if the
cmpxchg to update thread_info->flags fails. For performance reasons the store into
current->blocked was placed in the cmpxchg loop. However, the cmpxchg overwrites the
register holding the value to be stored. In the rare case of a retry the value of
thread_info->flags will be written into current->blocked.

The fix is to use another register so that the register containing the current->blocked
value is not overwritten.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Thu, 9 Jun 2005 17:44:48 +0000 (10:44 -0700)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6

19 years ago[PATCH] ARM: 2706/1: Fix compile on SA-based iPAQs and remove stale CREDITS info
Dave Neuer [Thu, 9 Jun 2005 16:40:55 +0000 (17:40 +0100)]
[PATCH] ARM: 2706/1: Fix compile on SA-based iPAQs and remove stale CREDITS info

Patch from Dave Neuer

This fixes the "multiple definitions of cpufreq_get" errors on
StrongARM-based iPAQs.

Signed-off-by: Dave Neuer
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 9 Jun 2005 16:04:11 +0000 (09:04 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] ARM: Remove zero-byte sized file
Russell King [Thu, 9 Jun 2005 15:53:28 +0000 (16:53 +0100)]
[PATCH] ARM: Remove zero-byte sized file

Remove the remaining zero byte file left over from the Xscale
fixes.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
19 years ago[PATCH] USB: ftdi_sio: avoid losing received data in tty-ldisc
Ian Abbott [Thu, 2 Jun 2005 09:34:11 +0000 (10:34 +0100)]
[PATCH] USB: ftdi_sio: avoid losing received data in tty-ldisc

ftdi_sio: Avoid losing bytes at tty-ldisc.

This patch was originally developed by Daniel Smertnig.  I
(Ian Abbott) made a few changes.  It has been tested by both
Daniel and I, at least for raw, non-canonical receive data
processing.

Here is Daniel's original description of the patch:

===
During a project in which I was using a FTDI 232BM to
transmit data at relative high speeds (625kBit/s), I
noticed a problem where data was lost even if flow
control was enabled: The FTDI-Driver receives 512 Bytes
of data over USB at a time, which consists of 8 64-Byte
packets. Subtracting the 2 bytes of status information
included in each packet this gives 496 "real" data
bytes per read.

This data is passed (indirectly, via the flip buffers)
to the tty line discipline which takes care of
throttling when there the free buffer space reaches
TTY_THRESHOLD_THROTTLE (128). Because the FTDI driver
processes up to 496 bytes at a time, throttling won't
happen in time and the line discipline will discard the
remaining bytes.

To avoid this the patch passes data in 62-byte blocks
to the tty layer and checks the available space in the
ldisc-buffers. If there isn't enough free space,
processing the rest of the data is delayed using a
workqueue.

Note: The original problem should be easily
reproducible with a userspace program which does slow &
small reads.
===

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Daniel Smertnig <daniel.smertnig@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: fix ub issues
Pete Zaitcev [Mon, 6 Jun 2005 20:54:59 +0000 (13:54 -0700)]
[PATCH] USB: fix ub issues

This smoothes two imperfections:
- Increase number of LUNs per device from 4 to 9. The best solution
  would be to remove this limit altogether, but that has to wait until
  the time when more than 26 hosts are allowed.
- Replace mdelay with msleep in a probing routine.

Signed-off-by: Pete Zaitcev <zaitcev@yahoo.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] PCI Hotplug: fix CPCI reference counting bug
Scott Murray [Mon, 6 Jun 2005 19:48:04 +0000 (15:48 -0400)]
[PATCH] PCI Hotplug: fix CPCI reference counting bug

Here's a patch that fixes up the pci_dev refcounting in the CPCI code.
I've done some testing against it and it seems fine here.

Signed-off-by: Scott Murray <scottm@somanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] sg traverse fix for __atapi_pio_bytes()
Albert Lee [Mon, 6 Jun 2005 07:56:03 +0000 (15:56 +0800)]
[PATCH] sg traverse fix for __atapi_pio_bytes()

Problem:
Incorrect md5sum when using ATAPI PIO mode to verify a distro CD.

Root cause:  sg traverse problem.
In __atapi_pio_bytes(), if qc->cursg++ is increased and "goto
next_page" is executed, then sg is not updated to the new qc->cursg
and the old sg is overwritten with the new data.

Changes:
- Replace "goto next_page" with "goto next_sg" to make sg updated.

Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
19 years ago[PATCH] sata_sil: Fix FIFO PCI Bus Arbitration kernel oops
Jens Axboe [Wed, 8 Jun 2005 11:02:25 +0000 (13:02 +0200)]
[PATCH] sata_sil: Fix FIFO PCI Bus Arbitration kernel oops

Correct this.

diff --git a/drivers/scsi/sata_sil.c b/drivers/scsi/sata_sil.c

19 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 8 Jun 2005 23:36:31 +0000 (16:36 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years ago[PATCH] ppc64: Fix PER_LINUX32 behaviour
Paul Mackerras [Wed, 8 Jun 2005 11:59:15 +0000 (21:59 +1000)]
[PATCH] ppc64: Fix PER_LINUX32 behaviour

This patch fixes some bugs in the ppc64 PER_LINUX32 implementation,
noted by Juergen Kreileder:

* uname(2) doesn't respect PER_LINUX32, it returns 'ppc64' instead of 'ppc'
* Child processes of a PER_LINUX32 process don't inherit PER_LINUX32

Along the way I took the opportunity to move things around so that
sys_ppc32.c only has 32-bit syscall emulation functions and to remove
the obsolete "fakeppc" command line option.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/tg3-2.6
Linus Torvalds [Wed, 8 Jun 2005 23:22:16 +0000 (16:22 -0700)]
Merge /pub/scm/linux/kernel/git/davem/tg3-2.6

19 years ago[PATCH] dm: Handle READA requests in dm-mpath.c
Lars Marowsky-Bree [Wed, 8 Jun 2005 22:50:31 +0000 (15:50 -0700)]
[PATCH] dm: Handle READA requests in dm-mpath.c

READA errors failing with EWOULDBLOCK/EAGAIN do not constitute a valid
reason for failing the path; this lead to erratic errors on DM multipath
devices.  This error can be safely propagated upwards without failing the
path.

Acked-by: Kevin Corry <kevcorry@us.ibm.com>
Acked-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Lars Marowsky-Bree <lmb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ia64: fix floating-point preemption problem
Peter Chubb [Wed, 8 Jun 2005 22:50:20 +0000 (15:50 -0700)]
[PATCH] ia64: fix floating-point preemption problem

There've been reports of problems with CONFIG_PREEMPT=y and the high
floating point partition.  This is caused by the possibility of preemption
and rescheduling on a different processor while saving or restioirng the
high partition.

The only places where the FPU state is touched are in ptrace, in
switch_to(), and where handling a floating-point exception.  In switch_to()
preemption is off.  So it's only in trap.c and ptrace.c that we need to
prevent preemption.

Here is a patch that adds commentary to make the conditions clear, and adds
appropriate preempt_{en,dis}able() calls to make it so.  In trap.c I use
preempt_enable_no_resched(), as we're about to return to user space where
the preemption flag will be checked anyway.

Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 kprobes: remove spurious MSR_SE masking
Ananth N Mavinakayanahalli [Wed, 8 Jun 2005 22:50:00 +0000 (15:50 -0700)]
[PATCH] ppc64 kprobes: remove spurious MSR_SE masking

Remove spurious MSR_SE reset during kprobe processing.
single_step_exception() already does it for us.  Reset it to be safe when
executing the fault_handler.

Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 kprobes: correct kprobe registration return values
Ananth N Mavinakayanahalli [Wed, 8 Jun 2005 22:49:41 +0000 (15:49 -0700)]
[PATCH] ppc64 kprobes: correct kprobe registration return values

Add stricter checks during kprobe registration.  Return correct error value so
insmod doesn't succeed.  Also printk reason for registration failure.

Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] revert x86_64-use-the-e820-hole-to-map-the-iommu-agp-aperture
Andrew Morton [Wed, 8 Jun 2005 22:49:25 +0000 (15:49 -0700)]
[PATCH] revert x86_64-use-the-e820-hole-to-map-the-iommu-agp-aperture

Martin Bligh determined that this patch is causing his test box to not boot.
Revert.

Andi Kleen <ak@muc.de>

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Stop arch/i386/kernel/vsyscall-note.o being rebuilt every time
Keith Owens [Wed, 8 Jun 2005 22:49:07 +0000 (15:49 -0700)]
[PATCH] Stop arch/i386/kernel/vsyscall-note.o being rebuilt every time

arch/i386/kernel/vsyscall-note.o is not listed as a target so its .cmd file
is neither considered as a target nor is it read on the next build.  This
causes vsyscall-note.o to be rebuilt every time that you run make, which
causes vmlinux to be rebuilt every time.

Signed-off-by: Keith Owens <kaos@ocs.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sparc32: silence access_ok() warnings
William Lee Irwin III [Wed, 8 Jun 2005 22:48:52 +0000 (15:48 -0700)]
[PATCH] sparc32: silence access_ok() warnings

The fact that access_ok() doesn't use some of its arguments trips some
unused variable warnings.  This patch silences them permanently.

Signed-off-by: William Irwin <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: add 405EP cpu_spec entry
Eugene Surovegin [Wed, 8 Jun 2005 22:48:42 +0000 (15:48 -0700)]
[PATCH] ppc32: add 405EP cpu_spec entry

Add a definition for PPC 405EP which was lost somehow during 2.4 -> 2.6
transition.

Recent change to arch/ppc/kernel/misc.S ("Fix incorrect CPU_FTR fixup usage
for unified caches") triggered this bug and 405EP boards don't boot
anymore.

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: clean up error path
Jeff Dike [Wed, 8 Jun 2005 22:48:27 +0000 (15:48 -0700)]
[PATCH] uml: clean up error path

This cleans an error path which used to leak file descriptors by returning
without trying to tidy up.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: fix strace -f
Jeff Dike [Wed, 8 Jun 2005 22:48:13 +0000 (15:48 -0700)]
[PATCH] uml: fix strace -f

It turns out that we need to check for pending signals when a newly forked
process is run for the first time.  With strace -f, strace needs to know about
the forked process before it gets going.  If it doesn't, then it ptraces some
bogus values into its registers, and the process segfaults.  So, I added calls
to interrupt_end, which does that, plus checks for reschedules.  There
shouldn't be any of those, but x86 does the same thing, so I'm copying that
behavior to be safe.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: compile fixes for gcc 4
Jeff Dike [Wed, 8 Jun 2005 22:48:01 +0000 (15:48 -0700)]
[PATCH] uml: compile fixes for gcc 4

This is a bunch of compile fixes provoked by building UML with gcc 4.  There
are a bunch of signedness mismatches, a couple of uninitialized references,
and a botched C99 structure initialization which had somehow gone unnoticed.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: make the emulated iomem driver work on 2.6
Jeff Dike [Wed, 8 Jun 2005 22:47:50 +0000 (15:47 -0700)]
[PATCH] uml: make the emulated iomem driver work on 2.6

This makes the minimal fixes needed to make the UML iomem driver work in 2.6.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Wed, 8 Jun 2005 23:06:15 +0000 (16:06 -0700)]
Merge /pub/scm/linux/kernel/git/aegl/linux-2.6

19 years ago[PKT_SCHED]: Fix numeric comparison in meta ematch
Thomas Graf [Wed, 8 Jun 2005 22:11:19 +0000 (15:11 -0700)]
[PKT_SCHED]: Fix numeric comparison in meta ematch

This patch is brought to you by the department of applied stupidity.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PKT_SCHED]: Dump classification result for basic classifier
Thomas Graf [Wed, 8 Jun 2005 22:11:02 +0000 (15:11 -0700)]
[PKT_SCHED]: Dump classification result for basic classifier

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PKT_SCHED]: Allow socket attributes to be matched on via meta ematch
Thomas Graf [Wed, 8 Jun 2005 22:10:48 +0000 (15:10 -0700)]
[PKT_SCHED]: Allow socket attributes to be matched on via meta ematch

Adds meta collectors for all socket attributes that make sense
to be filtered upon. Some of them are only useful for debugging
but having them doesn't hurt.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PKT_SCHED]: Fix typo in NET_EMATCH_STACK help text
Thomas Graf [Wed, 8 Jun 2005 22:10:22 +0000 (15:10 -0700)]
[PKT_SCHED]: Fix typo in NET_EMATCH_STACK help text

Spotted by Geert Uytterhoeven <geert@linux-m68k.org>.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Fix sysctl net.core.dev_weight
Stephen Hemminger [Wed, 8 Jun 2005 21:56:01 +0000 (14:56 -0700)]
[NET]: Fix sysctl net.core.dev_weight

Changing the sysctl net.core.dev_weight has no effect because the weight
of the backlog devices is set during initialization and never changed.

This patch propagates any changes to the global value affected by sysctl
to the per-cpu devices. It is done every time the packet handler
function is run.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Allow controlling NAPI device weight with sysfs
Stephen Hemminger [Wed, 8 Jun 2005 21:55:42 +0000 (14:55 -0700)]
[NET]: Allow controlling NAPI device weight with sysfs

Simple interface to allow changing network device scheduling weight
with sysfs. Please consider this for 2.6.12, since risk/impact is small.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: Update parm.link in ip6ip6_tnl_change()
Gabor Fekete [Wed, 8 Jun 2005 21:54:38 +0000 (14:54 -0700)]
[IPV6]: Update parm.link in ip6ip6_tnl_change()

Signed-off-by: Gabor Fekete <gfekete@cc.jyu.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Update driver version and release date.
David S. Miller [Wed, 8 Jun 2005 21:15:52 +0000 (14:15 -0700)]
[TG3]: Update driver version and release date.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Fix 5700/5701 DMA corruption on Apple G4.
Michael Chan [Wed, 8 Jun 2005 21:13:14 +0000 (14:13 -0700)]
[TG3]: Fix 5700/5701 DMA corruption on Apple G4.

Fix 5700/5701 DMA write corruption on Apple G4 by detecting the Apple
UniNorth PCI 1.5 chipset and adjusting the DMA write boundary to 16. DMA
test fails to detect the problem with this chipset.

Thanks to Manuel Perez Ayala for reporting the problem and helping to
debug it.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IA64] Extract correct break number for break.b
Keith Owens [Sat, 28 May 2005 06:09:00 +0000 (23:09 -0700)]
[IA64] Extract correct break number for break.b

break.b does not store the break number in cr.iim, instead it stores 0,
which makes all break.b instructions look like BUG().  Extract the
break number from the instruction itself.

Signed-off-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] Update comment to describe modes set in default control register.
Tony Luck [Wed, 8 Jun 2005 19:12:48 +0000 (12:12 -0700)]
[IA64] Update comment to describe modes set in default control register.

Christian Hildner pointed out that the comment did not match what the
code does in cpu_init() when we set up the default control register.
Patch based on suggestions from Ken Chen.

Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Wed, 8 Jun 2005 18:43:17 +0000 (11:43 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-serial
Linus Torvalds [Wed, 8 Jun 2005 18:42:44 +0000 (11:42 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-serial

19 years ago[IA64] Module gp must point to valid memory
Keith Owens [Mon, 6 Jun 2005 09:04:00 +0000 (02:04 -0700)]
[IA64] Module gp must point to valid memory

Some bits of the kernel assume that gp always points to valid memory,
in particular PHYSICAL_MODE_ENTER() assumes that both gp and sp are
valid virtual addresses with associated physical pages.  The IA64
module loader puts gp well past the end of the module, with no physical
backing.  Offsets on gp are still valid, but physical mode addressing
breaks for modules.  Ensure that gp always falls within the module
body.  Also ensure that gp is 8 byte aligned.

Signed-off-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[PATCH] Serial: remove unused variable in sa1100 driver
Russell King [Wed, 8 Jun 2005 18:26:47 +0000 (19:26 +0100)]
[PATCH] Serial: remove unused variable in sa1100 driver

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2664/2: add support for atomic ops on pre-ARMv6 SMP systems
Nicolas Pitre [Wed, 8 Jun 2005 18:00:47 +0000 (19:00 +0100)]
[PATCH] ARM: 2664/2: add support for atomic ops on pre-ARMv6 SMP systems

Patch from Nicolas Pitre

Not that there might be many of them on the planet, but at least RMK
apparently has one.

Signed-off-by: Nicolas Pitre
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2705/1: fix writesw for misaligned source pointer
Nicolas Pitre [Wed, 8 Jun 2005 18:00:16 +0000 (19:00 +0100)]
[PATCH] ARM: 2705/1: fix writesw for misaligned source pointer

Patch from Nicolas Pitre

Signed-off-by: Nicolas Pitre
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2703/1: pxa-regs.h: complete I2S GPIO alternate functions for PXA27x
Giorgio Padrin [Wed, 8 Jun 2005 18:00:15 +0000 (19:00 +0100)]
[PATCH] ARM: 2703/1: pxa-regs.h: complete I2S GPIO alternate functions for PXA27x

Patch from Giorgio Padrin

The patch completes I2S GPIO alternate functions for PXA27x, adding I2S_SYSCLK.
File: pxa-regs.h .

Signed-off-by: Giorgio Padrin
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[IA64] Fill holes in FIXADDR_USER space with zero pages.
David Mosberger-Tang [Wed, 8 Jun 2005 17:45:00 +0000 (10:45 -0700)]
[IA64] Fill holes in FIXADDR_USER space with zero pages.

This fixes an oops reported by Jason Baron.

Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[PATCH] ppc64 kprobes: don't eat dabr/iabr exceptions
Ananth N Mavinakayanahalli [Wed, 8 Jun 2005 05:33:43 +0000 (15:33 +1000)]
[PATCH] ppc64 kprobes: don't eat dabr/iabr exceptions

Kprobes was eating the hardware instruction and data address
breakpoint exceptions.  This patch fixes it; kprobes doesn't use those
exceptions at all and should ignore them.

Signed-off-by: Ananth N Mavinakayanahalli <amavin@redhat.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: print negative numbers correctly in boot wrapper
Olaf Hering [Wed, 8 Jun 2005 05:12:00 +0000 (15:12 +1000)]
[PATCH] ppc64: print negative numbers correctly in boot wrapper

if num has a value of -1, accessing the digits[] array will fail and the
format string will be printed in funny way, or not at all. This happens if
one prints negative numbers.
Just change the code to match lib/vsprintf.c
asm/div64.h cant be used because u64 maps to u32 for this build.

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoAutomatic merge of master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Wed, 8 Jun 2005 14:57:17 +0000 (07:57 -0700)]
Merge ... kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] ARM: Fix Xscale copy_page implementation
Russell King [Wed, 8 Jun 2005 14:28:24 +0000 (15:28 +0100)]
[PATCH] ARM: Fix Xscale copy_page implementation

The ARM copypage changes in 2.6.12-rc4-git1 removed the preempt locking
from the copypage functions which broke the XScale implementation.
This patch fixes the locking on XScale and removes the now unneeded
minicache code.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Checked-by: Richard Purdie
19 years ago[PATCH] NFS: Fix lookup intent handling
Trond Myklebust [Tue, 7 Jun 2005 22:37:01 +0000 (18:37 -0400)]
[PATCH] NFS: Fix lookup intent handling

We should never apply a lookup intent to anything other than the last
path component in an open(), create() or access() call.

Introduce the helper nfs_lookup_check_intent() which always returns
zero if LOOKUP_CONTINUE or LOOKUP_PARENT are set, and returns the
intent flags if we're on the last component of the lookup.
By doing so, we fix a bug in open(O_EXCL), where we may end up
optimizing away a real lookup of the parent directory.

Problem noticed by Linda Dunaphant <linda.dunaphant@ccur.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge of master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart
Linus Torvalds [Tue, 7 Jun 2005 20:41:30 +0000 (13:41 -0700)]
Merge ... /pub/scm/linux/kernel/git/davej/agpgart

19 years ago[PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode
Bjorn Helgaas [Tue, 7 Jun 2005 20:22:18 +0000 (13:22 -0700)]
[PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode

At least some VIA chipsets require the fixup even in IO-APIC mode.

This was found and debugged with the patient assistance of Stian
Jordet <liste@jordet.nu> on an Asus CUV266-DLS motherboard.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] input: disable scroll feature on AT keyboards
Vojtech Pavlik [Tue, 7 Jun 2005 20:22:14 +0000 (13:22 -0700)]
[PATCH] input: disable scroll feature on AT keyboards

This patch disables the scroll feature on AT keyboards by default, because
it causes the numbers of mouse devices to shift, breaking user setups.

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: add 405EP cpu_spec entry
Eugene Surovegin [Tue, 7 Jun 2005 20:22:09 +0000 (13:22 -0700)]
[PATCH] ppc32: add 405EP cpu_spec entry

Add a definition for PPC 405EP which was lost somehow during 2.4 -> 2.6
transition.

Recent change to arch/ppc/kernel/misc.S ("Fix incorrect CPU_FTR fixup usage
for unified caches") triggered this bug and 405EP boards don't boot
anymore.

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] send_IPI_mask_sequence() warning fix
Matthew Dobson [Tue, 7 Jun 2005 20:22:05 +0000 (13:22 -0700)]
[PATCH] send_IPI_mask_sequence() warning fix

In file included from arch/i386/kernel/smp.c:235:
include/asm-i386/mach-numaq/mach_ipi.h:4: warning: `send_IPI_mask_sequence'
declared inline after its definition

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Replace check_bridge_mode() with (bridge->mode & AGSTAT_MODE_3_0).
David Mosberger [Mon, 4 Apr 2005 20:29:43 +0000 (13:29 -0700)]
[PATCH] Replace check_bridge_mode() with (bridge->mode & AGSTAT_MODE_3_0).

[AGPGART] Replace check_bridge_mode() with (bridge->mode & AGSTAT_MODE_3_0).

As mentioned earlier, the current check_bridge_mode() code assumes
that AGP bridges are PCI devices.  This isn't always true.  Definitely
not for HP zx1 chipset and the same seems to be the case for SGI's AGP
bridge.

The patch below fixes the problem by picking up the AGP_MODE_3_0 bit
from bridge->mode.  I feel like I may be missing something, since I
can't see any reason why check_bridge_mode() wasn't doing that in the
first place.  According to the AGP 3.0 specs, the AGP_MODE_3_0 bit is
determined during the hardware reset and cannot be changed, so it
seems to me it should be safe to pick it up from bridge->mode.

With the patch applied, I can definitely use AGP acceleration both
with AGP 2.0 and AGP 3.0 (one with an Nvidia card, the other with an
ATI FireGL card).

Unless someone spots a problem, please apply this patch so 3d
acceleration can work on zx1 boxes again.

This makes AGP work again on machines with an AGP bridge that isn't a
PCI device.

Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[PATCH] AGP fix for Xen VMM
Keir Fraser [Wed, 30 Mar 2005 21:17:04 +0000 (13:17 -0800)]
[PATCH] AGP fix for Xen VMM

When Linux is running on the Xen virtual machine monitor, physical
addresses are virtualised and cannot be directly referenced by the AGP
GART.  This patch fixes the GART driver for Xen by adding a layer of
abstraction between physical addresses and 'GART addresses'.

Architecture-specific functions are also defined for allocating and freeing
the GATT.  Xen requires this to ensure that table really is contiguous from
the point of view of the GART.

These extra interface functions are defined as 'no-ops' for all existing
architectures that use the GART driver.

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[PATCH] sgi-agp: fixes a problem with accessing GART memory in sgi_tioca_insert_memor...
Michael Werner [Mon, 28 Mar 2005 06:08:42 +0000 (22:08 -0800)]
[PATCH] sgi-agp: fixes a problem with accessing GART memory in sgi_tioca_insert_memory and sgi_tioca_remove_memory

This patch fixes a problem with accessing GART memory in
sgi_tioca_insert_memory and sgi_tioca_remove_memory.

 sgi-agp.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

Signed-off-by: Mike Werner <werner@sgi.com>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years ago[PATCH] i945G patch for agpgart
Alan Hourihane [Tue, 31 May 2005 18:50:49 +0000 (19:50 +0100)]
[PATCH] i945G patch for agpgart

Attached is a small patch for i945G support against 2.6.11.11.

From: Alan Hourihane <alanh@fairlite.demon.co.uk>
Signed-off-by: Dave Jones <davej@redhat.com>
19 years agoAuto merge with /home/aegl/GIT/linus
Tony Luck [Tue, 7 Jun 2005 18:29:43 +0000 (11:29 -0700)]
Auto merge with /home/aegl/GIT/linus

19 years ago[PATCH] Include <linux/config.h> before testing CONFIG_ACPI
David Mosberger [Mon, 6 Jun 2005 22:50:09 +0000 (15:50 -0700)]
[PATCH] Include <linux/config.h> before testing CONFIG_ACPI

I'm not sure why this issue is suddenly showing, but without this
patchlet, the zx1 config won't compile anymore (e.g., to see the
compilation-error, look for "***" in [1]).

[1] http://www.gelato.unsw.edu.au/kerncomp/results//2005-06-06-17-00/zx1_defconfig-log.html

Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Cc: "Brown, Len" <len.brown@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: add <linux/compiler.h> to <asm/sigcontext.h>
Tom Rini [Mon, 6 Jun 2005 22:50:08 +0000 (15:50 -0700)]
[PATCH] ppc32: add <linux/compiler.h> to <asm/sigcontext.h>

On ppc32, <asm/sigcontext.h> uses __user, but doesn't directly include
<linux/compiler.h>.  This adds that in.  Without this, glibc will not
compile.

Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/tg3-2.6
Linus Torvalds [Mon, 6 Jun 2005 23:59:55 +0000 (16:59 -0700)]
Merge ... /pub/scm/linux/kernel/git/davem/tg3-2.6

19 years agoMerge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 6 Jun 2005 23:58:53 +0000 (16:58 -0700)]
Merge ... /pub/scm/linux/kernel/git/davem/net-2.6

19 years agoauto merge with /home/aegl/GIT/linus
Tony Luck [Mon, 6 Jun 2005 22:42:07 +0000 (15:42 -0700)]
auto merge with /home/aegl/GIT/linus

19 years ago[TG3]: Update driver version and release date.
David S. Miller [Mon, 6 Jun 2005 22:22:56 +0000 (15:22 -0700)]
[TG3]: Update driver version and release date.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3] Fix link failure in 5701
Michael Chan [Mon, 6 Jun 2005 22:16:20 +0000 (15:16 -0700)]
[TG3] Fix link failure in 5701

On some 5701 devices with older bootcode, the LED configuration bits in
SRAM may be invalid with value zero. The fix is to check for invalid
bits (0) and default to PHY 1 mode. Incorrect LED mode will lead to
error in programming the PHY.

Thanks to Grant Grundler for debugging the problem.

>From Grant:
| In May, 2004,  tg3 v3.4 changed how MAC_LED_CTRL (0x40c) was getting
| programmed and how to determine what to program into LED_CTRL. The new
| code trusted NIC_SRAM_DATA_CFG (0x00000b58) to indicate what to write
| to LED_CTRL and MII EXT_CTRL registers. On "IOX Core Lan", SRAM was
| saying MODE_MAC (0x0) and that doesn't work.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add TSO firmware license
Michael Chan [Mon, 6 Jun 2005 22:15:17 +0000 (15:15 -0700)]
[TG3]: Add TSO firmware license

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Update pci.ids for BCM5752
John W. Linville [Mon, 6 Jun 2005 22:14:35 +0000 (15:14 -0700)]
[TG3]: Update pci.ids for BCM5752

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ETHTOOL]: Check correct pointer in ethtool_set_coalesce().
David S. Miller [Mon, 6 Jun 2005 22:07:19 +0000 (15:07 -0700)]
[ETHTOOL]: Check correct pointer in ethtool_set_coalesce().

It was checking the "GET" function pointer instead of
the "SET" one.  Looks like a cut&paste error :-)

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] binfmt_flat mmap flag fix
Yoshinori Sato [Mon, 6 Jun 2005 21:46:32 +0000 (14:46 -0700)]
[PATCH] binfmt_flat mmap flag fix

Make sure that binfmt_flat passes the correct flags into do_mmap().  nommu's
validate_mmap_request() will simple return -EINVAL if we try and pass it a
flags value of zero.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (19/19)
Al Viro [Mon, 6 Jun 2005 20:36:14 +0000 (13:36 -0700)]
[PATCH] namei fixes (19/19)

__do_follow_link() passes potentially worng vfsmount to touch_atime().  It
matters only in (currently impossible) case of symlink mounted on something,
but it's trivial to fix and that actually makes more sense.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (18/19)
Al Viro [Mon, 6 Jun 2005 20:36:13 +0000 (13:36 -0700)]
[PATCH] namei fixes (18/19)

Cosmetical cleanups - __follow_mount() calls in __link_path_walk() absorbed
into do_lookup().

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (17/19)
Al Viro [Mon, 6 Jun 2005 20:36:13 +0000 (13:36 -0700)]
[PATCH] namei fixes (17/19)

follow_mount() made void, reordered dput()/mntput() in it.

follow_dotdot() switched from struct vfmount ** + struct dentry ** to
struct nameidata *; callers updated.

Equivalent transformation + fix for too-early-mntput() race.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (16/19)
Al Viro [Mon, 6 Jun 2005 20:36:12 +0000 (13:36 -0700)]
[PATCH] namei fixes (16/19)

Conditional mntput() moved into __do_follow_link().  There it collapses with
unconditional mntget() on the same sucker, closing another too-early-mntput()
race.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (15/19)
Al Viro [Mon, 6 Jun 2005 20:36:11 +0000 (13:36 -0700)]
[PATCH] namei fixes (15/19)

Getting rid of sloppy logics:

a) in do_follow_link() we have the wrong vfsmount dropped if our symlink
had been mounted on something.  Currently it worls only because we never
get such situation (modulo filesystem playing dirty tricks on us).  And
it obfuscates already convoluted logics...

b) same goes for open_namei().

c) in __link_path_walk() we have another "it should never happen" sloppiness -
out_dput: there does double-free on underlying vfsmount and leaks the covering
one if we hit it just after crossing a mountpoint.  Again, wrong vfsmount
getting dropped.

d) another too-early-mntput() race - in do_follow_mount() we need to postpone
conditional mntput(path->mnt) until after dput(path->dentry).  Again, this one
happens only in it-currently-never-happens-unless-some-fs-plays-dirty
scenario...

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (14/19)
Al Viro [Mon, 6 Jun 2005 20:36:10 +0000 (13:36 -0700)]
[PATCH] namei fixes (14/19)

shifted conditional mntput() into do_follow_link() - all callers were doing
the same thing.

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (13/19)
Al Viro [Mon, 6 Jun 2005 20:36:08 +0000 (13:36 -0700)]
[PATCH] namei fixes (13/19)

In open_namei() exit_dput: we have mntput() done in the wrong order -
if nd->mnt != path.mnt we end up doing
mntput(nd->mnt);
nd->mnt = path.mnt;
dput(nd->dentry);
mntput(nd->mnt);
which drops nd->dentry too late.  Fixed by having path.mnt go first.
That allows to switch O_NOFOLLOW under if (__follow_mount(...)) back
to exit_dput, while we are at it.

Fix for early-mntput() race + equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (12/19)
Al Viro [Mon, 6 Jun 2005 20:36:08 +0000 (13:36 -0700)]
[PATCH] namei fixes (12/19)

In open_namei() we take mntput(nd->mnt);nd->mnt=path.mnt; out of the if
(__follow_mount(...)), making it conditional on nd->mnt != path.mnt instead.

Then we shift the result downstream.

Equivalent transformations.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (11/19)
Al Viro [Mon, 6 Jun 2005 20:36:07 +0000 (13:36 -0700)]
[PATCH] namei fixes (11/19)

shifted conditional mntput() calls in __link_path_walk() downstream.

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (10/19)
Al Viro [Mon, 6 Jun 2005 20:36:06 +0000 (13:36 -0700)]
[PATCH] namei fixes (10/19)

In open_namei(), __follow_down() loop turned into __follow_mount().
Instead of
if we are on a mountpoint dentry
if O_NOFOLLOW checks fail
drop path.dentry
drop nd
return
do equivalent of follow_mount(&path.mnt, &path.dentry)
nd->mnt = path.mnt
we do
if __follow_mount(path) had, indeed, traversed mountpoint
/* now both nd->mnt and path.mnt are pinned down */
if O_NOFOLLOW checks fail
drop path.dentry
drop path.mnt
drop nd
return
mntput(nd->mnt)
nd->mnt = path.mnt

Now __follow_down() can be folded into follow_down() - no other callers left.
We need to reorder dput()/mntput() there - same problem as in follow_mount().

Equivalent transformation + fix for a bug in O_NOFOLLOW handling - we used to
get -ELOOP if we had the same fs mounted on /foo and /bar, had something bound
on /bar/baz and tried to open /foo/baz with O_NOFOLLOW.  And fix of
too-early-mntput() race in follow_down()

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (9/19)
Al Viro [Mon, 6 Jun 2005 20:36:05 +0000 (13:36 -0700)]
[PATCH] namei fixes (9/19)

New helper: __follow_mount(struct path *path).  Same as follow_mount(), except
that we do *not* do mntput() after the first lookup_mnt().

IOW, original path->mnt stays pinned down.  We also take care to do dput()
before mntput() in the loop body (follow_mount() also needs that reordering,
but that will be done later in the series).

The following are equivalent, assuming that path.mnt == x:
(1)
follow_mount(&path.mnt, &path.dentry)
(2)
__follow_mount(&path);
if (path->mnt != x)
mntput(x);
(3)
if (__follow_mount(&path))
mntput(x);

Callers of follow_mount() in __link_path_walk() converted to (2).

Equivalent transformation + fix for too-late-mntput() race in __follow_mount()
loop.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (8/19)
Al Viro [Mon, 6 Jun 2005 20:36:04 +0000 (13:36 -0700)]
[PATCH] namei fixes (8/19)

In open_namei() we never use path.mnt or path.dentry after exit: or ok:.
Assignment of path.dentry in case of LAST_BIND is dead code and only
obfuscates already convoluted function; assignment of path.mnt after
__do_follow_link() can be moved down to the place where we set path.dentry.

Obviously equivalent transformations, just to clean the air a bit in that
region.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (7/19)
Al Viro [Mon, 6 Jun 2005 20:36:03 +0000 (13:36 -0700)]
[PATCH] namei fixes (7/19)

The first argument of __do_follow_link() switched to struct path *
(__do_follow_link(path->dentry, ...) -> __do_follow_link(path, ...)).

All callers have the same calls of mntget() right before and dput()/mntput()
right after __do_follow_link(); these calls have been moved inside.

Obviously equivalent transformations.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (6/19)
Al Viro [Mon, 6 Jun 2005 20:36:02 +0000 (13:36 -0700)]
[PATCH] namei fixes (6/19)

mntget(path->mnt) in do_follow_link() moved down to right before the
__do_follow_link() call and rigth after loop: resp.

dput()+mntput() on non-ELOOP branch moved up to right after __do_follow_link()
call.

resulting
loop:
mntget(path->mnt);
path_release(nd);
dput(path->mnt);
mntput(path->mnt);
replaced with equivalent
dput(path->mnt);
path_release(nd);

Equivalent transformations - the reason why we have that mntget() is that
__do_follow_link() can drop a reference to nd->mnt and that's what holds
path->mnt.  So that call can happen at any point prior to __do_follow_link()
touching nd->mnt.  The rest is obvious.

NOTE: current tree relies on symlinks *never* being mounted on anything.  It's
not hard to get rid of that assumption (actually, that will come for free
later in the series).  For now we are just not making the situation worse than
it is.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (5/19)
Al Viro [Mon, 6 Jun 2005 20:36:01 +0000 (13:36 -0700)]
[PATCH] namei fixes (5/19)

fix for too early mntput() in open_namei() - we pin path.mnt down for the
duration of __do_follow_link().  Otherwise we could get the fs where our
symlink lived unmounted while we were in __do_follow_link().  That would end
up with dentry of symlink staying pinned down through the fs shutdown.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (4/19)
Al Viro [Mon, 6 Jun 2005 20:36:01 +0000 (13:36 -0700)]
[PATCH] namei fixes (4/19)

path.mnt in open_namei() set to mirror nd->mnt.

nd->mnt is set in 3 places in that function - path_lookup() in the beginning,
__follow_down() loop after do_last: and __do_follow_link() call after
do_link:.

We set path.mnt to nd->mnt after path_lookup() and __do_follow_link().  In
__follow_down() loop we use &path.mnt instead of &nd->mnt and set nd->mnt to
path.mnt immediately after that loop.

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (3/19)
Al Viro [Mon, 6 Jun 2005 20:36:00 +0000 (13:36 -0700)]
[PATCH] namei fixes (3/19)

Replaced struct dentry *dentry in namei with struct path path.  All uses of
dentry replaced with path.dentry there.

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes (2/19)
Al Viro [Mon, 6 Jun 2005 20:35:59 +0000 (13:35 -0700)]
[PATCH] namei fixes (2/19)

All callers of do_follow_link() do mntget() right before it and
dput()+mntput() right after.  These calls are moved inside do_follow_link()
now.

Obviously equivalent transformation.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] namei fixes
Al Viro [Mon, 6 Jun 2005 20:35:58 +0000 (13:35 -0700)]
[PATCH] namei fixes

OK, here comes a patch series that hopefully should close all
too-early-mntput() races in fs/namei.c.  Entire area is convoluted as hell, so
I'm splitting that series into _very_ small chunks.

Patches alread in the tree close only (very wide) races in following symlinks
(see "busy inodes after umount" thread some time ago).  Unfortunately, quite a
few narrower races of the same nature were not closed.  Hopefully this should
take care of all of them.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Fix incorrect CPU_FTR fixup usage for unified caches
Kumar Gala [Mon, 6 Jun 2005 20:35:57 +0000 (13:35 -0700)]
[PATCH] ppc32: Fix incorrect CPU_FTR fixup usage for unified caches

Runtime feature support for unified caches was testing a userland feature
flag (PPC_FEATURE_UNIFIED_CACHE) instead of a cpu feature flag
(CPU_FTR_SPLIT_ID_CACHE).  Luckily the current defined bit mask for cpu
features and userland features do not overlap so this only causes an issue
on machines with a unified cache, which is extremely rare on PPC today.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] h8300 build error fix
Yoshinori Sato [Mon, 6 Jun 2005 20:35:56 +0000 (13:35 -0700)]
[PATCH] h8300 build error fix

h8300 was missing a few definitions.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>