14 years ago[PATCH] simplify update_times (avoid jiffies/jiffies_64 aliasing problem)
Atsushi Nemoto [Fri, 29 Sep 2006 09:00:32 +0000]
[PATCH] simplify update_times (avoid jiffies/jiffies_64 aliasing problem)

Pass ticks to do_timer() and update_times(), and adjust x86_64 and s390
timer interrupt handler with this change.

Currently update_times() calculates ticks by "jiffies - wall_jiffies", but
callers of do_timer() should know how many ticks to update.  Passing ticks
get rid of this redundant calculation.  Also there are another redundancy
pointed out by Martin Schwidefsky.

This cleanup make a barrier added by
5aee405c662ca644980c184774277fc6d0769a84 needless.  So this patch removes
it.

As a bonus, this cleanup make wall_jiffies can be removed easily, since now
wall_jiffies is always synced with jiffies.  (This patch does not really
remove wall_jiffies.  It would be another cleanup patch)

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Andi Kleen <ak@muc.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Acked-by: Russell King <rmk@arm.linux.org.uk>
Cc: Ian Molton <spyro@f2s.com>
Cc: Mikael Starvik <starvik@axis.com>
Acked-by: David Howells <dhowells@redhat.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Hirokazu Takata <takata.hirokazu@renesas.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Cc: Richard Curnow <rc@rc0.org.uk>
Cc: William Lee Irwin III <wli@holomorphy.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
Cc: Chris Zankel <chris@zankel.net>
Acked-by: "Luck, Tony" <tony.luck@intel.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] __dequeue_signal() cleanup
Roland McGrath [Fri, 29 Sep 2006 09:00:31 +0000]
[PATCH] __dequeue_signal() cleanup

This tightens up __dequeue_signal a little.  It also avoids doing
recalc_sigpending twice in a row, instead doing it once in dequeue_signal.

Signed-off-by: Roland McGrath <roland@redhat.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] has_stopped_jobs() cleanup
Roland McGrath [Fri, 29 Sep 2006 09:00:31 +0000]
[PATCH] has_stopped_jobs() cleanup

This check has been obsolete since the introduction of TASK_TRACED.  Now
TASK_STOPPED always means job control stop.

Signed-off-by: Roland McGrath <roland@redhat.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] I/O Error attempting to read last partial block of a file in an ISO9660 file...
Joel & Rebecca VanderZee [Fri, 29 Sep 2006 09:00:30 +0000]
[PATCH] I/O Error attempting to read last partial block of a file in an ISO9660 file system

There was an I/O error that prevented reading the last partial block of
large files in an ISO9660 filesystem.  The error was generated when a file
comprised more than one section and had a size that was not an exact
multiple of the filesystem block size.  This patch removes the check (and
failure) for reading into the last partial block (and possibly beyond) for
multiple-section files.

It worked in my testing to prevent reading beyond the end of the section;
my first patch just incremented the sect_size block count for a partial
block and continued doing the check.  But there is a commment in the source
code about reading beyond the end of the file to fill a page cache.
Failing to access beyond the section would prevent reading beyond the end
of the file.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] posix-timers: Fix the flags handling in posix_cpu_nsleep()
Toyo Abe [Fri, 29 Sep 2006 09:00:29 +0000]
[PATCH] posix-timers: Fix the flags handling in posix_cpu_nsleep()

When a posix_cpu_nsleep() sleep is interrupted by a signal more than twice, it
incorrectly reports the sleep time remaining to the user.  Because
posix_cpu_nsleep() doesn't report back to the user when it's called from
restart function due to the wrong flags handling.

This patch, which applies after previous one, moves the nanosleep() function
from posix_cpu_nsleep() to do_cpu_nanosleep() and cleans up the flags handling
appropriately.

Signed-off-by: Toyo Abe <toyoa@mvista.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] posix-timers: Fix clock_nanosleep() doesn't return the remaining time in...
Toyo Abe [Fri, 29 Sep 2006 09:00:28 +0000]
[PATCH] posix-timers: Fix clock_nanosleep() doesn't return the remaining time in compatibility mode

The clock_nanosleep() function does not return the time remaining when the
sleep is interrupted by a signal.

This patch creates a new call out, compat_clock_nanosleep_restart(), which
handles returning the remaining time after a sleep is interrupted.  This
patch revives clock_nanosleep_restart().  It is now accessed via the new
call out.  The compat_clock_nanosleep_restart() is used for compatibility
access.

Since this is implemented in compatibility mode the normal path is
virtually unaffected - no real performance impact.

Signed-off-by: Toyo Abe <toyoa@mvista.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] update Documentation/kernel-parameters.txt
jens m. noedler [Fri, 29 Sep 2006 09:00:27 +0000]
[PATCH] update Documentation/kernel-parameters.txt

Signed-off-by: jens m. noedler <noedler@web.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] dquot: add proper locking when using current->signal->tty
Jan Kara [Fri, 29 Sep 2006 09:00:26 +0000]
[PATCH] dquot: add proper locking when using current->signal->tty

Dquot passes the tty to tty_write_message without locking

Signed-off-by: Jan Kara <jack@suse.cz>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Fix memory leak in vc_resize/vc_allocate
Catalin Marinas [Fri, 29 Sep 2006 09:00:25 +0000]
[PATCH] Fix memory leak in vc_resize/vc_allocate

Memory leaks can happen in the vc_resize() function in drivers/char/vt.c
because of the vc->vc_screenbuf variable overriding in vc_allocate().  The
kmemleak reported trace is as follows:

  <__kmalloc>
  <vc_resize>
  <fbcon_init>
  <visual_init>
  <vc_allocate>
  <con_open>
  <tty_open>
  <chrdev_open>

This patch no longer allocates a screen buffer in vc_allocate() if it was
already allocated by vc_resize().

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] elf_fdpic_core_dump: don't take tasklist_lock
Oleg Nesterov [Fri, 29 Sep 2006 09:00:25 +0000]
[PATCH] elf_fdpic_core_dump: don't take tasklist_lock

do_each_thread() is rcu-safe, and all tasks which use this ->mm must sleep
in wait_for_completion(&mm->core_done) at this point, so we can use RCU
locks.

Also, remove unneeded INIT_LIST_HEAD(new) before list_add(new, head).

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-By: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] elf_core_dump: don't take tasklist_lock
Oleg Nesterov [Fri, 29 Sep 2006 09:00:24 +0000]
[PATCH] elf_core_dump: don't take tasklist_lock

do_each_thread() is rcu-safe, and all tasks which use this ->mm must sleep
in wait_for_completion(&mm->core_done) at this point, so we can use RCU
locks.

