]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
18 years agoNFS: fix reference counting for NFSv4 callback thread
Jeff Layton [Mon, 11 Feb 2008 15:00:20 +0000 (10:00 -0500)]
NFS: fix reference counting for NFSv4 callback thread

The reference counting for the NFSv4 callback thread stays artificially
high. When this thread comes down, it doesn't properly tear down the
svc_serv, causing a memory leak. In my testing on an older kernel on
x86_64, memory would leak out of the 8k kmalloc slab. So, we're leaking
at least a page of memory every time the thread comes down.

svc_create() creates the svc_serv with a sv_nrthreads count of 1, and
then svc_create_thread() increments that count. Whenever the callback
thread is started it has a sv_nrthreads count of 2. When coming down, it
calls svc_exit_thread() which decrements that count and if it hits 0, it
tears everything down. That never happens here since the count is always
at 2 when the thread exits.

The problem is that nfs_callback_up() should be calling svc_destroy() on
the svc_serv on both success and failure. This is how lockd_up_proto()
handles the reference counting, and doing that here fixes the leak.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
18 years ago[XTENSA] Allow debugger to modify the WINDOWBASE register.
Chris Zankel [Mon, 28 Jan 2008 23:55:01 +0000 (15:55 -0800)]
[XTENSA] Allow debugger to modify the WINDOWBASE register.

For the 'return' command, GDB needs to adjust WINDOWBASE.
In case WB is different from 0, we need to rotate the
window register file and update WINDOWSTART and WMASK.
This patch also removes some ret|= statements for
__get_user/__put_user as the address range was alrady
checked a couple of lines earlier.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Fix makefile to work with binutils-2.18.
Bob Wilson [Sat, 2 Feb 2008 00:56:32 +0000 (16:56 -0800)]
[XTENSA] Fix makefile to work with binutils-2.18.

When building with binutils-2.18, vmlinux includes .note.gnu.build-id
sections that need to be stripped out when building the binary image.
The old .xt.insn sections haven't been used for a long time, so don't
bother stripping them.

Signed-off-by: Bob Wilson <bob.wilson@acm.org>
Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Fix register corruption for certain processor configurations
Chris Zankel [Tue, 22 Jan 2008 08:45:25 +0000 (00:45 -0800)]
[XTENSA] Fix register corruption for certain processor configurations

For processor configurations that have optional registers
(compiler-used but non-coprocessor), user space registers
might get corrupted when there are only 4 registers in
the current window-frame, ie. register a4 belongs to the
oldest frame in the register file.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Fix cache flush macro for D$/I$ aliasing/non-aliasing
Chris Zankel [Sat, 19 Jan 2008 00:15:29 +0000 (16:15 -0800)]
[XTENSA] Fix cache flush macro for D$/I$ aliasing/non-aliasing

For configurations that have aliasing in the data cache but
not in the instruction cache, we don't need to flush the
instruction cache. Thus, we didn't define the macros to
flush the instruction cache. Some cache-flush functions,
howerver, were using those macros.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Exclude thread-global registers from the xtregs structures.
Chris Zankel [Tue, 15 Jan 2008 17:49:18 +0000 (09:49 -0800)]
[XTENSA] Exclude thread-global registers from the xtregs structures.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Add support for the sa_restorer function
Chris Zankel [Fri, 11 Jan 2008 19:44:17 +0000 (11:44 -0800)]
[XTENSA] Add support for the sa_restorer function

Supporting the sa_restorer function allows for better security
since the sigreturn system call doesn't need to be placed on
the stack, so the stack doesn't need to be executable. This
requires support from the c-library as it has to provide the
restorer function.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Add support for configurable registers and coprocessors
Chris Zankel [Tue, 12 Feb 2008 21:17:07 +0000 (13:17 -0800)]
[XTENSA] Add support for configurable registers and coprocessors

The Xtensa architecture allows to define custom instructions and
registers. Registers that are bound to a coprocessor are only
accessible if the corresponding enable bit is set, which allows
to implement a 'lazy' context switch mechanism. Other registers
needs to be saved and restore at the time of the context switch
or during interrupt handling.

This patch adds support for these additional states:

- save and restore registers that are used by the compiler upon
  interrupt entry and exit.
- context switch additional registers unbound to any coprocessor
- 'lazy' context switch of registers bound to a coprocessor
- ptrace interface to provide access to additional registers
- update configuration files in include/asm-xtensa/variant-fsf

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[NETFILTER]: make secmark_tg_destroy() static
Adrian Bunk [Thu, 14 Feb 2008 01:41:39 +0000 (17:41 -0800)]
[NETFILTER]: make secmark_tg_destroy() static

This patch makes the needlessly global secmark_tg_destroy() static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[INET]: Unexport inet_listen_wlock
Adrian Bunk [Thu, 14 Feb 2008 01:40:25 +0000 (17:40 -0800)]
[INET]: Unexport inet_listen_wlock

This patch removes the no longer used EXPORT_SYMBOL(inet_listen_wlock).

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[INET]: Unexport __inet_hash_connect
Adrian Bunk [Thu, 14 Feb 2008 01:39:34 +0000 (17:39 -0800)]
[INET]: Unexport __inet_hash_connect

This patch removes the unused EXPORT_SYMBOL_GPL(__inet_hash_connect).

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[XTENSA] Clean up stat structs.
Bob Wilson [Tue, 16 Oct 2007 23:43:00 +0000 (16:43 -0700)]
[XTENSA] Clean up stat structs.

Avoid using typedefs for stat fields.
Make stat64.st_blocks an unsigned long long to avoid endian-specific
padding with 32-bit values.
Clean up signed vs. unsigned and int vs. long types to be consistent
with other uses of these values.

Signed-off-by: Bob Wilson <bob.wilson@acm.org>
Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Use preprocessor to generate the linker script for the ELF boot image
Chris Zankel [Tue, 12 Feb 2008 21:14:17 +0000 (13:14 -0800)]
[XTENSA] Use preprocessor to generate the linker script for the ELF boot image

Signed-off-by: Marc Gauthier <marc@tensilica.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Add missing RELOCATE_ENTRY for debug vector
Marc Gauthier [Mon, 31 Dec 2007 06:00:54 +0000 (22:00 -0800)]
[XTENSA] Add missing RELOCATE_ENTRY for debug vector

We also need to relocate the debug vector if in RAM.

