]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
12 years agoWhen we get corruption reports, it's useful to see if the kernel was
Dave Jones [Wed, 24 Aug 2011 23:46:38 +0000 (09:46 +1000)]
When we get corruption reports, it's useful to see if the kernel was
tainted, to rule out problems we can't do anything about.

Signed-off-by: Dave Jones <davej@redhat.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoUnbreak alpha build.
Andrew Morton [Wed, 24 Aug 2011 23:46:38 +0000 (09:46 +1000)]
Unbreak alpha build.

Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoUnbreak alpha build.
Andrew Morton [Wed, 24 Aug 2011 23:46:37 +0000 (09:46 +1000)]
Unbreak alpha build.

Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoUnbreak the alpha build.
Andrew Morton [Wed, 24 Aug 2011 23:46:36 +0000 (09:46 +1000)]
Unbreak the alpha build.

Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThe address limit is already set in flush_old_exec() so this assignment of
Mathias Krause [Wed, 24 Aug 2011 23:46:35 +0000 (09:46 +1000)]
The address limit is already set in flush_old_exec() so this assignment of
USER_DS is redundant.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoInstead of open coding this function use kstrtoul_from_user() directly.
Stephen Boyd [Wed, 24 Aug 2011 23:46:34 +0000 (09:46 +1000)]
Instead of open coding this function use kstrtoul_from_user() directly.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Doug Gilbert <dgilbert@interlog.com>
Cc: Douglas Gilbert <dougg@torque.net>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThis does involve additional use of the spin lock in idr.c. Is this an
Jonathan Cameron [Wed, 24 Aug 2011 23:46:33 +0000 (09:46 +1000)]
This does involve additional use of the spin lock in idr.c.  Is this an
issue?

Also, some error mangling was needed to keep the interface the same.  Does
this matter or can we return -ENOSPC instead of -EBUSY?

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Tejun Heo <tj@kernel.org>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Boaz Harrosh <bharrosh@panasas.com>
Cc: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoSome mangling of errors was necessary to maintain current interface.
Jonathan Cameron [Wed, 24 Aug 2011 23:46:32 +0000 (09:46 +1000)]
Some mangling of errors was necessary to maintain current interface.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Tejun Heo <tj@kernel.org>
Cc: Guenter Roeck <guenter.roeck@ericsson.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoWe leak in drivers/scsi/aacraid/commctrl.c::aac_send_raw_srb() :
Jesper Juhl [Wed, 24 Aug 2011 23:46:32 +0000 (09:46 +1000)]
We leak in drivers/scsi/aacraid/commctrl.c::aac_send_raw_srb() :

We allocate memory:
        ...
                        struct user_sgmap* usg;
                        usg = kmalloc(actual_fibsize - sizeof(struct aac_srb)
                          + sizeof(struct sgmap), GFP_KERNEL);