Also, remove unneeded INIT_LIST_HEAD(new) before list_add(new, head).

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] fix serial/amba-pl011.c console Kconfig
Peter Korsgaard [Fri, 29 Sep 2006 09:00:23 +0000]
[PATCH] fix serial/amba-pl011.c console Kconfig

Fix the Kconfig entry for console on AMBA PL011 to match the code.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] check return value of cpu_callback
Akinobu Mita [Fri, 29 Sep 2006 09:00:22 +0000]
[PATCH] check return value of cpu_callback

Spawing ksoftirqd, migration, or watchdog, and calling init_timers_cpu()
may fail with small memory.  If it happens in initcalls, kernel NULL
pointer dereference happens later.  This patch makes crash happen
immediately in such cases.  It seems a bit better than getting kernel NULL
pointer dereference later.

Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] sound/sparc/dbri: Use ARRAY_SIZE macro
Tobias Klauser [Fri, 29 Sep 2006 09:00:21 +0000]
[PATCH] sound/sparc/dbri: Use ARRAY_SIZE macro

Use ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0])

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] sound/mips/au1x00: Use ARRAY_SIZE macro
Tobias Klauser [Fri, 29 Sep 2006 09:00:20 +0000]
[PATCH] sound/mips/au1x00: Use ARRAY_SIZE macro

Use ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0])

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Remove old drivers/char/s3c2410_rtc.c
Ben Dooks [Fri, 29 Sep 2006 09:00:19 +0000]
[PATCH] Remove old drivers/char/s3c2410_rtc.c

This can now be removed, since there is now a drivers/rtc/rtc-s3c.c driver.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] CONFIG_PM=n slim: sound/oss/cs46xx.c
Alexey Dobriyan [Fri, 29 Sep 2006 09:00:18 +0000]
[PATCH] CONFIG_PM=n slim: sound/oss/cs46xx.c

Remove some code which is unneeded if CONFIG_PM=n.

* Make suspend/resume registration look like the rest of drivers:
  #ifdef CONFIG_PM in struct pci_driver, prototypes, actual hooks.
* Drop CS46XX_ACPI_SUPPORT. It logically duplicated CONFIG_PM. It was
  hardcoded to 1 approx forever (ALSA merge just moved driver to
  sound/oss/).
* After previous point, sound/oss/cs46xxpm-24.h removed as being useless.
* As side effect selling (unused) static inline functions as suspend/resume
  hooks funkiness removed too.

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

14 years ago[PATCH] CONFIG_PM=n slim: sound/oss/trident.c
Alexey Dobriyan [Fri, 29 Sep 2006 09:00:16 +0000]
[PATCH] CONFIG_PM=n slim: sound/oss/trident.c

Remove some code which is unneeded if CONFIG_PM=n.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Ackde-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] CONFIG_PM=n slim: drivers/parport/parport_serial.c
Alexey Dobriyan [Fri, 29 Sep 2006 09:00:16 +0000]
[PATCH] CONFIG_PM=n slim: drivers/parport/parport_serial.c

Remove some code which is unneeded if CONFIG_PM=n.

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

14 years ago[PATCH] make leds.h include relevant headers
Johannes Berg [Fri, 29 Sep 2006 09:00:14 +0000]
[PATCH] make leds.h include relevant headers

Make it possible to include linux/leds.h without first including list.h and
spinlock.h.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Remove another config.h
Dave Jones [Fri, 29 Sep 2006 09:00:14 +0000]
[PATCH] Remove another config.h

After the asm/ uses of #include <linux/config.h> this one is the next
biggest source of noise.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] fix wrong error code on interrupted close syscalls
Ernie Petrides [Fri, 29 Sep 2006 09:00:13 +0000]
[PATCH] fix wrong error code on interrupted close syscalls

The problem is that close() syscalls can call a file system's flush
handler, which in turn might sleep interruptibly and ultimately pass back
an -ERESTARTSYS return value.  This happens for files backed by an
interruptible NFS mount under nfs_file_flush() when a large file has just
been written and nfs_wait_bit_interruptible() detects that there is a
signal pending.

I have a test case where the "strace" command is used to attach to a
process sleeping in such a close().  Since the SIGSTOP is forced onto the
victim process (removing it from the thread's "blocked" mask in
force_sig_info()), the RPC wait is interrupted and the close() is
terminated early.

But the file table entry has already been cleared before the flush handler
was called.  Thus, when the syscall is restarted, the file descriptor
appears closed and an EBADF error is returned (which is wrong).  What's
worse, there is the hypothetical case where another thread of a
multi-threaded application might have reused the file descriptor, in which
case that file would be mistakenly closed.

The bottom line is that close() syscalls are not restartable, and thus
-ERESTARTSYS return values should be mapped to -EINTR.  This is consistent
with the close(2) manual page.  The fix is below.

Signed-off-by: Ernie Petrides <petrides@redhat.com>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Small update to CREDITS
Jesper Juhl [Fri, 29 Sep 2006 09:00:12 +0000]
[PATCH] Small update to CREDITS

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] memory ordering in __kfifo primitives
Paul E. McKenney [Fri, 29 Sep 2006 09:00:11 +0000]
[PATCH] memory ordering in __kfifo primitives

Both __kfifo_put() and __kfifo_get() have header comments stating that if
there is but one concurrent reader and one concurrent writer, locking is not
necessary.  This is almost the case, but a couple of memory barriers are
needed.  Another option would be to change the header comments to remove the
bit about locking not being needed, and to change the those callers who
currently don't use locking to add the required locking.  The attachment
analyzes this approach, but the patch below seems simpler.

Signed-off-by: Paul E. McKenney <paulmck@us.ibm.com>
Cc: Stelian Pop <stelian@popies.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] lockdep: print kernel version
Dave Jones [Fri, 29 Sep 2006 09:00:10 +0000]
[PATCH] lockdep: print kernel version

Lets do the same thing we do for oopses - print out the version in the
report.  It's an extra line of output though.  We could tack it on the end
of the INFO: lines, but that screws up Ingo's pretty output.

Signed-off-by: Dave Jones <davej@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] atiixp: ATI SB600 IDE support for various modes
Anatoli Antonovitch [Fri, 29 Sep 2006 09:00:09 +0000]
[PATCH] atiixp: ATI SB600 IDE support for various modes

Support SB600 SATA legacy IDE (DMA enable).

Signed-off-by: Anatoli Antonovitch <antonovi@ati.com>
Cc: Jeff Garzik <jeff@garzik.org>
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>

14 years ago[PATCH] Chardev checking of overlapping ranges
Amos Waterland [Fri, 29 Sep 2006 09:00:08 +0000]
[PATCH] Chardev checking of overlapping ranges

