13 years ago[PATCH] memory hotadd fixes: find_next_system_ram catch range fix
KAMEZAWA Hiroyuki [Sat, 5 Aug 2006 19:15:01 +0000]
[PATCH] memory hotadd fixes: find_next_system_ram catch range fix

find_next_system_ram() is used to find available memory resource at onlining
newly added memory.  This patch fixes following problem.

find_next_system_ram() cannot catch this case.

Resource:      (start)-------------(end)
Section :                (start)-------------(end)

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Keith Mannthey <kmannth@gmail.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] memory hotadd fixes: change find_next_system_ram's return value manner
KAMEZAWA Hiroyuki [Sat, 5 Aug 2006 19:14:59 +0000]
[PATCH] memory hotadd fixes: change find_next_system_ram's return value manner

find_next_system_ram() returns valid memory range which meets requested area,
only used by memory-hot-add.

This function always rewrite requested resource even if returned area is not
fully fit in requested one.  And sometimes the returnd resource is larger than
requested area.  This annoyes the caller.  This patch changes the returned
value to fit in requested area.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Keith Mannthey <kmannth@gmail.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] memory hotadd fixes: not-aligned memory hotadd handling fix
KAMEZAWA Hiroyuki [Sat, 5 Aug 2006 19:14:58 +0000]
[PATCH] memory hotadd fixes: not-aligned memory hotadd handling fix

ioresouce handling code in memory hotplug allows not-aligned memory hot add.
But when memmap and other memory structures are initialized, parameters should
be aligned.  (if not aligned, initialization of mem_map will do wrong, it
assumes parameters are aligned.) This patch fix it.

And this patch allows ioresource collision check to handle -EEXIST.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Keith Mannthey <kmannth@gmail.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] Fix BeFS slab corruption
Diego Calleja [Sat, 5 Aug 2006 19:14:55 +0000]
[PATCH] Fix BeFS slab corruption

In bugzilla #6941, Jens Kilian reported:

"The function befs_utf2nls (in fs/befs/linuxvfs.c) writes a 0 byte past the
end of a block of memory allocated via kmalloc(), leading to memory
corruption.  This happens only for filenames which are pure ASCII and a
multiple of 4 bytes in length.  [...]

Without DEBUG_SLAB, this leads to further corruption and hard lockups; I
believe this is the bug which has made kernels later than 2.6.8 unusable
for me.  (This must be due to changes in memory management, the bug has
been in the BeFS driver since the time it was introduced (AFAICT).)

Steps to reproduce:
Create a directory (in BeOS, naturally :-) with files named, e.g.,
"1", "22", "333", "4444", ...  Mount it in Linux and do an "ls" or "find""

This patch implements the suggested fix. Credits to Jens Kilian for
debugging the problem and finding the right fix.

Signed-off-by: Diego Calleja <diegocg@gmail.com>
Cc: Jens Kilian <jjk@acm.org>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] ieee1394: sbp2: enable auto spin-up for Maxtor disks
Stefan Richter [Sat, 5 Aug 2006 19:14:53 +0000]
[PATCH] ieee1394: sbp2: enable auto spin-up for Maxtor disks

At least Maxtor OneTouch III require a "start stop unit" command after auto
spin-down before the next access can proceed.  This patch activates the
responsible code in scsi_mod for all Maxtor SBP-2 disks.
https://bugzilla.novell.com/show_bug.cgi?id=183011

Maybe that should be done for all SBP-2 disks, but better be cautious.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Jody McIntyre <scjody@modernduck.com>
Cc: Ben Collins <bcollins@ubuntu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] Add stable branch to maintainers file
Steven Rostedt [Sat, 5 Aug 2006 19:14:50 +0000]
[PATCH] Add stable branch to maintainers file

While helping someone to submit a patch to the stable branch, I noticed
that the stable branch is not listed in the MAINTAINERS file.  This was
after I went there to look for the email addresses for the stable branch
list (stable@kernel.org).

This patch adds the stable branch to the maintainers file so that people
can find where to send patches when they have a fix for the stable team.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] sh: fix proc file removal for superh store queue module
Neil Horman [Sat, 5 Aug 2006 19:14:45 +0000]
[PATCH] sh: fix proc file removal for superh store queue module

Clean up proc file removal in sq module for superh arch.  currently on a
failed module load or on module unload a proc file is left registered which
can cause a random memory execution or oopses if read after unload.  This
patch cleans up that deregistration.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] eicon: fix define conflict with ptrace
Alexey Dobriyan [Sat, 5 Aug 2006 19:14:43 +0000]
[PATCH] eicon: fix define conflict with ptrace

* MODE_MASK is unused in eicon driver.
* Conflicts with a ptrace stuff on arm.

drivers/isdn/hardware/eicon/divasync.h:259:1: warning: "MODE_MASK" redefined
include2/asm/ptrace.h:48:1: warning: this is the location of the previous definition

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Karsten Keil <kkeil@suse.de>
Acked-by: Armin Schindler <armin@melware.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] pSeries: hvsi char driver janitorial cleanup
Linas Vepstas [Sat, 5 Aug 2006 19:14:39 +0000]
[PATCH] pSeries: hvsi char driver janitorial cleanup

A set of tty line discipline cleanup patches were introduced before the
dawn of time, in kernel version 2.4.21.  This patch performs that cleanup
for the hvsi driver.

The hvsi driver is used only on IBM pSeries PowerPC boxes.  The driver was
originally written by Hollis Blanchard, who has delegated maintainership to
me.  So this my first and maybe only patch in this official new role,
because this driver is otherwise bug-free :-)

Alan: "Actually its also a bug fix, tty->ldisc should be locked by refcounting
and the helpers do this for you."

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] pSeries hvsi char driver null pointer deref
Linas Vepstas [Sat, 5 Aug 2006 19:14:36 +0000]
[PATCH] pSeries hvsi char driver null pointer deref

Under certain rare circumstances, it appears that there can be be a
NULL-pointer deref when a user fiddles with terminal emeulation programs while
outpu is being sent to the console.  This patch checks for and avoids a
NULL-pointer deref.

Signed-off-by: Hollis Blanchard <hollisbl@austin.ibm.com>
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: Paul Fulghum <paulkf@microgate.com>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] Fix more per-cpu typos
Alexey Dobriyan [Sat, 5 Aug 2006 19:14:34 +0000]
[PATCH] Fix more per-cpu typos

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] doc: update panic_on_oops documentation
Maxime Bizon [Sat, 5 Aug 2006 19:14:32 +0000]
[PATCH] doc: update panic_on_oops documentation

Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
Acked-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] knfsd: fix race related problem when adding items to and svcrpc auth cache
Neil Brown [Sat, 5 Aug 2006 19:14:29 +0000]
[PATCH] knfsd: fix race related problem when adding items to and svcrpc auth cache