and then neglect to free it:
        ...
                        for (i = 0; i < usg->count; i++) {
                                u64 addr;
                                void* p;
                                if (usg->sg[i].count >
                                    ((dev->adapter_info.options &
                                     AAC_OPT_NEW_COMM) ?
                                      (dev->scsi_host_ptr->max_sectors << 9) :
                                      65536)) {
                                        rcode = -EINVAL;
                                        goto cleanup;
        ... this 'goto' makes 'usg' go out of scope and leak the memory we
            allocated.
            Other exits properly kfree(usg), it's just here it is neglected.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoFix sparse warnings of right shift bigger than source value size:
Randy Dunlap [Wed, 24 Aug 2011 23:46:31 +0000 (09:46 +1000)]
Fix sparse warnings of right shift bigger than source value size:

drivers/scsi/megaraid.c:311:65: warning: right shift by bigger than source value
drivers/scsi/megaraid.c:313:65: warning: right shift by bigger than source value
drivers/scsi/megaraid.c:317:67: warning: right shift by bigger than source value
drivers/scsi/megaraid.c:319:67: warning: right shift by bigger than source value

Patch suggestion from email by Al Viro:

"Since both are claimed to be strings, I really suspect that this >> 8 is
misspelled >> 4 and they have a character followed by pair of two-digit
packed decimals in there..."

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Neela Syam Kolli <megaraidlinux@lsi.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoFor headers that get exported to userland and make use of u32 style
Alexander Shishkin [Wed, 24 Aug 2011 23:46:30 +0000 (09:46 +1000)]
For headers that get exported to userland and make use of u32 style
type names, it is advised to include linux/types.h.

This fixes a headers_check warning.

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThe current implementation of dmi_name_in_vendors() is an invitation to
Jean Delvare [Wed, 24 Aug 2011 23:46:29 +0000 (09:46 +1000)]
The current implementation of dmi_name_in_vendors() is an invitation to
lazy coding and false positives [1].  Searching for a string in 8 know
what you're looking for, so you should know where to look.  strstr isn't
fast, especially when it fails, so we should avoid calling it when it just
can't succeed.

Looking at the current users of the function, it seems clear to me that
they are looking for a system or board vendor name, so let's limit
dmi_name_in_vendors to these two DMI fields.  This much better matches the
function name, BTW.

[1] We currently have code looking for short names in DMI data, such
as "IBM", "ASUS" or "Acer". I let you guess what will happen the day
other vendors ship products named, for example, "SCHREIBMEISTER",
"PEGASUS" or "Acerola".

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThe address limit is already set in flush_old_exec() so those calls to
Mathias Krause [Wed, 24 Aug 2011 23:46:27 +0000 (09:46 +1000)]
The address limit is already set in flush_old_exec() so those calls to
set_fs(USER_DS) are redundant.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Helge Deller <deller@gmx.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThe dqc_bitmap field of struct ocfs2_local_disk_chunk is 32-bit aligned,
Akinobu Mita [Wed, 24 Aug 2011 23:46:27 +0000 (09:46 +1000)]
The dqc_bitmap field of struct ocfs2_local_disk_chunk is 32-bit aligned,
but not 64-bit aligned.  The dqc_bitmap is accessed by ocfs2_set_bit(),
ocfs2_clear_bit(), ocfs2_test_bit(), or ocfs2_find_next_zero_bit().  These
are wrapper macros for ext2_*_bit() which need to take an unsigned long
aligned address (though some architectures are able to handle unaligned
address correctly)

So some 64bit architectures may not be able to access the dqc_bitmap
correctly.

This avoids such unaligned access by using another wrapper functions for
ext2_*_bit().  The code is taken from fs/ext4/mballoc.c which also need to
handle unaligned bitmap access.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Acked-by: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoext4_{set,clear}_bit() is defined as __test_and_{set,clear}_bit_le() for
Akinobu Mita [Wed, 24 Aug 2011 23:46:26 +0000 (09:46 +1000)]
ext4_{set,clear}_bit() is defined as __test_and_{set,clear}_bit_le() for
ext4.  Only two ext4_{set,clear}_bit() calls check the return value.  The
rest of calls ignore the return value and they can be replaced with
__{set,clear}_bit_le().

This changes ext4_{set,clear}_bit() from __test_and_{set,clear}_bit_le()
to __{set,clear}_bit_le() and introduces ext4_test_and_{set,clear}_bit()
for the two places where old bit needs to be returned.

This ext4_{set,clear}_bit() change is considered safe, because if someone
uses these macros without noticing the change, new ext4_{set,clear}_bit
don't have return value and causes compiler errors where the return value
is used.

This also removes unused ext4_find_first_zero_bit().

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agodel_timer_sync() calls debug_object_assert_init() to assert that a timer
Christine Chan [Wed, 24 Aug 2011 23:46:25 +0000 (09:46 +1000)]
del_timer_sync() calls debug_object_assert_init() to assert that a timer
has been initialized before calling lock_timer_base().  lock_timer_base()
would spin forever on a NULL(uninit-ed) base.  The check is added to
del_timer() to prevent silent failure, even though it would not get stuck
in an infinite loop.

Signed-off-by: Christine Chan <cschan@codeaurora.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: John Stultz <john.stultz@linaro.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoAdd new check (assert_init) to make sure objects are initialized and
Christine Chan [Wed, 24 Aug 2011 23:46:25 +0000 (09:46 +1000)]
Add new check (assert_init) to make sure objects are initialized and
tracked by debugobjects.

Signed-off-by: Christine Chan <cschan@codeaurora.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: John Stultz <john.stultz@linaro.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThe address limit is already set in flush_old_exec() so this
Mathias Krause [Wed, 24 Aug 2011 23:46:24 +0000 (09:46 +1000)]
The address limit is already set in flush_old_exec() so this
set_fs(USER_DS) is redundant.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThe address limit is already set in flush_old_exec() so this
Mathias Krause [Wed, 24 Aug 2011 23:46:24 +0000 (09:46 +1000)]
The address limit is already set in flush_old_exec() so this
set_fs(USER_DS) is redundant.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoA straightforward looking use of idr for a device id.
Jonathan Cameron [Wed, 24 Aug 2011 23:46:22 +0000 (09:46 +1000)]
A straightforward looking use of idr for a device id.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Tejun Heo <tj@kernel.org>
Cc: Guenter Roeck <guenter.roeck@ericsson.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Acked-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agohwmon was using an idr with a NULL pointer, so convert to an
Jonathan Cameron [Wed, 24 Aug 2011 23:46:21 +0000 (09:46 +1000)]
hwmon was using an idr with a NULL pointer, so convert to an
ida which then allows use of Rusty's ida_simple_get.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Tejun Heo <tj@kernel.org>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Cc: Evgeniy Polyakov <zbr@ioremap.net>
Cc: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agofb_set_suspend() must be called with the console semaphore held, which
Andrea Righi [Wed, 24 Aug 2011 23:46:21 +0000 (09:46 +1000)]
fb_set_suspend() must be called with the console semaphore held, which
means the code path coming in here will first take the console_lock() and
then call lock_fb_info().

However several framebuffer ioctl commands acquire these locks in reverse
order (lock_fb_info() and then console_lock()).  This gives rise to
potential AB-BA deadlock.

Fix this by changing the order of acquisition in the ioctl commands that
make use of console_lock().

Signed-off-by: Andrea Righi <arighi@develer.com>
Reported-by: Peter Nordström (Palm GBU) <peter.nordstrom@palm.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agokbuf is a buffer that is local to this function, so all of the error paths
Julia Lawall [Wed, 24 Aug 2011 23:46:21 +0000 (09:46 +1000)]
kbuf is a buffer that is local to this function, so all of the error paths
leaving the function should release it.

Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: Dave Airlie <airlied@redhat.com>
Cc: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoSome messing with error codes to return 0 on out id's and match
Jonathan Cameron [Wed, 24 Aug 2011 23:46:20 +0000 (09:46 +1000)]
Some messing with error codes to return 0 on out id's and match
current situation.  Is this necessary? Looks a touch 'interesting'.

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Tejun Heo <tj@kernel.org>
Cc: Guenter Roeck <guenter.roeck@ericsson.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoDon't dereference em if it's NULL or an error pointer.
Roel Kluin [Wed, 24 Aug 2011 23:46:19 +0000 (09:46 +1000)]
Don't dereference em if it's NULL or an error pointer.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoA call to va_copy() should always be followed by a call to va_end() in the
Jesper Juhl [Wed, 24 Aug 2011 23:46:19 +0000 (09:46 +1000)]
A call to va_copy() should always be followed by a call to va_end() in the
same function.  In kernel/autit.c::audit_log_vformat() this is not always
done.  This patch makes sure va_end() is always called.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Eric Paris <eparis@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThe address limit is already set in flush_old_exec() so this
Mathias Krause [Wed, 24 Aug 2011 23:46:19 +0000 (09:46 +1000)]
The address limit is already set in flush_old_exec() so this
set_fs(USER_DS) is redundant.

Signed-off-by: Mathias Krause <minipli@googlemail.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoDon't allow everybody to use a modem.
Vasiliy Kulikov [Wed, 24 Aug 2011 23:46:18 +0000 (09:46 +1000)]
Don't allow everybody to use a modem.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Cc: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>
Cc: Linus Walleij <linus.walleij@stericsson.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThe current interrupt traces from irq_handler_entry and irq_handler_exit
Vaibhav Nagarnaik [Wed, 24 Aug 2011 23:46:18 +0000 (09:46 +1000)]
The current interrupt traces from irq_handler_entry and irq_handler_exit
provide when an interrupt is handled.  They provide good data about when
the system has switched to kernel space and how it affects the currently
running processes.

There are some IRQ vectors which trigger the system into kernel space,
which are not handled in generic IRQ handlers.  Tracing such events gives
us the information about IRQ interaction with other system events.

The trace also tells where the system is spending its time.  We want to
know which cores are handling interrupts and how they are affecting other
processes in the system.  Also, the trace provides information about when
the cores are idle and which interrupts are changing that state.

The following patch adds the event definition and trace instrumentation
for interrupt vectors.  For x86, a lookup table is provided to print out
readable IRQ vector names.  The template can be used to provide interrupt
vector lookup tables on other architectures.

Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@google.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Michael Rubin <mrubin@google.com>
Cc: David Sharp <dhsharp@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThe x86 timer interrupt handler is the only handler not traced in the
Vaibhav Nagarnaik [Wed, 24 Aug 2011 23:46:17 +0000 (09:46 +1000)]
The x86 timer interrupt handler is the only handler not traced in the
irq/irq_handler_{entry|exit} trace events.

Add tracepoints to the interrupt handler to trace it.

Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@google.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Michael Rubin <mrubin@google.com>
Cc: David Sharp <dhsharp@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoReplace the bubble sort in sanitize_e820_map() with a call to the generic
Mike Ditto [Wed, 24 Aug 2011 23:46:17 +0000 (09:46 +1000)]
Replace the bubble sort in sanitize_e820_map() with a call to the generic
kernel sort function to avoid pathological performance with large maps.

On large (thousands of entries) E820 maps, the previous code took minutes
to run; with this change it's now milliseconds.

Signed-off-by: Mike Ditto <mditto@google.com>
Cc: Stefan Assmann <sassmann@kpanic.de>
Cc: Nancy Yuen <yuenn@google.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoOn x86_32 casting the unsigned int result of get_random_int() to long may
Ludwig Nussel [Wed, 24 Aug 2011 23:46:16 +0000 (09:46 +1000)]
On x86_32 casting the unsigned int result of get_random_int() to long may
result in a negative value.  On x86_32 the range of mmap_rnd() therefore
was -255 to 255.  The 32bit mode on x86_64 used 0 to 255 as intended.

The bug was introduced by 675a081 ("x86: unify mmap_{32|64}.c") in January
2008.

Signed-off-by: Ludwig Nussel <ludwig.nussel@suse.de>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoThis makes the iris driver use the platform API, so it is properly exposed
Shérab [Wed, 24 Aug 2011 23:46:15 +0000 (09:46 +1000)]
This makes the iris driver use the platform API, so it is properly exposed
in /sys.

[akpm@linux-foundation.org: remove commented-out code, add missing space to printk, clean up code layout]
Signed-off-by: Shérab <Sebastien.Hinderer@ens-lyon.org>
Cc: Len Brown <lenb@kernel.org>
Cc: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoAdd support for Aspire 1410 BIOS v1.3314. Fixes the following error:
Clay Carpenter [Wed, 24 Aug 2011 23:46:15 +0000 (09:46 +1000)]
Add support for Aspire 1410 BIOS v1.3314.  Fixes the following error:

acerhdf: unknown (unsupported) BIOS version Acer/Aspire 1410/v1.3314,
please report, aborting!

Signed-off-by: Clay Carpenter <claycarpenter@gmail.com>
Signed-off-by: Peter Feuerer <peter@piie.net>
Cc: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoSince the commit below which added O_PATH support to the *at() calls, the
Andy Whitcroft [Wed, 24 Aug 2011 23:46:15 +0000 (09:46 +1000)]
Since the commit below which added O_PATH support to the *at() calls, the
error return for readlink/readlinkat for the empty pathname has switched
from ENOENT to EINVAL:

  commit 65cfc6722361570bfe255698d9cd4dccaf47570d
  Author: Al Viro <viro@zeniv.linux.org.uk>
  Date:   Sun Mar 13 15:56:26 2011 -0400

    readlinkat(), fchownat() and fstatat() with empty relative pathnames

This is both unexpected for userspace and makes readlink/readlinkat
inconsistant with all other interfaces; and inconsistant with our stated
return for these pathnames.

As the readlinkat call does not have a flags parameter we cannot use the
AT_EMPTY_PATH approach used in the other calls.  Therefore expose whether
the original path is infact entry via a new user_path_at_empty() path
lookup function.  Use this to determine whether to default to EINVAL or
ENOENT for failures.

BugLink: http://bugs.launchpad.net/bugs/817187
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoFix kconfig unmet dependency warning. BACKLIGHT_CLASS_DEVICE depends on
Randy Dunlap [Wed, 24 Aug 2011 23:46:13 +0000 (09:46 +1000)]
Fix kconfig unmet dependency warning.  BACKLIGHT_CLASS_DEVICE depends on
BACKLIGHT_LCD_SUPPORT, so select the latter along with the former.

warning: (DRM_RADEON_KMS && DRM_I915 && STUB_POULSBO && FB_BACKLIGHT && PANEL_SHARP_LS037V7DW01 && PANEL_ACX565AKM && USB_APPLEDISPLAY && FB_OLPC_DCON && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_ASUS && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT)

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: David Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoMerge remote-tracking branch 'kvmtool/master'
Stephen Rothwell [Tue, 27 Sep 2011 06:35:23 +0000 (16:35 +1000)]
Merge remote-tracking branch 'kvmtool/master'

Conflicts:
include/net/9p/9p.h

12 years agoMerge remote-tracking branch 'moduleh/module.h-split'
Stephen Rothwell [Tue, 27 Sep 2011 06:28:30 +0000 (16:28 +1000)]
Merge remote-tracking branch 'moduleh/module.h-split'

Conflicts:
arch/arm/mach-bcmring/mm.c
arch/powerpc/mm/tlb_nohash.c
drivers/media/dvb/frontends/dibx000_common.c
drivers/mfd/ab3550-core.c
drivers/mmc/host/sdhci-pci.c
drivers/s390/char/vmur.c
drivers/scsi/libfc/fc_lport.c
include/linux/dmaengine.h

12 years agoMerge remote-tracking branch 'hwspinlock/linux-next'
Stephen Rothwell [Tue, 27 Sep 2011 06:21:22 +0000 (16:21 +1000)]
Merge remote-tracking branch 'hwspinlock/linux-next'

12 years agoMerge remote-tracking branch 'writeback/next'
Stephen Rothwell [Tue, 27 Sep 2011 06:19:57 +0000 (16:19 +1000)]
Merge remote-tracking branch 'writeback/next'

12 years agoMerge remote-tracking branch 'tmem/tmem'
Stephen Rothwell [Tue, 27 Sep 2011 06:14:54 +0000 (16:14 +1000)]
Merge remote-tracking branch 'tmem/tmem'

Conflicts:
mm/cleancache.c

12 years agoMerge remote-tracking branch 'staging/staging-next'
Stephen Rothwell [Tue, 27 Sep 2011 06:10:46 +0000 (16:10 +1000)]
Merge remote-tracking branch 'staging/staging-next'

Conflicts:
drivers/misc/altera-stapl/altera.c
drivers/staging/comedi/drivers/ni_labpc.c
drivers/staging/rtl8192e/r8192E_core.c
drivers/staging/xgifb/XGI_main_26.c

12 years agoMerge remote-tracking branch 'usb/usb-next'
Stephen Rothwell [Tue, 27 Sep 2011 05:55:49 +0000 (15:55 +1000)]
Merge remote-tracking branch 'usb/usb-next'

12 years agoMerge remote-tracking branch 'tty/tty-next'
Stephen Rothwell [Tue, 27 Sep 2011 05:53:52 +0000 (15:53 +1000)]
Merge remote-tracking branch 'tty/tty-next'

Conflicts:
arch/powerpc/include/asm/udbg.h
arch/powerpc/kernel/udbg.c
drivers/tty/serial/8250.c

12 years agoMerge remote-tracking branch 'driver-core/driver-core-next'
Stephen Rothwell [Tue, 27 Sep 2011 05:47:17 +0000 (15:47 +1000)]
Merge remote-tracking branch 'driver-core/driver-core-next'

Conflicts:
arch/arm/plat-mxc/devices.c

12 years agoMerge remote-tracking branch 'regmap/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 05:45:52 +0000 (15:45 +1000)]
Merge remote-tracking branch 'regmap/for-next'

Conflicts:
drivers/mfd/wm831x-spi.c

12 years agoMerge remote-tracking branch 'namespace/master'
Stephen Rothwell [Tue, 27 Sep 2011 05:44:23 +0000 (15:44 +1000)]
Merge remote-tracking branch 'namespace/master'

12 years agoMerge remote-tracking branch 'sysctl/master'
Stephen Rothwell [Tue, 27 Sep 2011 05:42:59 +0000 (15:42 +1000)]
Merge remote-tracking branch 'sysctl/master'

12 years agoMerge remote-tracking branch 'percpu/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 05:41:28 +0000 (15:41 +1000)]
Merge remote-tracking branch 'percpu/for-next'

12 years agoMerge remote-tracking branch 'xen-two/linux-next'
Stephen Rothwell [Tue, 27 Sep 2011 05:40:06 +0000 (15:40 +1000)]
Merge remote-tracking branch 'xen-two/linux-next'

Conflicts:
arch/x86/xen/Kconfig

12 years agoMerge remote-tracking branch 'xen/upstream/xen'
Stephen Rothwell [Tue, 27 Sep 2011 05:34:30 +0000 (15:34 +1000)]
Merge remote-tracking branch 'xen/upstream/xen'

12 years agoMerge remote-tracking branch 'ptrace/ptrace'
Stephen Rothwell [Tue, 27 Sep 2011 05:28:31 +0000 (15:28 +1000)]
Merge remote-tracking branch 'ptrace/ptrace'

12 years agoMerge remote-tracking branch 'kvm/linux-next'
Stephen Rothwell [Tue, 27 Sep 2011 05:27:08 +0000 (15:27 +1000)]
Merge remote-tracking branch 'kvm/linux-next'

Conflicts:
include/linux/kvm.h

12 years agoMerge remote-tracking branch 'rcu/rcu/next'
Stephen Rothwell [Tue, 27 Sep 2011 05:20:33 +0000 (15:20 +1000)]
Merge remote-tracking branch 'rcu/rcu/next'

Conflicts:
arch/x86/kernel/cpu/mcheck/mce.c
arch/x86/kernel/process_64.c

12 years agoMerge remote-tracking branch 'tip/auto-latest'
Stephen Rothwell [Tue, 27 Sep 2011 04:56:52 +0000 (14:56 +1000)]
Merge remote-tracking branch 'tip/auto-latest'

Conflicts:
drivers/iommu/Makefile

12 years agoMerge remote-tracking branch 'gpio/gpio/next'
Stephen Rothwell [Tue, 27 Sep 2011 04:44:16 +0000 (14:44 +1000)]
Merge remote-tracking branch 'gpio/gpio/next'

12 years agoMerge remote-tracking branch 'spi/spi/next'
Stephen Rothwell [Tue, 27 Sep 2011 04:42:57 +0000 (14:42 +1000)]
Merge remote-tracking branch 'spi/spi/next'

12 years agoMerge remote-tracking branch 'devicetree/devicetree/next'
Stephen Rothwell [Tue, 27 Sep 2011 04:40:39 +0000 (14:40 +1000)]
Merge remote-tracking branch 'devicetree/devicetree/next'

12 years agoMerge remote-tracking branch 'edac-amd/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 04:39:21 +0000 (14:39 +1000)]
Merge remote-tracking branch 'edac-amd/for-next'

12 years agoMerge remote-tracking branch 'edac/linux_next'
Stephen Rothwell [Tue, 27 Sep 2011 04:38:03 +0000 (14:38 +1000)]
Merge remote-tracking branch 'edac/linux_next'

Conflicts:
arch/x86/kernel/cpu/mcheck/mce.c

12 years agoMerge remote-tracking branch 'fsnotify/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 04:35:07 +0000 (14:35 +1000)]
Merge remote-tracking branch 'fsnotify/for-next'

12 years agoMerge remote-tracking branch 'apm/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 04:33:43 +0000 (14:33 +1000)]
Merge remote-tracking branch 'apm/for-next'

12 years agoMerge remote-tracking branch 'pm/linux-next'
Stephen Rothwell [Tue, 27 Sep 2011 04:27:26 +0000 (14:27 +1000)]
Merge remote-tracking branch 'pm/linux-next'

Conflicts:
arch/arm/mach-shmobile/board-ap4evb.c

12 years agoMerge remote-tracking branch 'trivial/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 04:23:18 +0000 (14:23 +1000)]
Merge remote-tracking branch 'trivial/for-next'

Conflicts:
Documentation/PCI/pci.txt
arch/arm/mach-nuc93x/time.c
drivers/media/video/s5p-fimc/fimc-capture.c
drivers/net/Kconfig

12 years agoMerge remote-tracking branch 'osd/linux-next'
Stephen Rothwell [Tue, 27 Sep 2011 04:11:00 +0000 (14:11 +1000)]
Merge remote-tracking branch 'osd/linux-next'

12 years agoMerge remote-tracking branch 'iommu/next'
Stephen Rothwell [Tue, 27 Sep 2011 04:09:35 +0000 (14:09 +1000)]
Merge remote-tracking branch 'iommu/next'

12 years agoMerge remote-tracking branch 'watchdog/master'
Stephen Rothwell [Tue, 27 Sep 2011 04:09:23 +0000 (14:09 +1000)]
Merge remote-tracking branch 'watchdog/master'

12 years agoMerge remote-tracking branch 'agp/agp-next'
Stephen Rothwell [Tue, 27 Sep 2011 04:08:39 +0000 (14:08 +1000)]
Merge remote-tracking branch 'agp/agp-next'

12 years agoMerge remote-tracking branch 'security/next'
Stephen Rothwell [Tue, 27 Sep 2011 04:02:07 +0000 (14:02 +1000)]
Merge remote-tracking branch 'security/next'

Conflicts:
fs/ocfs2/xattr.c

12 years agoMerge remote-tracking branch 'voltage/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 04:00:43 +0000 (14:00 +1000)]
Merge remote-tracking branch 'voltage/for-next'

12 years agoMerge remote-tracking branch 'omap_dss2/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:59:24 +0000 (13:59 +1000)]
Merge remote-tracking branch 'omap_dss2/for-next'

Conflicts:
arch/arm/mach-omap2/board-4430sdp.c
drivers/video/omap/lcd_apollon.c
drivers/video/omap/lcd_ldp.c
drivers/video/omap/lcd_overo.c

12 years agoMerge remote-tracking branch 'viafb/viafb-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:48:15 +0000 (13:48 +1000)]
Merge remote-tracking branch 'viafb/viafb-next'

12 years agoMerge remote-tracking branch 'fbdev/fbdev-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:46:54 +0000 (13:46 +1000)]
Merge remote-tracking branch 'fbdev/fbdev-next'

Conflicts:
drivers/video/Kconfig

12 years agoMerge remote-tracking branch 'mfd/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:45:25 +0000 (13:45 +1000)]
Merge remote-tracking branch 'mfd/for-next'

Conflicts:
arch/arm/mach-u300/include/mach/irqs.h

12 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:23:10 +0000 (13:23 +1000)]
Merge remote-tracking branch 'md/for-next'

12 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:16:45 +0000 (13:16 +1000)]
Merge remote-tracking branch 'slab/for-next'