The code in __register_chrdev_region checks that if the driver wishing to
register has the same major as an existing driver the new minor range is
strictly less than the existing minor range.  However, it does not also
check that the new minor range is strictly greater than the existing minor
range.  That is, if driver X has registered with major=x and minor=0-3,
__register_chrdev_region will allow driver Y to register with major=x and
minor=1-4.

Signed-off-by: Amos Waterland <apw@us.ibm.com>
Cc: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] pidspace: is_init()
Sukadev Bhattiprolu [Fri, 29 Sep 2006 09:00:07 +0000]
[PATCH] pidspace: is_init()

This is an updated version of Eric Biederman's is_init() patch.
(http://lkml.org/lkml/2006/2/6/280).  It applies cleanly to 2.6.18-rc3 and
replaces a few more instances of ->pid == 1 with is_init().

Further, is_init() checks pid and thus removes dependency on Eric's other
patches for now.

Eric's original description:

There are a lot of places in the kernel where we test for init
because we give it special properties.  Most  significantly init
must not die.  This results in code all over the kernel test
->pid == 1.

Introduce is_init to capture this case.

With multiple pid spaces for all of the cases affected we are
looking for only the first process on the system, not some other
process that has pid == 1.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Cc: Serge Hallyn <serue@us.ibm.com>
Cc: Cedric Le Goater <clg@fr.ibm.com>
Cc: <lxc-devel@lists.sourceforge.net>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Fix conflict with the is_init identifier on parisc
Eric Biederman [Fri, 29 Sep 2006 09:00:06 +0000]
[PATCH] Fix conflict with the is_init identifier on parisc

This appears to be the only usage of is_init in the kernel besides the
usage in sched.h.  On ia64 the same function is called in_init.  So to
remove the conflict and make the kernel more consistent rename is_init
is_core is_local and is_local_section to in_init in_core in_local and
in_local_section respectively.

Thanks to Adrian Bunk who spotted this, and to Matthew Wilcox
who suggested this fix.

Signed-off-by: Eric Biederman <ebiederm@xmission.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Matthew Wilcox <willy@debian.org>
Cc: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Fix unserialized task->files changing
Kirill Korotaev [Fri, 29 Sep 2006 09:00:05 +0000]
[PATCH] Fix unserialized task->files changing

Fixed race on put_files_struct on exec with proc.  Restoring files on
current on error path may lead to proc having a pointer to already kfree-d
files_struct.

->files changing at exit.c and khtread.c are safe as exit_files() makes all
things under lock.

Found during OpenVZ stress testing.

[akpm@osdl.org: add export]
Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Signed-off-by: Kirill Korotaev <dev@openvz.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] kthread: convert arch/i386/kernel/apm.c
Serge E. Hallyn [Fri, 29 Sep 2006 09:00:04 +0000]
[PATCH] kthread: convert arch/i386/kernel/apm.c

Convert i386 apm.c from kernel_thread(), whose export is deprecated, to
kthread API.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] tty locking on resize
Alan Cox [Fri, 29 Sep 2006 09:00:03 +0000]
[PATCH] tty locking on resize

The current kernel serializes console resizes but does not serialize the
resize against the tty structure updates.  This means that while two
parallel resizes cannot mess up the console you can get incorrect results
reported.

Secondly while doing this I added vc_lock_resize() to lock and resize the
console.  This leaves all knowledge of the console_sem in the vt/console
driver and kicks it out of the tty layer, which is good

Thirdly while doing this I decided I couldn't stand "disallocate" any
longer so I switched it to "deallocate".

Signed-off-by: Alan Cox <alan@redhat.com>
Cc: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] add -o flush for fat
Chris Mason [Fri, 29 Sep 2006 09:00:03 +0000]
[PATCH] add -o flush for fat

Fat is commonly used on removable media.  Mounting with -o flush tells the
FS to write things to disk as quickly as possible.  It is like -o sync, but
much faster (and not as safe).

Signed-off-by: Chris Mason <mason@suse.com>
Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] oprofile: ppro: need to enable/disable all the counters
Arun Sharma [Fri, 29 Sep 2006 09:00:01 +0000]
[PATCH] oprofile: ppro: need to enable/disable all the counters

Need to enable/disable all the counters instead of just counter 0.

This affects all cpus with family=6, including i386/core.  Usual symptom:
only counter 0 provides samples.  Other counters don't produce samples.

Signed-off-by: Arun Sharma <arun.sharma@google.com>
Cc: Philippe Elie <phil.el@wanadoo.fr>
Cc: John Levon <levon@movementarian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] fs.h: ifdef security fields
Alexey Dobriyan [Fri, 29 Sep 2006 09:00:01 +0000]
[PATCH] fs.h: ifdef security fields

[assuming BSD security levels are deleted]
The only user of i_security, f_security, s_security fields is SELinux,
however, quite a few security modules are trying to get into kernel.
So, wrap them under CONFIG_SECURITY. Adding config option for each
security field is likely an overkill.

Following Stephen Smalley's suggestion, i_security initialization is
moved to security_inode_alloc() to not clutter core code with ifdefs
and make alloc_inode() codepath tiny little bit smaller and faster.

The user of (highly greppable) struct fown_struct::security field is
still to be found. I've checked every "fown_struct" and every "f_owner"
occurence. Additionally it's removal doesn't break i386 allmodconfig
build.

struct inode, struct file, struct super_block, struct fown_struct
become smaller.

P.S. Combined with two reiserfs inode shrinking patches sent to
linux-fsdevel, I can finally suck 12 reiserfs inodes into one page.

/proc/slabinfo

-ext2_inode_cache 388 10
+ext2_inode_cache 384 10
-inode_cache 280 14
+inode_cache 276 14
-proc_inode_cache 296 13
+proc_inode_cache 292 13
-reiser_inode_cache 336 11
+reiser_inode_cache 332 12 <=
-shmem_inode_cache 372 10
+shmem_inode_cache 368 10

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] reiserfs: ifdef ACL stuff from inode
Alexey Dobriyan [Fri, 29 Sep 2006 09:00:00 +0000]
[PATCH] reiserfs: ifdef ACL stuff from inode

Shrink reiserfs inode more (by 8 bytes) for ACL non-users:

-reiser_inode_cache     344     11
+reiser_inode_cache     336     11

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

14 years ago[PATCH] reiserfs: ifdef xattr_sem
Alexey Dobriyan [Fri, 29 Sep 2006 08:59:58 +0000]
[PATCH] reiserfs: ifdef xattr_sem

Shrink reiserfs inode by 12 bytes for xattr non-users (me).

-reiser_inode_cache     356     11
+reiser_inode_cache     344     11

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

14 years ago[PATCH] unwind: fix unused variable warning when !CONFIG_MODULES
Chuck Ebbert [Fri, 29 Sep 2006 08:59:57 +0000]
[PATCH] unwind: fix unused variable warning when !CONFIG_MODULES