If we don't find the item we are lookng for, we allocate a new one, and
then grab the lock again and search to see if it has been added while we
did the alloc.  If it had been added we need to 'cache_put' the newly
created item that we are never going to use.  But as it hasn't been
initialised properly, putting it can cause an oops.

So move the ->init call earlier to that it will always be fully initilised
if we have to put it.

Thanks to Philipp Matthias Hahn <pmhahn@svs.Informatik.Uni-Oldenburg.de>
for reporting the problem.

Signed-off-by: Neil Brown <neilb@suse.de>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] debug_locks.h: add "struct task_struct;"
Alexey Dobriyan [Sat, 5 Aug 2006 19:14:27 +0000]
[PATCH] debug_locks.h: add "struct task_struct;"

Removes many, many "declared inside parameter list" warnings on parisc.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] fadvise() make POSIX_FADV_NOREUSE a no-op
Andrew Morton [Sat, 5 Aug 2006 19:14:25 +0000]
[PATCH] fadvise() make POSIX_FADV_NOREUSE a no-op

The POSIX_FADV_NOREUSE hint means "the application will use this range of the
file a single time".  It seems to be intended that the implementation will use
this hint to perform drop-behind of that part of the file when the application
gets around to reading or writing it.

However for reasons which aren't obvious (or sane?) I mapped
POSIX_FADV_NOREUSE onto POSIX_FADV_WILLNEED.  ie: it does readahead.

That's daft.  So for now, make POSIX_FADV_NOREUSE a no-op.

This is a non-back-compatible change.  If someone was using POSIX_FADV_NOREUSE
to perform readahead, they lose.  The likelihood is low.

If/when we later implement POSIX_FADV_NOREUSE things will get interesting - to
do it fully we'll need to maintain file offset/length ranges and peform all
sorts of complex tricks, and managing the lifetime of those ranges' data
structures will be interesting..

A sensible implementation would probably ignore the file range and would
simply mark the entire file as needing some form of drop-behind treatment.

Cc: Michael Kerrisk <mtk-manpages@gmx.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] au1100fb: Fix startup sequence
Rodolfo Giometti [Sat, 5 Aug 2006 19:14:22 +0000]
[PATCH] au1100fb: Fix startup sequence

- fix up the start up sequence.

This new sequence allow you to correctly enable the LCD controller
even if the bootloader has already did it.

- fix up a wrong indentation issue.

Signed-off-by: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] au1100fb: info->var.rotate fix
Rodolfo Giometti [Sat, 5 Aug 2006 19:14:19 +0000]
[PATCH] au1100fb: info->var.rotate fix

Fix "info->var.rotate" data settings.

This info should be deduced directly from "fbdev->panel->control_base"
defined into au1100fb.h.

Signed-off-by: Rodolfo Giometti <giometti@linux.it>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] vt: printk: Fix framebuffer console triggering might_sleep assertion
Antonino A. Daplas [Sat, 5 Aug 2006 19:14:16 +0000]
[PATCH] vt: printk: Fix framebuffer console triggering might_sleep assertion

Reported by: Dave Jones

Whilst printk'ing to both console and serial console, I got this...
(2.6.18rc1)

BUG: sleeping function called from invalid context at kernel/sched.c:4438
in_atomic():0, irqs_disabled():1

Call Trace:
 [<ffffffff80271db8>] show_trace+0xaa/0x23d
 [<ffffffff80271f60>] dump_stack+0x15/0x17
 [<ffffffff8020b9f8>] __might_sleep+0xb2/0xb4
 [<ffffffff8029232e>] __cond_resched+0x15/0x55
 [<ffffffff80267eb8>] cond_resched+0x3b/0x42
 [<ffffffff80268c64>] console_conditional_schedule+0x12/0x14
 [<ffffffff80368159>] fbcon_redraw+0xf6/0x160
 [<ffffffff80369c58>] fbcon_scroll+0x5d9/0xb52
 [<ffffffff803a43c4>] scrup+0x6b/0xd6
 [<ffffffff803a4453>] lf+0x24/0x44
 [<ffffffff803a7ff8>] vt_console_print+0x166/0x23d
 [<ffffffff80295528>] __call_console_drivers+0x65/0x76
 [<ffffffff80295597>] _call_console_drivers+0x5e/0x62
 [<ffffffff80217e3f>] release_console_sem+0x14b/0x232
 [<ffffffff8036acd6>] fb_flashcursor+0x279/0x2a6
 [<ffffffff80251e3f>] run_workqueue+0xa8/0xfb
 [<ffffffff8024e5e0>] worker_thread+0xef/0x122
 [<ffffffff8023660f>] kthread+0x100/0x136
 [<ffffffff8026419e>] child_rip+0x8/0x12

This can occur when release_console_sem() is called but the log
buffer still has contents that need to be flushed. The console drivers
are called while the console_may_schedule flag is still true. The
might_sleep() is triggered when fbcon calls console_conditional_schedule().

Fix by setting console_may_schedule to zero earlier, before the call to the
console drivers.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] fix vmstat per cpu usage
Jan Blunck [Sat, 5 Aug 2006 19:14:14 +0000]
[PATCH] fix vmstat per cpu usage

The per cpu variables are used incorrectly in vmstat.h.

Signed-off-by: Jan Blunck <jblunck@suse.de>
Cc: Christoph Lameter <clameter@engr.sgi.com>
Acked-by: Steve Fox <drfickle@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] ptrace: make pid of child process available for PTRACE_EVENT_VFORK_DONE
Chuck Ebbert [Sat, 5 Aug 2006 19:14:11 +0000]
[PATCH] ptrace: make pid of child process available for PTRACE_EVENT_VFORK_DONE

When delivering PTRACE_EVENT_VFORK_DONE, provide pid of the child process
when tracer calls ptrace(PTRACE_GETEVENTMSG).  This is already
(accidentally) available when the tracer is tracing VFORK in addition to
VFORK_DONE.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Cc: Daniel Jacobowitz <dan@debian.org>
Cc: Albert Cahalan <acahalan@gmail.com>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] md: Fix a bug that recently crept into md/linear
NeilBrown [Sat, 5 Aug 2006 19:14:07 +0000]
[PATCH] md: Fix a bug that recently crept into md/linear

A recent patch that allowed linear arrays to be reconfigured on-line
allowed in a bug which results in divide by zero - not all
mddev->array_size were converted to conf->array_size.

This patch finished the conversion and fixed the bug.

The offending patch was commit 7c7546ccf6463edbeee8d9aac6de7be1cd80d08a.

Thanks to Simon Kirby <sim@netnation.com> for the bug report.

Cc: Simon Kirby <sim@netnation.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] omap-rng build fix
David Brownell [Sat, 5 Aug 2006 19:14:04 +0000]
[PATCH] omap-rng build fix

Seems like the omap-rng driver in the main tree predates the switch from
<asm/hardware/clock.h> to <linux/clk.h> ...  now it builds OK.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] i_mutex does not need to be locked in reiserfs_delete_inode()
Alexander Zarochentsev [Sat, 5 Aug 2006 19:14:01 +0000]
[PATCH] i_mutex does not need to be locked in reiserfs_delete_inode()