Signed-off-by: Marc Gauthier <marc@tensilica.com>
18 years ago[XTENSA] Add volatile keyword to asm statements accessing counter registers
Chris Zankel [Wed, 19 Dec 2007 18:21:50 +0000 (10:21 -0800)]
[XTENSA] Add volatile keyword to asm statements accessing counter registers

The compiler get's sometimes to smart and doesn't reread the
counter registers and the kernel doesn't schedule until the
counter wraps around.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Remove unused code
Chris Zankel [Tue, 12 Feb 2008 21:10:40 +0000 (13:10 -0800)]
[XTENSA] Remove unused code

We will never (need to) support signal handling coming from a
double exception. There are too many things that could go wrong
and delivering signals is not the fastest method for IPC, anyway.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Fix modules for non-exec processor configurations
Chris Zankel [Tue, 8 Jan 2008 00:42:21 +0000 (16:42 -0800)]
[XTENSA] Fix modules for non-exec processor configurations

We need to use vmalloc_exec for module loading. Also remove
the definitions MODULE_START and MODULE_END, which wasn't
used, and increase the VMALLOC memory range accordingly.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Add missing cast in elf.h ELF_CORE_COPY_REGS()
Marc Gauthier [Tue, 11 Dec 2007 23:28:07 +0000 (15:28 -0800)]
[XTENSA] Add missing cast in elf.h ELF_CORE_COPY_REGS()

Avoids compiler warning.

Signed-off-by: Marc Gauthier <marc@tensilica.com>
18 years ago[XTENSA] Fix comments regarding the number of frames to save
Chris Zankel [Wed, 9 Jan 2008 17:22:36 +0000 (09:22 -0800)]
[XTENSA] Fix comments regarding the number of frames to save

Signed-off-by: Marc Gauthier <marc@tensilica.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Add missing a2 register restore in register spill routine
Chris Zankel [Wed, 14 Nov 2007 21:47:02 +0000 (13:47 -0800)]
[XTENSA] Add missing a2 register restore in register spill routine

Register a2 is saved in depc but wasn't getting restored before
returning from _spill_registers when there weren't any registers
to spill. The mask to cut the top bit from the rotated WINDOWMASK
register was also one bit short.

Signed-off-by: CHris Zankel <chris@zankel.net>
18 years ago[XTENSA] adjust boot linker script start addresses
Marc Gauthier [Tue, 23 Oct 2007 23:40:24 +0000 (16:40 -0700)]
[XTENSA] adjust boot linker script start addresses

Move boot-redboot load address from 0xD0200000 to 0xD1000000
to make space for larger kernel images, in particular those with
an embedded initramfs filesystem.
Also properly set the ELF start address in boot-elf images so
that PC need not be set manually when loading them using GDB.

Signed-off-by: Marc Gauthier <marc@tensilica.com>
18 years ago[XTENSA] Remove oldmask from sigcontext and fix register flush
Chris Zankel [Tue, 12 Feb 2008 20:22:15 +0000 (12:22 -0800)]
[XTENSA] Remove oldmask from sigcontext and fix register flush

Remove oldmask from the sigcontext structure. Also update wmask
and windowstart when we flush the AR registers to stack.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Clean up elf-gregset.
Chris Zankel [Tue, 12 Feb 2008 19:55:32 +0000 (11:55 -0800)]
[XTENSA] Clean up elf-gregset.

Remove additional registers from the ELF gregset structure that
are only used by the kernel or are not required or invalid in
user-space. The ar registers are always aligned to a windowbase
value of 0, and the WB register is always assumed to be 0.
Increase the size of the structure to 128 entries. This will
provide enough space in future.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Fix icache flush for cache aliasing
Chris Zankel [Tue, 12 Feb 2008 18:11:45 +0000 (10:11 -0800)]
[XTENSA] Fix icache flush for cache aliasing

Set the execution bit in the temporary TLB when we flush the
instruction cache.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Fix clobbered register in asm macro
Chris Zankel [Tue, 23 Oct 2007 17:58:53 +0000 (10:58 -0700)]
[XTENSA] Fix clobbered register in asm macro

We dangerously re-used an input operand to an asm macro
without defining a constraint. By defining a separate
output operand (instead of input/output operand), the
compiler is more flexible during register allocation.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Prevent inlining ISS platform asm constructs
Marc Gauthier [Fri, 21 Sep 2007 23:38:09 +0000 (16:38 -0700)]
[XTENSA] Prevent inlining ISS platform asm constructs

The simcall asm macro assumes Windowed ABI parameter passing
in registers, and doesn't work if its containing function gets
inlined.  This fix prevents that from happening.

Signed-off-by: Marc Gauthier <marc@tensilica.com>
18 years ago[XTENSA] Flush the page-address in update-mmu instead of user-address
Chris Zankel [Thu, 6 Sep 2007 08:38:18 +0000 (01:38 -0700)]
[XTENSA] Flush the page-address in update-mmu instead of user-address

The TLB entry for the user address doesn't exist at the time we
want to flush the caches, so use the page address. Note that processor
configurations with cache-aliasing issues are treated separately.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[LMB]: Make lmb support large physical addressing
Becky Bruce [Thu, 14 Feb 2008 00:58:39 +0000 (16:58 -0800)]
[LMB]: Make lmb support large physical addressing

Convert the lmb code to use u64 instead of unsigned long for physical
addresses and sizes.  This is needed to support large amounts of RAM
on 32-bit systems that support 36-bit physical addressing.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[LMB]: Fix initial lmb add region with a non-zero base
Kumar Gala [Thu, 14 Feb 2008 00:58:11 +0000 (16:58 -0800)]
[LMB]: Fix initial lmb add region with a non-zero base

If we add to an empty lmb region with a non-zero base we will not
coalesce the number of regions down to one.  This causes problems on
ppc32 for the memory region as its assumed to only have one region.

We can fix this be easily specially casing the initial add to just
replace the dummy region.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[LMB]: Fix bug in __lmb_alloc_base().
David S. Miller [Thu, 14 Feb 2008 00:57:09 +0000 (16:57 -0800)]
[LMB]: Fix bug in __lmb_alloc_base().

We need to check lmb_add_region() for errors, it can run out
of regions etc.