Fix "variable defined but not used" compiler warning in unwind.c when
CONFIG_MODULES is not set.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Cc: Jan Beulich <jbeulich@novell.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] ifdef ->quota_read, ->quota_write
Alexey Dobriyan [Fri, 29 Sep 2006 08:59:56 +0000]
[PATCH] ifdef ->quota_read, ->quota_write

All suppliers of ->quota_read, ->quota_write (I've found ext2, ext3, UFS,
reiserfs) already have them properly ifdeffed.  All callers of
->quota_read, ->quota_write are under CONFIG_QUOTA umbrella, so...

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

14 years ago[PATCH] Fix reiserfs latencies caused by data=ordered
Chris Mason [Fri, 29 Sep 2006 08:59:56 +0000]
[PATCH] Fix reiserfs latencies caused by data=ordered

ReiserFS does periodic cleanup of old transactions in order to limit the
length of time a journal replay may take after a crash.  Sometimes, writing
metadata from an old (already committed) transaction may require committing
a newer transaction, which also requires writing all data=ordered buffers.
This can cause very long stalls on journal_begin.

This patch makes sure new transactions will not need to be committed before
trying a periodic reclaim of an old transaction.  It is low risk because if
a bad decision is made, it just means a slightly longer journal replay
after a crash.

Signed-off-by: Chris Mason <mason@suse.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] reiserfs_fsync should only use barriers when they are enabled
Chris Mason [Fri, 29 Sep 2006 08:59:54 +0000]
[PATCH] reiserfs_fsync should only use barriers when they are enabled

make sure that reiserfs_fsync only triggers barriers when mounted with -o
barrier=flush

Signed-off-by: Chris Mason <mason@suse.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] console utf-8 mode fixes
Adam Tlalka [Fri, 29 Sep 2006 08:59:53 +0000]
[PATCH] console utf-8 mode fixes

Fix utf-8 mode so alternate charset modes always work according to control
sequences interpreted in do_con_trol function preserving backward US-ASCII
and VT100 semigraphics compatibility.

Malformed utf-8 sequences are represented as sequences of replacement
glyphs,original codes or '?' as a last resort.

unicode-xterm, gnome-terminal, kconsole and other terminal emulators in
utf-8 mode respect acsc, enacs, rmacs sequences.  Also I found that some
important system programs (from Debian distro) uses acsc in utf-8 mode -
dselect, aptitude, w3m for example.

Signed-off-by: Adam Tlalka <atlka@pg.gda.pl>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] ucb1x00-ts: handle errors from input_register_device()
Dmitry Torokhov [Fri, 29 Sep 2006 08:59:52 +0000]
[PATCH] ucb1x00-ts: handle errors from input_register_device()

ucb1x00-ts: handle errors from input_register_device()

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] single bit flip detector
Dave Jones [Fri, 29 Sep 2006 08:59:51 +0000]
[PATCH] single bit flip detector

In cases where we detect a single bit has been flipped, we spew the usual
slab corruption message, which users instantly think is a kernel bug.  In a
lot of cases, single bit errors are down to bad memory, or other hardware
failure.

This patch adds an extra line to the slab debug messages in those cases, in
the hope that users will try memtest before they report a bug.

000: 6b 6b 6b 6b 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
Single bit error detected. Possibly bad RAM. Run memtest86.

[akpm@osdl.org: cleanups]
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] tty_io.c: keep davej sane
Alexey Dobriyan [Fri, 29 Sep 2006 08:59:50 +0000]
[PATCH] tty_io.c: keep davej sane

Just comment and next "while" look _very_ wrong.  Place { correctly to hint
unsuspecting ones that it's the end of the loop actually.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Dave Jones <davej@redhat.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] LSM: remove BSD secure level security module
Chris Wright [Fri, 29 Sep 2006 08:59:49 +0000]
[PATCH] LSM: remove BSD secure level security module

This code has suffered from broken core design and lack of developer
attention.  Broken security modules are too dangerous to leave around.  It
is time to remove this one.

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Acked-by: Michael Halcrow <mhalcrow@us.ibm.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Cc: Davi Arnaut <davi.arnaut@gmail.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: James Morris <jmorris@namei.org>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Use valid_dma_direction() in include/asm-i386/dma-mapping.h
Rolf Eike Beer [Fri, 29 Sep 2006 08:59:49 +0000]
[PATCH] Use valid_dma_direction() in include/asm-i386/dma-mapping.h

Now that the generic DMA code has a function to decide if a given DMA
mapping is valid use it.  This will catch cases where direction is not any
of the defined enum values but some random number outside the valid range.
The current implementation will only catch the defined but invalid case
DMA_NONE.

Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Acked-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Move valid_dma_direction() from x86_64 to generic code
Rolf Eike Beer [Fri, 29 Sep 2006 08:59:48 +0000]
[PATCH] Move valid_dma_direction() from x86_64 to generic code

As suggested by Muli Ben-Yehuda this function is moved to generic code as
may be useful for all archs.

[akpm@osdl.org: fix]
Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Cc: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] There is no devfs, there has never been a devfs, we have always been at war...
Alan Cox [Fri, 29 Sep 2006 08:59:47 +0000]
[PATCH] There is no devfs, there has never been a devfs, we have always been at war with...

Jon Smirl noted a couple of tty driver functions now are quite misleadingly
named with the death of devfs.  A quick grep found another case in the lp
driver.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Fix kerneldoc comments in kernel/timer.c
Rolf Eike Beer [Fri, 29 Sep 2006 08:59:46 +0000]
[PATCH] Fix kerneldoc comments in kernel/timer.c

Some of the kerneldoc comments in this file are ignored since the lead-in
is malformed, using either "/*" or "/***" instead of "/**".

[rdunlap@xenotime.net: kerneldoc fixes]
Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] oom_adj/oom_score documentation
Jan-Frode Myklebust [Fri, 29 Sep 2006 08:59:45 +0000]
[PATCH] oom_adj/oom_score documentation

I was looking for the a way around an OOM-problem, and found a couple of
undocumented new features for tuning the OOM-score of individual processes.
 Here's a small documentation patch for /proc/<pid>/oom_adj and
/proc/<pid>/oom_score.

Signed-off-by: Jan-Frode Myklebust <mykleb@no.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] clean up and remove some extra spinlocks from rtmutex
Steven Rostedt [Fri, 29 Sep 2006 08:59:44 +0000]
[PATCH] clean up and remove some extra spinlocks from rtmutex

Oleg brought up some interesting points about grabbing the pi_lock for some
protections.  In this discussion, I realized that there are some places
that the pi_lock is being grabbed when it really wasn't necessary.  Also
this patch does a little bit of clean up.

This patch basically does three things:

