openwrt/staging/blogic.git
19 years ago[PATCH] ieee1394: reorder activities after bus reset (fixes device detection)
Jody McIntyre [Fri, 30 Sep 2005 18:59:08 +0000 (11:59 -0700)]
[PATCH] ieee1394: reorder activities after bus reset (fixes device detection)

Units were not detected if the local IRM performed a bus reset.  ("The root
node is not cycle master capable; selecting a new root node and resetting...",
often seen with iPods and other SBP-2 devices).  Rearrange the order of IRM
duties and node scanning.  TODO: Audit the ROM caching and parsing code for
underlying issues.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sbp2: default to serialize_io=1
Jody McIntyre [Fri, 30 Sep 2005 18:59:07 +0000 (11:59 -0700)]
[PATCH] sbp2: default to serialize_io=1

Set serialize_io=1 by default.  This is safer and required by seemingly more
and more hardware.  It causes little or no performance loss for S400 devices.
Performance of S800 1394b devices may drop by 25...30%.  Therefore make the
parameter's description and dmesg message clearer about performance impact.

Update description of the max_speed parameter too.  IEEE1394_SPEED_MAX is
currently S800.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sbp2: fix deadlocks and delays on device removal/rmmod
Jody McIntyre [Fri, 30 Sep 2005 18:59:06 +0000 (11:59 -0700)]
[PATCH] sbp2: fix deadlocks and delays on device removal/rmmod

Fixes for deadlocks of the ieee1394 and scsi subsystems and long delays in
futile error recovery attempts when SBP-2 devices are removed or drivers are
unloaded.

 - Complete commands quickly with DID_NO_CONNECT if the 1394 node is gone or if
   the 1394 low-level driver was unloaded.
 - Skip unnecessary work in the eh_abort_handler and eh_device_reset_handler if
   the node or 1394 low-level driver is gone.
 - Let scsi's high-level shut down gracefully when sbp2 is being unloaded or
   detached from the 1394 unit. A call to scsi_remove_device is added for this
   purpose, which requires us to store a scsi_device pointer.
 - scsi_device pointer is obtained from slave_alloc hook and cleared by
   slave_destroy. This avoids usage of the pointer after the scsi device was
   deleted e.g. by the user via scsi_mod's sysfs interface.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] MAINTAINERS: sbp2 driver is not orphaned.
Jody McIntyre [Fri, 30 Sep 2005 18:59:04 +0000 (11:59 -0700)]
[PATCH] MAINTAINERS: sbp2 driver is not orphaned.

Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ioc4_serial: Remove bogus error message
Brent Casavant [Fri, 30 Sep 2005 18:59:04 +0000 (11:59 -0700)]
[PATCH] ioc4_serial: Remove bogus error message

This change removes a bogus error message from the IOC4 serial driver
interrupt handler.

This error message is bogus for two reasons.  First, it can never occur
given that current code takes care to initialize IOC4 in such a way that
these "unknown" interrupts could never occur.  Second, this code fails to
take into account that other drivers can share the IOC4 interrupt mechanism
through SA_SHIRQ, and thus this driver is not in-fact "all-knowing".

Finally, this error message triggers every time some "unknown" interrupt
occurs -- it's not rate limited or repetition limited in any way, thereby
effectively denying use of the console device.  Given its bogosity in the
first place, it's best to just get rid of it entirely.

Acked-by: Pat Gefre <pfg@sgi.com>
Signed-off-by: Brent Casavant <bcasavan@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fuse: check O_DIRECT
Miklos Szeredi [Fri, 30 Sep 2005 18:59:02 +0000 (11:59 -0700)]
[PATCH] fuse: check O_DIRECT

Check O_DIRECT and return -EINVAL error in open.  dentry_open() also checks
this but only after the open method is called.  This patch optimizes away
the unnecessary upcalls in this case.

It could be a correctness issue too: if filesystem has open() with side
effect, then it should fail before doing the open, not after.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: remove empty hostfs_truncate method
Paolo 'Blaisorblade' Giarrusso [Fri, 30 Sep 2005 18:59:01 +0000 (11:59 -0700)]
[PATCH] uml: remove empty hostfs_truncate method

Calling truncate() on hostfs spits a kernel warning "Something isn't
implemented here", but it still works fine.

Indeed, hostfs i_op->truncate doesn't do anything.  But hostfs_setattr() ->
set_attr() correctly detects ATTR_SIZE and calls truncate() on the host.  So
we should be safe (using ftruncate() may be better, in case the file is
unlinked on the host, but we aren't sure to have the file open for writing,
and reopening it would cause the same races; plus nobody should expect UML to
be so careful).

So, the warning is wrong, because the current implementation is working.  Al,
am I correct, and can the warning be therefore dropped?

CC: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: 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: revert "run mconsole "sysrq" in process context"
Paolo 'Blaisorblade' Giarrusso [Fri, 30 Sep 2005 18:59:00 +0000 (11:59 -0700)]
[PATCH] uml: revert "run mconsole "sysrq" in process context"

Revert commit 12ebcd73e40e09f0dfddf89e465cc0541e0ff8b1, i.e.  [PATCH] uml: run
mconsole "sysrq" in process context on request from Jeff Dike.

a) sysrq may be run when the scheduler is non-functioning

b) the warning I wanted to fix actually came from the fault handler run in
   atomic context.  But I fixed that not to take the semaphore in a separate
   patch.

c) the fault handler is run because of a fault, and that fault was
   unaffected by this patch.