12 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:16:36 +0000 (13:16 +1000)]
Merge remote-tracking branch 'kgdb/kgdb-next'

12 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:15:15 +0000 (13:15 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'

Conflicts:
drivers/mmc/core/core.c
drivers/mmc/core/sd.c

12 years agoMerge remote-tracking branch 'leds/for-mm'
Stephen Rothwell [Tue, 27 Sep 2011 03:15:04 +0000 (13:15 +1000)]
Merge remote-tracking branch 'leds/for-mm'

Conflicts:
drivers/leds/Kconfig

12 years agoMerge remote-tracking branch 'battery/master'
Stephen Rothwell [Tue, 27 Sep 2011 03:13:13 +0000 (13:13 +1000)]
Merge remote-tracking branch 'battery/master'

12 years agoMerge branch 'quilt/device-mapper'
Stephen Rothwell [Tue, 27 Sep 2011 03:11:41 +0000 (13:11 +1000)]
Merge branch 'quilt/device-mapper'

12 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:09:33 +0000 (13:09 +1000)]
Merge remote-tracking branch 'block/for-next'

12 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Tue, 27 Sep 2011 03:07:46 +0000 (13:07 +1000)]
Merge remote-tracking branch 'input/next'

12 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Tue, 27 Sep 2011 03:06:27 +0000 (13:06 +1000)]
Merge branch 'quilt/rr'