Fixes an i_mutex-inside-i_mutex lockdep nasty.

Signed-off-by: Alexander Zarochentsev <zam@namesys.com>
Cc: <reiserfs-dev@namesys.com>
Cc: Hans Reiser <reiser@namesys.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] crash in aty128_set_lcd_enable() on PowerBook
Olaf Hering [Sat, 5 Aug 2006 19:13:59 +0000]
[PATCH] crash in aty128_set_lcd_enable() on PowerBook

Current Linus tree crashes in aty128_set_lcd_enable() because par->pdev
is NULL. This happens since at least a week. Call trace is:

aty128_set_lcd_enable
aty128fb_set_par
fbcon_init
visual_init
take_over_console
fbcon_takeover
notifier_call_chain
blocking_notifier_call_chain
register_framebuffer
aty128fb_probe
pci_device_probe
bus_for_each_dev
driver_attach
bus_add_driver
driver_register
__pci_register_driver
aty128fb_init
init
kernel_thread

- info->fix was assigned twice.

- par->vram_size is assigned in aty128_probe(), no need to redo it again
  in aty128_init()

- register_framebuffer() uses uninitialized struct members, move it past
  par->pdev assignment and past aty128_bl_init().

Signed-off-by: Olaf Hering <olh@suse.de>
Acked-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] ufs: handle truncated pages
Evgeniy Dushistov [Sat, 5 Aug 2006 19:13:57 +0000]
[PATCH] ufs: handle truncated pages

ufs_get_locked_page is called twice in ufs code, one time in ufs_truncate
path(we allocated last block), and another time when fragments are
reallocated.  In ideal world in the second case on allocation/free block
layer we should not know that things like `truncate' exists, but now with
such crutch like ufs_get_locked_page we can (or should?) skip truncated
pages.

Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] ufs: ufs_get_locked_page() race fix
Evgeniy Dushistov [Sat, 5 Aug 2006 19:13:55 +0000]
[PATCH] ufs: ufs_get_locked_page() race fix

As discussed earlier:
http://lkml.org/lkml/2006/6/28/136
this patch fixes such issue:

`ufs_get_locked_page' takes page from cache
after that `vmtruncate' takes page and deletes it from cache
`ufs_get_locked_page' locks page, and reports about EIO error.

Also because of find_lock_page always return valid page or NULL, we have no
need to check it if page not NULL.

Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] bug in futex unqueue_me
Christian Borntraeger [Sat, 5 Aug 2006 19:13:52 +0000]
[PATCH] bug in futex unqueue_me

This patch adds a barrier() in futex unqueue_me to avoid aliasing of two
pointers.

On my s390x system I saw the following oops:

Unable to handle kernel pointer dereference at virtual kernel address
0000000000000000
Oops: 0004 [#1]
CPU:    0    Not tainted
Process mytool (pid: 13613, task: 000000003ecb6ac0, ksp: 00000000366bdbd8)
Krnl PSW : 0704d00180000000 00000000003c9ac2 (_spin_lock+0xe/0x30)
Krnl GPRS: 00000000ffffffff 000000003ecb6ac0 0000000000000000 0700000000000000
           0000000000000000 0000000000000000 000001fe00002028 00000000000c091f
           000001fe00002054 000001fe00002054 0000000000000000 00000000366bddc0
           00000000005ef8c0 00000000003d00e8 0000000000144f91 00000000366bdcb8
Krnl Code: ba 4e 20 00 12 44 b9 16 00 3e a7 84 00 08 e3 e0 f0 88 00 04
Call Trace:
([<0000000000144f90>] unqueue_me+0x40/0xe4)
 [<0000000000145a0c>] do_futex+0x33c/0xc40
 [<000000000014643e>] sys_futex+0x12e/0x144
 [<000000000010bb00>] sysc_noemu+0x10/0x16
 [<000002000003741c>] 0x2000003741c

The code in question is:

static int unqueue_me(struct futex_q *q)
{
        int ret = 0;
        spinlock_t *lock_ptr;

        /* In the common case we don't take the spinlock, which is nice. */
 retry:
        lock_ptr = q->lock_ptr;
        if (lock_ptr != 0) {
                spin_lock(lock_ptr);
/*
                 * q->lock_ptr can change between reading it and
                 * spin_lock(), causing us to take the wrong lock.  This
                 * corrects the race condition.
[...]

and my compiler (gcc 4.1.0) makes the following out of it:

00000000000003c8 <unqueue_me>:
     3c8:       eb bf f0 70 00 24       stmg    %r11,%r15,112(%r15)
     3ce:       c0 d0 00 00 00 00       larl    %r13,3ce <unqueue_me+0x6>
                        3d0: R_390_PC32DBL      .rodata+0x2a
     3d4:       a7 f1 1e 00             tml     %r15,7680
     3d8:       a7 84 00 01             je      3da <unqueue_me+0x12>
     3dc:       b9 04 00 ef             lgr     %r14,%r15
     3e0:       a7 fb ff d0             aghi    %r15,-48
     3e4:       b9 04 00 b2             lgr     %r11,%r2
     3e8:       e3 e0 f0 98 00 24       stg     %r14,152(%r15)
     3ee:       e3 c0 b0 28 00 04       lg      %r12,40(%r11)
/* write q->lock_ptr in r12 */
     3f4:       b9 02 00 cc             ltgr    %r12,%r12
     3f8:       a7 84 00 4b             je      48e <unqueue_me+0xc6>
/* if r12 is zero then jump over the code.... */
     3fc:       e3 20 b0 28 00 04       lg      %r2,40(%r11)
/* write q->lock_ptr in r2 */
     402:       c0 e5 00 00 00 00       brasl   %r14,402 <unqueue_me+0x3a>
                        404: R_390_PC32DBL      _spin_lock+0x2
/* use r2 as parameter for spin_lock */

So the code becomes more or less:
if (q->lock_ptr != 0) spin_lock(q->lock_ptr)
instead of
if (lock_ptr != 0) spin_lock(lock_ptr)

Which caused the oops from above.
After adding a barrier gcc creates code without this problem:
[...] (the same)
     3ee:       e3 c0 b0 28 00 04       lg      %r12,40(%r11)
     3f4:       b9 02 00 cc             ltgr    %r12,%r12
     3f8:       b9 04 00 2c             lgr     %r2,%r12
     3fc:       a7 84 00 48             je      48c <unqueue_me+0xc4>
     400:       c0 e5 00 00 00 00       brasl   %r14,400 <unqueue_me+0x38>
                        402: R_390_PC32DBL      _spin_lock+0x2

As a general note, this code of unqueue_me seems a bit fishy. The retry logic
of unqueue_me only works if we can guarantee, that the original value of
q->lock_ptr is always a spinlock (Otherwise we overwrite kernel memory). We
know that q->lock_ptr can change. I dont know what happens with the original
spinlock, as I am not an expert with the futex code.

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Ingo Molnar <mingo@redhat.com>
Cc: Thomas Gleixner <tglx@timesys.com>
Signed-off-by: Christian Borntraeger <borntrae@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] disable debugging version of write_lock()
Andrew Morton [Sat, 5 Aug 2006 19:13:47 +0000]
[PATCH] disable debugging version of write_lock()

We've confirmed that the debug version of write_lock() can get stuck for long
enough to cause NMI watchdog timeouts and hence a crash.

We don't know why, yet.   Disable it for now.

Also disable the similar read_lock() code.  Just in case.

Thanks to Dave Olson <olson@unixfolk.com> for reporting and testing.

Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] drivers/edac/edac_mc.h must #include <linux/platform_device.h>
Adrian Bunk [Sat, 5 Aug 2006 19:13:45 +0000]
[PATCH] drivers/edac/edac_mc.h must #include <linux/platform_device.h>

With CONFIG_PCI=n:

CC drivers/edac/edac_mc.o
drivers/edac/edac_mc.c: In function â\200\230add_mc_to_global_listâ\200\231:
drivers/edac/edac_mc.c:1362: error: implicit declaration of function â\200\230to_platform_deviceâ\200\231
drivers/edac/edac_mc.c:1362: error: invalid type argument of â\200\230->â\200\231
drivers/edac/edac_mc.c: In function â\200\230edac_mc_add_mcâ\200\231:
drivers/edac/edac_mc.c:1467: error: invalid type argument of â\200\230->â\200\231
drivers/edac/edac_mc.c: In function â\200\230edac_mc_del_mcâ\200\231:
drivers/edac/edac_mc.c:1504: error: invalid type argument of â\200\230->â\200\231

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] Make suspend possible with a traced process at a breakpoint
Rafael J. Wysocki [Sat, 5 Aug 2006 19:13:42 +0000]
[PATCH] Make suspend possible with a traced process at a breakpoint

