GitHub/moto-9609/android_kernel_motorola_exynos9610.git
17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Tue, 24 Jul 2007 22:57:43 +0000 (15:57 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/sparc-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Mark most of initial bootup asm as .text.init.ref_ok
  [SPARC32]: Fix bug in sparc optimized memset.
  [SPARC64]: Update defconfig.
  [SPARC]: Add missing NOTES section.
  [SPARC32]: missing exports
  [SPARC32]: Deal with rtc/sun_mostek_rtc conflict.

17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 24 Jul 2007 22:57:12 +0000 (15:57 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [8021Q]: vlan_ioctl_handler: fix return value
  [GENETLINK]: Correctly report errors while registering a multicast group
  [GENETLINK]: Fix adjustment of number of multicast groups
  [GENETLINK]: Fix race in genl_unregister_mc_groups()
  [NETFILTER]: Clean up duplicate includes in net/netfilter/
  [NETFILTER]: Clean up duplicate includes in net/bridge/
  [NETFILTER]: Fix logging regression
  [TCPv6] MD5SIG: Ensure to reset allocation count to avoid panic.

17 years ago[8021Q]: vlan_ioctl_handler: fix return value
Andrew Morton [Tue, 24 Jul 2007 22:37:11 +0000 (15:37 -0700)]
[8021Q]: vlan_ioctl_handler: fix return value

net/8021q/vlan.c: In function 'vlan_ioctl_handler':
net/8021q/vlan.c:700: warning: 'err' may be used uninitialized in this function

The warning is incorrect, but from my reading this ioctl will return -EINVAL
on success.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[GENETLINK]: Correctly report errors while registering a multicast group
Thomas Graf [Tue, 24 Jul 2007 22:34:53 +0000 (15:34 -0700)]
[GENETLINK]: Correctly report errors while registering a multicast group

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[GENETLINK]: Fix adjustment of number of multicast groups
Thomas Graf [Tue, 24 Jul 2007 22:33:51 +0000 (15:33 -0700)]
[GENETLINK]: Fix adjustment of number of multicast groups

The current calculation of the maximum number of genetlink
multicast groups seems odd, fix it.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[GENETLINK]: Fix race in genl_unregister_mc_groups()
Thomas Graf [Tue, 24 Jul 2007 22:32:46 +0000 (15:32 -0700)]
[GENETLINK]: Fix race in genl_unregister_mc_groups()

family->mcast_groups is protected by genl_lock so it must
be held while accessing the list in genl_unregister_mc_groups().
Requires adding a non-locking variant of genl_unregister_mc_group().

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Clean up duplicate includes in net/netfilter/
Jesper Juhl [Tue, 24 Jul 2007 22:31:05 +0000 (15:31 -0700)]
[NETFILTER]: Clean up duplicate includes in net/netfilter/

This patch cleans up duplicate includes in
net/netfilter/

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Clean up duplicate includes in net/bridge/
Jesper Juhl [Tue, 24 Jul 2007 22:30:30 +0000 (15:30 -0700)]
[NETFILTER]: Clean up duplicate includes in net/bridge/

This patch cleans up duplicate includes in
net/bridge/

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Fix logging regression
Patrick McHardy [Tue, 24 Jul 2007 22:29:55 +0000 (15:29 -0700)]
[NETFILTER]: Fix logging regression

Loading one of the LOG target fails if a different target has already
registered itself as backend for the same family. This can affect the
ipt_LOG and ipt_ULOG modules when both are loaded.

Reported and tested by: <t.artem@mailcity.com>

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCPv6] MD5SIG: Ensure to reset allocation count to avoid panic.
YOSHIFUJI Hideaki [Tue, 24 Jul 2007 22:27:30 +0000 (15:27 -0700)]
[TCPv6] MD5SIG: Ensure to reset allocation count to avoid panic.

After clearing all passwords for IPv6 peers, we need to
set allocation count to zero as well as we free the storage.
Otherwise, we panic when a user trys to (re)add a password.

Discovered and fixed by MIYAJIMA Mitsuharu <miyajima.mitsuharu@anchor.jp>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Mark most of initial bootup asm as .text.init.ref_ok
David S. Miller [Tue, 24 Jul 2007 22:17:33 +0000 (15:17 -0700)]
[SPARC64]: Mark most of initial bootup asm as .text.init.ref_ok

We can't mark the whole thing init because there are dependencies
in bootloaders that assume that _start, or whatever the image
entry value, is 2 instructions before the "HdrS" signature.

In fact, TILO assumes this entry is always at 0x4000, yikes!

Also, right after the bootloader info area there are OBP strings and
values that get used later in the boot process, and those are not all
provably .init yet.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC32]: Fix bug in sparc optimized memset.
Alexander Shmelev [Tue, 24 Jul 2007 20:41:44 +0000 (13:41 -0700)]
[SPARC32]: Fix bug in sparc optimized memset.

Sparc optimized memset (arch/sparc/lib/memset.S) does not fill last
byte of the memory area, if area size is less than 8 bytes and start
address is not word (4-bytes) aligned.

Here is code chunk where bug located:
/* %o0 - memory address, %o1 - size, %g3 - value */
8:
     add    %o0, 1, %o0
    subcc    %o1, 1, %o1
    bne,a    8b
     stb %g3, [%o0 - 1]

This code should write byte every loop iteration, but last time delay
instruction stb is not executed because branch instruction sets
"annul" bit.

Patch replaces bne,a by bne instruction.

Error can be reproduced by simple kernel module:

--------------------
#include <linux/module.h>
#include <linux/config.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <string.h>

static void do_memset(void **p, int size)
{
        memset(p, 0x00, size);
}

static int __init memset_test_init(void)
{
    char fooc[8];
    int *fooi;
    memset(fooc, 0xba, sizeof(fooc));

    do_memset((void**)(fooc + 3), 1);

    fooi = (int*) fooc;
    printk("%08X %08X\n", fooi[0], fooi[1]);

    return -1;
}

static void __exit memset_test_cleanup(void)
{
    return;
}

module_init(memset_test_init);
module_exit(memset_test_cleanup);

MODULE_LICENSE("GPL");
EXPORT_NO_SYMBOLS;
--------------------

Signed-off-by: Alexander Shmelev <ashmelev@task.sun.mcst.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Update defconfig.
David S. Miller [Mon, 23 Jul 2007 02:25:03 +0000 (19:25 -0700)]
[SPARC64]: Update defconfig.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC]: Add missing NOTES section.
David S. Miller [Mon, 23 Jul 2007 02:19:05 +0000 (19:19 -0700)]
[SPARC]: Add missing NOTES section.