Signed-off-by: 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: clear SKAS0/3 flags when running in TT mode
Paolo 'Blaisorblade' Giarrusso [Fri, 30 Sep 2005 18:59:00 +0000 (11:59 -0700)]
[PATCH] uml: clear SKAS0/3 flags when running in TT mode

SEGV_MAYBE_FIXABLE tests ptrace_faultinfo, and depends on it being 1 only in
SKAS3 mode, while currently when running with mode=tt it will be 1 anyway.
Fix this, and do the same for proc_mm.

Signed-off-by: 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 page faults in SKAS3 mode.
Paolo 'Blaisorblade' Giarrusso [Fri, 30 Sep 2005 18:58:59 +0000 (11:58 -0700)]
[PATCH] uml: fix page faults in SKAS3 mode.

I hadn't been running a SKAS3 host when testing the "uml: fix hang in TT mode
on fault" patch (commit 546fe1cbf91d4d62e3849517c31a2327c992e5c5), and I
didn't think enough to the missing trap_no in SKAS3 mode.

In fact, the resulting kernel doesn't work at all in SKAS3 mode.

Signed-off-by: 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] v4l: DViCO FusionHDTV5 Lite GPIO Fix
Michael Krufky [Fri, 30 Sep 2005 18:58:58 +0000 (11:58 -0700)]
[PATCH] v4l: DViCO FusionHDTV5 Lite GPIO Fix

GPIO fix for the composite and tv mute states of bt8xx card #135: DViCO
FusionHDTV5 Lite.  Without this patch, selecting one of these states could
produce unexpected behavior.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86: hw_irq.h warning fix
Andrew Morton [Fri, 30 Sep 2005 18:58:57 +0000 (11:58 -0700)]
[PATCH] x86: hw_irq.h warning fix