Also, the size needs to be padded to the given alignment
or else the lmb.reserved regions don't get expanded and
instead we get tons of holes and eventually run out of
regions prematurely.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[LIB]: Make PowerPC LMB code generic so sparc64 can use it too.
David S. Miller [Thu, 14 Feb 2008 00:56:49 +0000 (16:56 -0800)]
[LIB]: Make PowerPC LMB code generic so sparc64 can use it too.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[XTENSA] Fix argument list for pgd_ctor constructor.
Chris Zankel [Wed, 14 Nov 2007 21:39:40 +0000 (13:39 -0800)]
[XTENSA] Fix argument list for pgd_ctor constructor.

The argument list  for ctor function element in the
kmem_cache structure has changed.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Concentrate platforms into one platforms directory.
Chris Zankel [Thu, 13 Sep 2007 20:44:07 +0000 (13:44 -0700)]
[XTENSA] Concentrate platforms into one platforms directory.

Create arch/xtensa/platforms/ directory to concentrate
all platforms under that subdirectory and moves the ISS platform
to that directory.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Add .literal sections for various init sectiont to linker script
Chris Zankel [Thu, 14 Feb 2008 00:44:19 +0000 (16:44 -0800)]
[XTENSA] Add .literal sections for various init sectiont to linker script

Xtensa requires separate .literal section for each .text section.
Adding addition init sections for cpuinit, meminit, and devinit,
broke the Xtensa linker script, so, add these literal sections
manually for now.

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years ago[XTENSA] Fix non-existent pte_token_t typedef to pgtable_t
Chris Zankel [Thu, 14 Feb 2008 00:25:09 +0000 (16:25 -0800)]
[XTENSA] Fix non-existent pte_token_t typedef to pgtable_t

This bug was introduced in 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4.
(CONFIG_HIGHPTE vs. sub-page page tables)