1) renames the "boost" variable to "chain_walk".  Since it is used in
   the debugging case when it isn't going to be boosted.  It better
   describes what the test is going to do if it succeeds.

2) moves get_task_struct to just before the unlocking of the wait_lock.
   This removes duplicate code, and makes it a little easier to read.  The
   owner wont go away while either the pi_lock or the wait_lock are held.

3) removes the pi_locking and owner blocked checking completely from the
   debugging case.  This is because the grabbing the lock and doing the
   check, then releasing the lock is just so full of races.  It's just as
   good to go ahead and call the pi_chain_walk function, since after
   releasing the lock the owner can then block anyway, and we would have
   missed that.  For the debug case, we really do want to do the chain walk
   to test for deadlocks anyway.

[oleg@tv-sign.ru: more of the same]
Signed-of-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Esben Nielsen <nielsen.esben@googlemail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] fix Intel RNG detection
Jan Beulich [Fri, 29 Sep 2006 08:59:42 +0000]
[PATCH] fix Intel RNG detection

Previously, since determination whether there was an Intel random number
generator was based on a single bit, on systems with a matching bridge
device but without a firmware hub, there was a 50% chance that the code
would incorrectly decide that the system had an RNG.  This patch adds
detection of the firmware hub to better qualify the existence of an RNG.

There is one issue with the patch: I was unable to determine the LPC
equivalent for the PCI bridge 8086:2430 (since the old code didn't care
about which of the many devices provided by the ICH/ESB it was chose to use
the PCI bridge device, but the FWH settings live in the LPC device, so the
device list needed to be changed).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] mount udf UDF_PART_FLAG_READ_ONLY partitions with MS_RDONLY
Eric Sandeen [Fri, 29 Sep 2006 08:59:41 +0000]
[PATCH] mount udf UDF_PART_FLAG_READ_ONLY partitions with MS_RDONLY

There's a bug where a UDF_PART_FLAG_READ_ONLY udf partition gets mounted
read-write, then subsequent problems happen; files seem to be able to be
removed, but file creation results in EIO or worse, oops.

EIO is coming from udf_new_block(), which returns EIO if the right flags
aren't set; only UDF_PART_FLAG_READ_ONLY is set in this case.  We probably
s hould not have gotten this far...

Attached patch seems to fix it - and includes a printk to alert the user
that their "rw" mount request has been converted to "ro."

Here's the testcase I used:

[root@magnesium ~]# mkisofs -R -J -udf -o testiso /tmp/
...
Total translation table size: 0
Total rockridge attributes bytes: 342923
Total directory bytes: 382312
Path table size(bytes): 104
Max brk space used 103000
105059 extents written (205 MB)