include/asm/hw_irq.h:70: warning: `struct hw_interrupt_type' declared inside parameter list
include/asm/hw_irq.h:70: warning: its scope is only this definition or declaration, which is probably not what you want

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] aio: avoid extra aio_{read,write} call when ki_left == 0
Zach Brown [Fri, 30 Sep 2005 18:58:56 +0000 (11:58 -0700)]
[PATCH] aio: avoid extra aio_{read,write} call when ki_left == 0

Recently aio_p{read,write} changed to perform retries internally rather
than returning -EIOCBRETRY.  This inadvertantly resulted in always calling
aio_{read,write} with ki_left at 0 which would in turn immediately return
0.  Harmless, but we can avoid this call by checking in the caller.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] aio: remove unlocked task_list test and resulting race
Zach Brown [Fri, 30 Sep 2005 18:58:55 +0000 (11:58 -0700)]
[PATCH] aio: remove unlocked task_list test and resulting race

Only one of the run or kick path is supposed to put an iocb on the run
list.  If both of them do it than one of them can end up referencing a
freed iocb.  The kick path could delete the task_list item from the wait
queue before getting the ctx_lock and putting the iocb on the run list.
The run path was testing the task_list item outside the lock so that it
could catch ki_retry methods that return -EIOCBRETRY *without* putting the
iocb on a wait queue and promising to call kick_iocb.  This unlocked check
could then race with the kick path to cause both to try and put the iocb on
the run list.

The patch stops the run path from testing task_list by requring that any
ki_retry that returns -EIOCBRETRY *must* guarantee that kick_iocb() will be
called in the future.  aio_p{read,write}, the only in-tree -EIOCBRETRY
users, are updated.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] aio: lock around kiocbTryKick()
Zach Brown [Fri, 30 Sep 2005 18:58:54 +0000 (11:58 -0700)]
[PATCH] aio: lock around kiocbTryKick()

Only one of the run or kick path is supposed to put an iocb on the run
list.  If both of them do it than one of them can end up referencing a
freed iocb.  The kick patch could set the Kicked bit before acquiring the
ctx_lock and putting the iocb on the run list.  The run path, while holding
the ctx_lock, could see this partial kick and mistake it for a kick that
was deferred while it was doing work with the run_list NULLed out.  It
would then race with the kick thread to add the iocb to the run list.

This patch moves the kick setting under the ctx_lock so that only one of
the kick or run path queues the iocb on the run list, as intended.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoRevert "x86-64: Reverse order of bootmem lists"
Linus Torvalds [Fri, 30 Sep 2005 19:38:27 +0000 (12:38 -0700)]
Revert "x86-64: Reverse order of bootmem lists"

As requested by Thomas Gleixner <tglx@linutronix.de>:

  "5d3d0f7704ed0bc7eaca0501eeae3e5da1ea6c87 breaks a couple of ARM
   boards, which depend on the historical bootmem allocation order.
   There is a cleaner solution around to remove the pgdat list
   completely, but this is a topic for post 2.6.14

   Andi signalled ACK already."

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] SELinux - fix SCTP socket bug and general IP protocol handling
James Morris [Fri, 30 Sep 2005 18:24:34 +0000 (14:24 -0400)]
[PATCH] SELinux - fix SCTP socket bug and general IP protocol handling

The following patch updates the way SELinux classifies and handles IP
based protocols.

Currently, IP sockets are classified by SELinux as being either TCP, UDP
or 'Raw', the latter being a default for IP socket that is not TCP or UDP.

The classification code is out of date and uses only the socket type
parameter to socket(2) to determine the class of IP socket.  So, any
socket created with SOCK_STREAM will be classified by SELinux as TCP, and
SOCK_DGRAM as UDP.  Also, other socket types such as SOCK_SEQPACKET and
SOCK_DCCP are currently ignored by SELinux, which classifies them as
generic sockets, which means they don't even get basic IP level checking.

This patch changes the SELinux IP socket classification logic, so that
only an IPPROTO_IP protocol value passed to socket(2) classify the socket
as TCP or UDP.  The patch also drops the check for SOCK_RAW and converts
it into a default, so that socket types like SOCK_DCCP and SOCK_SEQPACKET
are classified as SECCLASS_RAWIP_SOCKET (instead of generic sockets).

Note that protocol-specific support for SCTP, DCCP etc. is not addressed
here, we're just getting these protocols checked at the IP layer.

This fixes a reported problem where SCTP sockets were being recognized as
generic SELinux sockets yet still being passed in one case to an IP level
check, which then fails for generic sockets.

It will also fix bugs where any SOCK_STREAM socket is classified as TCP or
any SOCK_DGRAM socket is classified as UDP.

This patch also unifies the way IP sockets classes are determined in
selinux_socket_bind(), so we use the already calculated value instead of
trying to recalculate it.

Signed-off-by: James Morris <jmorris@namei.org>
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] i386: include linux/irq.h rather than asm/hw_irq.h
Nick Piggin [Fri, 30 Sep 2005 16:34:42 +0000 (02:34 +1000)]
[PATCH] i386: include linux/irq.h rather than asm/hw_irq.h

I need the following patch to compile -git8 here, otherwise these
files fail to compile (asm/hw_irq.h needs definitions from
linux/irq.h and that file provides the required include ordering).

I did not do a full audit, though there looks to be many other
places that should get the same treatment, if this is  the right
way to do it.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] usb/core/hcd-pci.c: don't free_irq() on suspend
Daniel Ritz [Thu, 29 Sep 2005 19:39:32 +0000 (21:39 +0200)]
[PATCH] usb/core/hcd-pci.c: don't free_irq() on suspend

the free_irq() in USB suspend breaks resume on some setups where USB
(ohci/ehci) shares the interrupt with an other device.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Add missing () around arguments of pte_index macro
Kirill Korotaev [Fri, 30 Sep 2005 06:32:19 +0000 (10:32 +0400)]
[PATCH] x86_64: Add missing () around arguments of pte_index macro

x86-64: Add missing () around arguments of pte_index macro

Signed-Off-By: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-Off-By: Kirill Korotaev <dev@sw.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] useless includes of linux/irq.h (arch/ppc)
Al Viro [Fri, 30 Sep 2005 04:09:34 +0000 (05:09 +0100)]
[PATCH] useless includes of linux/irq.h (arch/ppc)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 30 Sep 2005 15:43:13 +0000 (08:43 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 30 Sep 2005 15:42:52 +0000 (08:42 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years ago[PATCH] missing qualifiers in readb() et.al. on ppc
Al Viro [Fri, 30 Sep 2005 03:20:57 +0000 (04:20 +0100)]
[PATCH] missing qualifiers in readb() et.al. on ppc

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] volatile unsigned short f(...) doesn't make sense
Al Viro [Fri, 30 Sep 2005 03:19:43 +0000 (04:19 +0100)]
[PATCH] volatile unsigned short f(...) doesn't make sense

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] bogus BUILD_BUG_ON() in bpa_iommu
Al Viro [Fri, 30 Sep 2005 02:36:50 +0000 (03:36 +0100)]
[PATCH] bogus BUILD_BUG_ON() in bpa_iommu

BUILD_BUG_ON(1) is asking for trouble (and getting it) when used in that
manner - dead code elimination happens after we parse it and invalid
type is invalid type, dead code or not.

It might be version-dependent, but at least 4.0.1 refuses to accept
that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml get_user() NULL noise removal
Al Viro [Fri, 30 Sep 2005 02:29:05 +0000 (03:29 +0100)]
[PATCH] uml get_user() NULL noise removal

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cpuset crapectomy
Al Viro [Fri, 30 Sep 2005 02:26:43 +0000 (03:26 +0100)]
[PATCH] cpuset crapectomy

Switched cpuset_common_file_read() to simple_read_from_buffer(), killed
a bunch of useless (and not quite correct - e.g.  min(size_t,ssize_t))
code.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cassini annotations and fixes
Al Viro [Fri, 30 Sep 2005 02:21:45 +0000 (03:21 +0100)]
[PATCH] cassini annotations and fixes

 - __user annotations
 - NULL noise removal
 - C99 initializers
 - s/u32/pm_message_t/ in ->suspend()
 - removal of bogus casts in iounmap() arguments
 - if_mii() instead of open-coded variant

Remains to be done: ethtool conversion.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] useless linux/irq.h includes (arch/um)
Al Viro [Fri, 30 Sep 2005 02:16:43 +0000 (03:16 +0100)]
[PATCH] useless linux/irq.h includes (arch/um)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] missing ERR_PTR in 9fs
Al Viro [Fri, 30 Sep 2005 02:15:08 +0000 (03:15 +0100)]
[PATCH] missing ERR_PTR in 9fs

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Fri, 30 Sep 2005 15:39:56 +0000 (08:39 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/chrisw/lsm-2.6
Linus Torvalds [Fri, 30 Sep 2005 15:38:46 +0000 (08:38 -0700)]
Merge /pub/scm/linux/kernel/git/chrisw/lsm-2.6

19 years ago[ARM] 2940/1: Fix BTB entry flush in arch/arm/mm/cache-v6.S
Gen FUKATSU [Fri, 30 Sep 2005 15:09:17 +0000 (16:09 +0100)]
[ARM] 2940/1: Fix BTB entry flush in arch/arm/mm/cache-v6.S

Patch from Gen FUKATSU

Invalidate BTB entry instruction flushes two instruction
at a time. Therefore this instruction should be done four
times after invalidate instruction cache line.

Signed-off-by: Gen Fukatsu
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2942/1: Fix the warning in arch/arm/common/gic.c
Catalin Marinas [Fri, 30 Sep 2005 15:07:05 +0000 (16:07 +0100)]
[ARM] 2942/1: Fix the warning in arch/arm/common/gic.c

Patch from Catalin Marinas

The warning is caused by the gic_set_cpu() function being defined but not
used if CONFIG_SMP is not defined.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2939/1: Fix compilation error in arch/arm/mm/flush.c
Catalin Marinas [Fri, 30 Sep 2005 15:07:04 +0000 (16:07 +0100)]
[ARM] 2939/1: Fix compilation error in arch/arm/mm/flush.c

Patch from Catalin Marinas

When CONFIG_CPU_CACHE_VIPT is defined, the flush_pfn_alias() function is
implicitely declared and it later conflicts with its actual definition.
This patch moves the function definition to the beginning of the file.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[CASSINI]: sparse annotations and fixes
Al Viro [Fri, 30 Sep 2005 02:49:17 +0000 (19:49 -0700)]
[CASSINI]: sparse annotations and fixes

- __user annotations
- NULL noise removal
- C99 initializers
- s/u32/pm_message_t/ in ->suspend()
- removal of bogus casts in iounmap() arguments
- if_mii() instead of open-coded variant

Remains to be done: ethtool conversion.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPVS]: Add netdev and me as maintainer contacts
Horms [Fri, 30 Sep 2005 02:47:06 +0000 (19:47 -0700)]
[IPVS]: Add netdev and me as maintainer contacts

Signed-off-by: Horms <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[RADEON]: Fix unaligned I/O port access during probe.
David S. Miller [Fri, 30 Sep 2005 02:26:51 +0000 (19:26 -0700)]
[RADEON]: Fix unaligned I/O port access during probe.

The driver does a readl() on DEVICE_ID which is 2-byte aligned and
2-bytes in size.  It's doing this read just to flush write buffers.

Create IN16() and OUT16() macros, and use the former to do this I/O
load.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Fix several bugs in flush_ptrace_access().
David S. Miller [Fri, 30 Sep 2005 01:50:34 +0000 (18:50 -0700)]
[SPARC64]: Fix several bugs in flush_ptrace_access().

1) Use cpudata cache line sizes, not magic constants.
2) Align start address in cheetah case so we do not get
   unaligned address traps.  (pgrep was good at triggering
   this, via /proc/${pid}/cmdline accesses)

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Kill arch/sparc64/prom/memory.c
David S. Miller [Fri, 30 Sep 2005 01:05:28 +0000 (18:05 -0700)]
[SPARC64]: Kill arch/sparc64/prom/memory.c

No longer used.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Rewrite convoluted physical memory probing.
David S. Miller [Fri, 30 Sep 2005 00:58:26 +0000 (17:58 -0700)]
[SPARC64]: Rewrite convoluted physical memory probing.

Delete all of the code working with sp_banks[] and replace
with clean acquisition and sorting of physical memory
parameters from the firmware.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: [lec] reset retry counter when new arp issued
Scott Talbert [Fri, 30 Sep 2005 00:31:30 +0000 (17:31 -0700)]
[ATM]: [lec] reset retry counter when new arp issued

From: Scott Talbert <scott.talbert@lmco.com>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: [lec] attempt to support cisco failover
Scott Talbert [Fri, 30 Sep 2005 00:30:54 +0000 (17:30 -0700)]
[ATM]: [lec] attempt to support cisco failover

From: Scott Talbert <scott.talbert@lmco.com>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TCP]: Don't over-clamp window in tcp_clamp_window()
Alexey Kuznetsov [Fri, 30 Sep 2005 00:17:15 +0000 (17:17 -0700)]
[TCP]: Don't over-clamp window in tcp_clamp_window()

From: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>

Handle better the case where the sender sends full sized
frames initially, then moves to a mode where it trickles
out small amounts of data at a time.

This known problem is even mentioned in the comments
above tcp_grow_window() in tcp_input.c, specifically:

...
 * The scheme does not work when sender sends good segments opening
 * window and then starts to feed us spagetti. But it should work
 * in common situations. Otherwise, we have to rely on queue collapsing.
...

When the sender gives full sized frames, the "struct sk_buff" overhead
from each packet is small.  So we'll advertize a larger window.
If the sender moves to a mode where small segments are sent, this
ratio becomes tilted to the other extreme and we start overrunning
the socket buffer space.

tcp_clamp_window() tries to address this, but it's clamping of
tp->window_clamp is a wee bit too aggressive for this particular case.

Fix confirmed by Ion Badulescu.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TCP]: Revert 6b251858d377196b8cea20e65cae60f584a42735
David S. Miller [Fri, 30 Sep 2005 00:07:20 +0000 (17:07 -0700)]
[TCP]: Revert 6b251858d377196b8cea20e65cae60f584a42735

But retain the comment fix.

Alexey Kuznetsov has explained the situation as follows:

--------------------

I think the fix is incorrect. Look, the RFC function init_cwnd(mss) is
not continuous: f.e. for mss=1095 it needs initial window 1095*4, but
for mss=1096 it is 1096*3. We do not know exactly what mss sender used
for calculations. If we advertised 1096 (and calculate initial window
3*1096), the sender could limit it to some value < 1096 and then it
will need window his_mss*4 > 3*1096 to send initial burst.

See?

So, the honest function for inital rcv_wnd derived from
tcp_init_cwnd() is:

init_rcv_wnd(mss)=
  min { init_cwnd(mss1)*mss1 for mss1 <= mss }

It is something sort of:

if (mss < 1096)
return mss*4;
if (mss < 1096*2)
return 1096*4;
return mss*2;

(I just scrablled a graph of piece of paper, it is difficult to see or
to explain without this)

I selected it differently giving more window than it is strictly
required.  Initial receive window must be large enough to allow sender
following to the rfc (or just setting initial cwnd to 2) to send
initial burst.  But besides that it is arbitrary, so I decided to give
slack space of one segment.

Actually, the logic was:

If mss is low/normal (<=ethernet), set window to receive more than
initial burst allowed by rfc under the worst conditions
i.e. mss*4. This gives slack space of 1 segment for ethernet frames.

For msses slighlty more than ethernet frame, take 3. Try to give slack
space of 1 frame again.

If mss is huge, force 2*mss. No slack space.

Value 1460*3 is really confusing. Minimal one is 1096*2, but besides
that it is an arbitrary value. It was meant to be ~4096. 1460*3 is
just the magic number from RFC, 1460*3 = 1095*4 is the magic :-), so
that I guess hands typed this themselves.

--------------------

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ARM] 2941/1: Fix running legacy binaries from a soft-float root filesystem with...
Daniel Jacobowitz [Thu, 29 Sep 2005 23:17:35 +0000 (00:17 +0100)]
[ARM] 2941/1: Fix running legacy binaries from a soft-float root filesystem with CONFIG_IWMMXT.

Patch from Daniel Jacobowitz

Thread flags are inherited on fork().  In order for a binary which has
the iWMMXt coprocessor enabled to run a binary which needs the FPA
emulation, we need to explicitly clear TIF_USING_IWMMXT if we are not
going to set it.

Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] Fix ppc64 smu driver locking
Benjamin Herrenschmidt [Thu, 29 Sep 2005 22:25:17 +0000 (08:25 +1000)]
[PATCH] Fix ppc64 smu driver locking

The SMU driver has a small mistake in the locking of the interrupt code,
if polled access and interrupt access race, interrupt may take a lock
and return without releasing it. This fixes it. With that patch, the
driver is rock solid with my experimental thermal control (which bangs
it pretty hard) racing with real time clock and cpufreq handling.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] readv/writev syscalls are not checked by lsm
Kostik Belousov [Wed, 28 Sep 2005 15:21:28 +0000 (18:21 +0300)]
[PATCH] readv/writev syscalls are not checked by lsm

it seems that readv(2)/writev(2) syscalls do not call
file_permission callback. Looks like this is overlook.

I have filled the issue into redhat bugzilla as
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=169433
and got the recommendation to post this on lsm mailing list.

The following trivial patch solves the problem.

Signed-off-by: Kostik Belousov <kostikbel@gmail.com>
Signed-off-by: Chris Wright <chrisw@osdl.org>
19 years ago[PATCH] x86_64: Fix mce_log
Mike Waychison [Thu, 29 Sep 2005 22:01:27 +0000 (00:01 +0200)]
[PATCH] x86_64: Fix mce_log

The attempt to fixup the lockless mce log buffer introduced an infinite loop
when trying to find a free entry.

And:

Using rcu_dereference() to load mcelog.next doesn't seem to be sufficient
enough to ensure that mcelog.next is loaded each time around the loop in
mce_log().  Instead, use an explicit rmb() to ensure that the compiler gets it
right.

AK: turned the smp_wmbs into true wmbs to make sure they are not
reordered by the compiler on UP.

Signed-off-by: Mike Waychison <mikew@google.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix up TLB flush filter disabling
Andi Kleen [Thu, 29 Sep 2005 20:05:55 +0000 (22:05 +0200)]
[PATCH] Fix up TLB flush filter disabling

I checked with AMD and they requested to only disable it for family 15.
Also disable it for i386 too. And some style fixes.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix task state testing properly in do_signal_stop()
Roland McGrath [Thu, 29 Sep 2005 21:54:42 +0000 (14:54 -0700)]
[PATCH] Fix task state testing properly in do_signal_stop()

Any tests using < TASK_STOPPED or the like are left over from the time
when the TASK_ZOMBIE and TASK_DEAD bits were in the same word, and it
served to check for "stopped or dead".  I think this one in
do_signal_stop is the only such case.  It has been buggy ever since
exit_state was separated, and isn't testing the exit_state value.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoRevert task flag re-ordering, add comments
Linus Torvalds [Thu, 29 Sep 2005 22:18:21 +0000 (15:18 -0700)]
Revert task flag re-ordering, add comments

Roland points out that the flags end up having non-obvious dependencies
elsewhere, so revert aa55a08687059aa169d10a313c41f238c2070488 and add
some comments about why things are as they are.

We'll just have to fix up the broken comparisons. Roland has a patch.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix TASK_STOPPED vs TASK_NONINTERACTIVE interaction
Oleg Nesterov [Thu, 29 Sep 2005 15:58:53 +0000 (19:58 +0400)]
[PATCH] fix TASK_STOPPED vs TASK_NONINTERACTIVE interaction

do_signal_stop:

for_each_thread(t) {
if (t->state < TASK_STOPPED)
++sig->group_stop_count;
}

However, TASK_NONINTERACTIVE > TASK_STOPPED, so this loop will not
count TASK_INTERRUPTIBLE | TASK_NONINTERACTIVE threads.

See also wait_task_stopped(), which checks ->state > TASK_STOPPED.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
[ We really probably should always use the appropriate bitmasks to test
  task states, not do it like this. Using something like

#define TASK_RUNNABLE (TASK_RUNNING | TASK_INTERRUPTIBLE | \
TASK_UNINTERRUPTIBLE | TASK_NONINTERACTIVE)

  and then doing "if (task->state & TASK_RUNNABLE)" or similar. But the
  ordering of the task states is historical, and keeping the ordering
  does make sense regardless. ]

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-serial
Linus Torvalds [Thu, 29 Sep 2005 16:00:04 +0000 (09:00 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-serial

19 years ago[PATCH] Fix thinko in previous ARM 2917/1 patch
Deepak Saxena [Thu, 29 Sep 2005 01:07:01 +0000 (18:07 -0700)]
[PATCH] Fix thinko in previous ARM 2917/1 patch

Previous patch accidently add IXDP425 mach entry when IXDP465 is configured.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 29 Sep 2005 15:56:47 +0000 (08:56 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Thu, 29 Sep 2005 15:55:43 +0000 (08:55 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

19 years ago[PATCH] Fix ixp4xx MTD driver module build
Deepak Saxena [Wed, 28 Sep 2005 23:42:54 +0000 (16:42 -0700)]
[PATCH] Fix ixp4xx MTD driver module build

Missing ';' breaks module build.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s3c2410fb: Minor warning fix
Ben Dooks [Wed, 28 Sep 2005 21:24:38 +0000 (05:24 +0800)]
[PATCH] s3c2410fb: Minor warning fix

The function s3c2410fb_activate_var does not return
a value, therefore it should be declared void.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] intelfb: Fix regression (blank display) from ioremap patch
Antonino A. Daplas [Wed, 28 Sep 2005 21:19:51 +0000 (05:19 +0800)]
[PATCH] intelfb: Fix regression (blank display) from ioremap patch

- Workaround for the ioremap patch that produces a blank display on some
  chipsets
- Make hwcursor = 0 the default.  The hardware cursor does not work with all
  hardware.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mv64x60_wdt __user annotations and cleanups
Al Viro [Wed, 28 Sep 2005 23:42:27 +0000 (00:42 +0100)]
[PATCH] mv64x60_wdt __user annotations and cleanups

 - use nonseekable_open() instead of messing with

if (*ppos != file->f_pos)
return -EISPIPE

   in ->write() (->read is NULL).

 - trivial __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] saa6588 __user annotations
Al Viro [Wed, 28 Sep 2005 23:37:34 +0000 (00:37 +0100)]
[PATCH] saa6588 __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] i810-i2c iomem annotations
Al Viro [Wed, 28 Sep 2005 23:36:10 +0000 (00:36 +0100)]
[PATCH] i810-i2c iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mv64x60 iomem annotations
Al Viro [Wed, 28 Sep 2005 23:34:30 +0000 (00:34 +0100)]
[PATCH] mv64x60 iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32 ld.script fix for building on ppc64
Al Viro [Wed, 28 Sep 2005 23:31:14 +0000 (00:31 +0100)]
[PATCH] ppc32 ld.script fix for building on ppc64

In arch/ppc/boot/ld.script we need OUTPUT_ARCH(powerpc:common) for the
same reasons why we need it in vmlinux.lds.S; when we build on ppc64
box, we need to be explicit about the target.

See http://linus.bkbits.net:8080/linux-2.5/cset@1.1784.8.10 for the
corresponding fix in vmlinux.lds.S.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 get_user annotations
Al Viro [Wed, 28 Sep 2005 23:17:49 +0000 (00:17 +0100)]
[PATCH] ppc64 get_user annotations

long is not uintptr_t, unsigned long is.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390 signal annotations
Al Viro [Wed, 28 Sep 2005 23:16:02 +0000 (00:16 +0100)]
[PATCH] s390 signal annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ia64 basic __user annotations
Al Viro [Wed, 28 Sep 2005 23:12:13 +0000 (00:12 +0100)]
[PATCH] ia64 basic __user annotations

 - document places where we pass kernel address to low-level primitive
   that deals with kernel/user addresses
 - uintptr_t is unsigned long, not long

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] arm/rpc iomem annotations
Al Viro [Wed, 28 Sep 2005 23:10:01 +0000 (00:10 +0100)]
[PATCH] arm/rpc iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] arm/versatile iomem annotations
Al Viro [Wed, 28 Sep 2005 23:09:02 +0000 (00:09 +0100)]
[PATCH] arm/versatile iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cyblafb: portability fixes, sanitized work with pointers
Al Viro [Wed, 28 Sep 2005 23:07:29 +0000 (00:07 +0100)]
[PATCH] cyblafb: portability fixes, sanitized work with pointers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Knut Petersen <Knut_Petersen@t-online.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] n_r3964: drop bogus fmt casts
Alexey Dobriyan [Wed, 28 Sep 2005 23:05:58 +0000 (00:05 +0100)]
[PATCH] n_r3964: drop bogus fmt casts

 - print pointers with %p
 - casting pointer structure field to int and printing it with %d...

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] proc_mkdir() should be used to create procfs directories
Al Viro [Wed, 28 Sep 2005 21:32:57 +0000 (22:32 +0100)]
[PATCH] proc_mkdir() should be used to create procfs directories

A bunch of create_proc_dir_entry() calls creating directories had crept
in since the last sweep; converted to proc_mkdir().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml makefiles sanitized
Al Viro [Wed, 28 Sep 2005 21:27:23 +0000 (22:27 +0100)]
[PATCH] uml makefiles sanitized

UML makefiles sanitized:
 - number of generated headers reduced to 2 (from user-offsets.c and
   kernel-offsets.c resp.).  The rest is made constant and simply
   includes those two.
 - mk_... helpers are gone now that we don't need to generate these
   headers
 - arch/um/include2 removed since everything under arch/um/include/sysdep
   is constant now and symlink can point straight to source tree.
 - dependencies seriously simplified.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ARM] Don't include mach-types.h unnecessarily
Russell King [Thu, 29 Sep 2005 10:15:51 +0000 (11:15 +0100)]
[ARM] Don't include mach-types.h unnecessarily

It's pointless to include mach-types.h if you're not going to use
anything from it.  These references were removed as a result of:

grep -lr 'asm/mach-types\.h' . | xargs grep -L 'machine_is_\|MACH_TYPE_\|MACHINE_START\|machine_type'

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Don't include asm/arch/hardware.h directly
Russell King [Thu, 29 Sep 2005 10:12:52 +0000 (11:12 +0100)]
[ARM] Don't include asm/arch/hardware.h directly

Since asm/hardware.h's only reason for existing is to include
asm/arch/hardware.h, it's completely pointless to include both.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Fix warning in arch/arm/mach-pxa/generic.c
Russell King [Thu, 29 Sep 2005 08:49:25 +0000 (09:49 +0100)]
[ARM] Fix warning in arch/arm/mach-pxa/generic.c

Fix
 arch/arm/mach-pxa/generic.c:242: warning: 'struct i2c_pxa_platform_data' declared inside parameter list
caused by missing asm/arch/i2c.h include.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] pxafb: Remove #if DEBUG, convert DPRINTK to pr_debug
Russell King [Thu, 29 Sep 2005 08:44:54 +0000 (09:44 +0100)]
[ARM] pxafb: Remove #if DEBUG, convert DPRINTK to pr_debug

Fix warning:
 drivers/video/pxafb.h:119:5: warning: "DEBUG" is not defined
by removing the whole
 #if DEBUG
 #define DPRINTK(fmt, args...) printk...etc...
 #else
 #define DPRINTK(fmt, args...)
 #endif
stuff - we have pr_debug() for this.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[NET]: Fix reversed logic in eth_type_trans().
David S. Miller [Thu, 29 Sep 2005 05:37:53 +0000 (22:37 -0700)]
[NET]: Fix reversed logic in eth_type_trans().

I got the second compare_eth_addr() test reversed, oops.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Solidify check in cheetah_check_main_memory().
David S. Miller [Thu, 29 Sep 2005 04:48:25 +0000 (21:48 -0700)]
[SPARC64]: Solidify check in cheetah_check_main_memory().

Need to make sure the address is below high_memory before
passing it to kern_addr_valid().

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Kill all external references to sp_banks[]
David S. Miller [Thu, 29 Sep 2005 04:46:43 +0000 (21:46 -0700)]
[SPARC64]: Kill all external references to sp_banks[]

Thus, we can mark sp_banks[] static in arch/sparc64/mm/init.c

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Move phys_base, kern_{base,size}, and sp_banks[] init to paging_init
David S. Miller [Thu, 29 Sep 2005 04:38:08 +0000 (21:38 -0700)]
[SPARC64]: Move phys_base, kern_{base,size}, and sp_banks[] init to paging_init

Also, move prom_probe_memory() into arch/sparc64/mm/init.c

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC]: Declare paging_init() in asm/pgtable.h
David S. Miller [Thu, 29 Sep 2005 04:31:25 +0000 (21:31 -0700)]
[SPARC]: Declare paging_init() in asm/pgtable.h

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Simplify user fault fixup handling.
David S. Miller [Thu, 29 Sep 2005 04:06:47 +0000 (21:06 -0700)]
[SPARC64]: Simplify user fault fixup handling.

Instead of doing byte-at-a-time user accesses to figure
out where the fault occurred, read the saved fault_address
from the current thread structure.

For the sake of defensive programming, if the fault_address
does not fall into the user buffer range, simply assume the
whole area faulted.  This will cause the fixup for
copy_from_user() to clear the entire kernel side buffer.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Fix fault handling in unaligned trap handler.
David S. Miller [Thu, 29 Sep 2005 03:41:45 +0000 (20:41 -0700)]
[SPARC64]: Fix fault handling in unaligned trap handler.

We were not calling kernel_mna_trap_fault() correctly.
Instead of being fancy, just return 0 vs. -EFAULT from
the assembler stubs, and handle that return value as
appropriate.

Create an "__retl_efault" stub for assembler exception
table entries and use it where possible.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Convert to use generic exception table support.
David S. Miller [Thu, 29 Sep 2005 03:21:11 +0000 (20:21 -0700)]
[SPARC64]: Convert to use generic exception table support.

The funny "range" exception table entries we had were only
used by the compat layer socketcall assembly, and it wasn't
even needed there.

For free we now get proper exception table sorting and fast
binary searching.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Fix bug in unaligned load endianness swapping
David S. Miller [Wed, 28 Sep 2005 23:48:40 +0000 (16:48 -0700)]
[SPARC64]: Fix bug in unaligned load endianness swapping

The in-memory value was being swapped, not the value we
loaded into the register.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: fix bug in atm address list handling
Martin Whitaker [Wed, 28 Sep 2005 23:35:22 +0000 (16:35 -0700)]
[ATM]: fix bug in atm address list handling

From: Martin Whitaker <atm@martin-whitaker.co.uk>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
19 years ago[ATM]: track and close listen sockets when sigd exits
Chas Williams [Wed, 28 Sep 2005 23:35:01 +0000 (16:35 -0700)]
[ATM]: track and close listen sockets when sigd exits

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
19 years ago[ATM]: net/atm/ioctl.c: autoload pppoatm and br2684
Roman Kagan [Wed, 28 Sep 2005 23:34:24 +0000 (16:34 -0700)]
[ATM]: net/atm/ioctl.c: autoload pppoatm and br2684

Signed-off-by: Roman Kagan <rkagan@mail.ru>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
19 years ago[TCP]: Fix init_cwnd calculations in tcp_select_initial_window()
David S. Miller [Wed, 28 Sep 2005 23:31:48 +0000 (16:31 -0700)]
[TCP]: Fix init_cwnd calculations in tcp_select_initial_window()

Match it up to what RFC2414 really specifies.
Noticed by Rick Jones.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] pcmcia: only start up nonstatic sockets if both mem and io are available
Dominik Brodowski [Wed, 28 Sep 2005 17:29:59 +0000 (19:29 +0200)]
[PATCH] pcmcia: only start up nonstatic sockets if both mem and io are available

Only start up nonstatic sockets if both IO and MEM resources are available.
Thanks to Russell King and Matthew Wilcox for tracking this down.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
19 years ago[PATCH] pcmcia: allow one port excludes
Dominik Brodowski [Wed, 28 Sep 2005 17:28:37 +0000 (19:28 +0200)]
[PATCH] pcmcia: allow one port excludes

Allow for excluding only one port in /etc/pcmcia/config.otps

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
19 years ago[PATCH] Keys: Add possessor permissions to keys [try #3]
David Howells [Wed, 28 Sep 2005 16:03:15 +0000 (17:03 +0100)]
[PATCH] Keys: Add possessor permissions to keys [try #3]

The attached patch adds extra permission grants to keys for the possessor of a
key in addition to the owner, group and other permissions bits. This makes
SUID binaries easier to support without going as far as labelling keys and key
targets using the LSM facilities.

This patch adds a second "pointer type" to key structures (struct key_ref *)
that can have the bottom bit of the address set to indicate the possession of
a key. This is propagated through searches from the keyring to the discovered
key. It has been made a separate type so that the compiler can spot attempts
to dereference a potentially incorrect pointer.

The "possession" attribute can't be attached to a key structure directly as
it's not an intrinsic property of a key.

Pointers to keys have been replaced with struct key_ref *'s wherever
possession information needs to be passed through.

This does assume that the bottom bit of the pointer will always be zero on
return from kmem_cache_alloc().

The key reference type has been made into a typedef so that at least it can be
located in the sources, even though it's basically a pointer to an undefined
type. I've also renamed the accessor functions to be more useful, and all
reference variables should now end in "_ref".

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cpuset read past eof memory leak fix
Paul Jackson [Wed, 28 Sep 2005 13:42:24 +0000 (06:42 -0700)]
[PATCH] cpuset read past eof memory leak fix

Don't leak a page of memory if user reads a cpuset file past eof.

Signed-off-by: KUROSAWA Takahiro <kurosawa@valinux.co.jp>
Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge branch 'for-linus' from master.kernel.org:/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Wed, 28 Sep 2005 14:47:55 +0000 (07:47 -0700)]
Merge branch 'for-linus' from /linux/kernel/git/roland/infiniband

19 years ago[PATCH] kmalloc_node IRQ safety fix
Alok N Kataria [Wed, 28 Sep 2005 04:45:46 +0000 (21:45 -0700)]
[PATCH] kmalloc_node IRQ safety fix

In kmalloc_node we are checking if the allocation is for the same node when
interrupts are "on".  This may lead to an allocation on another node than
intended.

This patch just shifts the check for the current node in __cache_alloc_node
when interrupts are disabled.

Signed-off-by: Alok N Kataria <alokk@calsoftinc.com>
Acked-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: More hugepage fixes
Benjamin Herrenschmidt [Wed, 28 Sep 2005 04:45:45 +0000 (21:45 -0700)]
[PATCH] ppc64: More hugepage fixes

My previous patch fixing invalidation of huge PTEs wasn't good enough, we
still had an issue if a PTE invalidation batch contained both small and
large pages.  This patch fixes this by making sure the batch is flushed if
the page size fed to it changes.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] device-mapper: Fix queue_if_no_path initialisation
Alasdair G Kergon [Wed, 28 Sep 2005 04:45:45 +0000 (21:45 -0700)]
[PATCH] device-mapper: Fix queue_if_no_path initialisation

When creating a multipath device, if the queue_if_no_path parameter is
specified it gets ignored.

While the queue_if_no_path variable is correctly set to 1, the
saved_queue_if_no_path gets set to 0.  When the device is subsequently made
live (resumed), the saved value (0) always overwrites the live value (1) so
the option *always* gets turned off.

The fix adds a parameter to the queue_if_no_path() function to indicate
whether the previous value should be preserved or not - if not, as when the
device is being set up, the saved value is set to the new value (1).

Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>