linux-2.6-microblaze.git
19 years agoCheck input buffer size in zisofs
Linus Torvalds [Sat, 6 Aug 2005 16:42:06 +0000 (09:42 -0700)]
Check input buffer size in zisofs

This uses the new deflateBound() thing to sanity-check the input to the
zlib decompressor before we even bother to start reading in the blocks.

Problem noted by Tim Yamin <plasmaroo@gentoo.org>

19 years agoAdd fakey 'deflateBound()' function to the in-kernel zlib routines
Linus Torvalds [Sat, 6 Aug 2005 16:39:57 +0000 (09:39 -0700)]
Add fakey 'deflateBound()' function to the in-kernel zlib routines

It's not the real deflateBound() in newer zlib libraries, partly because
the upcoming usage of it won't have the "stream" available, so we can't
have the same interfaces anyway.

19 years ago[PATCH] ppc32: ppc440 pagetable attributes (comments updates)
Matt Porter [Sat, 6 Aug 2005 14:21:06 +0000 (07:21 -0700)]
[PATCH] ppc32: ppc440 pagetable attributes (comments updates)

Here's an incremental patch with comment updates and some additional
grammar cleanups.

Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: fix ppc440 pagetable attributes
Matt Porter [Fri, 5 Aug 2005 23:10:10 +0000 (16:10 -0700)]
[PATCH] ppc32: fix ppc440 pagetable attributes

This patch fixes a bug in the PPC440 pagetable attributes that breaks swap
support.  It also adds some notes on the PPC440 attribute fields.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> for CELF
Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Update in-kernel zlib routines
Tim Yamin [Mon, 25 Jul 2005 22:16:13 +0000 (23:16 +0100)]
[PATCH] Update in-kernel zlib routines

These bugs have been fixed in the standard zlib for a while.

See for example

 a) http://sources.redhat.com/ml/bug-gnu-utils/1999-06/msg00183.html
 b) http://bugs.gentoo.org/show_bug.cgi?id=94584

Signed-off-by: Tim Yamin <plasmaroo@gentoo.org>
Signed-off-by: Tavis Ormandy <taviso@gentoo.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix semundo lock leakage
Ingo Molnar [Fri, 5 Aug 2005 21:05:27 +0000 (23:05 +0200)]
[PATCH] Fix semundo lock leakage

semundo->lock can leak if semundo->refcount goes from 2 to 1 while
another thread has it locked.  This causes major problems for PREEMPT
kernels.

The simplest fix for now is to undo the single-thread optimization.

This bug was found via relentless testing by Dominik Karall.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] blk: fix tag shrinking (revive real_max_size)
Tejun Heo [Fri, 5 Aug 2005 20:28:11 +0000 (13:28 -0700)]
[PATCH] blk: fix tag shrinking (revive real_max_size)

My patch in commit fa72b903f75e4f0f0b2c2feed093005167da4023 incorrectly
removed blk_queue_tag->real_max_depth.

The original resize implementation was incorrect in the following
points.

 * actual allocation size of tag_index was shorter than real_max_size,
   but assumed to be of the same size, possibly causing memory access
   beyond the allocated area.
 * bits in tag_map between max_deptn and real_max_depth were
   initialized to 1's, making the tags permanently reserved.

In an attempt to fix above two bugs, I had removed allocation optimization
in init_tag_map and real_max_size.  Tag map/index were allocated and freed
immediately during resize.

Unfortunately, I wasn't considering that tag map/index can be resized
dynamically with tags beyond new_depth active.  This led to accessing
freed area after shrinking tags and led to the following bug reporting
thread on linux-scsi.

   http://marc.theaimsgroup.com/?l=linux-scsi&m=112319898111885&w=2

To fix the problem, I've revived real_max_depth without allocation
optimization in init_tag_map, and Andrew Vasquez confirmed that the
problem was fixed.  As Jens is not going to be available for a week, he
asked me to make sure that this patch reaches you.

   http://marc.theaimsgroup.com/?l=linux-scsi&m=112325778530886&w=2

Also, a comment was added to make sure that real_max_size is needed for
dynamic shrinking.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix hugepage crash on failing mmap()
David Gibson [Fri, 5 Aug 2005 18:59:35 +0000 (11:59 -0700)]
[PATCH] Fix hugepage crash on failing mmap()

This patch fixes a crash in the hugepage code.  unmap_hugepage_area() was
assuming that (due to prefault) PTEs must exist for all the area in
question.  However, this may not be the case, if mmap() encounters an error
before the prefault and calls unmap_region() to clean up any partial
mapping.

Depending on the hugepage configuration, this crash can be triggered by an
unpriveleged user.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Cc: William Lee Irwin III <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix voyager compile after machine_emergency_restart breakage
James Bottomley [Fri, 5 Aug 2005 18:59:34 +0000 (11:59 -0700)]
[PATCH] fix voyager compile after machine_emergency_restart breakage

[PATCH] i386: Implement machine_emergency_reboot

introduced this new function into arch/i386/reboot.c.  However,
subarchitectures are entitled to implement their own copies of reboot.c
from which this new function is now missing.

It looks like visws will also need a similar fixup

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] tpm_infineon: Support for new TPM 1.2 and PNPACPI
Marcel Selhorst [Fri, 5 Aug 2005 18:59:33 +0000 (11:59 -0700)]
[PATCH] tpm_infineon: Support for new TPM 1.2 and PNPACPI

This patch includes support for the new Infineon Trusted Platform Module
SLB 9635 TT 1.2 and does further include ACPI-support for both chip
versions (SLD 9630 TT 1.1 and SLB9635 TT 1.2).  Since the ioports and
configuration registers are not correctly set on some machines, the
configuration is now done via PNPACPI, which reads out the correct values
out of the DSDT-table.  Note that you have to have CONFIG_PNP,
CONFIG_ACPI_BUS and CONFIG_PNPACPI enabled to run this driver (assuming
that mainboards including a TPM do have the need for ACPI anyway).

Signed-off-by: Marcel Selhorst <selhorst@crypto.rub.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] REPORTING-BUGS: track regressions
Andrew Morton [Fri, 5 Aug 2005 18:59:32 +0000 (11:59 -0700)]
[PATCH] REPORTING-BUGS: track regressions

Add a new record to the REPORTING-BUGS template: "Most recent kernel version
which did not have the bug:".  So we can spot regressions more easily.