It should be possible to suspend, either to RAM or to disk, if there's a
traced process that has just reached a breakpoint.  However, this is a
special case, because its parent process might have been frozen already and
then we are unable to deliver the "freeze" signal to the traced process.
If this happens, it's better to cancel the freezing of the traced process.

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

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Fri, 4 Aug 2006 19:25:24 +0000]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] make uncached allocator more node aware

13 years ago[IA64] make uncached allocator more node aware
Dean Nelson [Wed, 28 Jun 2006 18:50:09 +0000]
[IA64] make uncached allocator more node aware

The uncached allocator has a function, uncached_get_new_chunk(), that needs
to be serialized on a per node basis. It also has a global variable,
allocated_granules, which should be defined on a per node basis and protected
by that serialization. Additionally, all error returns from functions called
(like ia64_pal_mc_drain()) should be handled appropriately.

Signed-off-by: Dean Nelson <dcn@sgi.com>
Acked-by: Jes Sorenson <jes@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>

13 years agoMerge branch 'fixes' of git://git.linux-nfs.org/pub/linux/nfs-2.6
Linus Torvalds [Fri, 4 Aug 2006 16:56:40 +0000]
Merge branch 'fixes' of git://git.linux-nfs.org/pub/linux/nfs-2.6

* 'fixes' of git://git.linux-nfs.org/pub/linux/nfs-2.6:
  SUNRPC: Fix obvious refcounting bugs in rpc_pipefs.
  RPC: Ensure that we disconnect TCP socket when client requests error out
  NLM/lockd: remove b_done
  NFS: make 2 functions static
  NFS: Release dcache_lock in an error path of nfs_path

13 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Fri, 4 Aug 2006 16:41:22 +0000]
Merge /pub/scm/linux/kernel/git/davej/cpufreq

* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] Propagate acpi_processor_preregister_performance return value.
  [CPUFREQ] [2/2] demand load governor modules.
  [CPUFREQ] [1/2] add __find_governor helper and clean up some error handling.
  [CPUFREQ] Longhaul - Rename & fix multipliers table
  [CPUFREQ] Longhaul - Fix power state test to do something more useful
  [CPUFREQ] Longhaul - Readd accidentally dropped line
  [CPUFREQ] Make longhaul_walk_callback() static
  [CPUFREQ] X86_GX_SUSPMOD must depend on PCI
  [CPUFREQ] Longhaul - Initialise later.
  [CPUFREQ] Longhaul - Workaround issues with APIC.
  [CPUFREQ] Longhaul - Hook into ACPI C states.
  [CPUFREQ] return error when failing to set minfreq

13 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 4 Aug 2006 00:33:59 +0000]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [PATCH] ahci: skip protocol test altogether in spurious interrupt code

13 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 4 Aug 2006 00:33:32 +0000]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  [PATCH] myri10ge - Fix spurious invokations of the watchdog reset handler
  [PATCH] myri10ge - Write the firmware in 256-bytes chunks
  [PATCH] Stop calling phy_stop_interrupts() twice
  [PATCH] s2io driver bug fixes #2
  [PATCH] s2io driver bug fixes #1
  [PATCH] zd1211rw: Packet filter fix for managed (STA) mode
  [PATCH] zd1211rw: Fixed endianess issue with length info tag detection
  [PATCH] zd1211rw: Remove bogus assert
  [PATCH] zd1211rw: Fix software encryption/decryption
  [PATCH] zd1211rw: Pass more management frame types up to host
  [PATCH] zd1211rw: Fixes radiotap header

13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
Linus Torvalds [Fri, 4 Aug 2006 00:31:15 +0000]
Merge git://git./linux/kernel/git/gregkh/pci-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6:
  PNP: Add missing casts in printk() arguments
  PCI: docking station: remove dock uevents
  PCI: Unhide the SMBus on Asus PU-DLS
  PCI Hotplug: add acpiphp to MAINTAINERS
  PCI: pci/search: EXPORTs cannot be __devinit
  PCIE: cleanup on probe error
  pcie: fix warnings when CONFIG_PM=n

13 years ago[PATCH] ahci: skip protocol test altogether in spurious interrupt code
Unicorn Chang [Tue, 1 Aug 2006 04:18:07 +0000]
[PATCH] ahci: skip protocol test altogether in spurious interrupt code

Skip protocol test altogether in spurious interrupt code. If PIOS is received
when it shouldn't, ahci will raise protocol violation.

Signed-off-by: Unicorn Chang <uchang@tw.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

13 years ago[PATCH] myri10ge - Fix spurious invokations of the watchdog reset handler
Brice Goglin [Sun, 30 Jul 2006 04:14:15 +0000]
[PATCH] myri10ge - Fix spurious invokations of the watchdog reset handler

Fix spurious invocations of the watchdog reset handler.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

13 years ago[PATCH] myri10ge - Write the firmware in 256-bytes chunks
Brice Goglin [Sun, 30 Jul 2006 04:14:09 +0000]
[PATCH] myri10ge - Write the firmware in 256-bytes chunks