This fixes boot failures when the build-id LD option is
actually used, because without it we end up with multiple
PT_LOAD sections which the SILO boot loader cannot handle.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC32]: missing exports
Al Viro [Sun, 22 Jul 2007 07:38:24 +0000 (00:38 -0700)]
[SPARC32]: missing exports

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC32]: Deal with rtc/sun_mostek_rtc conflict.
Al Viro [Sun, 22 Jul 2007 07:37:48 +0000 (00:37 -0700)]
[SPARC32]: Deal with rtc/sun_mostek_rtc conflict.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoaacraid: fix security hole
Alan Cox [Mon, 23 Jul 2007 13:51:05 +0000 (14:51 +0100)]
aacraid: fix security hole

On the SCSI layer ioctl path there is no implicit permissions check for
ioctls (and indeed other drivers implement unprivileged ioctls). aacraid
however allows all sorts of very admin only things to be done so should
check.

Signed-off-by: Alan Cox <alan@redhat.com>
Acked-by: Mark Salyzyn <mark_salyzyn@adaptec.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Tue, 24 Jul 2007 19:32:12 +0000 (12:32 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/selinux-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
  SELinux: fix memory leak in security_netlbl_cache_add()

17 years agoMerge branch 'request-queue-t' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Tue, 24 Jul 2007 19:26:44 +0000 (12:26 -0700)]
Merge branch 'request-queue-t' of git://git.kernel.dk/linux-2.6-block

* 'request-queue-t' of git://git.kernel.dk/linux-2.6-block:
  [BLOCK] Add request_queue_t and mark it deprecated
  [BLOCK] Get rid of request_queue_t typedef

17 years agoslab: correctly handle __GFP_ZERO
Andrew Morton [Tue, 24 Jul 2007 19:02:40 +0000 (12:02 -0700)]
slab: correctly handle __GFP_ZERO