Signed-off-by: Chris Zankel <chris@zankel.net>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Linus Torvalds [Thu, 14 Feb 2008 00:23:44 +0000 (16:23 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] gdth: update deprecated pci_find_device
  [SCSI] gdth: scan for scsi devices
  [SCSI] sym53c416: fix module parameters
  [SCSI] lpfc 8.2.5 : Update lpfc driver version to 8.2.5
  [SCSI] lpfc 8.2.5 : Fix buffer leaks
  [SCSI] lpfc 8.2.5 : Miscellaneous discovery Fixes
  [SCSI] lpfc 8.2.5 : Add MSI-X single message support
  [SCSI] lpfc 8.2.5 : Miscellaneous Fixes
  [SCSI] lpfc 8.2.5 : Correct ndlp referencing issues
  [SCSI] update SG_ALL to avoid causing chaining
  [SCSI] aic94xx: fix ABORT_TASK define conflict
  [SCSI] fas216: Use scsi_eh API for REQUEST_SENSE invocation
  [SCSI] ses: fix memory leaks
  [SCSI] aacraid: informational sysfs value corrections
  [SCSI] mpt fusion: Request I/O resources only when required
  [SCSI] aacraid: ignore adapter reset check polarity
  [SCSI] aacraid: add optional MSI support
  [SCSI] mpt fusion: Avoid racing when mptsas and mptcl module are loaded in parallel
  [SCSI] MegaRAID driver management char device moved to misc
  [SCSI] advansys: fix overrun_buf aligned bug

18 years agoLinux Kernel Markers: create modpost file
Mathieu Desnoyers [Wed, 13 Feb 2008 23:03:39 +0000 (15:03 -0800)]
Linux Kernel Markers: create modpost file

This adds some new magic in the MODPOST phase for CONFIG_MARKERS.  Analogous
to the Module.symvers file, the build will now write a Module.markers file
when CONFIG_MARKERS=y is set.  This file lists the name, defining module, and
format string of each marker, separated by \t characters.  This simple text
file can be used by offline build procedures for instrumentation code,
analogous to how System.map and Module.symvers can be useful to have for
kernels other than the one you are running right now.

The strings are made easy to extract by having the __trace_mark macro define
the name and format together in a single array called __mstrtab_* in the
__markers_strings section.  This is straightforward and reliable as long as
the marker structs are always defined by this macro.  It is an unreasonable
amount of hairy work to extract the string pointers from the __markers section
structs, which entails handling a relocation type for every machine under the
sun.

Mathieu :
- Ran through checkpatch.pl

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: David Smith <dsmith@redhat.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoLinux Kernel Markers: support multiple probes
Mathieu Desnoyers [Wed, 13 Feb 2008 23:03:37 +0000 (15:03 -0800)]
Linux Kernel Markers: support multiple probes

RCU style multiple probes support for the Linux Kernel Markers.  Common case
(one probe) is still fast and does not require dynamic allocation or a
supplementary pointer dereference on the fast path.

- Move preempt disable from the marker site to the callback.

Since we now have an internal callback, move the preempt disable/enable to the
callback instead of the marker site.

Since the callback change is done asynchronously (passing from a handler that
supports arguments to a handler that does not setup the arguments is no
arguments are passed), we can safely update it even if it is outside the
preempt disable section.

- Move probe arm to probe connection. Now, a connected probe is automatically
  armed.

Remove MARK_MAX_FORMAT_LEN, unused.

This patch modifies the Linux Kernel Markers API : it removes the probe
"arm/disarm" and changes the probe function prototype : it now expects a
va_list * instead of a "...".

If we want to have more than one probe connected to a marker at a given
time (LTTng, or blktrace, ssytemtap) then we need this patch. Without it,
connecting a second probe handler to a marker will fail.

It allow us, for instance, to do interesting combinations :

Do standard tracing with LTTng and, eventually, to compute statistics
with SystemTAP, or to have a special trigger on an event that would call
a systemtap script which would stop flight recorder tracing.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Mike Mason <mmlnx@us.ibm.com>
Cc: Dipankar Sarma <dipankar@in.ibm.com>
Cc: David Smith <dsmith@redhat.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Cc: "Frank Ch. Eigler" <fche@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agopcmcia: ipwireless depends on NETDEVICES
Paul Mundt [Wed, 13 Feb 2008 23:03:36 +0000 (15:03 -0800)]
pcmcia: ipwireless depends on NETDEVICES

ipwireless (added by 099dc4fb62653f6019d78db55fba7a18ef02d65b) is clearly
a net device:

drivers/built-in.o: In function `ipwireless_ppp_start_xmit':
/home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:165: undefined reference to `skb_under_panic'
/home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:165: undefined reference to `kfree_skb'
drivers/built-in.o: In function `ipwireless_network_packet_received':
/home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:377: undefined reference to `__alloc_skb'
/home/pmundt/devel/git/sh-2.6.25/drivers/char/pcmcia/ipwireless/network.c:377: undefined reference to `skb_over_panic'
drivers/built-in.o: In function `ppp_shutdown_interface':
/home/pmundt/devel/git/sh-2.6.25/drivers/net/ppp_generic.c:2517: undefined reference to `unregister_netdev'
/home/pmundt/devel/git/sh-2.6.25/drivers/net/ppp_generic.c:2517: undefined reference to `free_netdev'
[ ... and many more ... ]

select strikes again. ipwireless selects PPP which in turn tries to select
SLHC, both of which are technically "protected" by an if NETDEVICES
in drivers/net/Kconfig. This leads to .config hilarity, with net suddenly
ending up in the SCSI menu:

#
# SCSI device support
#
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
CONFIG_PPP=y
# CONFIG_PHONE is not set

Curiously the SLHC select from PPP doesn't seem to happen, as there's no
CONFIG_SLHC=y (only CONFIG_PPP=y gets set) -- Kconfig bug? Caught with a
randconfig.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoSmack: check for 'struct socket' with NULL sk
Ahmed S. Darwish [Wed, 13 Feb 2008 23:03:34 +0000 (15:03 -0800)]
Smack: check for 'struct socket' with NULL sk

There's a small problem with smack and NFS. A similar report was also
sent here: http://lkml.org/lkml/2007/10/27/85

I've also added similar checks in inode_{get/set}security().  Cheating from
SELinux post_create_socket(), it does the same.

[akpm@linux-foundation.org: remove uneeded BUG_ON()]
Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
Acked-by: Casey Schaufler <casey@schuafler-ca.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoudf: fix udf_add_free_space
Marcin Slusarz [Wed, 13 Feb 2008 23:03:33 +0000 (15:03 -0800)]
udf: fix udf_add_free_space

In commit 742ba02a51c8d0bf5446b154531179760c1ed0a2 (udf: create common
function for changing free space counter) by accident I reversed safety
condition which lead to null pointer dereference in case of media error and
wrong counting of free space in normal situation

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: Jan Kara <jack@suse.cz>
Acked-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoudf: fix directory offset handling
Jan Kara [Wed, 13 Feb 2008 23:03:33 +0000 (15:03 -0800)]
udf: fix directory offset handling

Patch cleaning up UDF directory offset handling missed modifications in dir.c
(because I've submitted an old version :(). Fix it.

Signed-off-by: Jan Kara <jack@suse.cz>
Reported-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Tested-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoDocumentation: sysctl/kernel.txt: fix documentation reference
Michael Opdenacker [Wed, 13 Feb 2008 23:03:32 +0000 (15:03 -0800)]
Documentation: sysctl/kernel.txt: fix documentation reference

This patch fixes a reference to Documentation/kmod.txt
which was apparently renamed to Documentation/debugging-modules.txt

Signed-off-by: Michael Opdenacker <michael@free-electrons.com>
Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agofs/smbfs/inode.c: fix warning message deprecating smbfs
Sergio Luis [Wed, 13 Feb 2008 23:03:30 +0000 (15:03 -0800)]
fs/smbfs/inode.c: fix warning message deprecating smbfs

Fix the warning message regarding smbfs to

"smbfs is deprecated and will be removed from the 2.6.27 kernel. Please migrate to cifs"

instead of

"smbfs is deprecated and will be removedfrom the 2.6.27 kernel.  Please migrate to cifs"

Signed-off-by: Sergio Luis <sergio@uece.br>
Screwed-up-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Steven French <sfrench@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodocbook: drop z85230 library from kernel-api
Randy Dunlap [Wed, 13 Feb 2008 23:03:29 +0000 (15:03 -0800)]
docbook: drop z85230 library from kernel-api

Drop z85230 support library info from kernel-api since it's duplicated in
the Z85230 book.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoxfs: convert beX_add to beX_add_cpu (new common API)
Marcin Slusarz [Wed, 13 Feb 2008 23:03:29 +0000 (15:03 -0800)]
xfs: convert beX_add to beX_add_cpu (new common API)

remove beX_add functions and replace all uses with beX_add_cpu

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: Mark Fasheh <mark.fasheh@oracle.com>
Reviewed-by: Dave Chinner <dgc@sgi.com>
Cc: Timothy Shimmin <tes@sgi.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agomoduleparam: fix alpha, ia64 and ppc64 compile failures
Ivan Kokshaysky [Wed, 13 Feb 2008 23:03:26 +0000 (15:03 -0800)]
moduleparam: fix alpha, ia64 and ppc64 compile failures

On alpha, ia64 and ppc64 only relocations to local data can go into
read-only sections. The vast majority of module parameters use the global
generic param_set_*/param_get_* functions, so the 'const' attribute for
struct kernel_param is not only useless, but it also causes compile
failures due to 'section type conflict' in those rare cases where
param_set/get are local functions.

This fixes http://bugzilla.kernel.org/show_bug.cgi?id=8964

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Richard Henderson <rth@twiddle.net>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Anton Blanchard <anton@samba.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Adrian Bunk <bunk@stusta.de>
Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodocbook: make a networking book and fix a few errors
Randy Dunlap [Wed, 13 Feb 2008 23:03:25 +0000 (15:03 -0800)]
docbook: make a networking book and fix a few errors

Move networking (core and drivers) docbook to its own networking book.
Fix a few kernel-doc errors in header and source files.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Neil Brown <neilb@suse.de>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodocbook: sunrpc filenames and notation fixes
Randy Dunlap [Wed, 13 Feb 2008 23:03:23 +0000 (15:03 -0800)]
docbook: sunrpc filenames and notation fixes

Use updated file list for docbook files and
fix kernel-doc warnings in sunrpc:
Warning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:689): No description found for parameter 'rpc_client'
Warning(linux-2.6.24-git12//net/sunrpc/rpc_pipe.c:765): No description found for parameter 'flags'
Warning(linux-2.6.24-git12//net/sunrpc/clnt.c:584): No description found for parameter 'tk_ops'
Warning(linux-2.6.24-git12//net/sunrpc/clnt.c:618): No description found for parameter 'bufsize'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Neil Brown <neilb@suse.de>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodocbook: move pipe and splice to filesystems docbook
Randy Dunlap [Wed, 13 Feb 2008 23:03:23 +0000 (15:03 -0800)]
docbook: move pipe and splice to filesystems docbook

Move pipes and splice docbook to filesystems book.
kernel-api book is huge (10x most other books) & slow to process.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
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>
18 years agokernel-doc: fix fs/pipe.c notation
Randy Dunlap [Wed, 13 Feb 2008 23:03:22 +0000 (15:03 -0800)]
kernel-doc: fix fs/pipe.c notation

Fix several kernel-doc notation errors in fs/pipe.c.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
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>
18 years agoparport: section fixup
David Brownell [Wed, 13 Feb 2008 23:03:21 +0000 (15:03 -0800)]
parport: section fixup

Fix section warning for parport_ECP_supported(); it's called from a routine
exported to modules, so it can't be removed with __devinit section pruning.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoDocumentation: prune redundant SubmitChecklist items
J. Bruce Fields [Wed, 13 Feb 2008 23:03:20 +0000 (15:03 -0800)]
Documentation: prune redundant SubmitChecklist items

Kernel style is mentioned twice, and the git apply trick is a bit redundant
given the checkpatch.pl recommendation (which also checks for bad
whitespace).

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agohugetlb: fix overcommit locking
Nishanth Aravamudan [Wed, 13 Feb 2008 23:03:19 +0000 (15:03 -0800)]
hugetlb: fix overcommit locking

proc_doulongvec_minmax() calls copy_to_user()/copy_from_user(), so we can't
hold hugetlb_lock over the call.  Use a dummy variable to store the sysctl
result, like in hugetlb_sysctl_handler(), then grab the lock to update
nr_overcommit_huge_pages.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Reported-by: Miles Lane <miles.lane@gmail.com>
Cc: Adam Litke <agl@us.ibm.com>
Cc: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoSC26XX: missing PORT define in serial_core.h
Thomas Bogendoerfer [Wed, 13 Feb 2008 23:03:17 +0000 (15:03 -0800)]
SC26XX: missing PORT define in serial_core.h

When submitting the driver for inclusion to 2.6.25 I've missed the change to
serial_core.h. This patch fixes this.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoFinal removal of FASTCALL()/fastcall
Harvey Harrison [Wed, 13 Feb 2008 23:03:17 +0000 (15:03 -0800)]
Final removal of FASTCALL()/fastcall

All users are gone, remove definitions and comments referring
to them.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoremove final fastcall users
Harvey Harrison [Wed, 13 Feb 2008 23:03:16 +0000 (15:03 -0800)]
remove final fastcall users

fastcall always expands to empty, remove it.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agorcupdate: fix comment
Paul E. McKenney [Wed, 13 Feb 2008 23:03:15 +0000 (15:03 -0800)]
rcupdate: fix comment

This comment caused some consternation during fastcall removal.  Make it
truthful.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoinclude/linux: Remove all users of FASTCALL() macro
Harvey Harrison [Wed, 13 Feb 2008 23:03:15 +0000 (15:03 -0800)]
include/linux: Remove all users of FASTCALL() macro

FASTCALL() is always expanded to empty, remove it.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years ago[XTENSA] Remove dead code reported by Robert P. J. Day.
Adrian Bunk [Sat, 8 Dec 2007 01:14:47 +0000 (17:14 -0800)]
[XTENSA] Remove dead code reported by Robert P. J. Day.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Christian Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
18 years ago[XTENSA] Remove duplicate includes.
Chris Zankel [Fri, 18 Jan 2008 22:26:55 +0000 (14:26 -0800)]
[XTENSA] Remove duplicate includes.

Signed-off-by: Lucas Woods <woodzy@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Christian Zankel <chris@zankel.net>
18 years agojfs: le*_add_cpu conversion
Marcin Slusarz [Wed, 13 Feb 2008 21:34:20 +0000 (15:34 -0600)]
jfs: le*_add_cpu conversion

replace all:
little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) +
                                        expression_in_cpu_byteorder);
with:
        leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder);
generated with semantic patch

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Cc: jfs-discussion@lists.sourceforge.net
18 years agokconfig: fix select in combination with default
Roman Zippel [Mon, 11 Feb 2008 20:13:47 +0000 (21:13 +0100)]
kconfig: fix select in combination with default

> The attached .config (with current -git) results in a compile
> error since it contains:
>
> CONFIG_X86=y
> # CONFIG_EMBEDDED is not set
> CONFIG_SERIO=m
> CONFIG_SERIO_I8042=y
>
> Looking at drivers/input/serio/Kconfig I simply don't get how this
> can happen.

You've hit the rather subtle rules of select vs default. What happened is
that SERIO is selected to m, but SERIO_I8042 isn't selected so the default
of y is used instead.
We already had the problem in the past that select and default don't work
well together, so this patch cleans this up and makes the rule hopefully
more straightforward. Basically now the value is calculated like this:

(value && dependency) || select

where the value is the user choice (if available and the symbol is
visible) or default.

In this case it means SERIO and SERIO_I8042 are both set to y due to their
default and if SERIO didn't had the default, then the SERIO_I8042 value
would be limited to m due to the dependency.

I tested this patch with more 10000 random configs and above case is the
only the difference that showed up, so I hope there is nothing that
depended on the old more complex and subtle rules.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Tested-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
18 years agoxtime_lock vs update_process_times
Peter Zijlstra [Wed, 13 Feb 2008 20:33:16 +0000 (21:33 +0100)]
xtime_lock vs update_process_times

Commit d3d74453c34f8fd87674a8cf5b8a327c68f22e99 ("hrtimer: fixup the
HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback") broke several archs, and since
only Russell bothered to merge the fix, and Greg to ACK his arch, I'm
sending this for merger.

I have confirmation that the Alpha bit results in a booting kernel.
That leaves: blackfin, frv, sh and sparc untested.

The deadlock in question was found by Russell:

  IRQ handle
    -> timer_tick() - xtime seqlock held for write
      -> update_process_times()
        -> run_local_timers()
          -> hrtimer_run_queues()
            -> hrtimer_get_softirq_time() - tries to get a read lock

Now, Thomas assures me the fix is trivial, only do_timer() needs to be
done under the xtime_lock, and update_process_times() can savely be
removed from under it.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Acked-by: Greg Ungerer <gerg@uclinux.org>
CC: Richard Henderson <rth@twiddle.net>
CC: Bryan Wu <bryan.wu@analog.com>
CC: David Howells <dhowells@redhat.com>
CC: Paul Mundt <lethal@linux-sh.org>
CC: William Irwin <wli@holomorphy.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoacpi: fix acpi_os_read_pci_configuration() misuse of raw_pci_read()
Linus Torvalds [Wed, 13 Feb 2008 17:56:14 +0000 (09:56 -0800)]
acpi: fix acpi_os_read_pci_configuration() misuse of raw_pci_read()

The raw_pci_read() interface (as the raw_pci_ops->read() before it)
unconditionally fills in a 32-bit integer return value regardless of the
size of the operation requested.

So claiming to take a "void *" is wrong, as is passing in a pointer to
just a byte variable.

Noticed by pageexec when enabling -fstack-protector (which needs other
patches too to actually work, but that's a separate issue).

Acked-by: Len Brown <len.brown@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoFRV: Fix up parse error in linker script
David Howells [Wed, 13 Feb 2008 16:10:08 +0000 (16:10 +0000)]
FRV: Fix up parse error in linker script

Fix up parse error in FRV linker script, presumably introduced through changes
to the INIT_TEXT and EXIT_TEXT macros.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched
Linus Torvalds [Wed, 13 Feb 2008 16:22:41 +0000 (08:22 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched

* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
  sched: rt-group: refure unrunnable tasks
  sched: rt-group: clean up the ifdeffery
  sched: rt-group: make rt groups scheduling configurable
  sched: rt-group: interface
  sched: rt-group: deal with PI
  sched: fix incorrect irq lock usage in normalize_rt_tasks()
  sched: fair-group: separate tg->shares from task_group_lock
  hrtimer: more hrtimer_init_sleeper() fallout.

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
Linus Torvalds [Wed, 13 Feb 2008 16:20:31 +0000 (08:20 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86

* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
  x86: pit_clockevent can be static
  x86: EFI runtime code mapping enhancement
  x86: EFI: fix use of unitialized variable and the cache logic
  x86: CPA: fix gbpages support in try_preserve_large_page
  xen: unpin initial Xen pagetable once we're finished with it
  x86/early_ioremap: don't assume we're using swapper_pg_dir
  x86: fixup machine_ops reboot_{32|64}.c unification fallout
  x86: fix sigcontext.h user export

18 years agodrivers/memstick/host/tifm_ms.c breakage
Al Viro [Wed, 13 Feb 2008 03:56:59 +0000 (03:56 +0000)]
drivers/memstick/host/tifm_ms.c breakage

writel(sock + ...) that should've been writel(sock->addr + ...)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodm-raid1 breakage on 64bit
Al Viro [Wed, 13 Feb 2008 03:53:00 +0000 (03:53 +0000)]
dm-raid1 breakage on 64bit

test_and_set_bit() on address of uint32_t is a Bad Idea(tm)...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoHID: add USB IDs for MacBook 3rd generation
Tobias Mueller [Wed, 13 Feb 2008 16:08:04 +0000 (17:08 +0100)]
HID: add USB IDs for MacBook 3rd generation

Add support for Macbook 3rd generation special mappings.

Signed-off-by: Tobias Mueller <Tobias_Mueller@twam.info>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
18 years agoIB/mthca: Convert to use be16_add_cpu()
Marcin Slusarz [Tue, 12 Feb 2008 23:06:08 +0000 (00:06 +0100)]
IB/mthca: Convert to use be16_add_cpu()

replace:

big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) +
expression_in_cpu_byteorder);

with:

beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder);

Generated with a semantic patch.

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: Sean Hefty <sean.hefty@intel.com>
Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoRDMA/cxgb3: Fail loopback connections
Steve Wise [Tue, 12 Feb 2008 22:09:29 +0000 (16:09 -0600)]
RDMA/cxgb3: Fail loopback connections

The cxgb3 HW and driver don't support loopback RDMA connections.  So
fail any connection attempt where the destination address is local.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agowmi: (!x & y) strikes again
Al Viro [Wed, 13 Feb 2008 04:03:25 +0000 (04:03 +0000)]
wmi: (!x & y) strikes again

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years ago[SCSI] gdth: update deprecated pci_find_device
Sergio Luis [Tue, 12 Feb 2008 23:48:03 +0000 (20:48 -0300)]
[SCSI] gdth: update deprecated pci_find_device

Fix compilation warning in gdth.c, which was using the deprecated
pci_find_device.

drivers/scsi/gdth.c:645: warning: 'pci_find_device' is deprecated (declared at include/linux/pci.h:495)

Changing it to use pci_get_device, instead.

Signed-off-by: Sergio Luis <sergio@larces.uece.br>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] gdth: scan for scsi devices
Boaz Harrosh [Tue, 12 Feb 2008 17:35:22 +0000 (19:35 +0200)]
[SCSI] gdth: scan for scsi devices

The patch: "gdth: switch to modern scsi host registration"

missed one simple fact when moving a way from scsi_module.c.
That is to call scsi_scan_host() on the probed host.
With this the gdth driver from 2.6.24 is again able to
see drives and boot.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Tested-by: Joerg Dorchain <joerg@dorchain.net>
Tested-by: Stefan Priebe <s.priebe@allied-internet.ag>
Tested-by: Jon Chelton <jchelton@ffpglobal.com>
Cc: Stable Tree <stable@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years agox86: pit_clockevent can be static
Harvey Harrison [Tue, 12 Feb 2008 20:10:27 +0000 (12:10 -0800)]
x86: pit_clockevent can be static

arch/x86/kernel/i8253.c:98:27: warning: symbol 'pit_clockevent' was not declared. Should it be static?

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: EFI runtime code mapping enhancement
Huang, Ying [Wed, 13 Feb 2008 09:22:41 +0000 (17:22 +0800)]
x86: EFI runtime code mapping enhancement

This patch enhances EFI runtime code memory mapping as following:

- Move __supported_pte_mask & _PAGE_NX checking before invoking
  runtime_code_page_mkexec(). This makes it possible for compiler to
  eliminate runtime_code_page_mkexec() on machine without NX support.

- Use set_memory_x/nx in early_mapping_set_exec(). This eliminates the
  duplicated implementation.

This patch has been tested on Intel x86_64 platform with EFI64/32
firmware.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: EFI: fix use of unitialized variable and the cache logic
Thomas Gleixner [Tue, 12 Feb 2008 18:46:48 +0000 (19:46 +0100)]
x86: EFI: fix use of unitialized variable and the cache logic

Andi Kleen pointed out that the cache attribute logic is reverse in
efi_enter_virtual_mode(). This problem alone is harmless as we do not
(yet) do cache attribute conflict resolution. (This bug was not present
in the original EFI submission - I introduced it while fixing up rejects.)

While reviewing this code I noticed a second, worse problem: the use of
uninitialized md->virt_addr.

Fix both problems.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: CPA: fix gbpages support in try_preserve_large_page
Andi Kleen [Wed, 13 Feb 2008 15:20:35 +0000 (16:20 +0100)]
x86: CPA: fix gbpages support in try_preserve_large_page

[ mingo@elte.hu: while gbpages cannot be enabled on mainline currently,
  keep the code uptodate and this fix is easy enough. ]

Use correct page sizes and masks for GB pages in try_preserve_large_page()

This prevents a boot hang on a GB capable system with CONFIG_DIRECT_GBPAGES
enabled.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
18 years agoxen: unpin initial Xen pagetable once we're finished with it
Jeremy Fitzhardinge [Wed, 13 Feb 2008 15:20:35 +0000 (16:20 +0100)]
xen: unpin initial Xen pagetable once we're finished with it

Unpin the Xen-provided pagetable once we've finished with it, so it
doesn't cause stray references which cause later swapper_pg_dir
pagetable updates to fail.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Tested-by: Jody Belka <knew-linux@pimb.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86/early_ioremap: don't assume we're using swapper_pg_dir
Jeremy Fitzhardinge [Wed, 13 Feb 2008 15:20:35 +0000 (16:20 +0100)]
x86/early_ioremap: don't assume we're using swapper_pg_dir

At the early stages of boot, before the kernel pagetable has been
fully initialized, a Xen kernel will still be running off the
Xen-provided pagetables rather than swapper_pg_dir[].  Therefore,
readback cr3 to determine the base of the pagetable rather than
assuming swapper_pg_dir[].

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Tested-by: Jody Belka <knew-linux@pimb.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: fixup machine_ops reboot_{32|64}.c unification fallout
Jody Belka [Tue, 12 Feb 2008 23:37:48 +0000 (23:37 +0000)]
x86: fixup machine_ops reboot_{32|64}.c unification fallout

When reboot_32.c and reboot_64.c were unified (commit 4d022e35fd...),
the machine_ops code was broken, leading to xen pvops kernels failing
to properly halt/poweroff/reboot etc. This fixes that up.

Signed-off-by: Jody Belka <knew-linux@pimb.org>
Cc: Miguel Boton <mboton@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: fix sigcontext.h user export
Ingo Molnar [Wed, 13 Feb 2008 15:20:35 +0000 (16:20 +0100)]
x86: fix sigcontext.h user export

Jakub Jelinek reported that some user-space code that relies on
kernel headers has built dependency on the sigcontext->eip/rip
register names - which have been unified in commit:

  commit 742fa54a62be6a263df14a553bf832724471dfbe
  Author: H. Peter Anvin <hpa@zytor.com>
  Date:   Wed Jan 30 13:30:56 2008 +0100

      x86: use generic register names in struct sigcontext

so give the old layout to user-space. This is not particularly
pretty, but it's an ABI so there's no danger of the two definitions
getting out of sync.

Reported-by: Jakub Jelinek <jakub@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agosched: rt-group: refure unrunnable tasks
Peter Zijlstra [Wed, 13 Feb 2008 14:45:40 +0000 (15:45 +0100)]
sched: rt-group: refure unrunnable tasks

Refuse to accept or create RT tasks in groups that can't run them.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agosched: rt-group: clean up the ifdeffery
Peter Zijlstra [Wed, 13 Feb 2008 14:45:40 +0000 (15:45 +0100)]
sched: rt-group: clean up the ifdeffery

Clean up some of the excessive ifdeffery introduces in the last patch.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agosched: rt-group: make rt groups scheduling configurable
Peter Zijlstra [Wed, 13 Feb 2008 14:45:40 +0000 (15:45 +0100)]
sched: rt-group: make rt groups scheduling configurable

Make the rt group scheduler compile time configurable.
Keep it experimental for now.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agosched: rt-group: interface
Peter Zijlstra [Wed, 13 Feb 2008 14:45:39 +0000 (15:45 +0100)]
sched: rt-group: interface

Change the rt_ratio interface to rt_runtime_us, to match rt_period_us.
This avoids picking a granularity for the ratio.

Extend the /sys/kernel/uids/<uid>/ interface to allow setting
the group's rt_runtime.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agosched: rt-group: deal with PI
Peter Zijlstra [Wed, 13 Feb 2008 14:45:39 +0000 (15:45 +0100)]
sched: rt-group: deal with PI

Steven mentioned the fun case where a lock holding task will be throttled.

Simple fix: allow groups that have boosted tasks to run anyway.

If a runnable task in a throttled group gets boosted the dequeue/enqueue
done by rt_mutex_setprio() is enough to unthrottle the group.

This is ofcourse not quite correct. Two possible ways forward are:
  - second prio array for boosted tasks
  - boost to a prio ceiling (this would also work for deadline scheduling)

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agosched: fix incorrect irq lock usage in normalize_rt_tasks()
Peter Zijlstra [Wed, 13 Feb 2008 14:45:39 +0000 (15:45 +0100)]
sched: fix incorrect irq lock usage in normalize_rt_tasks()

lockdep spotted this bogus irq locking. normalize_rt_tasks() can be called
from hardirq context through sysrq-n

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agosched: fair-group: separate tg->shares from task_group_lock
Peter Zijlstra [Wed, 13 Feb 2008 14:45:39 +0000 (15:45 +0100)]
sched: fair-group: separate tg->shares from task_group_lock

On Mon, 2008-02-11 at 15:09 +0300, Denis V. Lunev wrote:
> BUG: sleeping function called from invalid context
> at /home/den/src/linux-netns26/kernel/mutex.c:209
> in_atomic():1, irqs_disabled():0
> no locks held by swapper/0.
> Pid: 0, comm: swapper Not tainted 2.6.24 #304
>
> Call Trace:
>  <IRQ>  [<ffffffff80252d1e>] ? __debug_show_held_locks+0x15/0x27
>  [<ffffffff8022c2a8>] __might_sleep+0xc0/0xdf
>  [<ffffffff8049f1df>] mutex_lock_nested+0x28/0x2a9
>  [<ffffffff80231294>] sched_destroy_group+0x18/0xea
>  [<ffffffff8023e835>] sched_destroy_user+0xd/0xf
>  [<ffffffff8023e8c1>] free_uid+0x8a/0xab
>  [<ffffffff80233e24>] __put_task_struct+0x3f/0xd3
>  [<ffffffff80236708>] delayed_put_task_struct+0x23/0x25
>  [<ffffffff8026fda7>] __rcu_process_callbacks+0x8d/0x215
>  [<ffffffff8026ff52>] rcu_process_callbacks+0x23/0x44
>  [<ffffffff8023a2ae>] __do_softirq+0x79/0xf8
>  [<ffffffff8020f8c3>] ? profile_pc+0x2a/0x67
>  [<ffffffff8020d38c>] call_softirq+0x1c/0x30
>  [<ffffffff8020f689>] do_softirq+0x61/0x9c
>  [<ffffffff8023a233>] irq_exit+0x51/0x53
>  [<ffffffff8021bd1a>] smp_apic_timer_interrupt+0x77/0xad
>  [<ffffffff8020ce3b>] apic_timer_interrupt+0x6b/0x70
>  <EOI>  [<ffffffff8020b0dd>] ? default_idle+0x43/0x76
>  [<ffffffff8020b0db>] ? default_idle+0x41/0x76
>  [<ffffffff8020b09a>] ? default_idle+0x0/0x76
>  [<ffffffff8020b186>] ? cpu_idle+0x76/0x98

separate the tg->shares protection from the task_group lock.

Reported-by: Denis V. Lunev <den@openvz.org>
Tested-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agohrtimer: more hrtimer_init_sleeper() fallout.
Peter Zijlstra [Wed, 13 Feb 2008 14:45:36 +0000 (15:45 +0100)]
hrtimer: more hrtimer_init_sleeper() fallout.

Missed an instance...

  futex_lock_pi()
    hrtimer_init_sleeper()
    rt_mutex_timed_lock()
      rt_mutex_timed_fastlock()
        rt_mutex_slowlock()
          hrtimer_start()

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agoavr32: Use correct config symbol in atstk1004 board code
Haavard Skinnemoen [Wed, 13 Feb 2008 13:29:30 +0000 (14:29 +0100)]
avr32: Use correct config symbol in atstk1004 board code

CONFIG_BOARD_ATSTK1002_SW2_CUSTOM should be
CONFIG_BOARD_ATSTK100X_SW2_CUSTOM.

Spotted by Robert P. J. Day.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
18 years agoavr32: Fix broken pte dump code in do_page_fault()
Haavard Skinnemoen [Wed, 13 Feb 2008 11:32:34 +0000 (12:32 +0100)]
avr32: Fix broken pte dump code in do_page_fault()

The per-task page tables only cover the first 2GiB of the address
space. For kernel addresses, we need to do the lookup in init's page
tables.

This is a temporary workaround until we modify the per-task page
tables to cover the whole 4GiB address space.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
18 years agoAVR32: Define PAGE_SHARED
Haavard Skinnemoen [Mon, 11 Feb 2008 15:55:19 +0000 (16:55 +0100)]
AVR32: Define PAGE_SHARED

The virtual framebuffer driver needs PAGE_SHARED, which is not defined
on avr32. Define it.

Reported-by: Oliver Zander <ozander@como.com>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
18 years ago[SPARC64]: Remove DEBUG_BOOTMEM.
David S. Miller [Wed, 13 Feb 2008 09:00:26 +0000 (01:00 -0800)]
[SPARC64]: Remove DEBUG_BOOTMEM.

We'll replace it in the future with better logging facilities that can
be enabled at run time.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Improve cache line coherency of ingress qdisc
Neil Turton [Wed, 13 Feb 2008 07:13:48 +0000 (23:13 -0800)]
[NET]: Improve cache line coherency of ingress qdisc

Move the ingress qdisc members of struct net_device from the transmit
cache line to the receive cache line to avoid cache line ping-pong.
These members are only used on the receive path.

Signed-off-by: Neil Turton <nturton@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Fix race in dev_close(). (Bug 9750)
Matti Linnanvuori [Wed, 13 Feb 2008 07:10:11 +0000 (23:10 -0800)]
[NET]: Fix race in dev_close(). (Bug 9750)

There is a race in Linux kernel file net/core/dev.c, function dev_close.
The function calls function dev_deactivate, which calls function
dev_watchdog_down that deletes the watchdog timer. However, after that, a
driver can call netif_carrier_ok, which calls function
__netdev_watchdog_up that can add the watchdog timer again. Function
unregister_netdevice calls function dev_shutdown that traps the bug
!timer_pending(&dev->watchdog_timer). Moving dev_deactivate after
netif_running() has been cleared prevents function netif_carrier_on
from calling __netdev_watchdog_up and adding the watchdog timer again.

Signed-off-by: Matti Linnanvuori <mattilinnanvuori@yahoo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPSEC]: Fix bogus usage of u64 on input sequence number
Herbert Xu [Wed, 13 Feb 2008 06:50:35 +0000 (22:50 -0800)]
[IPSEC]: Fix bogus usage of u64 on input sequence number

Al Viro spotted a bogus use of u64 on the input sequence number which
is big-endian.  This patch fixes it by giving the input sequence number
its own member in the xfrm_skb_cb structure.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[RTNETLINK]: Send a single notification on device state changes.
Laszlo Attila Toth [Wed, 13 Feb 2008 06:42:09 +0000 (22:42 -0800)]
[RTNETLINK]: Send a single notification on device state changes.

In do_setlink() a single notification is sent at the end of the
function if any modification occured. If the address has been changed,
another notification is sent.

Both of them is required because originally only the NETDEV_CHANGEADDR
notification was sent and although device state change implies address
change, some programs may expect the original notification. It remains
for compatibity.

If set_operstate() is called from do_setlink(), it doesn't send a
notification, only if it is called from rtnl_create_link() as earlier.

Signed-off-by: Laszlo Attila Toth <panther@balabit.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>