When writing the firmware to the NIC, the FIFO is 256-bytes long,
so we use 256-bytes chunks and a read to wait until the previous
write is done.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

13 years ago[PATCH] Stop calling phy_stop_interrupts() twice
Sergei Shtylylov [Tue, 25 Jul 2006 20:53:53 +0000]
[PATCH] Stop calling phy_stop_interrupts() twice

Prevent phylib from freeing PHY IRQ twice on closing an eth device:
phy_disconnect() first calls phy_stop_interrupts(), then it calls
phy_stop_machine() which in turn calls phy_stop_interrupts() making the
kernel complain on each bootup...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

13 years ago[PATCH] s2io driver bug fixes #2
Ananda Raju [Mon, 24 Jul 2006 23:55:09 +0000]
[PATCH] s2io driver bug fixes #2

This patch contains some of the bug fixes and enhancements done to
s2io driver. Following are the brief description of changes

1. code cleanup to handle gso modification better
2. Move repeated code in rx path, to a common function
   s2io_chk_rx_buffers()
3. Bug fix in MSI interrupt
4. clear statistics when card is down
5. Avoid linked list traversing in lro aggregation.
6. Use pci_dma_sync_single_for_cpu for buffer0 in case of 2/3
   buffer mode.
7. ethtool tso get/set functions to set clear NETIF_F_TSO6
8. Stop LRO aggregation when we receive ECN notification

Signed-off-by: Ananda Raju <ananda.raju@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

13 years ago[PATCH] s2io driver bug fixes #1
Ananda Raju [Mon, 24 Jul 2006 23:52:49 +0000]
[PATCH] s2io driver bug fixes #1

This patch contains some of the bug fixes and enhancements done to
s2io driver. Following are the brief description of changes

1. Introduced macro "S2IO_PARM_INT" for declaring integer load parameter
2. UDP_RR test failure, memset txdl after Tx completion
3. PXE boot may leave adapter in unknown state so do reset in probe.
4. Add Tx completion code in netpoll
5. In s2io_vpd_read() move array vpd_data[] to pointer, saves stack memory
6. Fix bug in ethtool online test

Signed-off-by: Ananda Raju <ananda.raju@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>

13 years agoMerge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil...
Jeff Garzik [Thu, 3 Aug 2006 21:19:44 +0000]
Merge branch 'upstream-fixes' of git://git./linux/kernel/git/linville/wireless-2.6 into upstream-fixes

13 years agoSUNRPC: Fix obvious refcounting bugs in rpc_pipefs.
Trond Myklebust [Sat, 29 Jul 2006 21:37:40 +0000]
SUNRPC: Fix obvious refcounting bugs in rpc_pipefs.

Doh!

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from 496f408f2f0e7ee5481a7c2222189be6c4f5aa6c commit)

13 years agoRPC: Ensure that we disconnect TCP socket when client requests error out
Trond Myklebust [Thu, 27 Jul 2006 21:22:50 +0000]
RPC: Ensure that we disconnect TCP socket when client requests error out

If we're part way through transmitting a TCP request, and the client
errors, then we need to disconnect and reconnect the TCP socket in order to
avoid confusing the server.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from 031a50c8b9ea82616abd4a4e18021a25848941ce commit)

13 years agoNLM/lockd: remove b_done
J. Bruce Fields [Thu, 3 Aug 2006 19:07:47 +0000]
NLM/lockd: remove b_done

We never actually set the b_done field any more; it's always zero.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from af8412d4283ef91356e65e0ed9b025b376aebded commit)

13 years agoNFS: make 2 functions static
Adrian Bunk [Thu, 3 Aug 2006 19:07:47 +0000]
NFS: make 2 functions static

nfs_writedata_free() and nfs_readdata_free() can now become static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from 5e1ce40f0c3c8f67591aff17756930d7a18ceb1a commit)

13 years agoNFS: Release dcache_lock in an error path of nfs_path
Josh Triplett [Mon, 24 Jul 2006 23:30:00 +0000]
NFS: Release dcache_lock in an error path of nfs_path

In one of the error paths of nfs_path, it may return with dcache_lock still
held; fix this by adding and using a new error path Elong_unlock which unlocks
dcache_lock.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from f4b90b43677fb23297c56802c3056fc304f988d9 commit)

13 years agoPNP: Add missing casts in printk() arguments
Pierre Ossman [Thu, 13 Jul 2006 09:35:41 +0000]
PNP: Add missing casts in printk() arguments

Some resource_size_t values are fed to printk() without handling the fact
that they can have different size depending on your .config.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoPCI: docking station: remove dock uevents
Kristen Carlson Accardi [Tue, 1 Aug 2006 21:59:19 +0000]
PCI: docking station: remove dock uevents

Remove uevent dock notifications.  There are no consumers
of these events at present, and uevents are likely not the
correct way to send this type of event anyway.

Until I get some kind of idea if anyone in userspace cares
about dock events, I will just not send any.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoPCI: Unhide the SMBus on Asus PU-DLS
Jean Delvare [Mon, 31 Jul 2006 06:53:15 +0000]
PCI: Unhide the SMBus on Asus PU-DLS

Unhide the SMBus controller on the Asus PU-DLS board.
This fixes bug #6763.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoPCI Hotplug: add acpiphp to MAINTAINERS
Kristen Carlson Accardi [Wed, 26 Jul 2006 17:52:33 +0000]
PCI Hotplug: add acpiphp to MAINTAINERS

Add acpiphp to the MAINTAINERS file.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoPCI: pci/search: EXPORTs cannot be __devinit
Randy Dunlap [Tue, 18 Jul 2006 21:33:16 +0000]
PCI: pci/search: EXPORTs cannot be __devinit

EXPORTed symbols cannot be __init/__devinit.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoPCIE: cleanup on probe error
Randy Dunlap [Fri, 7 Jul 2006 04:36:01 +0000]
PCIE: cleanup on probe error

If pcie_portdrv_probe() fails but it had already called
pci_enable_device(), then call pci_disable_device() when
returning error.