[root@magnesium ~]# mount -o loop testiso /mnt/test/
[root@magnesium ~]# ls /mnt/test/fsfile
/mnt/test/fsfile
[root@magnesium ~]# rm /mnt/test/fsfile
[root@magnesium ~]# ls /mnt/test/fsfile
ls: /mnt/test/fsfile: No such file or directory
[root@magnesium ~]# touch /mnt/test/fsfile
touch: cannot touch `/mnt/test/fsfile': Input/output error
[root@magnesium tmp]# grep udf /proc/mounts
/dev/loop1 /mnt/test udf rw 0 0

Force readonly mounts of UDF partitions marked as read-only.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] ifdef blktrace debugging fields
Alexey Dobriyan [Fri, 29 Sep 2006 08:59:40 +0000]
[PATCH] ifdef blktrace debugging fields

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] task_struct: ifdef Missed'em V IPC
Alexey Dobriyan [Fri, 29 Sep 2006 08:59:40 +0000]
[PATCH] task_struct: ifdef Missed'em V IPC

ipc/sem.c only.

$ agrep sysvsem -w -n
ipc/sem.c:912:  undo_list = current->sysvsem.undo_list;
ipc/sem.c:932:  undo_list = current->sysvsem.undo_list;
ipc/sem.c:954:  undo_list = current->sysvsem.undo_list;
ipc/sem.c:963:          current->sysvsem.undo_list = undo_list;
ipc/sem.c:1247:         tsk->sysvsem.undo_list = undo_list;
ipc/sem.c:1249:         tsk->sysvsem.undo_list = NULL;
ipc/sem.c:1271: undo_list = tsk->sysvsem.undo_list;
include/linux/sched.h:876:      struct sysv_sem sysvsem;

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

14 years ago[PATCH] ignore partition table on disks with AIX label
Olaf Hering [Fri, 29 Sep 2006 08:59:39 +0000]
[PATCH] ignore partition table on disks with AIX label

The on-disk data structures from AIX are not known, also the filesystem
layout is not known.  There is a msdos partition signature at the end of
the first block, and the kernel recognizes 3 small (and overlapping)
partitions.  But they are not usable.  Maybe the firmware uses it to find
the bootloader for AIX, but AIX boots also if the first block is cleared.

This is the content of the partition table:
 # dd if=/dev/sdb count=$(( 4 * 16 )) bs=1 skip=$(( 0x1be )) | xxd
0000000: 0000 0000 0000 0000 0000 0000 0000 0000  ................
0000010: 80ff ffff 41ff ffff 1b11 0000 381b 0000  ....A.......8...
0000020: 00ff ffff 41ff ffff 0211 0000 1900 0000  ....A...........
0000030: 80ff ffff 41ff ffff 1b11 0000 381b 0000  ....A.......8...

Handle the whole disk as empty disk.

This fixes also YaST which compares the output from parted (and formerly
fdisk) with /proc/partitions.  fdisk recognizes the AIX label since a long
time, SuSE has a patch for parted to handle the disk label as unknown.

dmesg will look like this:
 sda: [AIX]  unknown partition table

Tested on an IBM B50 with AIX V4.3.3.

Signed-off-by: Olaf Hering <olh@suse.de>
Cc: Albert Cahalan <acahalan@gmail.com>
Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Remove unused tty_struct field
Matthias Urlichs [Fri, 29 Sep 2006 08:59:37 +0000]
[PATCH] Remove unused tty_struct field

Unused: tty_struct.max_flip_cnt

$ git grep max_flip_cnt
include/linux/tty.h:    int max_flip_cnt;
$

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>

14 years ago[PATCH] DMI: Decode and save OEM String information
Shem Multinymous [Fri, 29 Sep 2006 08:59:37 +0000]
[PATCH] DMI: Decode and save OEM String information

This teaches dmi_decode() how to decode and save OEM Strings (type 11) DMI
information, which is currently discarded silently.  Existing code using
DMI is not affected.  Follows the "System Management BIOS (SMBIOS)
Specification" (http://www.dmtf.org/standards/smbios), and also the
userspace dmidecode.c code.

OEM Strings are the only safe way to identify some hardware, e.g., the
ThinkPad embedded controller used by the soon-to-be-submitted tp_smapi
driver.  This will also let us eliminate the long whitelist in the mainline
hdaps driver (in a future patch).

Signed-off-by: Shem Multinymous <multinymous@gmail.com>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] timer: add lock annotation to lock_timer_base
Josh Triplett [Fri, 29 Sep 2006 08:59:36 +0000]
[PATCH] timer: add lock annotation to lock_timer_base

lock_timer_base acquires a lock and returns with that lock held.  Add a
lock annotation to this function so that sparse can check callers for lock
pairing, and so that sparse will not complain about this function since it
intentionally uses the lock in this manner.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] vfs: define new lookup flag for chdir
Miklos Szeredi [Fri, 29 Sep 2006 08:59:35 +0000]
[PATCH] vfs: define new lookup flag for chdir

In the "operation does permission checking" model used by fuse, chdir
permission is not checked, since there's no chdir method.

For this case set a lookup flag, which will be passed to ->permission(), so
fuse can distinguish it from permission checks for other operations.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] fuse: use dentry in statfs
Miklos Szeredi [Fri, 29 Sep 2006 08:59:34 +0000]
[PATCH] fuse: use dentry in statfs

Some filesystems may want to report different values depending on the path
within the filesystem, i.e.  one mount is actually several filesystems.  This
can be the case for a network filesystem exported by an unprivileged server
(e.g.  sshfs).

This is now possible, thanks to David Howells "VFS: Permit filesystem to
perform statfs with a known root dentry" patch.

This change is backward compatible, so no need to change interface version.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] module_subsys: initialize earlier
Mark Huang [Fri, 29 Sep 2006 08:59:34 +0000]
[PATCH] module_subsys: initialize earlier

Initialize module_subsys earlier (or at least earlier than devices) since
it could be used very early in the boot process if kmod loads a module
before the device initcalls.  Otherwise, kmod will crash in
kernel/module.c:mod_sysfs_setup() since the kset in module_subsys is not
initialized yet.

I only noticed this problem because occasionally, kmod loads the modules
for my SCSI and Ethernet adapters very early, during the boot process
itself.  I don't quite understand why it loads them sometimes and doesn't
load them other times.  Or who is telling kmod to do so.  Can someone
explain?

Signed-off-by: Mark Huang <mlhuang@cs.princeton.edu>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Require mmap handler for a.out executables
Eugene Teo [Fri, 29 Sep 2006 08:59:33 +0000]
[PATCH] Require mmap handler for a.out executables

Files supported by fs/proc/base.c, i.e.  /proc/<pid>/*, are not capable of
meeting the validity checks in ELF load_elf_*() handling because they have
no mmap handler which is required by ELF.  In order to stop a.out
executables being used as part of an exploit attack against /proc-related
vulnerabilities, we make a.out executables depend on ->mmap() existing.

Signed-off-by: Eugene Teo <eteo@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] kthread: drivers/base/firmware_class.c
Sukadev Bhattiprolu [Fri, 29 Sep 2006 08:59:31 +0000]
[PATCH] kthread: drivers/base/firmware_class.c

Replace kernel_thread() call in drivers/base/firmware_class.c with
kthread_create() since kernel_thread() is deprecated in drivers.

Signed-off-by: Sukadev Bhattiprolu <sukadev@us.ibm.com>
Cc: Cedric Le Goater <clg@fr.ibm.com>
Cc: Serge E. Hallyn <serue@us.ibm.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Cc: Manuel Estrada Sainz <ranty@debian.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] rcu: add lock annotations to rcu{,_bh}_torture_read_{lock,unlock}
Josh Triplett [Fri, 29 Sep 2006 08:59:30 +0000]
[PATCH] rcu: add lock annotations to rcu{,_bh}_torture_read_{lock,unlock}

rcu_torture_read_lock and rcu_bh_torture_read_lock acquire locks without
releasing them, and the matching functions rcu_torture_read_unlock and
rcu_bh_torture_read_unlock get called with the corresponding locks held and
release them.  Add lock annotations to these four functions so that sparse
can check callers for lock pairing, and so that sparse will not complain
about these functions since they intentionally use locks in this manner.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Acked-by: Paul McKenney <paulmck@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] fs: add lock annotation to grab_super
Josh Triplett [Fri, 29 Sep 2006 08:59:29 +0000]
[PATCH] fs: add lock annotation to grab_super

grab_super gets called with sb_lock held, and releases it.  Add a lock
annotation to this function so that sparse can check callers for lock
pairing, and so that sparse will not complain about this function since it
intentionally uses the lock in this manner.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] lockdep: don't pull in includes when lockdep disabled
Michael S. Tsirkin [Fri, 29 Sep 2006 08:59:28 +0000]
[PATCH] lockdep: don't pull in includes when lockdep disabled

Do not pull in various includes through lockdep.h if lockdep is disabled.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] hugetlbfs: add lock annotation to hugetlbfs_forget_inode()
Josh Triplett [Fri, 29 Sep 2006 08:59:27 +0000]
[PATCH] hugetlbfs: add lock annotation to hugetlbfs_forget_inode()

hugetlbfs_forget_inode releases inode_lock.  Add a lock annotation to this
function so that sparse can check callers for lock pairing, and so that
sparse will not complain about this functions since it intentionally uses
the lock in this manner.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] fuse: add lock annotations to request_end and fuse_read_interrupt
Josh Triplett [Fri, 29 Sep 2006 08:59:25 +0000]
[PATCH] fuse: add lock annotations to request_end and fuse_read_interrupt

request_end and fuse_read_interrupt release fc->lock.  Add lock annotations
to these two functions so that sparse can check callers for lock pairing,
and so that sparse will not complain about these functions since they
intentionally use locks in this manner.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Acked-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] afs: add lock annotations to afs_proc_cell_servers_{start,stop}
Josh Triplett [Fri, 29 Sep 2006 08:59:25 +0000]
[PATCH] afs: add lock annotations to afs_proc_cell_servers_{start,stop}

afs_proc_cell_servers_start acquires a lock, and afs_proc_cell_servers_stop
releases that lock.  Add lock annotations to these two functions so that
sparse can check callers for lock pairing, and so that sparse will not
complain about these functions since they intentionally use locks in this
manner.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] mbcache: add lock annotation for __mb_cache_entry_release_unlock()
Josh Triplett [Fri, 29 Sep 2006 08:59:24 +0000]
[PATCH] mbcache: add lock annotation for __mb_cache_entry_release_unlock()

__mb_cache_entry_release_unlock releases mb_cache_spinlock, so annotate it
accordingly.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Cc: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] efi: add lock annotations for efi_call_phys_prelog and efi_call_phys_epilog
Josh Triplett [Fri, 29 Sep 2006 08:59:23 +0000]
[PATCH] efi: add lock annotations for efi_call_phys_prelog and efi_call_phys_epilog

The functions efi_call_phys_prelog and efi_call_phys_epilog in
arch/i386/kernel/efi.c wrap the spinlock efi_rt_lock: efi_call_phys_prelog
returns with the lock held, and efi_call_phys_epilog releases the lock
without acquiring it.  Add lock annotations to these two functions so that
sparse can check callers for lock pairing, and so that sparse will not
complain about these functions since they intentionally use locks in this
manner.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] irq: remove a extra line
Yoichi Yuasa [Fri, 29 Sep 2006 08:59:22 +0000]
[PATCH] irq: remove a extra line

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] irq: fixed coding style
Yoichi Yuasa [Fri, 29 Sep 2006 08:59:21 +0000]
[PATCH] irq: fixed coding style

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] use gcc -O1 in fs/reiserfs only for ancient gcc versions
Olaf Hering [Fri, 29 Sep 2006 08:59:21 +0000]
[PATCH] use gcc -O1 in fs/reiserfs only for ancient gcc versions

Only compile with -O1 if the (very old) compiler is broken.  We use
reiserfs alot since SLES9 on ppc64, and it was never seen with gcc33.
Assume the broken gcc is gcc-3.4 or older.

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] OMAP: Update OMAP1/2 boards to give keymapsize and other pdata
Komal Shah [Fri, 29 Sep 2006 08:59:20 +0000]
[PATCH] OMAP: Update OMAP1/2 boards to give keymapsize and other pdata

This patch adds keymapsize, delay and debounce flag in the keypad platform
data for various TI OMAP1/2 based boards like F-sample, H2, H3, Innovator,
Nokia770, OSK, Perseus and H4.

Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] OMAP: Add keypad driver
Komal Shah [Fri, 29 Sep 2006 08:59:19 +0000]
[PATCH] OMAP: Add keypad driver

This patch adds support for keypad driver running on different TI
OMAP(http://www.ti.com/omap) processor based boards like OSK, H2, H3, H4,
Persuas and Nokia 770.

Signed-off-by: Komal Shah <komal_shah802003@yahoo.com>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] OMAP: Add Watchdog driver support
Komal Shah [Fri, 29 Sep 2006 08:59:18 +0000]
[PATCH] OMAP: Add Watchdog driver support

Add Texas Instruments (TI) OMAP1/2 (http://www.ti.com/omap) based
processors, like OMAP1610/1710/242x.

[akpm@osdl.org: cleanups]
Cc: <gdavis@mvista.com>
Cc: "Komal Shah" <komal_shah802003@yahoo.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] OMAP: Add smc91x support for TI OMAP2420 H4 board
Komal Shah [Fri, 29 Sep 2006 08:59:15 +0000]
[PATCH] OMAP: Add smc91x support for TI OMAP2420 H4 board

Add smc91x support for TI OMAP2420 H4 EVM board.

Cc: <nico@cam.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] spinlock_debug: don't recompute (jiffies_per_loop * HZ) in spinloop
Chuck Ebbert [Fri, 29 Sep 2006 08:59:14 +0000]
[PATCH] spinlock_debug: don't recompute (jiffies_per_loop * HZ) in spinloop

In spinlock_debug.c, the spinloops call __delay() on every iteration.
Because that is an external function, (jiffies_per_loop * HZ), the loop's
iteration limit, gets recomputed every time.  Caching it explicitly
prevents that.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Fix parameter names in drivers/base/class.c
Rolf Eike Beer [Fri, 29 Sep 2006 08:59:13 +0000]
[PATCH] Fix parameter names in drivers/base/class.c

Change parameter names to match arguments of functions.

Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Cc: Martin Waitz <tali@admingilde.org>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Include documentation for functions in drivers/base/class.c
Rolf Eike Beer [Fri, 29 Sep 2006 08:59:12 +0000]
[PATCH] Include documentation for functions in drivers/base/class.c

drivers/base/class.c is omitted by "make *docs".  Add it to get
documentation for class_create() and friends for free.

Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Cc: Martin Waitz <tali@admingilde.org>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] kthread: convert loop.c to kthread
Serge E. Hallyn [Fri, 29 Sep 2006 08:59:11 +0000]
[PATCH] kthread: convert loop.c to kthread

Convert loop.c from the deprecated kernel_thread to kthread.  This patch
simplifies the code quite a bit and passes similar testing to the previous
submission on both emulated x86 and s390.

Changes since last submission:
switched to using a rather simple loop based on
wait_event_interruptible.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] kernel-doc: move filesystems together
Randy Dunlap [Fri, 29 Sep 2006 08:59:10 +0000]
[PATCH] kernel-doc: move filesystems together

Move all VFS + filesystem docs together.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] kernel-doc for relay interface
Randy Dunlap [Fri, 29 Sep 2006 08:59:10 +0000]
[PATCH] kernel-doc for relay interface

Add relay interface support to DocBook/kernel-api.tmpl.  Fix typos etc.  in
relay.c and relayfs.txt.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Acked-by: Tom Zanussi <zanussi@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] libfs: remove page up-to-date check from simple_readpage
Pekka J Enberg [Fri, 29 Sep 2006 08:59:09 +0000]
[PATCH] libfs: remove page up-to-date check from simple_readpage

Remove the unnecessary PageUptodate check from simple_readpage.  The only
two callers for ->readpage that don't have explicit PageUptodate check are
read_cache_pages and page_cache_read which operate on newly allocated pages
which don't have the flag set.

[akpm: use the allegedly-faster clear_page(), too]
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Make net48xx-led use scx200_gpio_ops
Chris Boot [Fri, 29 Sep 2006 08:59:08 +0000]
[PATCH] Make net48xx-led use scx200_gpio_ops

Make the next48xx LED code use scx200_gpio_ops instead of raw SCx200 GPIO
accesses.

Signed-off-by: Chris Boot <bootc@bootc.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] scx200_gpio export cleanups
Chris Boot [Fri, 29 Sep 2006 08:59:07 +0000]
[PATCH] scx200_gpio export cleanups

Use EXPORT_SYMBOL_GPL for new symbols, and declare the struct in the header
file for access by other modules.

Signed-off-by: Chris Boot <bootc@bootc.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Let WARN_ON/WARN_ON_ONCE return the condition
Herbert Xu [Fri, 29 Sep 2006 08:59:06 +0000]
[PATCH] Let WARN_ON/WARN_ON_ONCE return the condition

Letting WARN_ON/WARN_ON_ONCE return the condition means that you could do

if (WARN_ON(blah)) {
handle_impossible_case
}

Rather than

if (unlikely(blah)) {
WARN_ON(1)
handle_impossible_case
}

I checked all the newly added WARN_ON_ONCE users and none of them test the
return status so we can still change it.

[akpm@osdl.org: warning fix]
[akpm@osdl.org: build fix]
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] drivers/char/pc8736x_gpio.c: remove unused static functions
Adrian Bunk [Fri, 29 Sep 2006 08:59:05 +0000]
[PATCH] drivers/char/pc8736x_gpio.c: remove unused static functions

drivers/char/pc8736x_gpio.c:192: warning: #pc8736x_gpio_set_high# defined but not used
drivers/char/pc8736x_gpio.c:197: warning: #pc8736x_gpio_set_low# defined but not used

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Jim Cromie <jim.cromie@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] drivers/char/scx200_gpio.c: make code static
Jim Cromie [Fri, 29 Sep 2006 08:59:05 +0000]
[PATCH] drivers/char/scx200_gpio.c: make code static

This patch makes a needlessly global variable static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] remove unnecessary barrier in rtc_get_rtc_time
Steven Rostedt [Fri, 29 Sep 2006 08:59:04 +0000]
[PATCH] remove unnecessary barrier in rtc_get_rtc_time

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Make touch_nmi_watchdog imply touch_softlockup_watchdog on all archs
Michal Schmidt [Fri, 29 Sep 2006 08:59:03 +0000]
[PATCH] Make touch_nmi_watchdog imply touch_softlockup_watchdog on all archs

touch_nmi_watchdog() calls touch_softlockup_watchdog() on both
architectures that implement it (i386 and x86_64).  On other architectures
it does nothing at all.  touch_nmi_watchdog() should imply
touch_softlockup_watchdog() on all architectures.  Suggested by Andi Kleen.

[heiko.carstens@de.ibm.com: s390 fix]
Signed-off-by: Michal Schmidt <xschmi00@stud.feec.vutbr.cz>
Cc: Andi Kleen <ak@muc.de>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Michal Schmidt <xschmi00@stud.feec.vutbr.cz>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] list_del debug check
Manfred Spraul [Fri, 29 Sep 2006 08:59:01 +0000]
[PATCH] list_del debug check

A list_del() debugging check.  Has been in -mm for years.  Dave moved
list_del() out-of-line in the debug case, so this is now suitable for
mainline.

Cc: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] Debug variants of linked list macros
Dave Jones [Fri, 29 Sep 2006 08:59:00 +0000]
[PATCH] Debug variants of linked list macros

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] make PROT_WRITE imply PROT_READ
Jason Baron [Fri, 29 Sep 2006 08:58:58 +0000]
[PATCH] make PROT_WRITE imply PROT_READ

Make PROT_WRITE imply PROT_READ for a number of architectures which don't
support write only in hardware.

While looking at this, I noticed that some architectures which do not
support write only mappings already take the exact same approach.  For
example, in arch/alpha/mm/fault.c:

"
        if (cause < 0) {
                if (!(vma->vm_flags & VM_EXEC))
                        goto bad_area;
        } else if (!cause) {
                /* Allow reads even for write-only mappings */
                if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
                        goto bad_area;
        } else {
                if (!(vma->vm_flags & VM_WRITE))
                        goto bad_area;
        }
"

Thus, this patch brings other architectures which do not support write only
mappings in-line and consistent with the rest.  I've verified the patch on
ia64, x86_64 and x86.

Additional discussion:

Several architectures, including x86, can not support write-only mappings.
The pte for x86 reserves a single bit for protection and its two states are
read only or read/write.  Thus, write only is not supported in h/w.

Currently, if i 'mmap' a page write-only, the first read attempt on that page
creates a page fault and will SEGV.  That check is enforced in
arch/blah/mm/fault.c.  However, if i first write that page it will fault in
and the pte will be set to read/write.  Thus, any subsequent reads to the page
will succeed.  It is this inconsistency in behavior that this patch is
attempting to address.  Furthermore, if the page is swapped out, and then
brought back the first read will also cause a SEGV.  Thus, any arbitrary read
on a page can potentially result in a SEGV.

According to the SuSv3 spec, "if the application requests only PROT_WRITE, the
implementation may also allow read access." Also as mentioned, some
archtectures, such as alpha, shown above already take the approach that i am
suggesting.

The counter-argument to this raised by Arjan, is that the kernel is enforcing
the write only mapping the best it can given the h/w limitations.  This is
true, however Alan Cox, and myself would argue that the inconsitency in
behavior, that is applications can sometimes work/sometimes fails is highly
undesireable.  If you read through the thread, i think people, came to an
agreement on the last patch i posted, as nobody has objected to it...

Signed-off-by: Jason Baron <jbaron@redhat.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Hugh Dickins <hugh@veritas.com>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Andi Kleen <ak@muc.de>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Cc: Ian Molton <spyro@f2s.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] fs/namespace: handle init/registration errors
Randy Dunlap [Fri, 29 Sep 2006 08:58:57 +0000]
[PATCH] fs/namespace: handle init/registration errors

Check and handle init errors.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] block: handle subsystem_register() init errors
Randy Dunlap [Fri, 29 Sep 2006 08:58:56 +0000]
[PATCH] block: handle subsystem_register() init errors

Check and handle init errors.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

14 years ago[PATCH] blockdev.c: check driver layer errors
Andrew Morton [Fri, 29 Sep 2006 08:58:56 +0000]
[PATCH] blockdev.c: check driver layer errors

Check driver layer errors.

Fix from: "Jun'ichi Nomura" <j-nomura@ce.jp.nec.com>

In blockdevc-check-errors.patch, add_bd_holder() is modified to return error
values when some of its operation failed.  Among them, it returns -EEXIST when
a given bd_holder object already exists in the list.

However, in this case, the function completed its work successfully and need
no action by its caller other than freeing unused bd_holder object.  So I
think it's better to return success after freeing by itself.

Otherwise, bd_claim-ing with same claim pointer will fail.
Typically, lvresize will fails with following message:
  device-mapper: reload ioctl failed: Invalid argument
and you'll see messages like below in kernel log:
  device-mapper: table: 254:13: linear: dm-linear: Device lookup failed
  device-mapper: ioctl: error adding target to table

Similarly, it should not add bd_holder to the list if either one of symlinking
fails.  I don't have a test case for this to happen but it should cause
dereference of freed pointer.

If a matching bd_holder is found in bd_holder_list, add_bd_holder() completes
its job by just incrementing the reference count.  In this case, it should be
considered as success but it used to return 'fail' to let the caller free
temporary bd_holder.  Fixed it to return success and free given object by
itself.

Also, if either one of symlinking fails, the bd_holder should not be added to
the list so that it can be discarded later.  Otherwise, the caller will free
bd_holder which is in the list.

Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>