12 years agoMerge remote-tracking branch 'cpufreq/next'
Stephen Rothwell [Tue, 27 Sep 2011 03:05:05 +0000 (13:05 +1000)]
Merge remote-tracking branch 'cpufreq/next'

12 years agoMerge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:03:45 +0000 (13:03 +1000)]
Merge remote-tracking branch 'sound-asoc/for-next'

12 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 03:01:42 +0000 (13:01 +1000)]
Merge remote-tracking branch 'sound/for-next'

Conflicts:
arch/mips/alchemy/devboards/db1x00/platform.c
sound/mips/Kconfig

12 years agoMerge remote-tracking branch 'crypto/master'
Stephen Rothwell [Tue, 27 Sep 2011 02:56:10 +0000 (12:56 +1000)]
Merge remote-tracking branch 'crypto/master'

12 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Tue, 27 Sep 2011 02:54:51 +0000 (12:54 +1000)]
Merge remote-tracking branch 'l2-mtd/master'

Conflicts:
arch/arm/mach-at91/board-afeb-9260v1.c
arch/arm/mach-at91/board-neocore926.c
arch/arm/mach-at91/board-rm9200dk.c
arch/arm/mach-at91/board-sam9g20ek.c
arch/arm/mach-at91/board-sam9m10g45ek.c
arch/arm/mach-at91/board-usb-a9260.c