Is there some reason that this isn't being done?
or was it just missed?

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agopcie: fix warnings when CONFIG_PM=n
Henrik Kretzschmar [Thu, 6 Jul 2006 14:05:51 +0000]
pcie: fix warnings when CONFIG_PM=n

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Thu, 3 Aug 2006 19:50:20 +0000]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] fix show_mem for VIRTUAL_MEM_MAP+FLATMEM
  [IA64] align high endpoint of VIRTUAL_MEM_MAP
  [PATCH] Fix RAID5 + IA64 compile
  [IA64] Don't alloc empty frame in ia64_switch_mode_phys
  [IA64] Do not assume output registers be reservered.
  [IA64] add platform check to snsc driver init
  [IA64] sparse cleanups
  [IA64] Fix breakage in simscsi.c
  [IA64] Format /proc/pal/*/version_info correctly

13 years agoIB/uverbs: Avoid a crash on device hot remove
Jack Morgenstein [Thu, 3 Aug 2006 17:56:42 +0000]
IB/uverbs: Avoid a crash on device hot remove

Wait until all users have closed their device context before allowing
device unregistration to complete.  This prevents a crash caused by
referring to stale data structures.

A better solution would be to have a way to revoke contexts rather
than waiting for userspace to close the context, but that's a much
bigger change that will have to wait.  For now let's at least avoid
the crash.

Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

13 years agoIB/ipoib: Remove broken link from Kconfig and documentation
Or Gerlitz [Thu, 13 Jul 2006 08:00:39 +0000]
IB/ipoib: Remove broken link from Kconfig and documentation

Remove references to the IPoIB IETF working group as it has been closed.

Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

13 years agoIB/srp: Work around data corruption bug on Mellanox targets
Ishai Rabinovitz [Thu, 3 Aug 2006 17:35:43 +0000]
IB/srp: Work around data corruption bug on Mellanox targets

Data corruption has been seen with Mellanox SRP targets when FMRs
create a memory region with I/O virtual address != 0.  Add a
workaround that disables FMR merging for Mellanox targets (OUI 0002c9).

Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

13 years ago[IA64] fix show_mem for VIRTUAL_MEM_MAP+FLATMEM
Bob Picco [Wed, 28 Jun 2006 16:55:43 +0000]
[IA64] fix show_mem for VIRTUAL_MEM_MAP+FLATMEM

contig.c (FLATMEM) requires the same optimization as in discontig.c for show_mem
when VIRTUAL_MEM_MAP is in use. Otherwise FLATMEM has softlockup timeouts.
This was boot tested for memory configuration: SPARSEMEM,
DISCONTIG+VIRTUAL_MEM_MAP, FLATMEM, FLATMEM+VIRTUAL_MEM_MAP and
FLATMEM+VIRTUAL_MEM_MAP with largest memory gap less than LARGE_GAP by
using boot parameter "mem=".

This was boot tested and "echo m >/proc/sysrq-trigger" output evaluated for
: FLATMEM, FLATMEM+VIRTUAL_MEM_MAP, DISCONTIGMEM+VIRTUAL_MEM_MAP and
SPARSEMEM.

Signed-off-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>

13 years ago[IA64] align high endpoint of VIRTUAL_MEM_MAP
Bob Picco [Wed, 28 Jun 2006 16:54:55 +0000]
[IA64] align high endpoint of VIRTUAL_MEM_MAP

Assure that vmem_map's high endpoint is MAX_ORDER aligned. Not doing so violates
the buddy allocator algorithm. Also anyone using mem=XXX on boot line and
not aligned to MAX_ORDER requires this patch in order to satisfy buddy
allocator. vmem_map always starts at pfn 0. The potentially large MAX_ORDER
on ia64 (due to hugetlbfs) requires that the end of vmem_map be aligned
to MAX_ORDER_NR_PAGES.

This was boot tested for: FLATMEM, FLATMEM+VIRTUAL_MEM_MAP,
DISCONTIGMEM+VIRTUAL_MEM_MAP and SPARSEMEM.

Signed-off-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>

13 years ago[PATCH] Fix RAID5 + IA64 compile
Prarit Bhargava [Mon, 31 Jul 2006 13:12:11 +0000]
[PATCH] Fix RAID5 + IA64 compile

CONFIG_MD_RAID5 became CONFIG_MD_RAID456 in drivers/md/Kconfig.  Make
the same change in arch/ia64

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Aron Griffis <aron@hp.com>
Acked-by: Jes Sorenson <jes@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>

13 years agoIB/srp: Fix crash in srp_reconnect_target
Ishai Rabinovitz [Tue, 25 Jul 2006 16:54:09 +0000]
IB/srp: Fix crash in srp_reconnect_target

Protect against srp_reset_device() clearing the req_queue while
srp_reconnect_target() is in progress (note that state change at
the top of srp_reconnect_target() is not sufficient for this since
srp_reset_device() ignores the state).

Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

13 years agoIB/cm: Fix error handling in ib_send_cm_req
Sean Hefty [Tue, 25 Jul 2006 16:52:01 +0000]
IB/cm: Fix error handling in ib_send_cm_req

Report error code rather than success (0) on failure allocating
timewait_info in ib_send_cm_req().

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

13 years agoIB/mthca: Clean up mthca array index mask
Roland Dreier [Thu, 3 Aug 2006 16:44:22 +0000]
IB/mthca: Clean up mthca array index mask

Define a constant MTHCA_ARRAY_MASK to replace repeated uses of
(PAGE_SIZE / sizeof (void *) - 1) in mthca array code.

Signed-off-by: Roland Dreier <rolandd@cisco.com>

13 years agoIB/mthca: Fix mthca_array_clear() thinko
Michael S. Tsirkin [Wed, 26 Jul 2006 13:02:53 +0000]
IB/mthca: Fix mthca_array_clear() thinko

mthca_array_clear() does not clear the slot if the used count is
positive. This leads to crashes in mthca_qp_event() since that uses
mthca_array_get() to check that the qp is valid.

Discovered by Ali Ayoub.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>

13 years ago[PATCH] take filling ->pid, etc. out of audit_get_context()
Al Viro [Sun, 16 Jul 2006 10:43:48 +0000]
[PATCH] take filling ->pid, etc. out of audit_get_context()

move that stuff downstream and into the only branch where it'll be
used.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

13 years ago[PATCH] don't bother with aux entires for dummy context
Al Viro [Sun, 16 Jul 2006 10:38:45 +0000]
[PATCH] don't bother with aux entires for dummy context

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

13 years ago[PATCH] mark context of syscall entered with no rules as dummy
Al Viro [Thu, 3 Aug 2006 14:59:26 +0000]
[PATCH] mark context of syscall entered with no rules as dummy

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

13 years ago[PATCH] introduce audit rules counter
Al Viro [Mon, 10 Jul 2006 12:29:24 +0000]
[PATCH] introduce audit rules counter

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

13 years ago[PATCH] fix audit oops with invalid operator
Amy Griffis [Tue, 1 Aug 2006 21:52:26 +0000]
[PATCH] fix audit oops with invalid operator

Michael C Thompson wrote:  [Tue Aug 01 2006, 02:36:36PM EDT]
> The trigger for this oops is:
> # auditctl -a exit,always -S pread64 -F 'inode<1'

Setting the err value will fix it.

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

13 years ago[PATCH] fix oops with CONFIG_AUDIT and !CONFIG_AUDITSYSCALL
Amy Griffis [Thu, 13 Jul 2006 17:17:12 +0000]
[PATCH] fix oops with CONFIG_AUDIT and !CONFIG_AUDITSYSCALL

Always initialize the audit_inode_hash[] so we don't oops on list rules.

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

13 years ago[PATCH] fix missed create event for directory audit
Amy Griffis [Thu, 13 Jul 2006 17:16:39 +0000]
[PATCH] fix missed create event for directory audit

When an object is created via a symlink into an audited directory, audit misses
the event due to not having collected the inode data for the directory.  Modify
__audit_inode_child() to copy the parent inode data if a parent wasn't found in
audit_names[].

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

13 years ago[PATCH] fix faulty inode data collection for open() with O_CREAT
Amy Griffis [Thu, 13 Jul 2006 17:16:02 +0000]
[PATCH] fix faulty inode data collection for open() with O_CREAT

When the specified path is an existing file or when it is a symlink, audit
collects the wrong inode number, which causes it to miss the open() event.
Adding a second hook to the open() path fixes this.

Also add audit_copy_inode() to consolidate some code.

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

13 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 3 Aug 2006 05:35:26 +0000]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits)
  [NET]: Fix more per-cpu typos
  [SECURITY]: Fix build with CONFIG_SECURITY disabled.
  [I/OAT]: Remove CPU hotplug lock from net_dma_rebalance
  [DECNET]: Fix for routing bug
  [AF_UNIX]: Kernel memory leak fix for af_unix datagram getpeersec patch
  [NET]: skb_queue_lock_key() is no longer used.
  [NET]: Remove lockdep_set_class() call from skb_queue_head_init().
  [IPV6]: SNMPv2 "ipv6IfStatsOutFragCreates" counter error
  [IPV6]: SNMPv2 "ipv6IfStatsInHdrErrors" counter error
  [NET]: Kill the WARN_ON() calls for checksum fixups.
  [NETFILTER]: xt_hashlimit/xt_string: missing string validation
  [NETFILTER]: SIP helper: expect RTP streams in both directions
  [E1000]: Convert to netdev_alloc_skb
  [TG3]: Convert to netdev_alloc_skb
  [NET]: Add netdev_alloc_skb().
  [TCP]: Process linger2 timeout consistently.
  [SECURITY] secmark: nul-terminate secdata
  [NET] infiniband: Cleanup ib_addr module to use the netevents
  [NET]: Core net changes to generate netevents
  [NET]: Network Event Notifier Mechanism.
  ...

13 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Thu, 3 Aug 2006 03:25:35 +0000]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (24 commits)
  Revert "[PATCH] USB: move usb_device_class class devices to be real devices"
  Revert "[PATCH] USB: convert usb class devices to real devices"
  USB: UHCI: Don't test the Short Packet Detect bit
  USB: unusual_devs entry for Nokia 3250
  USB: dummy-hcd: disable interrupts during req->complete
  USB: fix the USB_GADGET_DUMMY_HCD dependencies
  USB: ati_remote.c: autorepeat fix
  USB: doc: fixes devio.c location in proc_usb_info.txt.
  USB: doc: usb-help.txt update.
  USB: Patch for rtl8150 to fix unplug problems
  USB: cypress driver comment updates
  USB: unusual_devs device removal
  usb-storage: Add US_FL_IGNORE_DEVICE flag; ignore ZyXEL G220F
  USB: New USB ID for Belkin Serial Adapter
  USB: Additional PID for the ftdi_sio driver
  USB: adding support for SHARP WS003SH to ipaq.c
  USB: Fix Freescale high-speed USB host dependency
  USB: Removed 3-port device handler from Option driver
  USB: Drop Sierra Wireless MC8755 from the Option driver
  USB: Let option driver handle Anydata CDMA modems. Remove anydata driver.
  ...

13 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 3 Aug 2006 03:21:23 +0000]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3743/1: ARM: OMAP: Fix compile for OMAP
  [ARM] 3739/1: genirq updates:  irq_chip, add and use irq_chip.name

13 years ago[PATCH] x86_64: Fix CONFIG_IOMMU_DEBUG
Muli Ben-Yehuda [Wed, 2 Aug 2006 20:37:31 +0000]
[PATCH] x86_64: Fix CONFIG_IOMMU_DEBUG

If CONFIG_IOMMU_DEBUG is set force_iommu defaults to 1. In the case
where no HW IOMMU is present in the machine and we end up using nommu,
leaving force_iommu set to 1 causes dma_alloc_coherent to do the wrong
thing. Therefore, if we end up using nommu, make sure force_iommu is
0.

Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years ago[PATCH] x86_64: Fix backtracing for interrupt stacks
Andi Kleen [Wed, 2 Aug 2006 20:37:28 +0000]
[PATCH] x86_64: Fix backtracing for interrupt stacks

Re-add backlink for old style unwinder to stack switching.  Add proper
stack frame and CFI annotations to call_softirq

This prevents a oops when backtracing with fallback through the
interrupt stack top.

Suggested by Jan Beulich and Herbert Xu wanted it in 2.6.18.

Cc: jbeulich@novell.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years agoFix force_sig_info() semantics after cleanups
Linus Torvalds [Thu, 3 Aug 2006 03:17:49 +0000]
Fix force_sig_info() semantics after cleanups

Suresh points out that commit b0423a0d9cc836b2c3d796623cd19236bfedfe63
broke the semantics of a synchronous signal like SIGSEGV occurring
recursively inside its own handler handler (or, indeed, any other
context when the signal was blocked).

That was unintentional, and this fixes things up by reinstating the old
semantics, but without reverting the cleanups.

Cc: Paul E. McKenney <paulmck@us.ibm.com>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

13 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18
Linus Torvalds [Thu, 3 Aug 2006 03:12:25 +0000]
Merge git://git./linux/kernel/git/sam/kbuild-2.6.18

* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18:
  gitignore: gitignore quilt's files
  kbuild: always use $(CC) for $(call cc-version)
  kconfig: correct oldconfig for unset choice options
  kbuild: -fno-stack-protector is not good
  kbuild: fix typo in modpost
  kbuild: improve error from file2alias
  kbuild: .gitignore utsrelease.h
  kbuild: version.h and new headers_* targets does not require a kernel config
  kbuild: hardcode value of YACC&LEX for aic7-triple-x

13 years agoRevert "[PATCH] USB: move usb_device_class class devices to be real devices"
Greg Kroah-Hartman [Wed, 2 Aug 2006 23:52:10 +0000]
Revert "[PATCH] USB: move usb_device_class class devices to be real devices"

This reverts c182274ffe1277f4e7c564719a696a37cacf74ea commit because it
required a newer version of udev to work properly than what is currently
documented in Documentation/Changes.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoRevert "[PATCH] USB: convert usb class devices to real devices"
Greg Kroah-Hartman [Wed, 2 Aug 2006 23:49:37 +0000]
Revert "[PATCH] USB: convert usb class devices to real devices"

This reverts bd00949647ddcea47ce4ea8bb2cfcfc98ebf9f2a commit because it
required a newer version of udev to work properly than what is currently
documented in Documentation/Changes.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: UHCI: Don't test the Short Packet Detect bit
Alan Stern [Mon, 31 Jul 2006 14:16:24 +0000]
USB: UHCI: Don't test the Short Packet Detect bit

Apparently some UHCI controllers change the value of the Short Packet
Detect (SPD) bit in the TD status word -- presumably when they receive a
short packet.  This patch (as759) changes uhci-hcd to avoid assuming
that the bit is unchanged; in fact, the driver no longer looks at SPD at
all.

This fixes the second problem reported in Bugzilla #6752.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: unusual_devs entry for Nokia 3250
Alan Stern [Mon, 31 Jul 2006 14:10:28 +0000]
USB: unusual_devs entry for Nokia 3250

Here is another unusual_devs entry (as760) for another Nokia device,
this time the 3250.

From: Mario Rettig <mariorettig@web.de>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: dummy-hcd: disable interrupts during req->complete
Alan Stern [Fri, 28 Jul 2006 21:07:34 +0000]
USB: dummy-hcd: disable interrupts during req->complete

This patch (as756) fixes a bug in dummy-hcd found by the lockdep
checker.  In one of the code paths, the driver did not disable
interrupts before calling a request completion routine.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: fix the USB_GADGET_DUMMY_HCD dependencies
Adrian Bunk [Sun, 30 Jul 2006 23:43:53 +0000]
USB: fix the USB_GADGET_DUMMY_HCD dependencies

If USB=m, USB_GADGET=y, the option USB_GADGET_DUMMY_HCD mustn't be
offered since selecting it results in a compile error.

This patch fixes kernel Bugzilla #6534 reported by Toralf Förster.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: ati_remote.c: autorepeat fix
Marko Macek [Sun, 30 Jul 2006 08:55:12 +0000]
USB: ati_remote.c: autorepeat fix

When HZ is set to 250 (new default) or 100, the time span during which
repeated events from the device are ignored could be too small due to
ms->jiffies rounding.  This causes the auto repeat to kick in early making
it impossible for the user to generate individual press/release events.
Increate the timeout to compensate.

Signed-off-by: Marko Macek <Marko.Macek@gmx.net>
Cc: Dmitry Torokhov <dtor_core@ameritech.net>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: doc: fixes devio.c location in proc_usb_info.txt.
Luiz Fernando N. Capitulino [Fri, 28 Jul 2006 01:01:34 +0000]
USB: doc: fixes devio.c location in proc_usb_info.txt.

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: doc: usb-help.txt update.
Luiz Fernando N. Capitulino [Fri, 28 Jul 2006 00:59:17 +0000]
USB: doc: usb-help.txt update.

 http://www.suse.cz/development/linux-usb/ doesn't exist anymore.

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: Patch for rtl8150 to fix unplug problems
Peter Chubb [Tue, 25 Jul 2006 10:39:14 +0000]
USB: Patch for rtl8150 to fix unplug problems

The RTL8150 driver currently crashes the kernel if the USB lead is unplugged
while the device is active.  The attached patch adds error handling to
tell the network layer that the device has gone away when the device is
unplugged.  With this patch, the device can be plugged and unplugged
to one's hearts' content, without crashing anything.

Oh, I've also added rudimentary suspend and resume methods.

Signed-off-by: Peter Chubb <peter@gelato.unsw.edu.au>
Acked-by: Petko Manolov <petkan@nucleusys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: cypress driver comment updates
Oliver Bock [Thu, 27 Jul 2006 19:34:58 +0000]
USB: cypress driver comment updates

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: unusual_devs device removal
Phil Dibowitz [Thu, 27 Jul 2006 05:36:29 +0000]
USB: unusual_devs device removal

This entry has been a mystery for some time. I had sent this patch as an
RFC a while ago, and now we've had two reports of this not being needed,
so I'm removing it.

In the event there are reports of breakage, we should revert this patch,
but add a US_FL_NEED_OVERRIDE flag.

Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agousb-storage: Add US_FL_IGNORE_DEVICE flag; ignore ZyXEL G220F
Daniel Drake [Wed, 26 Jul 2006 12:59:23 +0000]
usb-storage: Add US_FL_IGNORE_DEVICE flag; ignore ZyXEL G220F

This patch adds a new unusual_devs flag for when usb-storage needs to ignore
a device that it would otherwise claim.

We need to ignore the ZyXEL G220F as it is a virtual CDROM drive which
includes the windows driver for this USB-WLAN adapter. After the windows
driver is installed on a windows system, it converts it into a WLAN adapter
(by ejecting the virtual disc).

The virtual CDROM is of no interest to Linux users. The zd1211rw driver will
automatically perform the eject operation, we just need to ensure that
usb-storage does not claim the device.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: New USB ID for Belkin Serial Adapter
Kim Oldfield [Tue, 25 Jul 2006 05:54:59 +0000]
USB: New USB ID for Belkin Serial Adapter

Can you add the USB IDs for the Belkin USB Serial adapter (P/N F5U257)
to the pl2303 driver in the Linux Kernel? Are you the appropriate person
to approach for this?

I recently purchased a Belkin USB Serial adapter (P/N F5U257) and found
that it didn't work. After a bit of experimentation I found that it
works with the pl2303 driver once the ID has been added. See attached
patch to fix this. Also attached is the output from lsusb -v just in
case you require any information from there.

From: Kim Oldfield <luv@oldfield.wattle.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: Additional PID for the ftdi_sio driver
Dave Platt [Wed, 19 Jul 2006 04:26:54 +0000]
USB: Additional PID for the ftdi_sio driver

Here's a short patch which adds one PID to the set of devices
supported by the ftdi_sio driver.  The device in question is a
DLP module used as part of a ham radio USB-to-packet adapter.

From: Dave Platt <dplatt@radagast.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: adding support for SHARP WS003SH to ipaq.c
Norihiko Tomiyama [Thu, 13 Jul 2006 00:43:02 +0000]
USB: adding support for SHARP WS003SH to ipaq.c

This small patch enables a support of "SHARP WS003SH".
"SHARP WS003SH" (usullary called "W-ZERO3") is most polular All-in-one handheld
CellPhone-plus-WindowsMobile5.0 in Japan.

"SHARP WS003SH" has two modes, "Modem" and "ActiveSync".
But, "ActiveSync" mode uses NDIS connection.
Therefore, ipaq.c can only support "Modem" mode.

http://www.sharp.co.jp/ws/ (Japanese Site)
http://greggman.com/edit/editheadlines/2005-12-24.htm

From: Norihiko Tomiyama <norihiko.tomiyama@ctc-g.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: Fix Freescale high-speed USB host dependency
Li Yang [Fri, 14 Jul 2006 11:58:14 +0000]
USB: Fix Freescale high-speed USB host dependency

The high-speed USB SOC only exists on MPC834x family not MPC83xx family.

Signed-off-by: Li Yang <leoli@freescale.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

13 years agoUSB: Removed 3-port device handler from Option driver
Matthias Urlichs [Thu, 20 Jul 2006 03:01:21 +0000]
USB: Removed 3-port device handler from Option driver

Dead code.

From: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>