Signed-off-by: Andrew Morton <akpm@osdl.org>
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 [Fri, 5 Aug 2005 14:49:30 +0000 (07:49 -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 [Fri, 5 Aug 2005 14:42:20 +0000 (07:42 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

19 years ago[PATCH] rtc: msleep() cannot be used from interrupt
Petr Vandrovec [Fri, 5 Aug 2005 13:50:07 +0000 (15:50 +0200)]
[PATCH] rtc: msleep() cannot be used from interrupt

Since the beginning of July my Opteron box was randomly crashing and
being rebooted by hardware watchdog.  Today it finally did it in front
of me, and this patch will hopefully fix it.

The problem is that at the end of June (the 28th, to be exact: commit
47f176fdaf8924bc83fddcf9658f2fd3ef60d573, "[PATCH] Using msleep()
instead of HZ") rtc_get_rtc_time was converted to use msleep() instead
of busy waiting.  But rtc_get_rtc_time is used by hpet_rtc_interrupt,
and scheduling is not allowed during interrupt.  So I'm reverting this
part of original change, replacing msleep() back with busy loop.

The original code was busy waiting for up to 20ms, but on my hardware in
the worst case update-in-progress bit was asserted for at most 363
passes through loop (on 2GHz dual Opteron), much less than even one
jiffie, not even talking about 20ms.  So I changed code to just wait
only as long as necessary.  Otherwise when RTC was set to generate
8192Hz timer, it stopped doing anything for 20ms (160 pulses were
skipped!) from time to time, and this is rather suboptimal as far as I
can tell.

Signed-off-by: Petr Vandrovec <vandrove@vc.cvut.cz>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[IPV4]: Fix memory leak during fib_info hash expansion.
David S. Miller [Fri, 5 Aug 2005 11:12:48 +0000 (04:12 -0700)]
[IPV4]: Fix memory leak during fib_info hash expansion.

When we grow the tables, we forget to free the olds ones
up.

Noticed by Yan Zheng.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] __vm_enough_memory() signedness fix
Simon Derr [Fri, 5 Aug 2005 02:52:03 +0000 (19:52 -0700)]
[PATCH] __vm_enough_memory() signedness fix

We have found what seems to be a small bug in __vm_enough_memory() when
sysctl_overcommit_memory is set to OVERCOMMIT_NEVER.

When this bug occurs the systems fails to boot, with /sbin/init whining
about fork() returning ENOMEM.

We hunted down the problem to this:

The deferred update mecanism used in vm_acct_memory(), on a SMP system,
allows the vm_committed_space counter to have a negative value.

This should not be a problem since this counter is known to be inaccurate.

But in __vm_enough_memory() this counter is compared to the `allowed'
variable, which is an unsigned long.  This comparison is broken since it
will consider the negative values of vm_committed_space to be huge positive
values, resulting in a memory allocation failure.

Signed-off-by: <Jean-Marc.Saffroy@ext.bull.net>
Signed-off-by: <Simon.Derr@bull.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] tcp: fix TSO cwnd caching bug
Herbert Xu [Fri, 5 Aug 2005 02:52:02 +0000 (19:52 -0700)]
[PATCH] tcp: fix TSO cwnd caching bug

tcp_write_xmit caches the cwnd value indirectly in cwnd_quota.  When
tcp_transmit_skb reduces the cwnd because of tcp_enter_cwr, the cached
value becomes invalid.

This patch ensures that the cwnd value is always reread after each
tcp_transmit_skb call.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] tcp: fix TSO sizing bugs
David S. Miller [Fri, 5 Aug 2005 02:52:01 +0000 (19:52 -0700)]
[PATCH] tcp: fix TSO sizing bugs

MSS changes can be lost since we preemptively initialize the tso_segs count
for an SKB before we %100 commit to sending it out.

So, by the time we send it out, the tso_size information can be stale due
to PMTU events.  This mucks up all of the logic in our send engine, and can
even result in the BUG() triggering in tcp_tso_should_defer().

Another problem we have is that we're storing the tp->mss_cache, not the
SACK block normalized MSS, as the tso_size.  That's wrong too.

Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Clean up inotify delete race fix
John McCutchan [Fri, 5 Aug 2005 01:12:54 +0000 (21:12 -0400)]
[PATCH] Clean up inotify delete race fix

This avoids the whole #ifdef mess by just getting a copy of
dentry->d_inode before d_delete is called - that makes the codepaths the
same for the INOTIFY/DNOTIFY cases as for the regular no-notify case.
I've been running this under a Gnome session for the last 10 minutes.
Inotify is being used extensively.

Signed-off-by: John McCutchan <ttb@tentacle.dhs.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] USB: Fix setup packet initialization in isp116x-hcd
Olav Kongas [Fri, 5 Aug 2005 01:06:47 +0000 (18:06 -0700)]
[PATCH] USB: Fix setup packet initialization in isp116x-hcd

When recently addressing remarks by Alexey Dobriyan about
the isp116x-hcd, I introduced a bug in the driver. Please
apply the attached patch to fix it.

Signed-off-by: Olav Kongas <ok@artecdesign.ee>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] USB: ehci: microframe handling fix
David Brownell [Fri, 5 Aug 2005 01:06:41 +0000 (18:06 -0700)]
[PATCH] USB: ehci: microframe handling fix

This patch has a one line oops fix, plus related cleanups.

 - The bugfix uses microframe scheduling data given to the hardware to
   test "is this a periodic QH", rather than testing for nonzero period.
   (Prevents an oops by providing the correct answer.)

 - The cleanup going along with the patch should make it clearer what's
   going on whenever those bitfields are accessed.

The bug came about when, around January, two new kinds of EHCI interrupt
scheduling operation were added, involving both the high speed (24 KBytes
per millisec) and low/full speed (1-64 bytes per millisec) microframe
scheduling.  A driver for the Edirol UA-1000 Audio Capture Unit ran into
the oops; it used one of the newly supported high speed modes.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] USB: ub documentation update
Pete Zaitcev [Fri, 5 Aug 2005 01:06:36 +0000 (18:06 -0700)]
[PATCH] USB: ub documentation update

The patch which went in was correct, but not quite what I had in mind.
Here is a patch to update that a little bit. Original patch is at:
 http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4749f32da939d4e4160541b2cadc22492bb507ec

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pci and yenta: pcibios_bus_to_resource
Dominik Brodowski [Fri, 5 Aug 2005 01:06:21 +0000 (18:06 -0700)]
[PATCH] pci and yenta: pcibios_bus_to_resource

In yenta_socket, we default to using the resource setting of the CardBus
bridge.  However, this is a PCI-bus-centric view of resources and thus needs
to be converted to generic resources first.  Therefore, add a call to
pcibios_bus_to_resource() call in between.  This function is a mere wrapper on
x86 and friends, however on some others it already exists, is added in this
patch (alpha, arm, ppc, ppc64) or still needs to be provided (parisc -- where
is its pcibios_resource_to_bus() ?).

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] PCI: restore BAR values after D3hot->D0 for devices that need it
John W. Linville [Fri, 5 Aug 2005 01:06:10 +0000 (18:06 -0700)]
[PATCH] PCI: restore BAR values after D3hot->D0 for devices that need it

Some PCI devices (e.g. 3c905B, 3c556B) lose all configuration
(including BARs) when transitioning from D3hot->D0.  This leaves such
a device in an inaccessible state.  The patch below causes the BARs
to be restored when enabling such a device, so that its driver will
be able to access it.

The patch also adds pci_restore_bars as a new global symbol, and adds a
correpsonding EXPORT_SYMBOL_GPL for that.

Some firmware (e.g. Thinkpad T21) leaves devices in D3hot after a
(re)boot.  Most drivers call pci_enable_device very early, so devices
left in D3hot that lose configuration during the D3hot->D0 transition
will be inaccessible to their drivers.

Drivers could be modified to account for this, but it would
be difficult to know which drivers need modification.  This is
especially true since often many devices are covered by the same
driver.  It likely would be necessary to replicate code across dozens
of drivers.

The patch below should trigger only when transitioning from D3hot->D0
(or at boot), and only for devices that have the "no soft reset" bit
cleared in the PM control register.  I believe it is safe to include
this patch as part of the PCI infrastructure.

The cleanest implementation of pci_restore_bars was to call
pci_update_resource.  Unfortunately, that does not currently exist
for the sparc64 architecture.  The patch below includes a null
implemenation of pci_update_resource for sparc64.

Some have expressed interest in making general use of the the
pci_restore_bars function, so that has been exported to GPL licensed
modules.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] revert "timer exit cleanup"
Andrew Morton [Thu, 4 Aug 2005 23:49:32 +0000 (16:49 -0700)]
[PATCH] revert "timer exit cleanup"

Revert this June 17 patch: it broke persistence of timers across execve().

Cc: Roland McGrath <roland@redhat.com>
Cc: george anzinger <george@mvista.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: fix 32-bit thread debugging
Daniel Jacobowitz [Thu, 4 Aug 2005 20:41:09 +0000 (13:41 -0700)]
[PATCH] x86_64: fix 32-bit thread debugging

The IA32 ptrace emulation currently returns the wrong registers for fs/gs;
it's returning what x86_64 calls gs_base.  We need regs.gsindex in order
for GDB to correctly locate the TLS area.  Without this patch, the 32-bit
GDB testsuite bombs on a 64-bit kernel.  With it, results look about like
I'd expect, although there are still a handful of kernel-related failures
(vsyscall related?).

Signed-off-by: Daniel Jacobowitz <dan@codesourcery.com>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove special HPET_EMULATE_RTC config option
Venkatesh Pallipadi [Thu, 4 Aug 2005 22:36:10 +0000 (15:36 -0700)]
[PATCH] remove special HPET_EMULATE_RTC config option

We had a user whose apps weren't working correctly because his "rtc" wasn't
working fully.

For the sake of simplicity, it seems sensible to always enable HPET RTC
emulation.

Remove a special config option for HPET_EMULATE_RTC and make it directly
depend on HPET_TIMER and RTC. This will avoid the hangs when EMULATE_RTC
is not configured and when some userlevel script depends on RTC interrupt,
as in:

http://bugzilla.kernel.org/show_bug.cgi?id=4904

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix VmSize and VmData after mremap
Hugh Dickins [Thu, 4 Aug 2005 20:07:09 +0000 (13:07 -0700)]
[PATCH] fix VmSize and VmData after mremap

mremap's move_vma is applying __vm_stat_account to the old vma which may
have already been freed: move it to just before the do_munmap.

mremapping to and fro with CONFIG_DEBUG_SLAB=y showed /proc/<pid>/status
VmSize and VmData wrapping just like in kernel bugzilla #4842, and fixed by
this patch - worth including in 2.6.13, though not yet confirmed that it
fixes that specific report from Frank van Maarseveen.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] inotify delete race fix
John McCutchan [Thu, 4 Aug 2005 20:07:08 +0000 (13:07 -0700)]
[PATCH] inotify delete race fix

The included patch fixes a problem where a inotify client would receive a
delete event before the file was actually deleted.  The bug affects both
dnotify & inotify.

Signed-off-by: John McCutchan <ttb@tentacle.dhs.org>
Signed-off-by: Robert Love <rml@novell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] inotify: update help text
Robert Love [Thu, 4 Aug 2005 20:07:08 +0000 (13:07 -0700)]
[PATCH] inotify: update help text

The inotify help text still refers to the character device.  Update it.

Fixes kernel bug #4993.

Signed-off-by: Robert Love <rml@novell.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Destruction of failed keyring oopses
David Howells [Thu, 4 Aug 2005 20:07:07 +0000 (13:07 -0700)]
[PATCH] Destruction of failed keyring oopses

The attached patch makes sure that a keyring that failed to instantiate
properly is destroyed without oopsing [CAN-2005-2099].

The problem occurs in three stages:

 (1) The key allocator initialises the type-specific data to all zeroes. In
     the case of a keyring, this will become a link in the keyring name list
     when the keyring is instantiated.

 (2) If a user (any user) attempts to add a keyring with anything other than
     an empty payload, the keyring instantiation function will fail with an
     error and won't add the keyring to the name list.

 (3) The keyring's destructor then sees that the keyring has a description
     (name) and tries to remove the keyring from the name list, which oopses
     because the link pointers are both zero.

This bug permits any user to take down a box trivially.

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Error during attempt to join key management session can leave semaphore pinned
David Howells [Thu, 4 Aug 2005 20:07:06 +0000 (13:07 -0700)]
[PATCH] Error during attempt to join key management session can leave semaphore pinned

The attached patch prevents an error during the key session joining operation
from hanging future joins in the D state [CAN-2005-2098].

The problem is that the error handling path for the KEYCTL_JOIN_SESSION_KEYRING
operation has one error path that doesn't release the session management
semaphore. Further attempts to get the semaphore will then sleep for ever in
the D state.

This can happen in four situations, all involving an attempt to allocate a new
session keyring:

 (1) ENOMEM.

 (2) The users key quota being reached.

 (3) A keyring name that is an empty string.

 (4) A keyring name that is too long.

Any user may attempt this operation, and so any user can cause the problem to
occur.

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-for-linus-2.6
Linus Torvalds [Thu, 4 Aug 2005 20:08:29 +0000 (13:08 -0700)]
Merge /linux/kernel/git/jejb/scsi-for-linus-2.6

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 4 Aug 2005 20:02:31 +0000 (13:02 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] ppc64: fix for kexec boot issue
Paul Mackerras [Thu, 4 Aug 2005 19:53:37 +0000 (12:53 -0700)]
[PATCH] ppc64: fix for kexec boot issue

The kexec boot is not successful on some power machines since all CPUs are
getting removed from global interrupt queue (GIQ) before kexec boot.  Some
systems always expect at least one CPU in GIQ.  Hence, this patch will make
sure that only secondary CPUs are removed from GIQ.

Signed-off-by: Haren Myneni <hbabu@us.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] dm-raid locking fix
Alasdair G Kergon [Thu, 4 Aug 2005 19:53:37 +0000 (12:53 -0700)]
[PATCH] dm-raid locking fix

This code was never designed to handle more than one instance of do_work()
running at once.

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>
19 years ago[PATCH] Add Documentation/kprobes.txt
Jim Keniston [Thu, 4 Aug 2005 19:53:35 +0000 (12:53 -0700)]
[PATCH] Add Documentation/kprobes.txt

Acked-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Jim Keniston <jkenisto@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: make sure md bitmap updates are flushed when array is stopped.
NeilBrown [Thu, 4 Aug 2005 19:53:35 +0000 (12:53 -0700)]
[PATCH] md: make sure md bitmap updates are flushed when array is stopped.

The recent change to never ignore the bitmap, revealed that the bitmap isn't
begin flushed properly when an array is stopped.

We call bitmap_daemon_work three times as there is a three-stage pipeline for
flushing updates to the bitmap file.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: yet another attempt to get bitmap-based resync to do the right thing...
NeilBrown [Thu, 4 Aug 2005 19:53:34 +0000 (12:53 -0700)]
[PATCH] md: yet another attempt to get bitmap-based resync to do the right thing in all cases...

Firstly, R1BIO_Degraded was being set in a number of places in the resync
code, but is never used there, so get rid of those settings.

Then: When doing a resync, we want to clear the bit in the bitmap iff the
array will be non-degraded when the sync has completed.  However the current
code would clear the bitmap if the array was non-degraded when the resync
*started*, which obviously isn't right (it is for 'resync' but not for
'recovery' - i.e.  rebuilding a failed drive).

This patch calculated 'still_degraded' and uses the to tell bitmap_start_sync
whether this sync should clear the corresponding bit.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: always honour md bitmap being read from disk
NeilBrown [Thu, 4 Aug 2005 19:53:33 +0000 (12:53 -0700)]
[PATCH] md: always honour md bitmap being read from disk

The code currently will ignore the bitmap if the array seem to be in-sync.
This is wrong if the array is degraded, and probably wrong anyway.  If the
bitmap says some chunks are not in in-sync, and the superblock says everything
IS in sync, then something is clearly wrong, and it is safer to trust the
bitmap.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: make 'md' and alias for 'md-mod'
NeilBrown [Thu, 4 Aug 2005 19:53:32 +0000 (12:53 -0700)]
[PATCH] md: make 'md' and alias for 'md-mod'

Until the bitmap code was added,

   modprobe md

would load the md module.  But now the md module is called 'md-mod', so we
really need an alias for backwards comparability.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: remove a stray debugging printk.
NeilBrown [Thu, 4 Aug 2005 19:53:32 +0000 (12:53 -0700)]
[PATCH] md: remove a stray debugging printk.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] v4l: oopsfix for BTTV on badly behaved PCI chipsets
Mauro Carvalho Chehab [Thu, 4 Aug 2005 19:53:30 +0000 (12:53 -0700)]
[PATCH] v4l: oopsfix for BTTV on badly behaved PCI chipsets

no_overlay bttv parameter implemented to fix OOPS on some PCI chipsets
(like some VIA) with these behaviors:

1) If pci_quicks does identify the chip as having troubles to
   handle PCI2PCI transfers, no_overlay defaults to 1. The user may force
   it to 0, to reenable (not recommended).

2) For newer chipsets not blacklisted, no_overlay=1 is provided as a
   workaround until PCI chipset included on /drivers/pci/quirks.c

Thanks to Bodo Eggert <7eggert@gmx.de>

Signed-off-by: Michael Krufky <mkrufky@m1k.net>
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] ppc64: Fix UP kernel build
Olof Johansson [Thu, 4 Aug 2005 19:53:29 +0000 (12:53 -0700)]
[PATCH] ppc64: Fix UP kernel build

CONFIG_KEXEC breaks UP builds because of a misspelled smp_release_cpus().
Also, the function isn't defined unless built with CONFIG_SMP but it is
needed if we are to go from a UP to SMP kernel.  Enable it and document it.

Thanks to Steven Winiecki for reporting this and to Milton for remembering
how it's supposed to work and why.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ide: fix kmalloc_node breakage in ide driver
Ravikiran G Thirumalai [Thu, 4 Aug 2005 19:53:26 +0000 (12:53 -0700)]
[PATCH] ide: fix kmalloc_node breakage in ide driver

Patch fixes oops caused by ide interfaces not on pci.  pcibus_to_node
causes the kernel to crash otherwise.  Patch also adds a BUG_ON to check if
hwif is NULL.

Signed-off-by: Christoph Lameter <christoph@lameter.com>
Signed-off-by: Shai Fultheim <shai@scalex86.org>
Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Cc: Andi Kleen <ak@muc.de>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ARM: 2844/1: Add maintainer for Jornada 720
Michael Gernoth [Thu, 4 Aug 2005 19:43:40 +0000 (20:43 +0100)]
[PATCH] ARM: 2844/1: Add maintainer for Jornada 720

Patch from Michael Gernoth

As discussed on the handhelds.org Jornada mailinglist, I take over
maintainership of the currently unmaintained Jornada 720-port in
the mainline kernel.

Signed-off-by: Michael Gernoth <michael@gernoth.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[SCSI] fix aic7xxx performance issues since 2.6.12-rc2
James Bottomley [Thu, 4 Aug 2005 18:28:40 +0000 (13:28 -0500)]
[SCSI] fix aic7xxx performance issues since 2.6.12-rc2

Several people noticed we dropped quite a bit on benchmark figures.
OK, it was my fault but unfortunately I discovered I ran out of brown
paper bags a while ago and forgot to reorder them.

The issue is that a construct introduced in the conversion of the
driver to use the transport class keyed off whether the block request
was tagged or not.  However, the aic7xxx driver doesn't properly set
up the block layer TCQ (it uses the wrong API), so the driver now
things all requests are untagged and we keep it to a queue depth of a
single element.  Oops.

The fix is to use the correct TCQ API.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/lenb/to-linus
Linus Torvalds [Thu, 4 Aug 2005 17:36:25 +0000 (10:36 -0700)]
Merge /pub/scm/linux/kernel/git/lenb/to-linus

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 4 Aug 2005 16:30:50 +0000 (09:30 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge head 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Thu, 4 Aug 2005 16:20:23 +0000 (09:20 -0700)]
Merge head 'for-linus' of /linux/kernel/git/roland/infiniband

19 years agoIt wasn't just x86-64 that had hardcoded VM_FAULT_xxx numbers
Linus Torvalds [Thu, 4 Aug 2005 15:33:38 +0000 (08:33 -0700)]
It wasn't just x86-64 that had hardcoded VM_FAULT_xxx numbers

Fix up arm26, cris, frv, m68k, parisc and sh64 too..

19 years ago[PATCH] x86-64: use proper VM_FAULT_xxx macros
Alexander Nyberg [Thu, 4 Aug 2005 14:14:57 +0000 (16:14 +0200)]
[PATCH] x86-64: use proper VM_FAULT_xxx macros

x86_64 had hardcoded the VM_ numbers so it broke down when the numbers
were changed.

Signed-off-by: Alexander Nyberg <alexn@telia.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Keys: Fix key management syscall interface bugs
David Howells [Thu, 4 Aug 2005 10:50:01 +0000 (11:50 +0100)]
[PATCH] Keys: Fix key management syscall interface bugs

This fixes five bugs in the key management syscall interface:

 (1) add_key() returns 0 rather than EINVAL if the key type is "".

     Checking the key type isn't "" should be left to lookup_user_key().

 (2) request_key() returns ENOKEY rather than EPERM if the key type begins
     with a ".".

     lookup_user_key() can't do this because internal key types begin with a
     ".".

 (3) Key revocation always returns 0, even if it fails.

 (4) Key read can return EAGAIN rather than EACCES under some circumstances.

     A key is permitted to by read by a process if it doesn't grant read
     access, but it does grant search access and it is in the process's
     keyrings. That search returns EAGAIN if it fails, and this needs
     translating to EACCES.

 (5) request_key() never adds the new key to the destination keyring if one is
     supplied.

     The wrong macro was being used to test for an error condition: PTR_ERR()
     will always return true, whether or not there's an error; this should've
     been IS_ERR().

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-Off-By: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Remove suspend() calls from shutdown path
Benjamin Herrenschmidt [Thu, 4 Aug 2005 09:36:26 +0000 (11:36 +0200)]
[PATCH] Remove suspend() calls from shutdown path

This removes the calls to device_suspend() from the shutdown path that
were added sometime during 2.6.13-rc*.  They aren't working properly on
a number of configs (I got reports from both ppc powerbook users and x86
users) causing the system to not shutdown anymore.

I think it isn't the right approach at the moment anyway.  We have
already a shutdown() callback for the drivers that actually care about
shutdown and the suspend() code isn't yet in a good enough shape to be
so much generalized.  Also, the semantics of suspend and shutdown are
slightly different on a number of setups and the way this was patched in
provides little way for drivers to cleanly differenciate.  It should
have been at least a different message.

For 2.6.13, I think we should revert to 2.6.12 behaviour and have a
working suspend back.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ARM: 2838/1: Fix arm oprofile backtrace warning
Richard Purdie [Thu, 4 Aug 2005 14:06:59 +0000 (15:06 +0100)]
[PATCH] ARM: 2838/1: Fix arm oprofile backtrace warning

Patch from Richard Purdie

Fix a typo causing a warning in the arm oprofile backtrace code.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[SPARC]: Fix up sleep_on() removal in vfc driver.
Christoph Hellwig [Thu, 4 Aug 2005 14:05:37 +0000 (07:05 -0700)]
[SPARC]: Fix up sleep_on() removal in vfc driver.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] ARM: Fix ARM fault handler for get_user_pages() fixes.
Russell King [Thu, 4 Aug 2005 13:17:33 +0000 (14:17 +0100)]
[PATCH] ARM: Fix ARM fault handler for get_user_pages() fixes.

The ARM fault handler is optimised to make the fast path, err, fast.
The renumbering of the VM_FAULT_* codes broke this because numbers
were used instead of the definitions.  Fix this.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge ../to-linus-stable
Len Brown [Thu, 4 Aug 2005 03:53:50 +0000 (23:53 -0400)]
Merge ../to-linus-stable

19 years ago/home/lenb/src/to-linus-stable branch 'acpi-2.6.12'
Len Brown [Thu, 4 Aug 2005 03:53:35 +0000 (23:53 -0400)]
/home/lenb/src/to-linus-stable branch 'acpi-2.6.12'

19 years ago[ACPI] S3 resume: avoid kmalloc() might_sleep oops symptom
David Shaohua Li [Thu, 4 Aug 2005 03:46:33 +0000 (23:46 -0400)]
[ACPI] S3 resume: avoid kmalloc() might_sleep oops symptom

ACPI now uses kmalloc(...,GPF_ATOMIC) during suspend/resume.

http://bugzilla.kernel.org/show_bug.cgi?id=3469

Signed-off-by: David Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
19 years ago[ACPI] delete Warning: Encountered executable code at module level, [AE_NOT_CONFIGURED]
Len Brown [Thu, 4 Aug 2005 03:20:58 +0000 (23:20 -0400)]
[ACPI] delete Warning: Encountered executable code at module level, [AE_NOT_CONFIGURED]

http://bugzilla.kernel.org/show_bug.cgi?id=4923

Signed-off-by: Len Brown <len.brown@intel.com>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/lenb/to-linus
Linus Torvalds [Wed, 3 Aug 2005 23:50:19 +0000 (16:50 -0700)]
Merge /pub/scm/linux/kernel/git/lenb/to-linus

19 years ago/home/lenb/src/to-linus branch 'acpi-2.6.12'
Len Brown [Wed, 3 Aug 2005 22:15:15 +0000 (18:15 -0400)]
/home/lenb/src/to-linus branch 'acpi-2.6.12'

19 years ago[ACPI] CONFIG_ACPI_HOTKEY is now "n" by default
Luming Yu [Wed, 3 Aug 2005 22:07:59 +0000 (18:07 -0400)]
[ACPI] CONFIG_ACPI_HOTKEY is now "n" by default
For 2.6.12 behaviour, this (EXPERIMENTAL) driver
should not be built.

Update the driver source with latest from Luming.

Signed-off-by: Luming Yu <luming.yu@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
19 years ago[ACPI] restore /proc/acpi/button/ (ala 2.6.12)
Alexey Starikovskiy [Wed, 3 Aug 2005 21:55:21 +0000 (17:55 -0400)]
[ACPI] restore /proc/acpi/button/ (ala 2.6.12)

Signed-off-by Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by Len Brown <len.brown@intel.com>

19 years ago[ACPI] revert Embedded Controller to polling-mode by default (ala 2.6.12)
Luming Yu [Wed, 3 Aug 2005 21:38:04 +0000 (17:38 -0400)]
[ACPI] revert Embedded Controller to polling-mode by default (ala 2.6.12)
Burst mode isn't ready for prime time,
but can be enabled for test via "ec_burst=1"

Signed-off-by: Luming Yu <luming.yu@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Wed, 3 Aug 2005 20:09:43 +0000 (13:09 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] ARM: 2833/2: Remove support for WDIOF_MAGICCLOSE from sa1100-wdt
Ian Campbell [Wed, 3 Aug 2005 19:34:52 +0000 (20:34 +0100)]
[PATCH] ARM: 2833/2:  Remove support for WDIOF_MAGICCLOSE from sa1100-wdt

Patch from Ian Campbell

On PXA255 there is no way to disable the watchdog. Turning off OIER[E3]
as suggested in the existing comment does not work.

I posted a note to the ARM mailing list a little while ago asking for
opinions from people using SA1100. There was one reponse from Nico who
believes that the SA1100 is the same as the PXA255 in this respect.

You also asked me to involve the watchdog maintainer which I tried to
do but didn't hear anything back. There are only a couple of other
drivers which can't stop the watchdog and there seems to be no
consistancy regarding printing an error etc. I decided to print
something since that matches the case for all the other drivers when
NOWAYOUT is turned on.

Also, I changed the device .name to "watchdog" like most of the other
watchdogs. udev uses it as the device name (by default) and spaces etc.
get in the way.

Superceded 2833/1 because 2.6.13-rc4 caused rejects.

Signed-off-by: Ian Campbell <icampbell@arcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2835/1: Add UPF_SKIP_TEST to IXP4xx serial ports
Deepak Saxena [Wed, 3 Aug 2005 18:58:21 +0000 (19:58 +0100)]
[PATCH] ARM: 2835/1: Add UPF_SKIP_TEST to IXP4xx serial ports

Patch from Deepak Saxena

This allows the serial driver autconf to work properly on all the IXP
serial ports. W/o it we basically put the serial port in an unrecoverable
state and lose console.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2841/1: Fix VFP +/-0 case for doubles addition
Catalin Marinas [Wed, 3 Aug 2005 18:53:25 +0000 (19:53 +0100)]
[PATCH] ARM: 2841/1: Fix VFP +/-0 case for doubles addition

Patch from Catalin Marinas

The IEEE 754 standard specifies that the result of (x - x), where x is
a valid number, should be -0 if the rounding mode is towards minus
infinity or +0 otherwise.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2840/1: Add mach-types to Documentation/dontdiff
Michael Burian [Wed, 3 Aug 2005 18:49:18 +0000 (19:49 +0100)]
[PATCH] ARM: 2840/1: Add mach-types to Documentation/dontdiff

Patch from Michael Burian

This file is maintained by RMK's machine registry, it should not be patched.

Signed-off-by: Michael Burian <dynmail1@gassner-waagen.at>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2839/1: Remove XScale cache and TLB locking code
Deepak Saxena [Wed, 3 Aug 2005 18:49:17 +0000 (19:49 +0100)]
[PATCH] ARM: 2839/1: Remove XScale cache and TLB locking code

Patch from Deepak Saxena

The XScale locking code is not something that has been validated
on 2.6 and needs to be replaced with a more generic API to use
with other ARMs that support locking features.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2837/2: Re: ARM: Make NWFPE preempt safe
Richard Purdie [Wed, 3 Aug 2005 18:49:17 +0000 (19:49 +0100)]
[PATCH] ARM: 2837/2: Re: ARM: Make NWFPE preempt safe

Patch from Richard Purdie

NWFPE used global variables which meant it wasn't safe for use with
preemptive kernels. This patch removes them and communicates the
information between functions in a preempt safe manner. Generation
of some exceptions was broken and this has also been corrected.
Tests with glibc's maths test suite show no change in the results
before/after this patch.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2832/1: BAST - limit clock-rate for IIC bus
Ben Dooks [Wed, 3 Aug 2005 18:49:16 +0000 (19:49 +0100)]
[PATCH] ARM: 2832/1: BAST - limit clock-rate for IIC bus

Patch from Ben Dooks

The default clock rate does not specify a maximum, so the
default of 400KHz is used. This rate is too fast for the PMU
on the EB2410ITX, so we now specify platform data with a rate
of around 100KHz.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoFix up recent get_user_pages() handling
Linus Torvalds [Wed, 3 Aug 2005 17:07:09 +0000 (10:07 -0700)]
Fix up recent get_user_pages() handling

The VM_FAULT_WRITE thing is an extra bit, not a valid return value, and
has to be treated as such by get_user_pages().

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix get_user_pages bug
Nick Piggin [Wed, 3 Aug 2005 10:24:01 +0000 (20:24 +1000)]
[PATCH] fix get_user_pages bug

Checking pte_dirty instead of pte_write in __follow_page is problematic
for s390, and for copy_one_pte which leaves dirty when clearing write.

So revert __follow_page to check pte_write as before, and make
do_wp_page pass back a special extra VM_FAULT_WRITE bit to say it has
done its full job: once get_user_pages receives this value, it no longer
requires pte_write in __follow_page.

But most callers of handle_mm_fault, in the various architectures, have
switch statements which do not expect this new case.  To avoid changing
them all in a hurry, make an inline wrapper function (using the old
name) that masks off the new bit, and use the extended interface with
double underscores.

Yes, we do have a call to do_wp_page from do_swap_page, but no need to
change that: in rare case it's needed, another do_wp_page will follow.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
[ Cleanups by Nick Piggin ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ACPI] PCI interrupt link suspend/resume - revert to 2.6.12 behaviour
David Shaohua Li [Wed, 3 Aug 2005 15:00:11 +0000 (11:00 -0400)]
[ACPI] PCI interrupt link suspend/resume - revert to 2.6.12 behaviour

This patch disables the PCI Interrupt Link refernece counts,
which should not co-exist with the 2.6.12 irq_router.resume
method or else a double acpi_pci_link_set() could result
on resume.

Signed-off-by: David Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
19 years ago[PATCH] Xmon bug fix for soft-reset
Haren Myneni [Wed, 3 Aug 2005 05:08:18 +0000 (15:08 +1000)]
[PATCH] Xmon bug fix for soft-reset

For soft reset during system hang, got an error "CPU did not take
control" for some CPUs even though they responded to soft-reset (called
SystemReset, die and called debugger - xmon).   First these CPUs entered
into xmon by IPI callback and then got a soft-reset exception and
re-entered into xmon again. The first CPU which re-entered into xmon got
the output lock and made into xmon successfully without unlocking.
Hence, the next CPU(s) which re-entered into xmon try to acquire a lock
(get_output_lock). Therefore, we can not view state of those CPU(s).

[This is a simple, very low risk, obvious fix for an obvious bug, and
should go into 2.6.13.  -- paulus]

Signed-off-by: Haren Myneni <hbabu@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ACPI] fix 64-bit build warning in processor_idle.c
Len Brown [Wed, 3 Aug 2005 04:22:52 +0000 (00:22 -0400)]
[ACPI] fix 64-bit build warning in processor_idle.c

Signed-off-by: Len Brown <len.brown@intel.com>
19 years ago[PATCH] ACPI: increase PCIBIOS_MIN_IO on x86
Ivan Kokshaysky [Tue, 2 Aug 2005 23:09:03 +0000 (03:09 +0400)]
[PATCH] ACPI: increase PCIBIOS_MIN_IO on x86

We have increased PCIBIOS_MIN_IO to 0x4000, but still want
motherboard resources to be allocated properly. So we need
to state 0x1000 (according to the comment) limit explicitely.

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] increase PCIBIOS_MIN_IO on x86
Ivan Kokshaysky [Tue, 2 Aug 2005 22:59:47 +0000 (02:59 +0400)]
[PATCH] increase PCIBIOS_MIN_IO on x86

There is a number of x86 laptops that have some non-PCI IO ports
in the 0x1000-0x1fff range, and it's quite hard to control the correct
order of resource allocation between PCI and other subsystems controlling
these ports. Especially with modular kernel.

So just increase PCIBIOS_MIN_IO to 0x4000 to prevent any new PCI
resource allocations in the problematic range (this limitation must
apply _only_ to the root bus resources - see Linus' change in
pci_bus_alloc_resource).  As PCIBIOS_MIN_IO and PCIBIOS_MIN_CARDBUS_IO
are the same now on i386 and x86-64, we can remove the latter.

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agopci: make bus resource start address override minimum IO address
Linus Torvalds [Tue, 2 Aug 2005 21:55:40 +0000 (14:55 -0700)]
pci: make bus resource start address override minimum IO address

The reason we have PCIBIOS_MIN_IO and PCIBIOS_MIN_CARDBUS_IO is because
we want to protect badly documented motherboard PCI resources and thus
don't want to allocate new resources in low IO/MEM space.

However, if we have already discovered a PCI bridge with a specified
resource base, that should override that decision.

This change will allow us to move the "careful" region upwards without
resulting in problems allocating resources in low mappings.  This was
brought on by us having allocated a bus resource at 0x1000, conflicting
with a undocumented VAIO Sony PI resources.

19 years ago[PATCH] cfq-iosched: fix problem with barriers and max_depth == 1
Jens Axboe [Tue, 2 Aug 2005 18:08:02 +0000 (20:08 +0200)]
[PATCH] cfq-iosched: fix problem with barriers and max_depth == 1

CFQ will currently stall when using write barriers and the default
max_depth setting of 1, since we artificially need a depth of 2 when
pre-pending the first flush. So never deny the barrier request going to
the device.

This is a regression since 2.6.12, it was found in SUSE testing.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[SCSI] aic7xxx: final fixes for DT handling
James Bottomley [Tue, 2 Aug 2005 14:32:17 +0000 (09:32 -0500)]
[SCSI] aic7xxx: final fixes for DT handling

The aic7xxx can support Data Group transfers at periods > 12.5, so
eliminate that restriction.  Additionally wide is a requirement for DT
so ensure wide is set if users request DT.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[PATCH] aic byteorder fixes after recent cleanup
Olaf Hering [Tue, 19 Jul 2005 18:04:24 +0000 (20:04 +0200)]
[PATCH] aic byteorder fixes after recent cleanup

Rebuild the aic7xxx firmware doesn't work anymore after this change
which appeared int 2.6.13-rc1:

   [SCSI] aic7xxx/aic79xx: remove useless byte order macro cruft

Two files did not include byteorder.h, resulting in aic dying with a panic

"Unknown opcode encountered in seq program"

This fixes it for me.

Signed-off-by: Olaf Hering <olh@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Obvious bugfix for yenta resource allocation
Paul Mackerras [Tue, 2 Aug 2005 11:51:36 +0000 (21:51 +1000)]
[PATCH] Obvious bugfix for yenta resource allocation

Recent changes (well, dating from 12 July) have broken cardbus on my
powerbook: I get 3 messages saying "no resource of type xxx available,
trying to continue", and if I plug in my wireless card, it complains
that there are no resources allocated to the card.  This all worked in
2.6.12.

Looking at the code in yenta_socket.c, function yenta_allocate_res,
it's obvious what is wrong: if we get to line 639 (i.e. there wasn't a
usable preassigned resource), we will always flow through to line 668,
which is the printk that I was seeing, even if a resource was
successfully allocated.  It looks to me as though there should be a
return statement after the two config_writel's in each of the 3
branches of the if statements, so that the function returns after
successfully setting up the resource.

The patch below adds these return statements, and with this patch,
cardbus works on my powerbook once again.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[SCSI] Fix SCSI tape oops at module removal
Kai Makisara [Tue, 2 Aug 2005 09:21:51 +0000 (12:21 +0300)]
[SCSI] Fix SCSI tape oops at module removal

Removing the SCSI tape module results in an oops in class_device_destroy if
any devices are present. The patch at the end of this message fixes the bug
by moving class_destroy() later in exit_st() so that the class still exists
when devices are removed. (The bug is old but class_simple_device_remove() did
nothing when the class did not exist.)

The patch also fixes a "class leak" in init_st() error path.

I would like to get this into 2.6.13 but it may be too late?

Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] ServeRAID V7.12.02
Jack Hammer [Tue, 26 Jul 2005 14:20:33 +0000 (10:20 -0400)]
[SCSI] ServeRAID V7.12.02

I am resubmitting the 2.6 kernel patch for the Version 7.12.02 ips driver.
I have eliminated a couple of inappropriate changes pointed out by Arjan.

Signed-off-by: Jack Hammer <jack_hammer@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years agoLinux v2.6.13-rc5
Linus Torvalds [Tue, 2 Aug 2005 04:45:48 +0000 (21:45 -0700)]
Linux v2.6.13-rc5

Ok, let's get it right this time

19 years ago[PATCH] ppc64: POWER 4 fails to boot with NUMA
Mike Kravetz [Tue, 2 Aug 2005 04:11:48 +0000 (21:11 -0700)]
[PATCH] ppc64: POWER 4 fails to boot with NUMA

If CONFIG_NUMA is set, some POWER 4 systems will fail to boot.  This is
because of special processing needed to handle invalid node IDs (0xffff) on
POWER 4.  My previous patch to handle memory 'holes' within nodes forgot to
add this special case for POWER 4 in one place.

In reality, I'm not sure that configuring the kernel for NUMA on POWER 4 makes
much sense.  Are there POWER 4 based systems with NUMA characteristics that
are presented by the firmware?  But, distros want one kernel for all systems
so NUMA is on by default in their kernels.  The patch handles those cases.

Signed-off-by: Mike Kravetz <kravetz@us.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] Module per-cpu alignment cannot always be met
Rusty Russell [Tue, 2 Aug 2005 04:11:47 +0000 (21:11 -0700)]
[PATCH] Module per-cpu alignment cannot always be met

The module code assumes noone will ever ask for a per-cpu area more than
SMP_CACHE_BYTES aligned.  However, as these cases show, gcc asks sometimes
asks for 32-byte alignment for the per-cpu section on a module, and if
CONFIG_X86_L1_CACHE_SHIFT is 4, we hit that BUG_ON().  This is obviously an
unusual combination, as there have been few reports, but better to warn
than die.

See:
http://www.ussg.iu.edu/hypermail/linux/kernel/0409.0/0768.html

And more recently:
http://bugs.gentoo.org/show_bug.cgi?id=97006

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: topology API fix
Anton Blanchard [Tue, 2 Aug 2005 04:11:46 +0000 (21:11 -0700)]
[PATCH] ppc64: topology API fix

Dont include asm-generic/topology.h unconditionally, we end up overriding
all the ppc64 specific functions when NUMA is on.

Signed-off-by: Anton Blanchard <anton@samba.org>
Acked-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] shm: CONFIG_SHMEM=n build fix
Andrew Morton [Tue, 2 Aug 2005 04:11:45 +0000 (21:11 -0700)]
[PATCH] shm: CONFIG_SHMEM=n build fix

Fix bug found by Grant Coady <lkml@dodo.com.au>'s autobuild setup.

shmem_set_policy() and shmem_get_policy() are macros if !CONFIG_SHMEM, so this
doesn't work.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] transmeta: CONFIG_PROC_FS=n build fix
Andrew Morton [Tue, 2 Aug 2005 04:11:44 +0000 (21:11 -0700)]
[PATCH] transmeta: CONFIG_PROC_FS=n build fix

Fix bug found by Grant Coady <lkml@dodo.com.au>'s autobuild setup.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] sys_set_mempolicy() doesnt check if mode < 0
Eric Dumazet [Tue, 2 Aug 2005 04:11:43 +0000 (21:11 -0700)]
[PATCH] sys_set_mempolicy() doesnt check if mode < 0

A kernel BUG() is triggered by a call to set_mempolicy() with a negative
first argument.  This is because the mode is declared as an int, and the
validity check doesnt check < 0 values.  Alternatively, mode could be
declared as unsigned int or unsigned long.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: access of some bad address
Hugh Dickins [Tue, 2 Aug 2005 04:11:42 +0000 (21:11 -0700)]
[PATCH] x86_64: access of some bad address

x86_64 has a large sparse gate area between VSYSCALL_START and
VSYSCALL_END, not all of it presently backed by pmds.  Alexander Nyberg has
found that in some circumstances gdb may try to ptrace here, and hit
get_user_pages BUG_ON.  It seems odd that gdb should be accessing here, but
it certainly shouldn't crash in this way: relax BUG_ON to -EFAULT.  Fixes
kernel bugzilla #4801.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hfs: don't reference missing page
Roman Zippel [Tue, 2 Aug 2005 04:11:41 +0000 (21:11 -0700)]
[PATCH] hfs: don't reference missing page

If there was a read error, the bnode might miss some pages, so skip them.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hfs: don't dirty unchanged inode
Roman Zippel [Tue, 2 Aug 2005 04:11:40 +0000 (21:11 -0700)]
[PATCH] hfs: don't dirty unchanged inode

If inode size hasn't changed, don't do anything further in truncate, which
also prevents a dirty inode, what might upset some readonly devices quite
badly.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] include/linux/dcookies.h: dummy functions must be "static inline"
Adrian Bunk [Tue, 2 Aug 2005 04:11:39 +0000 (21:11 -0700)]
[PATCH] include/linux/dcookies.h: dummy functions must be "static inline"

We don't want these to be global functions.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] v4l: bug fix to correct tea5767 autodetection
Mauro Carvalho Chehab [Tue, 2 Aug 2005 04:11:38 +0000 (21:11 -0700)]
[PATCH] v4l: bug fix to correct tea5767 autodetection

This patch does correct radio chip autodetection to avoid misdetecting
mt20xx microtune as tea5767 chip.

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>