12 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Tue, 27 Sep 2011 02:52:50 +0000 (12:52 +1000)]
Merge remote-tracking branch 'bluetooth/master'

12 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Tue, 27 Sep 2011 02:51:12 +0000 (12:51 +1000)]
Merge remote-tracking branch 'wireless/master'

Conflicts:
drivers/net/wireless/iwlwifi/iwl-pci.c
drivers/net/wireless/wl12xx/main.c

12 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Tue, 27 Sep 2011 02:45:16 +0000 (12:45 +1000)]
Merge remote-tracking branch 'net/master'

Conflicts:
arch/powerpc/configs/40x/hcu4_defconfig
drivers/net/wireless/iwlwifi/iwl-scan.c
drivers/s390/cio/qdio_main.c

12 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Tue, 27 Sep 2011 02:34:40 +0000 (12:34 +1000)]
Merge remote-tracking branch 'slave-dma/next'

12 years agoMerge remote-tracking branch 'scsi/master'
Stephen Rothwell [Tue, 27 Sep 2011 02:32:33 +0000 (12:32 +1000)]
Merge remote-tracking branch 'scsi/master'

12 years agoMerge remote-tracking branch 'ibft/master'
Stephen Rothwell [Tue, 27 Sep 2011 02:32:29 +0000 (12:32 +1000)]
Merge remote-tracking branch 'ibft/master'

12 years agoMerge remote-tracking branch 'swiotlb/master'
Stephen Rothwell [Tue, 27 Sep 2011 02:32:23 +0000 (12:32 +1000)]
Merge remote-tracking branch 'swiotlb/master'

12 years agoMerge remote-tracking branch 'ieee1394/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 02:31:06 +0000 (12:31 +1000)]
Merge remote-tracking branch 'ieee1394/for-next'

12 years agoMerge remote-tracking branch 'infiniband/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 02:29:43 +0000 (12:29 +1000)]
Merge remote-tracking branch 'infiniband/for-next'

12 years agoMerge remote-tracking branch 'libata/NEXT'
Stephen Rothwell [Tue, 27 Sep 2011 02:28:26 +0000 (12:28 +1000)]
Merge remote-tracking branch 'libata/NEXT'

12 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Tue, 27 Sep 2011 02:28:21 +0000 (12:28 +1000)]
Merge remote-tracking branch 'kconfig/for-next'