Use the correct local variable when calling into the page allocator.  Local
`flags' can have __GFP_ZERO set, which causes us to pass __GFP_ZERO into the
page allocator, possibly from illegal contexts.  The page allocator will later
do prep_zero_page()->kmap_atomic(..., KM_USER0) from irq contexts and will
then go BUG.

Cc: Mike Galbraith <efault@gmx.de>
Acked-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoloop.h build fix
Arnd Bergmann [Tue, 24 Jul 2007 01:44:00 +0000 (18:44 -0700)]
loop.h build fix

include/linux/loop.h:66: error: expected specifier-qualifier-list before 'request_queue_t'

Cc: Sebastian Siewior <sebastian@breakpoint.cc>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofix hugetlb page allocation leak
Ken Chen [Tue, 24 Jul 2007 01:44:00 +0000 (18:44 -0700)]
fix hugetlb page allocation leak

dequeue_huge_page() has a serious memory leak upon hugetlb page
allocation.  The for loop continues on allocating hugetlb pages out of
all allowable zone, where this function is supposedly only dequeue one
and only one pages.

Fixed it by breaking out of the for loop once a hugetlb page is found.

Signed-off-by: Ken Chen <kenchen@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agominor gpio doc update
David Brownell [Tue, 24 Jul 2007 01:43:57 +0000 (18:43 -0700)]
minor gpio doc update

Fix doc bug noted by Uwe Kleine-König:  gpio_set_direction() is long
gone, replaced by gpio_direction_input() and gpio_direction_output().

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: <ukleinek@informatik.uni-freiburg.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agolink lguest example launcher non-static
Rusty Russell [Tue, 24 Jul 2007 01:43:56 +0000 (18:43 -0700)]
link lguest example launcher non-static

S.Caglar Onur points out that many distributions don't ship a static
zlib.  Unfortunately the launcher currently maps virtual device memory
where shared libraries want to go.

The solution is to pre-scan the args to figure out how much memory we
have, then allocate devices above that, rather than down from the top
possible address.  This also turns out to be simpler.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofault_inject: silence a warning
Stephen Rothwell [Tue, 24 Jul 2007 01:43:55 +0000 (18:43 -0700)]
fault_inject: silence a warning

lib/fault-inject.c:168: warning: 'debugfs_create_ul_MAX_STACK_TRACE_DEPTH' defined but not used

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix failure exits in asus-laptop
Al Viro [Tue, 24 Jul 2007 01:43:54 +0000 (18:43 -0700)]
Fix failure exits in asus-laptop

Fallout from f8a7c6fe14f556ca8eeddce258cb21392d0c3a2f.  However, looking
at it shows that checks done in ASUS_LED_UNREGISTER() can't trigger
at all (we never get to asus_led_exit() if registration fails) and
if that registration fails, we actually leak stuff.  IOW, it's worse
than just replacing class_dev with dev in there - the tests themselves
had been papering over the lousy cleanup logics.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
Cc: Corentin Chary <corentincj@iksaif.net>
Cc: Karol Kozimor <sziwan@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoinclude/asm-xtensa/io.h must #include <asm/page.h>
Adrian Bunk [Tue, 24 Jul 2007 01:43:54 +0000 (18:43 -0700)]
include/asm-xtensa/io.h must #include <asm/page.h>

  CC      kernel/time/clocksource.o
In file included from
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/clocksource.h:18,
                 from
/home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/kernel/time/clocksource.c:27:
include2/asm/io.h: In function 'virt_to_phys':
include2/asm/io.h:46: error: implicit declaration of function '__pa'
include2/asm/io.h: In function 'phys_to_virt':
include2/asm/io.h:51: error: implicit declaration of function '__va'
include2/asm/io.h:51: warning: return makes pointer from integer without a cast
make[3]: *** [kernel/time/clocksource.o] Error 1

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Christian Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agospusched: fix mismerge in spufs.h
Christoph Hellwig [Tue, 24 Jul 2007 01:43:53 +0000 (18:43 -0700)]
spusched: fix mismerge in spufs.h

spufs.h now has two enums for the sched_flags leading to identical
values for SPU_SCHED_WAS_ACTIVE and SPU_SCHED_NOTIFY_ACTIVE.  Merge
them into a single enum as they were in the IBM development tree.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agonfsd: fix possible oops on re-insertion of rpcsec_gss modules
J. Bruce Fields [Tue, 24 Jul 2007 01:43:52 +0000 (18:43 -0700)]
nfsd: fix possible oops on re-insertion of rpcsec_gss modules

The handling of the re-registration case is wrong here; the "test" that was
returned from auth_domain_lookup will not be used again, so that reference
should be put.  And auth_domain_lookup never did anything with "new" in
this case, so we should just clean it up ourself.

Thanks to Akinobu Mita for bug report, analysis, and testing.

Cc: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: "J. Bruce Fields" <bfields@citi.umich.edu>
Cc: Neil Brown <neilb@suse.de>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix Au1100 fb dependencies, add helptext
Ralf Baechle [Tue, 24 Jul 2007 01:43:50 +0000 (18:43 -0700)]
Fix Au1100 fb dependencies, add helptext

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agouml: more __init annotations
Jeff Dike [Tue, 24 Jul 2007 01:43:48 +0000 (18:43 -0700)]
uml: more __init annotations

2.6.23-rc1 turned up another batch of references from non-__init code to
__init code.  In most cases, these were missing __init annotations.  In one
case (os_drop_memory), the annotation was present but wrong.

init_maps is __init, but for some reason was being very careful about the
mechanism by which it allocated memory, checking whether it was OK to use
kmalloc (at this point in the boot, it definitely isn't) and using either
alloc_bootmem_low_pages or kmalloc/vmalloc.  So, the kmalloc/vmalloc code is
removed.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agouml: fix aio compilation bug
Jeff Dike [Tue, 24 Jul 2007 01:43:47 +0000 (18:43 -0700)]
uml: fix aio compilation bug

Restructure do_aio thanks to commments from Ulrich and Al.

Uli started this by seeing that UML's initialization of a struct iocb
initialized fields that it shouldn't.

Al followed up by adding the following cleanups:
eliminating a variable by just using an anonymous structure in
its place.
hoisting a duplicated line out of the switch.
simplifying the error checking at the end.

I added a severity to the printk.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Ulrich Drepper <drepper@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agouml: fix string exporting on UML/i386
Jeff Dike [Tue, 24 Jul 2007 01:43:46 +0000 (18:43 -0700)]
uml: fix string exporting on UML/i386

In 2.6.23-rc1, i386 fiddled its string support such that UML started getting
undefined references from modules.  The UML asm/string.h was including the
i386 string.h, which defined __HAVE_ARCH_STR*, but the corresponding
implementations weren't being pulled in.

This is fixed by adding arch/i386/lib/string.h to the list of host
architecture files to be pulled in to UML.

A complication is that the libc exports file assumed that the generic strlen
and strstr weren't in use (i.e.  __HAVE_ARCH_STR is defined), then they aren't
exported.  This is untrue for strlen, which is exported in either case, so
this logic is not needed.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofallocate syscall interface deficiency
Ulrich Drepper [Tue, 24 Jul 2007 01:43:46 +0000 (18:43 -0700)]
fallocate syscall interface deficiency

The fallocate syscall returns ENOSYS in case the filesystem does not support
the operation and expects the userlevel code to fill in.  This is good in
concept.

The problem is that the libc code for old kernels should be able to
distinguish the case where the syscall is not at all available vs not
functioning for a specific mount point.  As is this is not possible and we
always have to invoke the syscall even if the kernel doesn't support it.

I suggest the following patch.  Using EOPNOTSUPP is IMO the right thing to do.

Cc: Amit Arora <aarora@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoUse resource_size_t for serial port IO addresses
Josh Boyer [Tue, 24 Jul 2007 01:43:44 +0000 (18:43 -0700)]
Use resource_size_t for serial port IO addresses

At present, various parts of the serial code use unsigned long to define
resource addresses.  This is a problem, because some 32-bit platforms have
physical addresses larger than 32-bits, and have mmio serial uarts located
above the 4GB point.

This patch changes the type of mapbase in both struct uart_port and struct
plat_serial8250_port to resource_size_t, which can be configured to be 64
bits on such platforms.  The mapbase in serial_struct can't safely be
changed, because that structure is user visible.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[BLOCK] Add request_queue_t and mark it deprecated
Jens Axboe [Tue, 24 Jul 2007 08:29:42 +0000 (10:29 +0200)]
[BLOCK] Add request_queue_t and mark it deprecated

Andrew thinks I should be nice and allow outside code to at least just
compile, so add the request_queue_t typedef back and mark it deprecated.
It'll warn people that this type is going away soonish.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years ago[BLOCK] Get rid of request_queue_t typedef
Jens Axboe [Tue, 24 Jul 2007 07:28:11 +0000 (09:28 +0200)]
[BLOCK] Get rid of request_queue_t typedef

Some of the code has been gradually transitioned to using the proper
struct request_queue, but there's lots left. So do a full sweet of
the kernel and get rid of this typedef and replace its uses with
the proper type.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
17 years agoSELinux: fix memory leak in security_netlbl_cache_add()
Jesper Juhl [Fri, 20 Jul 2007 22:12:44 +0000 (00:12 +0200)]
SELinux: fix memory leak in security_netlbl_cache_add()

Fix memory leak in security_netlbl_cache_add()
Note: The Coverity checker gets credit for spotting this one.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: James Morris <jmorris@namei.org>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
17 years agoLinux 2.6.23-rc1
Linus Torvalds [Sun, 22 Jul 2007 20:41:00 +0000 (13:41 -0700)]
Linux 2.6.23-rc1

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: Rename CF Makefile variable in vdso
Andi Kleen [Sun, 22 Jul 2007 19:13:11 +0000 (21:13 +0200)]
x86_64: Rename CF Makefile variable in vdso

This avoids a conflict with sparse builds.

Reported by Alexey Dobriyan, fix suggested by Al Viro

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago9p: Don't use binary sysctl numbers.
Eric W. Biederman [Sat, 21 Jul 2007 18:53:19 +0000 (12:53 -0600)]
9p: Don't use binary sysctl numbers.

The recent 9p commit: bd238fb431f31989898423c8b6496bc8c4204a86 that
supposedly only moved files also introduced a new 9p sysctl interface
that did not properly register it's sysctl binary numbers.

And since it was only for debugging clearly did not need a binary fast
path in any case.  So this patch just remove the binary numbers.

See Documentation/sysctl/ctl_unnumbered.txt for more details.

While I was at it I cleaned up the sysctl initializers a little as
well so there is less to read.

Cc: Latchesar Ionkov <lucho@ionkov.net>
Cc: Eric Van Hensbergen <ericvh@gmail.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoDocumentation: Fix a mispelt "probably" in SubmittingPatches.
Linus Nilsson [Sat, 21 Jul 2007 15:49:06 +0000 (17:49 +0200)]
Documentation: Fix a mispelt "probably" in SubmittingPatches.

Fix a typo in SubmittingPatches where "probably" was spelt "probabally".

Signed-off-by: Linus Nilsson <lajnold@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoDocBook: Change a headline in kernel-locking to list all three main types of locking.
Linus Nilsson [Sat, 21 Jul 2007 15:25:34 +0000 (17:25 +0200)]
DocBook: Change a headline in kernel-locking to list all three main types of locking.

Change a headline to reflect that there are three main types of kernel
locking, not two.

Signed-off-by: Linus Nilsson <lajnold@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Sun, 22 Jul 2007 18:45:17 +0000 (11:45 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/ehca: Support small QP queues
  IB/ehca: Make internal_create/destroy_qp() static
  IB/ehca: Move ehca2ib_return_code() out of line
  IB/ehca: Generate async event when SRQ limit reached
  IB/ehca: Support large page MRs
  IB/mlx4: Fix error path in create_qp_common()
  mlx4_core: Change command token on timeout
  IB/mthca: Change command token on timeout
  IB/ipath: Remove ipath_layer dead code
  IB/mlx4: Fix leaks in __mlx4_ib_modify_qp

17 years agotake declarations of enable_irq() et.al. to linux/interrupt.h
Al Viro [Sat, 21 Jul 2007 22:29:12 +0000 (23:29 +0100)]
take declarations of enable_irq() et.al. to linux/interrupt.h

Now that the last inlined instances are gone, all that is left to do
is turning disable_irq_nosync on arm26 and m68k from defines to aliases
and we are all set - we can make these externs in linux/interrupt.h
uncoditional and kill remaining instances in asm/irq.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Linus Torvalds [Sun, 22 Jul 2007 18:36:49 +0000 (11:36 -0700)]
Merge /pub/scm/linux/kernel/git/jejb/scsi-misc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (60 commits)
  [SCSI] libsas: make ATA functions selectable by a config option
  [SCSI] bsg: unexport sg v3 helper functions
  [SCSI] bsg: fix bsg_unregister_queue
  [SCSI] bsg: make class backlinks
  [SCSI] 3w-9xxx: add support for 9690SA
  [SCSI] bsg: fix bsg_register_queue error path
  [SCSI] ESP: Increase ESP_BUS_TIMEOUT to 275.
  [SCSI] libsas: fix scr_read/write users and update the libata documentation
  [SCSI] mpt fusion: update Kconfig help
  [SCSI] scsi_transport_sas: add destructor for bsg
  [SCSI] iscsi_tcp: buggered kmalloc()
  [SCSI] qla2xxx: Update version number to 8.02.00-k2.
  [SCSI] qla2xxx: Add ISP25XX support.
  [SCSI] qla2xxx: Use pci_try_set_mwi().
  [SCSI] qla2xxx: Use PCI-X/PCI-Express read control interfaces.
  [SCSI] qla2xxx: Re-factor isp_operations to static structures.
  [SCSI] qla2xxx: Validate mid-layer 'underflow' during check-condition handling.
  [SCSI] qla2xxx: Correct setting of 'current' and 'supported' speeds during FDMI registration.
  [SCSI] qla2xxx: Generalize iIDMA support.
  [SCSI] qla2xxx: Generalize FW-Interface-2 support.
  ...

17 years ago[SCSI] libsas: make ATA functions selectable by a config option
James Bottomley [Sun, 22 Jul 2007 18:15:55 +0000 (13:15 -0500)]
[SCSI] libsas: make ATA functions selectable by a config option

Not everyone wants libsas automatically to pull in libata.  This patch
makes the behaviour configurable, so you can build libsas with or
without ATA support.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
17 years agoMerge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Sun, 22 Jul 2007 18:22:59 +0000 (11:22 -0700)]
Merge branch 'devel' of /home/rmk/linux-2.6-arm

* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (60 commits)
  [ARM] 4524/1: S3C: Move register out of include/asm-arm/arch-s3c2410
  [ARM] 4523/1: S3C: Remove FIFO_MAX from uncompression headers
  [ARM] 4522/1: S3C: split include/asm-arm/arch/memory.h
  [ARM] 4521/2: S3C: Reorganise VA mapping headers
  [ARM] 4520/1: S3C: Remove old VA values from static map
  [ARM] 4519/1: S3C: split S3C2400 values out of S3C24XX map.h
  [ARM] 4518/1: S3C: Rename watchdog configuration options
  [ARM] 4517/1: S3C: Fix debug macros for ARM926 output
  [ARM] 4516/1: S3C: Fix uncompressor serial output for ARM926
  [ARM] 4515/1: S3C: Move uncompress code to plat-s3c
  [ARM] 4514/1: S3C: Rename DEBUG_S3C2410_PORT and DEBUG_S3C_UART
  [ARM] 4513/1: S3C: Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT
  [ARM] 4512/1: S3C: rename the debug macros for per-cpu updates
  [ARM] 4511/1: S3C: updated LLSERIAL Kconfig defines for CPU support
  [ARM] 4510/1: S3C: split debug-macro support into plat-s3c
  [ARM] 4509/1: S3C: Create initial arch/arm/plat-s3c
  [ARM] 4508/1: S3C: Move items to include/asm-arm/plat-s3c
  [ARM] 4461/1: MXC platform and i.MX31ADS core support
  [ARM] 4507/1: pxa2xx clock_event_device
  [ARM] 4497/1: Only allow safe cache configurations on ARMv6 and later
  ...

17 years agoMerge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds
Linus Torvalds [Sun, 22 Jul 2007 18:22:01 +0000 (11:22 -0700)]
Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds

* 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds:
  leds: Convert from struct class_device to struct device
  leds: leds-gpio for ngw100
  leds: Add warning printks in error paths
  leds: Fix trigger unregister_simple if register_simple fails
  leds: Use menuconfig objects II - LED
  leds: Teach leds-gpio to handle timer-unsafe GPIOs
  leds: Add generic GPIO LED driver

17 years agoMerge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight
Linus Torvalds [Sun, 22 Jul 2007 18:19:46 +0000 (11:19 -0700)]
Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight

* 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
  leds: cr_bllcd.c: build fix
  backlight: Convert from struct class_device to struct device
  backlight: Fix order of Kconfig entries

17 years agoMerge branch 'audit.b39' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit...
Linus Torvalds [Sun, 22 Jul 2007 18:18:20 +0000 (11:18 -0700)]
Merge branch 'audit.b39' of git://git./linux/kernel/git/viro/audit-current

* 'audit.b39' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
  [PATCH] get rid of AVC_PATH postponed treatment
  [PATCH] allow audit filtering on bit & operations
  [PATCH] audit: fix broken class-based syscall audit
  [PATCH] Make IPC mode consistent

17 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Sun, 22 Jul 2007 18:17:35 +0000 (11:17 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  [POWERPC] Clean up duplicate includes in drivers/macintosh/
  [POWERPC] Quiet section mismatch warning on pcibios_setup
  [POWERPC] init and exit markings for hvc_iseries
  [POWERPC] Quiet section mismatch in hvc_rtas.c
  [POWERPC] Constify of_platform_driver match_table
  [POWERPC] hvcs: Make some things static and const
  [POWERPC] Constify of_platform_driver name
  [POWERPC] MPIC protected sources
  [POWERPC] of_detach_node()'s device node argument cannot be const
  [POWERPC] Fix ARCH=ppc builds
  [POWERPC] mv64x60: Use mutex instead of semaphore
  [POWERPC] Allow smp_call_function_single() to current cpu
  [POWERPC] Allow exec faults on readable areas on classic 32-bit PowerPC
  [POWERPC] Fix future firmware feature fixups function failure
  [POWERPC] fix showing xmon help
  [POWERPC] Make xmon_write accept a const buffer
  [POWERPC] Fix misspelled "CONFIG_CHECK_CACHE_COHERENCY" Kconfig option.
  [POWERPC] cell: CONFIG_SPE_BASE is a typo

17 years agox86_64: Fix xen section warnings
Andi Kleen [Sun, 22 Jul 2007 11:21:42 +0000 (13:21 +0200)]
x86_64: Fix xen section warnings

Fix

WARNING: vmlinux.o(.data+0x99): Section mismatch: reference to .init.text:xen_start_kernel (between 'startup_xen' and 'boot_gdt_descr')

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: Fix paravirt compilation
Andi Kleen [Sun, 22 Jul 2007 11:21:41 +0000 (13:21 +0200)]
x86_64: Fix paravirt compilation

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofix broken handling of port=... in NFS option parsing
Al Viro [Sun, 22 Jul 2007 09:59:06 +0000 (10:59 +0100)]
fix broken handling of port=... in NFS option parsing

Obviously broken on little-endian; fortunately, the option is not
frequently used...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
[ Hey, sparse is wonderful, but even better than sparse is having people
  like Al that actually _run_ it and fix bugs using it.    - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoKVM: Require CONFIG_ANON_INODES
Avi Kivity [Sun, 22 Jul 2007 09:40:30 +0000 (12:40 +0300)]
KVM: Require CONFIG_ANON_INODES

Found by Sebastian Siewior and randconfig.

Signed-off-by: Avi Kivity <avi@qumranet.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Sun, 22 Jul 2007 18:04:11 +0000 (11:04 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (77 commits)
  ACPI: Populate /sys/firmware/acpi/tables/
  ACPI: create CONFIG_ACPI_DEBUG_FUNC_TRACE
  ACPI: update ACPI proc I/F removal schedule
  ACPI: update feature-removal-schedule.txt, /sys/firmware/acpi/namespace is gone
  ACPI: export ACPI events via acpi_mc_group multicast group
  ACPI: fix empty macros found by -Wextra
  ACPI: drivers/acpi/pci_link.c: lower printk severity
  sony-laptop: Fix event reading in sony-laptop
  sony-laptop: Add Vaio FE to the special init sequence
  sony-laptop: Make the driver use MSC_SCAN and a setkeycode and getkeycode key table.
  sony-laptop: Invoke _INI for SNC devices that provide it
  sony-laptop: Add support for recent Vaios Fn keys (C series for now)
  sony-laptop: map wireless switch events to KEY_WLAN
  sony-laptop: add new SNC handlers
  ACPI: thinkpad-acpi: add locking to brightness subdriver
  ACPI: thinkpad-acpi: bump up version to 0.15
  ACPI: thinkpad-acpi: make EC-based thermal readings non-experimental
  ACPI: thinkpad-acpi: make sure DSDT TMPx readings don't return +128
  ACPI: thinkpad-acpi: react to Lenovo ThinkPad differences in hot key
  ACPI: thinkpad-acpi: allow use of CMOS NVRAM for brightness control
  ...

17 years agox86_64: Share msidef.h and hypertransport.h includes with i386
Andi Kleen [Sun, 22 Jul 2007 09:12:47 +0000 (11:12 +0200)]
x86_64: Share msidef.h and hypertransport.h includes with i386

They are identical

Indirectly pointed out by Thomas Gleixner

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: Remove outdated comment in boot decompressor Makefile
Andi Kleen [Sun, 22 Jul 2007 09:12:46 +0000 (11:12 +0200)]
x86_64: Remove outdated comment in boot decompressor Makefile

64bit code in there now since some time.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: Squash initial_code modpost warnings
Andi Kleen [Sun, 22 Jul 2007 09:12:45 +0000 (11:12 +0200)]
x86_64: Squash initial_code modpost warnings

Get rid of warnings like

WARNING: vmlinux.o(.bootstrap.text+0x1a8): Section mismatch: reference to .init.text:x86_64_start_kernel (between 'initial_code' and 'init_rsp')

- Move initialization code into .text.head like i386 because modpost knows about this already
- Mark initial_code .initdata

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: fix section mismatch warning in init.c
Sam Ravnborg [Sun, 22 Jul 2007 09:12:44 +0000 (11:12 +0200)]
x86_64: fix section mismatch warning in init.c

Fix following warning:
WARNING: vmlinux.o(.text+0x188ea): Section mismatch: reference to .init.text:__alloc_bootmem_core (between 'alloc_bootmem_high_node' and 'get_gate_vma')

alloc_bootmem_high_node() is only used from __init scope so declare it __init.
And in addition declare the weak variant __init too.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: fix section mismatch warning in hpet.c
Sam Ravnborg [Sun, 22 Jul 2007 09:12:42 +0000 (11:12 +0200)]
x86_64: fix section mismatch warning in hpet.c

Fix following warnings:
WARNING: vmlinux.o(.text+0x945e): Section mismatch: reference to .init.text:__set_fixmap (between 'hpet_arch_init' and 'hpet_mask_rtc_irq_bit')
WARNING: vmlinux.o(.text+0x9474): Section mismatch: reference to .init.text:__set_fixmap (between 'hpet_arch_init' and 'hpet_mask_rtc_irq_bit')

hpet_arch_init is only used from __init context so mark it __init.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Fix the K7 NMI watchdog checkbit
Björn Steinbrink [Sun, 22 Jul 2007 09:12:41 +0000 (11:12 +0200)]
i386: Fix the K7 NMI watchdog checkbit

The performance counters on K7 are only 48 bits wide, so using bit 63 to
check if the counter overflowed is wrong. Let's use bit 47 instead.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Cc: Don Zickus <dzickus@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Use patchable lock prefix in set_64bit
Andi Kleen [Sun, 22 Jul 2007 09:12:40 +0000 (11:12 +0200)]
i386: Use patchable lock prefix in set_64bit

Previously lock was unconditionally used, but shouldn't be needed on
UP systems.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Handle P6s without performance counters in nmi watchdog
Andi Kleen [Sun, 22 Jul 2007 09:12:39 +0000 (11:12 +0200)]
i386: Handle P6s without performance counters in nmi watchdog

I got an oops while booting a 32bit kernel on KVM because it doesn't
implement performance counters used by the NMI watchdog. Handle this
case.

Cc: Avi Kivity <avi@qumranet.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86: Replace NSC/Cyrix specific chipset access macros by inlined functions.
Juergen Beisert [Sun, 22 Jul 2007 09:12:38 +0000 (11:12 +0200)]
x86: Replace NSC/Cyrix specific chipset access macros by inlined functions.

Due to index register access ordering problems, when using macros a line
like this fails (and does nothing):

setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x88);

With inlined functions this line will work as expected.

Note about a side effect: Seems on Geode GX1 based systems the
"suspend on halt power saving feature" was never enabled due to this
wrong macro expansion. With inlined functions it will be enabled, but
this will stop the TSC when the CPU runs into a HLT instruction.
Kernel output something like this:
Clocksource tsc unstable (delta = -472746897 ns)

This is the 3rd version of this patch.

 - Adding missed arch/i386/kernel/cpu/mtrr/state.c
Thanks to Andres Salomon
 - Adding some big fat comments into the new header file
  Suggested by Andi Kleen

AK: fixed x86-64 compilation

Signed-off-by: Juergen Beisert <juergen@kreuzholzen.de>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: x86_64 - Use non locked version for local_cmpxchg()
Mathieu Desnoyers [Sun, 22 Jul 2007 09:12:37 +0000 (11:12 +0200)]
x86_64: x86_64 - Use non locked version for local_cmpxchg()

local_cmpxchg() should not use any LOCK prefix.  This change probably
got lost in the move to cmpxchg.h.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Acked-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Do not include other cpus' interrupt 0 in nmi_watchdog
Keith Owens [Sun, 22 Jul 2007 09:12:36 +0000 (11:12 +0200)]
i386: Do not include other cpus' interrupt 0 in nmi_watchdog

kstat_irqs(0) includes the count of interrupt 0 from all cpus, not just
the current cpu.  The updated interrupt 0 on other cpus can stop the
nmi_watchdog from tripping, so only include the current cpu's int 0.

Signed-off-by: Keith Owens <kaos@ocs.com.au>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Tune AMD Fam10h/11h like K8
Andi Kleen [Sun, 22 Jul 2007 09:12:35 +0000 (11:12 +0200)]
i386: Tune AMD Fam10h/11h like K8

This mainly changes the nops for alternative, so not very revolutionary.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: Set K8 CPUID flag for K8/Fam10h/Fam11h
Andi Kleen [Sun, 22 Jul 2007 09:12:34 +0000 (11:12 +0200)]
x86_64: Set K8 CPUID flag for K8/Fam10h/Fam11h

Previously this flag was only used on 32bit, but some shared code can use
it now.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Fix cpu_llc_id section mismatch warning
Andi Kleen [Sun, 22 Jul 2007 09:12:33 +0000 (11:12 +0200)]
i386: Fix cpu_llc_id section mismatch warning

Fix

WARNING: arch/i386/kernel/built-in.o(.text+0xdd0d): Section mismatch: reference to .init.data:cpu_llc_id (between 'set_cpu_sibling_map' and 'initialize_secondary')
WARNING: arch/i386/kernel/built-in.o(.text+0xdd1b): Section mismatch: reference to .init.data:cpu_llc_id (between 'set_cpu_sibling_map' and 'initialize_secondary')

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86: Stop MCEs and NMIs during code patching
Andi Kleen [Sun, 22 Jul 2007 09:12:32 +0000 (11:12 +0200)]
x86: Stop MCEs and NMIs during code patching

When a machine check or NMI occurs while multiple byte code is patched
the CPU could theoretically see an inconsistent instruction and crash.
Prevent this by temporarily disabling MCEs and returning early in the
NMI handler.

Based on discussion with Mathieu Desnoyers.

Cc: Mathieu Desnoyers <compudj@krystal.dyndns.org>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86: Fix alternatives and kprobes to remap write-protected kernel text
Andi Kleen [Sun, 22 Jul 2007 09:12:31 +0000 (11:12 +0200)]
x86: Fix alternatives and kprobes to remap write-protected kernel text

Reenable kprobes and alternative patching when the kernel text is write
protected by DEBUG_RODATA

Add a general utility function to change write protected text.  The new
function remaps the code using vmap to write it and takes care of CPU
synchronization.  It also does CLFLUSH to make icache recovery faster.

There are some limitations on when the function can be used, see the
comment.

This is a newer version that also changes the paravirt_ops code.
text_poke also supports multi byte patching now.

Contains bug fixes from Zach Amsden and suggestions from Mathieu
Desnoyers.

Cc: Jan Beulich <jbeulich@novell.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Mathieu Desnoyers <compudj@krystal.dyndns.org>
Cc: Zach Amsden <zach@vmware.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: Use read and write crX in .c files
Glauber de Oliveira Costa [Sun, 22 Jul 2007 09:12:29 +0000 (11:12 +0200)]
x86_64: Use read and write crX in .c files

This patch uses the read and write functions provided at system.h
for control registers instead of writting raw assembly over and
over again in .c files. Functions to manipulate cr2 and cr8 were
provided, as they were lacking.

Also, removed some extra space after closing brackets

Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86: i386-show-unhandled-signals-v3
Masoud Asgharifard Sharbiani [Sun, 22 Jul 2007 09:12:28 +0000 (11:12 +0200)]
x86: i386-show-unhandled-signals-v3

This patch makes the i386 behave the same way that x86_64 does when a
segfault happens.  A line gets printed to the kernel log so that tools
that need to check for failures can behave more uniformly between
debug.show_unhandled_signals sysctl variable to 0 (or by doing echo 0 >
/proc/sys/debug/exception-trace)

Also, all of the lines being printed are now using printk_ratelimit() to
deny the ability of DoS from a local user with a program like the
following:

main()
{
       while (1)
               if (!fork()) *(int *)0 = 0;
}

This new revision also includes the fix that Andrew did which got rid of
new sysctl that was added to the system in earlier versions of this.
Also, 'show-unhandled-signals' sysctl has been renamed back to the old
'exception-trace' to avoid breakage of people's scripts.

AK: Enabling by default for i386 will be likely controversal, but let's see what happens
AK: Really folks, before complaining just fix your segfaults
AK: I bet this will find a lot of silent issues

Signed-off-by: Masoud Sharbiani <masouds@google.com>
Signed-off-by: Andi Kleen <ak@suse.de>
[ Personally, I've found the complaints useful on x86-64, so I'm all for
  this. That said, I wonder if we could do it more prettily..   -Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix ppc64 mismerge
Al Viro [Sun, 22 Jul 2007 07:10:35 +0000 (08:10 +0100)]
Fix ppc64 mismerge

Fix a mismerge in commit 8b6f50ef1d5cc86b278eb42bc91630fad455fb10:
"spufs: make signal-notification files readonly for NOSCHED contexts",
where structs got duplicated.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branches 'at91', 'imx', 'iop', 'ixp', 'ks8695', 'misc', 'ns9xxx', 'pxa' and...
Russell King [Sun, 22 Jul 2007 16:09:17 +0000 (17:09 +0100)]
Merge branches 'at91', 'imx', 'iop', 'ixp', 'ks8695', 'misc', 'ns9xxx', 'pxa' and 's3c' into devel

17 years ago[ARM] 4524/1: S3C: Move register out of include/asm-arm/arch-s3c2410
Ben Dooks [Sun, 22 Jul 2007 15:23:02 +0000 (16:23 +0100)]
[ARM] 4524/1: S3C: Move register out of include/asm-arm/arch-s3c2410

Move register and other definitions out of the
include/asm-arm/arch-s3c2410 into the the arch
directories of include/asm-arm/plat-s3c24xx and
include/asm-arm/plat-s3c.

This move is in preperation of the merging of
s3c2400 and s3c6400.

The following git mv commands are needed before
this patch can be applied:

git mv include/asm-arm/arch-s3c2410/regs-ac97.h include/asm-arm/plat-s3c/regs-ac97.h
git mv include/asm-arm/arch-s3c2410/regs-adc.h include/asm-arm/plat-s3c/regs-adc.h
git mv include/asm-arm/arch-s3c2410/regs-iis.h include/asm-arm/plat-s3c24xx/regs-iis.h
git mv include/asm-arm/arch-s3c2410/regs-spi.h include/asm-arm/plat-s3c24xx/regs-spi.h
git mv include/asm-arm/arch-s3c2410/regs-udc.h include/asm-arm/plat-s3c24xx/regs-udc.h
git mv include/asm-arm/arch-s3c2410/udc.h include/asm-arm/plat-s3c24xx/udc.h

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4523/1: S3C: Remove FIFO_MAX from uncompression headers
Ben Dooks [Sun, 22 Jul 2007 15:22:06 +0000 (16:22 +0100)]
[ARM] 4523/1: S3C: Remove FIFO_MAX from uncompression headers

We've fixed up a number of faults with the uncompressors
so remove the now unused FIFO_MAX as it is not needed.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4522/1: S3C: split include/asm-arm/arch/memory.h
Ben Dooks [Sun, 22 Jul 2007 15:21:21 +0000 (16:21 +0100)]
[ARM] 4522/1: S3C: split include/asm-arm/arch/memory.h

Split the S3C2400 out of S3C2410 memory.h files
ready for S3C2400 support to be added.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4521/2: S3C: Reorganise VA mapping headers
Ben Dooks [Sun, 22 Jul 2007 15:59:44 +0000 (16:59 +0100)]
[ARM] 4521/2: S3C: Reorganise VA mapping headers

Reorganise the definition of the virtual addresses
used into a common header and update the users to
rename S3C2410 items into a more common S3C defined
macros.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4520/1: S3C: Remove old VA values from static map
Ben Dooks [Sun, 22 Jul 2007 15:20:04 +0000 (16:20 +0100)]
[ARM] 4520/1: S3C: Remove old VA values from static map

Remove the static maps for the LCD and USB devices.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4519/1: S3C: split S3C2400 values out of S3C24XX map.h
Ben Dooks [Sun, 22 Jul 2007 15:18:22 +0000 (16:18 +0100)]
[ARM] 4519/1: S3C: split S3C2400 values out of S3C24XX map.h

Move the S3C2400 values to their own include directory
series in include/asm-arm/arch-s3c2400 as the support
for the S3C2400 is best placed in its own arch directory.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4518/1: S3C: Rename watchdog configuration options
Ben Dooks [Sun, 22 Jul 2007 15:16:51 +0000 (16:16 +0100)]
[ARM] 4518/1: S3C: Rename watchdog configuration options

Rename the S3C24XX configuration options for the watchdog
boot controls for moving to the arch/arm/plat-s3c moves.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4517/1: S3C: Fix debug macros for ARM926 output
Ben Dooks [Sun, 22 Jul 2007 15:15:44 +0000 (16:15 +0100)]
[ARM] 4517/1: S3C: Fix debug macros for ARM926 output

Check for ARM926 based S3C24XX based devices as these
only have 64 byte FIFOs, and do not have the model
detection refisters in the same place as the ARM920
based CPUs

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4516/1: S3C: Fix uncompressor serial output for ARM926
Ben Dooks [Sun, 22 Jul 2007 15:14:02 +0000 (16:14 +0100)]
[ARM] 4516/1: S3C: Fix uncompressor serial output for ARM926

Ensure we check for ARM926 in the uncompressor, as all current
ARM926s do not have an ID register and all have S3C2440 style
UARTs.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4515/1: S3C: Move uncompress code to plat-s3c
Ben Dooks [Sun, 22 Jul 2007 15:13:29 +0000 (16:13 +0100)]
[ARM] 4515/1: S3C: Move uncompress code to plat-s3c

Move the uncompress.h to plat-s3c

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4514/1: S3C: Rename DEBUG_S3C2410_PORT and DEBUG_S3C_UART
Ben Dooks [Sun, 22 Jul 2007 15:12:04 +0000 (16:12 +0100)]
[ARM] 4514/1: S3C: Rename DEBUG_S3C2410_PORT and DEBUG_S3C_UART

Rename DEBUG_S3C2410_PORT to DEBUG_S3C_PORT as well as
DEBUG_S3C2410_UART to DEBUG_S3C_UART as part of the updates
to moving to plat-s3c for S3C base support.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4513/1: S3C: Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT
Ben Dooks [Sun, 22 Jul 2007 15:11:20 +0000 (16:11 +0100)]
[ARM] 4513/1: S3C: Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT

Rename CONFIG_S3C2410_LOWLEVEL_UART_PORT to be
CONFIG_S3C_LOWLEVEL_UART_PORT as we move to using
plat-s3c for base of S3C operations.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4512/1: S3C: rename the debug macros for per-cpu updates
Ben Dooks [Sun, 22 Jul 2007 15:10:23 +0000 (16:10 +0100)]
[ARM] 4512/1: S3C: rename the debug macros for per-cpu updates

Update the debug macros for use with the new per-cpu
configuration and usage.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4511/1: S3C: updated LLSERIAL Kconfig defines for CPU support
Ben Dooks [Sun, 22 Jul 2007 15:09:44 +0000 (16:09 +0100)]
[ARM] 4511/1: S3C: updated LLSERIAL Kconfig defines for CPU support

Update the Kconfig to create configuration options based on which
CPUs are supported for the low level serial code. This means that
the debug macros can be optimised for the type(s) of CPU that are
being used.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4510/1: S3C: split debug-macro support into plat-s3c
Ben Dooks [Sun, 22 Jul 2007 15:08:48 +0000 (16:08 +0100)]
[ARM] 4510/1: S3C: split debug-macro support into plat-s3c

Move the common parts of the debug macros into include/asm-arm/plat-s3c
ready to be used for the common S3C support.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4509/1: S3C: Create initial arch/arm/plat-s3c
Ben Dooks [Sun, 22 Jul 2007 15:07:09 +0000 (16:07 +0100)]
[ARM] 4509/1: S3C: Create initial arch/arm/plat-s3c

Create the initial arch/arm/plat-s3c directory and start
linking it into the arch/arm build heirarchy ready to
receive the generic parts of the S3C24XX support to be
used when adding S3C6400 devices.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4508/1: S3C: Move items to include/asm-arm/plat-s3c
Ben Dooks [Sun, 22 Jul 2007 15:05:25 +0000 (16:05 +0100)]
[ARM] 4508/1: S3C: Move items to include/asm-arm/plat-s3c

This patch moves items of the s3c24xx support into
a new plat-s3c directory for items that use the
s3c24xx support but are not directly s3c24xx
compatible, such as the s3c2400 and s3c6400.

git mv commands:
git mv include/asm-arm/arch-s3c2410/iic.h include/asm-arm/plat-s3c/iic.h
git mv include/asm-arm/arch-s3c2410/nand.h include/asm-arm/plat-s3c/nand.h
git mv include/asm-arm/arch-s3c2410/regs-iic.h include/asm-arm/plat-s3c/regs-iic.h
git mv include/asm-arm/arch-s3c2410/regs-nand.h include/asm-arm/plat-s3c/regs-nand.h
git mv include/asm-arm/arch-s3c2410/regs-rtc.h include/asm-arm/plat-s3c/regs-rtc.h
git mv include/asm-arm/arch-s3c2410/regs-serial.h include/asm-arm/plat-s3c/regs-serial.h
git mv include/asm-arm/arch-s3c2410/regs-timer.h include/asm-arm/plat-s3c/regs-timer.h
git mv include/asm-arm/arch-s3c2410/regs-watchdog.h include/asm-arm/plat-s3c/regs-watchdog.h

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4461/1: MXC platform and i.MX31ADS core support
Quinn Jensen [Mon, 9 Jul 2007 21:06:53 +0000 (22:06 +0100)]
[ARM] 4461/1: MXC platform and i.MX31ADS core support

This patch adds the foundation pieces for
the Freescale MXC platforms, including
i.MX2 and i.MX3 based systems.

The bare-bones MX31 support in this patch
boots to the rootdev panic with 8250 serial
console configured "console=ttyS0,115200".
It assumes that Redboot is the boot loader.

Signed-off-by: Quinn Jensen <quinn.jensen@freescale.com>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4507/1: pxa2xx clock_event_device
Bill Gatliff [Sat, 21 Jul 2007 02:39:36 +0000 (03:39 +0100)]
[ARM] 4507/1: pxa2xx clock_event_device

Reimplements arch/arm/mach-pxa/time.c using a clock_event_device based
on OSMR0. Tested on PXA270, linux-2.6.22+arm:pxa patches.

Signed-off-by: Bill Gatliff <bgat@billgatliff.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[PATCH] get rid of AVC_PATH postponed treatment
Al Viro [Thu, 7 Jun 2007 15:13:31 +0000 (11:13 -0400)]
[PATCH] get rid of AVC_PATH postponed treatment

        Selinux folks had been complaining about the lack of AVC_PATH
records when audit is disabled.  I must admit my stupidity - I assumed
that avc_audit() really couldn't use audit_log_d_path() because of
deadlocks (== could be called with dcache_lock or vfsmount_lock held).
Shouldn't have made that assumption - it never gets called that way.
It _is_ called under spinlocks, but not those.

        Since audit_log_d_path() uses ab->gfp_mask for allocations,
kmalloc() in there is not a problem.  IOW, the simple fix is sufficient:
let's rip AUDIT_AVC_PATH out and simply generate pathname as part of main
record.  It's trivial to do.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: James Morris <jmorris@namei.org>
17 years ago[PATCH] allow audit filtering on bit & operations
Eric Paris [Mon, 4 Jun 2007 21:00:14 +0000 (17:00 -0400)]
[PATCH] allow audit filtering on bit & operations

Right now the audit filter can match on = != > < >= blah blah blah.
This allow the filter to also look at bitwise AND operations, &

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
17 years ago[PATCH] audit: fix broken class-based syscall audit
Klaus Weidner [Wed, 16 May 2007 22:45:42 +0000 (17:45 -0500)]
[PATCH] audit: fix broken class-based syscall audit

The sanity check in audit_match_class() is wrong.  We are able to audit
2048 syscalls but in audit_match_class() we were accidentally using
sizeof(_u32) instead of number of bits in _u32 when deciding how many
syscalls were valid.  On ia64 in particular we were hitting syscall
numbers over the (wrong) limit of 256.  Fixing the audit_match_class
check takes care of the problem.

Signed-off-by: Klaus Weidner <klaus@atsec.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
17 years ago[PATCH] Make IPC mode consistent
Steve Grubb [Tue, 29 May 2007 14:38:18 +0000 (10:38 -0400)]
[PATCH] Make IPC mode consistent

The mode fields for IPC records are not consistent. Some are hex, others are
octal. This patch makes them all octal.

Signed-off-by: Steve Grubb <sgrubb@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>