]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
18 years agoslub: fix possible NULL pointer dereference
Cyrill Gorcunov [Sun, 2 Mar 2008 20:28:24 +0000 (23:28 +0300)]
slub: fix possible NULL pointer dereference

This patch fix possible NULL pointer dereference if kzalloc
failed. To be able to return proper error code the function
return type is changed to ssize_t (according to callees and
sysfs definitions).

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
18 years agoslub: Add kmalloc_large_node() to support kmalloc_node fallback
Christoph Lameter [Sat, 1 Mar 2008 21:56:40 +0000 (13:56 -0800)]
slub: Add kmalloc_large_node() to support kmalloc_node fallback

Slub is missing some NUMA support for large kmallocs. Provide that.

Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
18 years agoslub: look up object from the freelist once
Pekka J Enberg [Sat, 1 Mar 2008 21:43:54 +0000 (13:43 -0800)]
slub: look up object from the freelist once

We only need to look up object from c->page->freelist once in
__slab_alloc().

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
18 years agoslub: Fix up comments
Christoph Lameter [Sat, 16 Feb 2008 07:45:26 +0000 (23:45 -0800)]
slub: Fix up comments

Provide comments and fix up various spelling / style issues.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
18 years agoslub: Rearrange #ifdef CONFIG_SLUB_DEBUG in calculate_sizes()
Christoph Lameter [Sat, 16 Feb 2008 07:45:25 +0000 (23:45 -0800)]
slub: Rearrange #ifdef CONFIG_SLUB_DEBUG in calculate_sizes()

Group SLUB_DEBUG code together to reduce the number of #ifdefs. Move some
debug checks under the #ifdef.

Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
18 years agoslub: Remove BUG_ON() from ksize and omit checks for !SLUB_DEBUG
Christoph Lameter [Sat, 16 Feb 2008 07:45:25 +0000 (23:45 -0800)]
slub: Remove BUG_ON() from ksize and omit checks for !SLUB_DEBUG

The BUG_ONs are useless since the pointer derefs will lead to
NULL deref errors anyways. Some of the checks are not necessary
if no debugging is possible.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
18 years agoslub: Use the objsize from the kmem_cache_cpu structure
Christoph Lameter [Sat, 16 Feb 2008 07:45:25 +0000 (23:45 -0800)]
slub: Use the objsize from the kmem_cache_cpu structure

No need to access the kmem_cache structure. We have the same value
in kmem_cache_cpu.

Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
18 years agoslub: Remove useless checks in alloc_debug_processing
Christoph Lameter [Sat, 16 Feb 2008 07:45:24 +0000 (23:45 -0800)]
slub: Remove useless checks in alloc_debug_processing

Alloc debug processing is never called with a NULL object pointer.
No reason to check for NULL.

Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
18 years agoslub: Remove objsize check in kmem_cache_flags()
Christoph Lameter [Sat, 16 Feb 2008 07:45:24 +0000 (23:45 -0800)]
slub: Remove objsize check in kmem_cache_flags()

There is no page->offset anymore and also no associated limit on the number
of objects. The page->offset field was removed for 2.6.24. So the check
in kmem_cache_flags() is now also obsolete (should have been dropped
earlier, somehow a hunk vanished).

Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-by: Christoph Lameter <clameter@sgi.com>
18 years agoslub: rename slab_objects to show_slab_objects
Christoph Lameter [Fri, 15 Feb 2008 23:22:21 +0000 (15:22 -0800)]
slub: rename slab_objects to show_slab_objects

The sysfs callback is better named show_slab_objects since it is always
called from the xxx_show callbacks. We need the name for other purposes
later.

Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
18 years agoRevert "unique end pointer" patch
Christoph Lameter [Sat, 1 Mar 2008 21:40:44 +0000 (13:40 -0800)]
Revert "unique end pointer" patch

This only made sense for the alternate fastpath which was reverted last week.

Mathieu is working on a new version that addresses the fastpath issues but that
new code first needs to go through mm and it is not clear if we need the
unique end pointers with his new scheme.

Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
18 years ago[ARP]: Introduce the arp_hdr_len helper.
Pavel Emelyanov [Mon, 3 Mar 2008 20:20:57 +0000 (12:20 -0800)]
[ARP]: Introduce the arp_hdr_len helper.

There are some place, that calculate the ARP header length. These
calculations are correct, but
 a) some operate with "magic" constants,
 b) enlarge the code length (sometimes at the cost of coding style),
 c) are not informative from the first glance.

The proposal is to introduce a helper, that includes all the good
sides of these calculations.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[BLUETOOTH]: l2cap info_timer delete fix in hci_conn_del
Dave Young [Mon, 3 Mar 2008 20:18:55 +0000 (12:18 -0800)]
[BLUETOOTH]: l2cap info_timer delete fix in hci_conn_del

When the l2cap info_timer is active the info_state will be set to
L2CAP_INFO_FEAT_MASK_REQ_SENT, and it will be unset after the timer is
deleted or timeout triggered.

Here in l2cap_conn_del only call del_timer_sync when the info_state is
set to L2CAP_INFO_FEAT_MASK_REQ_SENT.

Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Fix race in generic address resolution.
Frank Blaschka [Mon, 3 Mar 2008 20:16:04 +0000 (12:16 -0800)]
[NET]: Fix race in generic address resolution.

neigh_update sends skb from neigh->arp_queue while neigh_timer_handler
has increased skbs refcount and calls solicit with the
skb. neigh_timer_handler should not increase skbs refcount but make a
copy of the skb and do solicit with the copy.

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoiucv: fix build error on !SMP
Heiko Carstens [Mon, 3 Mar 2008 20:12:33 +0000 (12:12 -0800)]
iucv: fix build error on !SMP

Since a5fbb6d1064be885d2a6b82f625186753cf74848
"KVM: fix !SMP build error" smp_call_function isn't a define anymore
that folds into nothing but a define that calls up_smp_call_function
with all parameters. Hence we cannot #ifdef out the unused code
anymore...
This seems to be the preferred method, so do this for s390 as well.

net/iucv/iucv.c: In function 'iucv_cleanup_queue':
net/iucv/iucv.c:657: error: '__iucv_cleanup_queue' undeclared

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TCP]: Must count fack_count also when skipping
Ilpo Järvinen [Mon, 3 Mar 2008 20:10:16 +0000 (12:10 -0800)]
[TCP]: Must count fack_count also when skipping

It makes fackets_out to grow too slowly compared with the
real write queue.

This shouldn't cause those BUG_TRAP(packets <= tp->packets_out)
to trigger but how knows how such inconsistent fackets_out
affects here and there around TCP when everything is nowadays
assuming accurate fackets_out. So lets see if this silences
them all.

Reported by Guillaume Chazarain <guichaz@gmail.com>.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoipv6: fix inet6_init/icmpv6_cleanup sections mismatch
Alexey Dobriyan [Mon, 3 Mar 2008 20:02:54 +0000 (12:02 -0800)]
ipv6: fix inet6_init/icmpv6_cleanup sections mismatch

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TCP]: Merge exit paths in tcp_v4_conn_request.
Denis V. Lunev [Mon, 3 Mar 2008 19:59:32 +0000 (11:59 -0800)]
[TCP]: Merge exit paths in tcp_v4_conn_request.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SCTP]: seq_printf format warning. (fixed)
Denis V. Lunev [Mon, 3 Mar 2008 19:55:54 +0000 (11:55 -0800)]
[SCTP]: seq_printf format warning. (fixed)

sctp_association->hbinterval is unsigned long. Replace %8d with %8lu.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV4]: skb->dst can't be NULL in ip_options_echo.
Denis V. Lunev [Mon, 3 Mar 2008 19:50:10 +0000 (11:50 -0800)]
[IPV4]: skb->dst can't be NULL in ip_options_echo.

ip_options_echo is called on the packet input path after the initial
routing. The dst entry on the packet is cleared only in the several
very specific places and immidiately assigned back (may be new).

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agosparc64: replace remaining __FUNCTION__ occurances
Harvey Harrison [Mon, 3 Mar 2008 19:42:17 +0000 (11:42 -0800)]
sparc64: replace remaining __FUNCTION__ occurances

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agosparc: replace remaining __FUNCTION__ occurances
Harvey Harrison [Mon, 3 Mar 2008 19:41:51 +0000 (11:41 -0800)]
sparc: replace remaining __FUNCTION__ occurances

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SCSI] tgt: fix build errors when dprintk is defined
FUJITA Tomonori [Sat, 1 Mar 2008 06:36:37 +0000 (15:36 +0900)]
[SCSI] tgt: fix build errors when dprintk is defined

drivers/scsi/ibmvscsi/ibmvstgt.c: In function 'ibmvstgt_cmd_done':
drivers/scsi/ibmvscsi/ibmvstgt.c:292: error: 'cmd' undeclared (first use in this function)
drivers/scsi/ibmvscsi/ibmvstgt.c:292: error: (Each undeclared identifier is reported only once
drivers/scsi/ibmvscsi/ibmvstgt.c:292: error: for each function it appears in.)

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] tgt: set the data length properly
FUJITA Tomonori [Sat, 1 Mar 2008 06:36:36 +0000 (15:36 +0900)]
[SCSI] tgt: set the data length properly

scsi_tgt uses REQ_TYPE_BLOCK_PC so scsi_init_io doesn't set the length
for us. scsi_tgt needs to do it by itself.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] tgt: stop zero'ing scsi_cmnd
FUJITA Tomonori [Sat, 1 Mar 2008 06:36:35 +0000 (15:36 +0900)]
[SCSI] tgt: stop zero'ing scsi_cmnd

The scsi midlayer allocates scsi_cmnd->sense_buffer dynamically so we
can't initialize scsi_cmnd (the midlyaer does for us).

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] ibmvstgt: set up scsi_host properly before __scsi_alloc_queue
FUJITA Tomonori [Sat, 1 Mar 2008 06:36:34 +0000 (15:36 +0900)]
[SCSI] ibmvstgt: set up scsi_host properly before __scsi_alloc_queue

Before calling __scsi_alloc_queue, scsi_host->shost_gendev.parent must
be initialized properly.

This patch moves __scsi_alloc_queue after scsi_add_host (like
initiator drivers do).

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Christoph Lameter [Mon, 3 Mar 2008 19:18:08 +0000 (11:18 -0800)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6

18 years ago[SCSI] docbook: fix fusion source files
Randy Dunlap [Sat, 1 Mar 2008 06:03:27 +0000 (22:03 -0800)]
[SCSI] docbook: fix fusion source files

Fix docbook problems in fusion source files.
These cause the generated docbook to be incorrect.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Acked-by: Eric Moore <Eric.Moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] docbook: fix scsi source file
Randy Dunlap [Sat, 1 Mar 2008 06:02:50 +0000 (22:02 -0800)]
[SCSI] docbook: fix scsi source file

Fix docbook problem in SCSI source files.
These cause the generated docbook to be incorrect.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] qla2xxx: Update version number to 8.02.00-k9.
Andrew Vasquez [Thu, 28 Feb 2008 22:06:12 +0000 (14:06 -0800)]
[SCSI] qla2xxx: Update version number to 8.02.00-k9.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] qla2xxx: Correct usage of inconsistent timeout values while issuing ELS commands.
Andrew Vasquez [Thu, 28 Feb 2008 22:06:11 +0000 (14:06 -0800)]
[SCSI] qla2xxx: Correct usage of inconsistent timeout values while issuing ELS commands.

The original code would incorrectly hardcode ELS timeout values
rather than using the traditional '2 * r_a_tov' value.  In some
cases, the hardcoded values would be larger than the
mailbox-command-timeout and result in a needless BIG_HAMMER (ISP
reset), the typical recovery mechanism employed in such cases.

The second defect in the original code was in the assignment of
the default 'ha->r_a_tov' to twice the traditional value.
Correct this by setting the value to 10 seconds.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] qla2xxx: Correct discrepancies during OVERRUN handling on FWI2-capable cards.
Andrew Vasquez [Thu, 28 Feb 2008 22:06:10 +0000 (14:06 -0800)]
[SCSI] qla2xxx: Correct discrepancies during OVERRUN handling on FWI2-capable cards.

For recent ISPs, software must detect OVERRUN conditions by
checking the SS_RESIDUAL_OVER bit during CS_COMPLETE handling.
Update the driver to perform this check, which is consistent with
what earlier firmwares did by explicitly cracking open the
FCP_RSP statuses and returning an CS_DATA_OVERRUN.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] qla2xxx: Correct needless clean-up resets during shutdown.
Andrew Vasquez [Thu, 28 Feb 2008 22:06:09 +0000 (14:06 -0800)]
[SCSI] qla2xxx: Correct needless clean-up resets during shutdown.

There's no point in hitting the RISC with what will most
assuredly be an unsucessful reset of the RISC hardware if the
initial stop-firmware mailbox command fails with a time-out
status.  Instead, to avoid what could amount to a lengthy
stop-firmware/detect-failure/reset-risc loop, continue with
driver unloading and discard the stop-firmware requirement.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] arcmsr: update version and changelog
Nick Cheng [Wed, 27 Feb 2008 08:22:03 +0000 (16:22 +0800)]
[SCSI] arcmsr: update version and changelog

The fix up from Daniel Drake for replacing GFP_DMA with something
more sensible has gone in here:

commit 69e562c234440fb7410877b5b24f4b29ef8521d1
Author: Daniel Drake <dsd@gentoo.org>
Date:   Wed Feb 20 13:29:05 2008 +0000

    [SCSI] arcmsr: fix message allocation

add a change log and update the version for this.

Signed-off-by: Nick Cheng <nick.cheng@areca.com.tw>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] ps3rom: disable clustering
FUJITA Tomonori [Sun, 17 Feb 2008 14:46:00 +0000 (23:46 +0900)]
[SCSI] ps3rom: disable clustering

ps3rom does:

scsi_for_each_sg(cmd, sgpnt, scsi_sg_count(cmd), k) {
kaddr = kmap_atomic(sg_page(sgpnt), KM_IRQ0);

We cannot do something like that with the clustering enabled (or we
can use scsi_kmap_atomic_sg).

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years ago[SCSI] ps3rom: fix wrong resid calculation bug
FUJITA Tomonori [Mon, 25 Feb 2008 13:23:45 +0000 (14:23 +0100)]
[SCSI] ps3rom: fix wrong resid calculation bug

sg driver rounds up the length in struct scatterlist to be a multiple
of 512 in some conditions. So LLDs can't use the data length in a sg
list to calculate residual. Instead, the length in struct scsi_cmnd
should be used.

[Geert: the variable buflen already contains scsi_bufflen(cmd)]

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years agoMerge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 3 Mar 2008 18:47:52 +0000 (10:47 -0800)]
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] Fix freeing of page tables for ARM in free_pgd_slow

18 years agodocbook: fix fusion source files
Randy Dunlap [Sat, 1 Mar 2008 06:03:27 +0000 (22:03 -0800)]
docbook: fix fusion source files

Fix docbook problems in fusion source files.
These cause the generated docbook to be incorrect.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodocbook: fix kernel-api source files
Randy Dunlap [Sat, 1 Mar 2008 06:03:15 +0000 (22:03 -0800)]
docbook: fix kernel-api source files

Fix docbook problems in kernel-api.tmpl.
These cause the generated docbook to be incorrect.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodocbook: fix usb source files
Randy Dunlap [Sat, 1 Mar 2008 06:03:07 +0000 (22:03 -0800)]
docbook: fix usb source files

Fix docbook problems in USB source files.
These cause the generated docbook to be incorrect.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodocbook: fix scsi source file
Randy Dunlap [Sat, 1 Mar 2008 06:02:50 +0000 (22:02 -0800)]
docbook: fix scsi source file

Fix docbook problem in SCSI source files.
These cause the generated docbook to be incorrect.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodocbook: fix rapidio source files
Randy Dunlap [Sat, 1 Mar 2008 06:02:40 +0000 (22:02 -0800)]
docbook: fix rapidio source files

Fix docbook problems in rapidio source files.
These cause the generated docbook to be incorrect.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodocbook: fix filesystems.tmpl source files
Randy Dunlap [Sat, 1 Mar 2008 06:02:31 +0000 (22:02 -0800)]
docbook: fix filesystems.tmpl source files

Fix docbook problems in filesystems.tmpl.
These cause the generated docbook to be incorrect.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
Linus Torvalds [Mon, 3 Mar 2008 18:36:50 +0000 (10:36 -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: revert "x86: fix pmd_bad and pud_bad to support huge pages"
  x86: revert "x86: CPA: avoid split of alias mappings"

18 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Mon, 3 Mar 2008 18:35:38 +0000 (10:35 -0800)]
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (24 commits)
  [POWERPC] Convert the cell IOMMU fixed mapping to 16M IOMMU pages
  [POWERPC] Allow for different IOMMU page sizes in cell IOMMU code
  [POWERPC] Cell IOMMU: n_pte_pages is in 4K page units, not IOMMU_PAGE_SIZE
  [POWERPC] Split setup of IOMMU stab and ptab, allocate dynamic/fixed ptabs separately
  [POWERPC] Move allocation of cell IOMMU pad page
  [POWERPC] Remove unused pte_offset variable
  [POWERPC] Use it_offset not pte_offset in cell IOMMU code
  [POWERPC] Clearup cell IOMMU fixed mapping terminology
  [POWERPC] enable hardware watchpoints on cell blades
  [POWERPC] move celleb DABRX definitions
  [POWERPC] OProfile: enable callgraph support for Cell
  [POWERPC] spufs: fix use time accounting on SPE-overcommit
  [POWERPC] spufs: serialize SLB invalidation against SLB loading
  [POWERPC] spufs: invalidate SLB translation before adding a new entry
  [POWERPC] spufs: synchronize IRQ when disabling
  [POWERPC] spufs: fix order of sputrace thread IDs
  [POWERPC] Xilinx: hwicap cleanup
  [POWERPC] 4xx: Use correct board info structure in cuboot wrappers
  [POWERPC] spufs: fix invalid scheduling of forgotten contexts
  [POWERPC] 44x: add missing define TARGET_4xx and TARGET_440GX to cuboot-taishan
  ...

18 years agoAllow ARG_MAX execve string space even with a small stack limit
Linus Torvalds [Mon, 3 Mar 2008 18:12:14 +0000 (10:12 -0800)]
Allow ARG_MAX execve string space even with a small stack limit

The new code that removed the limitation on the execve string size
(which was historically 32 pages) replaced it with a much softer limit
based on RLIMIT_STACK which is usually much larger than the traditional
limit.  See commit b6a2fea39318e43fee84fa7b0b90d68bed92d2ba ("mm:
variable length argument support") for details.

However, if you have a small stack limit (perhaps because you need lots
of stacks in a threaded environment), the new heuristic of allowing up
to 1/4th of RLIMIT_STACK to be used for argument and environment strings
could actually be smaller than the old limit.

So just say that it's ok to have up to ARG_MAX strings regardless of the
value of RLIMIT_STACK, and check the rlimit only when going over that
traditional limit.

(Of course, if you actually have a *really* small stack limit, the whole
stack itself will be limited before you hit ARG_MAX, but that has always
been true and is clearly the right behaviour anyway).

Acked-by: Carlos O'Donell <carlos@codesourcery.com>
Cc: Michael Kerrisk <michael.kerrisk@googlemail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Ollie Wild <aaw@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoRevert "x86: fix pmd_bad and pud_bad to support huge pages"
Linus Torvalds [Mon, 3 Mar 2008 18:02:44 +0000 (10:02 -0800)]
Revert "x86: fix pmd_bad and pud_bad to support huge pages"

This reverts commit cded932b75ab0a5f9181ee3da34a0a488d1a14fd.

Arjan bisected down a boot-time hang to this, saying:
  ".. it prevents the kernel to finish booting on my (Penryn based)
   laptop.  The boot stops right after freeing the init memory."

and while it's not clear exactly what triggers it, at this stage we're
better off just reverting it while Ingo tries to figure out what went
wrong.

Requested-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Hans Rosenfeld <hans.rosenfeld@amd.com>
Cc: Nish Aravamudan <nish.aravamudan@gmail.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoosk: use gpiolib with tps65010
David Brownell [Thu, 28 Feb 2008 22:09:15 +0000 (14:09 -0800)]
osk: use gpiolib with tps65010

Convert OSK board to use new tps65010 gpiolib support.  This
includes moving its LED support from leds-osk to gpio-leds,
giving more trigger options and a net platform code shrink.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
18 years agotps65010 driver converts to gpiolib
David Brownell [Thu, 28 Feb 2008 22:07:28 +0000 (14:07 -0800)]
tps65010 driver converts to gpiolib

Make the tps65010 driver use gpiolib to expose its GPIOs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
18 years agoARM: OMAP: Remove compiler warning when i2c is not set
Kyungmin Park [Mon, 3 Mar 2008 07:36:23 +0000 (16:36 +0900)]
ARM: OMAP: Remove compiler warning when i2c is not set

Remove compiler warning when i2c is not set

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
18 years agox86: revert "x86: fix pmd_bad and pud_bad to support huge pages"
Ingo Molnar [Mon, 3 Mar 2008 12:53:58 +0000 (13:53 +0100)]
x86: revert "x86: fix pmd_bad and pud_bad to support huge pages"

revert commit cded932b75ab0a5f9181ee3da34a0a488d1a14fd,
"x86: fix pmd_bad and pud_bad to support huge pages", it causes
a bootup hang, as reported and bisected by Arjan van de Ven.

Bisected-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agox86: revert "x86: CPA: avoid split of alias mappings"
Rafael J. Wysocki [Mon, 3 Mar 2008 00:17:37 +0000 (01:17 +0100)]
x86: revert "x86: CPA: avoid split of alias mappings"

Revert:

  commit 8be8f54bae3453588011cad06363813a5293af53
  Author: Thomas Gleixner <tglx@linutronix.de>
  Date:   Sat Feb 23 20:43:21 2008 +0100

      x86: CPA: avoid split of alias mappings

because it clearly mishandles the case when __change_page_attr(), called
from __change_page_attr_set_clr(), changes cpa->processed to 1 and
cpa_process_alias(cpa) is executed right after that.

This crashes my x86-64 test box early in the boot process
(ref. http://bugzilla.kernel.org/show_bug.cgi?id=10140#c4).

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
18 years agoomap 5912 osk: GPIO updates
David Brownell [Tue, 26 Feb 2008 00:01:23 +0000 (16:01 -0800)]
omap 5912 osk: GPIO updates

Start cleaning up GPIO handling for OMAP5912 OSK board:

 - Initialize GPIOs using the cross-platform calls, not the old
   OMAP-private ones.

 - Move touchscreen setup out of ads7846 code into board-specfic
   setup code, where it belongs.

This doesn't depend on the patches to update OMAP to use the
gpiolib implementation framework.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
18 years agoARM: OMAP: Use gpiolib
David Brownell [Mon, 3 Mar 2008 12:43:23 +0000 (04:43 -0800)]
ARM: OMAP: Use gpiolib

Update OMAP to use the new GPIO implementation framework.  This is just a
quick'n'dirty update ... more code could now be removed, ideally as part
of cleaning up the entire OMAP GPIO infrastructure ...

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
18 years agoARM: OMAP: gpio lockdep updates
David Brownell [Mon, 3 Mar 2008 12:33:30 +0000 (04:33 -0800)]
ARM: OMAP: gpio lockdep updates

Fix some spinlock issues reported by lockdep:  since the gpio bank
locks can be aquired in both irq and non-irq contexts, they need
to be consistent about always using the irq-safe variants.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
18 years agoMerge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/arnd/cell...
Paul Mackerras [Mon, 3 Mar 2008 10:31:09 +0000 (21:31 +1100)]
Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/arnd/cell-2.6 into merge

18 years agoARM: OMAP: Fix compile for boards depending on old gpio expander
Tony Lindgren [Mon, 3 Mar 2008 09:31:32 +0000 (01:31 -0800)]
ARM: OMAP: Fix compile for boards depending on old gpio expander

The long term fix is to switch boards to use drivers/gpio/pcf857x.c.

Signed-off-by: Tony Lindgren <tony@atomide.com>
18 years agoKVM: emulate access to MSR_IA32_MCG_CTL
Joerg Roedel [Mon, 11 Feb 2008 19:28:27 +0000 (20:28 +0100)]
KVM: emulate access to MSR_IA32_MCG_CTL

Injecting an GP when accessing this MSR lets Windows crash when running some
stress test tools in KVM.  So this patch emulates access to this MSR.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Markus Rechberger <markus.rechberger@amd.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
18 years agoKVM: Make the supported cpuid list a host property rather than a vm property
Avi Kivity [Mon, 11 Feb 2008 16:37:23 +0000 (18:37 +0200)]
KVM: Make the supported cpuid list a host property rather than a vm property

One of the use cases for the supported cpuid list is to create a "greatest
common denominator" of cpu capabilities in a server farm.  As such, it is
useful to be able to get the list without creating a virtual machine first.

Since the code does not depend on the vm in any way, all that is needed is
to move it to the device ioctl handler.  The capability identifier is also
changed so that binaries made against -rc1 will fail gracefully.

Signed-off-by: Avi Kivity <avi@qumranet.com>
18 years agoKVM: Fix kvm_arch_vcpu_ioctl_set_sregs so that set_cr0 works properly
Paul Knowles [Wed, 6 Feb 2008 11:02:35 +0000 (11:02 +0000)]
KVM: Fix kvm_arch_vcpu_ioctl_set_sregs so that set_cr0 works properly

Whilst working on getting a VM to initialize in to IA32e mode I found
this issue. set_cr0 relies on comparing the old cr0 to the new one to
work correctly.  Move the assignment below so the compare can work.

Signed-off-by: Paul Knowles <paul@transitive.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
18 years agoKVM: SVM: set NM intercept when enabling CR0.TS in the guest
Joerg Roedel [Tue, 29 Jan 2008 12:01:27 +0000 (13:01 +0100)]
KVM: SVM: set NM intercept when enabling CR0.TS in the guest

Explicitly enable the NM intercept in svm_set_cr0 if we enable TS in the guest
copy of CR0 for lazy FPU switching. This fixes guest SMP with Linux under SVM.
Without that patch Linux deadlocks or panics right after trying to boot the
other CPUs.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Markus Rechberger <markus.rechberger@amd.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
18 years agoKVM: SVM: Fix lazy FPU switching
Joerg Roedel [Mon, 21 Jan 2008 12:09:33 +0000 (13:09 +0100)]
KVM: SVM: Fix lazy FPU switching

If the guest writes to cr0 and leaves the TS flag at 0 while vcpu->fpu_active
is also 0, the TS flag in the guest's cr0 gets lost. This leads to corrupt FPU
state an causes Windows Vista 64bit to crash very soon after boot.  This patch
fixes this bug.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Markus Rechberger <markus.rechberger@amd.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
18 years ago[POWERPC] Convert the cell IOMMU fixed mapping to 16M IOMMU pages
Michael Ellerman [Fri, 29 Feb 2008 07:33:29 +0000 (18:33 +1100)]
[POWERPC] Convert the cell IOMMU fixed mapping to 16M IOMMU pages

The only tricky part is we need to adjust the PTE insertion loop to
cater for holes in the page table. The PTEs for each segment start on
a 4K boundary, so with 16M pages we have 16 PTEs per segment and then
a gap to the next 4K page boundary.

It might be possible to allocate the PTEs for each segment separately,
saving the memory currently filling the gaps. However we'd need to
check that's OK with the hardware, and that it actually saves memory.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years ago[POWERPC] Allow for different IOMMU page sizes in cell IOMMU code
Michael Ellerman [Fri, 29 Feb 2008 07:33:27 +0000 (18:33 +1100)]
[POWERPC] Allow for different IOMMU page sizes in cell IOMMU code

Make some preliminary changes to cell_iommu_alloc_ptab() to allow it to
take the page size as a parameter rather than assuming IOMMU_PAGE_SIZE.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years ago[POWERPC] Cell IOMMU: n_pte_pages is in 4K page units, not IOMMU_PAGE_SIZE
Michael Ellerman [Fri, 29 Feb 2008 07:33:26 +0000 (18:33 +1100)]
[POWERPC] Cell IOMMU: n_pte_pages is in 4K page units, not IOMMU_PAGE_SIZE

We use n_pte_pages to calculate the stride through the page tables, but
we also use it to set the NPPT value in the segment table entry. That is
defined as the number of 4K pages per segment, so we should calculate
it as such regardless of the IOMMU page size.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years ago[POWERPC] Split setup of IOMMU stab and ptab, allocate dynamic/fixed ptabs separately
Michael Ellerman [Fri, 29 Feb 2008 07:33:25 +0000 (18:33 +1100)]
[POWERPC] Split setup of IOMMU stab and ptab, allocate dynamic/fixed ptabs separately

Currently the cell IOMMU code allocates the entire IOMMU page table in a
contiguous chunk. This is nice and tidy, but for machines with larger
amounts of RAM the page table allocation can fail due to it simply being
too large.

So split the segment table and page table setup routine, and arrange to
have the dynamic and fixed page tables allocated separately.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years ago[POWERPC] Move allocation of cell IOMMU pad page
Michael Ellerman [Fri, 29 Feb 2008 07:33:24 +0000 (18:33 +1100)]
[POWERPC] Move allocation of cell IOMMU pad page

There's no need to allocate the pad page unless we're going to actually
use it - so move the allocation to where we know we're going to use it.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years ago[POWERPC] Remove unused pte_offset variable
Michael Ellerman [Fri, 29 Feb 2008 07:33:23 +0000 (18:33 +1100)]
[POWERPC] Remove unused pte_offset variable

The cell IOMMU code no longer needs to save the pte_offset variable
separately, it is incorporated into tbl->it_offset.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years ago[POWERPC] Use it_offset not pte_offset in cell IOMMU code
Michael Ellerman [Fri, 29 Feb 2008 07:33:23 +0000 (18:33 +1100)]
[POWERPC] Use it_offset not pte_offset in cell IOMMU code

The cell IOMMU tce build and free routines use pte_offset to convert
the index passed from the generic IOMMU code into a page table offset.

This takes into account the SPIDER_DMA_OFFSET which sets the top bit
of every DMA address.

However it doesn't cater for the IOMMU window starting at a non-zero
address, as the base of the window is not incorporated into pte_offset
at all.

As it turns out tbl->it_offset already contains the value we need, it
takes into account the base of the window and also pte_offset. So use
it instead!

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years ago[POWERPC] Clearup cell IOMMU fixed mapping terminology
Michael Ellerman [Fri, 29 Feb 2008 07:33:22 +0000 (18:33 +1100)]
[POWERPC] Clearup cell IOMMU fixed mapping terminology

It's called the fixed mapping, not the static mapping.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years ago[POWERPC] enable hardware watchpoints on cell blades
Jens Osterkamp [Thu, 28 Feb 2008 10:27:31 +0000 (11:27 +0100)]
[POWERPC] enable hardware watchpoints on cell blades

Ulrich Weigand has found that the hardware watchpoints on cell were not
working back in November :

http://ozlabs.org/pipermail/linuxppc-dev/2007-November/046135.html

This patch sets them during initialization.

Signed-off-by: Jens Osterkamp <jens@de.ibm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years ago[POWERPC] move celleb DABRX definitions
Jens Osterkamp [Thu, 28 Feb 2008 10:26:21 +0000 (11:26 +0100)]
[POWERPC] move celleb DABRX definitions

This moves the private DABRX definitions for celleb from beat.h to
reg.h to make them usable for all.

Signed-off-by: Jens Osterkamp <jens@de.ibm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years ago[POWERPC] OProfile: enable callgraph support for Cell
Bob Nelson [Wed, 20 Feb 2008 04:00:56 +0000 (05:00 +0100)]
[POWERPC] OProfile: enable callgraph support for Cell

This patch enables OProfile callgraph support for the Cell processor.  The
original code was just calling a function to add the PC value, now it will
call a function that first checks the callgraph depth.  Callgraph is already
enabled on the other Power platforms.

Signed-off-by: Bob Nelson <rrnelson@us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
18 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into...
Paul Mackerras [Mon, 3 Mar 2008 06:44:06 +0000 (17:44 +1100)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into merge

18 years agoMerge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer...
Paul Mackerras [Mon, 3 Mar 2008 06:38:23 +0000 (17:38 +1100)]
Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx into merge

18 years agoMerge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Steve French [Mon, 3 Mar 2008 01:53:49 +0000 (01:53 +0000)]
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6

18 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
Linus Torvalds [Sun, 2 Mar 2008 20:38:17 +0000 (12:38 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  firewire: fix crash in automatic module unloading
  firewire: potentially invalid pointers used in fw_card_bm_work
  firewire: fw-sbp2: better fix for NULL pointer dereference in scsi_remove_device

18 years agohwmon: (smsc47b397) add a new chip id (0x8c)
Craig Kelley [Fri, 29 Feb 2008 17:24:44 +0000 (10:24 -0700)]
hwmon: (smsc47b397) add a new chip id (0x8c)

Added a new ID (0x8c) for the smsc47b397 hardware monitor driver.
This ID is used by HP in, at least, their dc7700 line.

Signed-off-by: Craig Kelley <namonai@gmail.com>
Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
18 years agofirewire: fix crash in automatic module unloading
Stefan Richter [Wed, 27 Feb 2008 21:14:27 +0000 (22:14 +0100)]
firewire: fix crash in automatic module unloading

"modprobe firewire-ohci; sleep .1; modprobe -r firewire-ohci" used to
result in crashes like this:

    BUG: unable to handle kernel paging request at ffffffff8807b455
    IP: [<ffffffff8807b455>]
    PGD 203067 PUD 207063 PMD 7c170067 PTE 0
    Oops: 0010 [1] PREEMPT SMP
    CPU 0
    Modules linked in: i915 drm cpufreq_ondemand acpi_cpufreq freq_table applesmc input_polldev led_class coretemp hwmon eeprom snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss button thermal processor sg snd_hda_intel snd_pcm snd_timer snd snd_page_alloc sky2 i2c_i801 rtc [last unloaded: crc_itu_t]
    Pid: 9, comm: events/0 Not tainted 2.6.25-rc2 #3
    RIP: 0010:[<ffffffff8807b455>]  [<ffffffff8807b455>]
    RSP: 0018:ffff81007dcdde88  EFLAGS: 00010246
    RAX: ffff81007dc95040 RBX: ffff81007dee5390 RCX: 0000000000005e13
    RDX: 0000000000008c8b RSI: 0000000000000001 RDI: ffff81007dee5388
    RBP: ffff81007dc5eb40 R08: 0000000000000002 R09: ffffffff8022d05c
    R10: ffffffff8023b34c R11: ffffffff8041a353 R12: ffff81007dee5388
    R13: ffffffff8807b455 R14: ffffffff80593bc0 R15: 0000000000000000
    FS:  0000000000000000(0000) GS:ffffffff8055a000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
    CR2: ffffffff8807b455 CR3: 0000000000201000 CR4: 00000000000006e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process events/0 (pid: 9, threadinfo ffff81007dcdc000, task ffff81007dc95040)
    Stack:  ffffffff8023b396 ffffffff88082524 0000000000000000 ffffffff8807d9ae
    ffff81007dc5eb40 ffff81007dc9dce0 ffff81007dc5eb40 ffff81007dc5eb80
    ffff81007dc9dce0 ffffffffffffffff ffffffff8023be87 0000000000000000
    Call Trace:
    [<ffffffff8023b396>] ? run_workqueue+0xdf/0x1df
    [<ffffffff8023be87>] ? worker_thread+0xd8/0xe3
    [<ffffffff8023e917>] ? autoremove_wake_function+0x0/0x2e
    [<ffffffff8023bdaf>] ? worker_thread+0x0/0xe3
    [<ffffffff8023e813>] ? kthread+0x47/0x74
    [<ffffffff804198e0>] ? trace_hardirqs_on_thunk+0x35/0x3a
    [<ffffffff8020c008>] ? child_rip+0xa/0x12
    [<ffffffff8020b6e3>] ? restore_args+0x0/0x3d
    [<ffffffff8023e68a>] ? kthreadd+0x14c/0x171
    [<ffffffff8023e68a>] ? kthreadd+0x14c/0x171
    [<ffffffff8023e7cc>] ? kthread+0x0/0x74
    [<ffffffff8020bffe>] ? child_rip+0x0/0x12

    Code:  Bad RIP value.
    RIP  [<ffffffff8807b455>]
    RSP <ffff81007dcdde88>
    CR2: ffffffff8807b455
    ---[ end trace c7366c6657fe5bed ]---

Note that this crash happened _after_ firewire-core was unloaded.  The
shared workqueue tried to run firewire-core's device initialization jobs
or similar jobs.

The fix makes sure that firewire-ohci and hence firewire-core is not
unloaded before all device shutdown jobs have been completed.  This is
determined by the count of device initializations minus device releases.

Also skip useless retries in the node initialization job if the node is
to be shut down.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jarod Wilson <jwilson@redhat.com>
18 years agofirewire: potentially invalid pointers used in fw_card_bm_work
Stefan Richter [Sun, 24 Feb 2008 17:57:23 +0000 (18:57 +0100)]
firewire: potentially invalid pointers used in fw_card_bm_work

The bus management workqueue job was in danger to dereference NULL
pointers.  Also, after having temporarily lifted card->lock, a few node
pointers and a device pointer may have become invalid.

Add NULL pointer checks and get the necessary references.  Also, move
card->local_node out of fw_card_bm_work's sight during shutdown of the
card.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jarod Wilson <jwilson@redhat.com>
18 years agofirewire: fw-sbp2: better fix for NULL pointer dereference in scsi_remove_device
Stefan Richter [Tue, 26 Feb 2008 22:30:02 +0000 (23:30 +0100)]
firewire: fw-sbp2: better fix for NULL pointer dereference in scsi_remove_device

Patch "firewire: fw-sbp2: fix NULL pointer deref. in scsi_remove_device"
had the unintended effect that firewire-sbp2 could not be unloaded
anymore until all SBP-2 devices were unplugged.

We now fix the NULL pointer bug by reacquiring a reference to the sdev
instead of holding a reference to the sdev (and to the module) all the
time.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Tested-by: Jarod Wilson <jwilson@redhat.com>
18 years ago[ARM] Fix freeing of page tables for ARM in free_pgd_slow
Uwe Kleine-König [Wed, 27 Feb 2008 12:44:59 +0000 (13:44 +0100)]
[ARM] Fix freeing of page tables for ARM in free_pgd_slow

Since 2f569af (CONFIG_HIGHPTE vs. sub-page page tables.) pte_free() calls
pte_lock_deinit() and dec_zone_page_state().  So free_pgd_slow must not call
the latter two when calling the first.

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years agoMerge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Steve French [Sat, 1 Mar 2008 18:29:55 +0000 (18:29 +0000)]
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6

18 years ago[PATCH] drop EOE records from printk
Steve Grubb [Thu, 21 Feb 2008 21:59:22 +0000 (16:59 -0500)]
[PATCH] drop EOE records from printk

Hi,

While we are looking at the printk issue, I see that its printk'ing the EOE
(end of event) records which is really not something that we need in syslog.
Its really intended for the realtime audit event stream handled by the audit
daemon. So, lets avoid printk'ing that record type.

Signed-off-by: Steve Grubb <sgrubb@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[RFC] AUDIT: do not panic when printk loses messages
Eric Paris [Thu, 21 Feb 2008 20:53:05 +0000 (15:53 -0500)]
[RFC] AUDIT: do not panic when printk loses messages

On the latest kernels if one was to load about 15 rules, set the failure
state to panic, and then run service auditd stop the kernel will panic.
This is because auditd stops, then the script deletes all of the rules.
These deletions are sent as audit messages out of the printk kernel
interface which is already known to be lossy.  These will overun the
default kernel rate limiting (10 really fast messages) and will call
audit_panic().  The same effect can happen if a slew of avc's come
through while auditd is stopped.

This can be fixed a number of ways but this patch fixes the problem by
just not panicing if auditd is not running.  We know printk is lossy and
if the user chooses to set the failure mode to panic and tries to use
printk we can't make any promises no matter how hard we try, so why try?
At least in this way we continue to get lost message accounting and will
eventually know that things went bad.

The other change is to add a new call to audit_log_lost() if auditd
disappears.  We already pulled the skb off the queue and couldn't send
it so that message is lost.  At least this way we will account for the
last message and panic if the machine is configured to panic.  This code
path should only be run if auditd dies for unforeseen reasons.  If
auditd closes correctly audit_pid will get set to 0 and we won't walk
this code path.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] Audit: Fix the format type for size_t variables
Paul Moore [Wed, 27 Feb 2008 15:39:22 +0000 (10:39 -0500)]
[PATCH] Audit: Fix the format type for size_t variables

Fix the following compiler warning by using "%zu" as defined in C99.

  CC      kernel/auditsc.o
  kernel/auditsc.c: In function 'audit_log_single_execve_arg':
  kernel/auditsc.c:1074: warning: format '%ld' expects type 'long int', but
  argument 4 has type 'size_t'

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Sat, 1 Mar 2008 00:54:33 +0000 (16:54 -0800)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [libata] wrap kmap_atomic(KM_IRQ0) with local_irq_save/restore()
  sata_svw: Add support for HT1100 SATA controller

18 years ago[libata] wrap kmap_atomic(KM_IRQ0) with local_irq_save/restore()
Jeff Garzik [Sat, 1 Mar 2008 00:10:51 +0000 (19:10 -0500)]
[libata] wrap kmap_atomic(KM_IRQ0) with local_irq_save/restore()

Interrupts must be disabled if using kmap_atomic(KM_IRQ0), but that was
not the case in a few code paths coming directly from ATA driver
interrupt handlers (which use spin_lock rather than spin_lock_irqsave).

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
18 years agoMerge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Fri, 29 Feb 2008 23:18:44 +0000 (15:18 -0800)]
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 4843/1: Add GCR_CLKBPB for PXA3xx
  [ARM] 4842/1: pxa: remove redundant IRQ saving/restoring in clk_pxa3xx_cken_*
  [ARM] 4841/1: pxa: fix typo in LCD platform data definition code for zylonite
  [ARM] 4840/1: pxa: fix the typo in get_irqnr_and_base
  [ARM] 4839/1: fixes kernel Oops in /dev/mem device driver for memory map with PHYS_OFF
  [ARM] eliminate MODULE_PARM() usage
  [ARM] 4838/1: Fix kexec for SA1100 machines
  [ARM] 4837/1: make __get_unaligned_*() return unsigned types
  [ARM] 4836/1: Make ATAGS_PROC depend on KEXEC

18 years ago[ARM] 4843/1: Add GCR_CLKBPB for PXA3xx
Mark Brown [Wed, 27 Feb 2008 14:34:56 +0000 (15:34 +0100)]
[ARM] 4843/1: Add GCR_CLKBPB for PXA3xx

The PXA3xx AC97 controller has an additional control bit GCR_CLKBPB
which must be used during cold reset.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 4842/1: pxa: remove redundant IRQ saving/restoring in clk_pxa3xx_cken_*
eric miao [Wed, 27 Feb 2008 01:01:11 +0000 (02:01 +0100)]
[ARM] 4842/1: pxa: remove redundant IRQ saving/restoring in clk_pxa3xx_cken_*

This is unnecessary since it is already protected by
spin_lock_irq{save, restore} in clock.c.

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 4841/1: pxa: fix typo in LCD platform data definition code for zylonite
eric miao [Wed, 27 Feb 2008 01:00:26 +0000 (02:00 +0100)]
[ARM] 4841/1: pxa: fix typo in LCD platform data definition code for zylonite

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 4840/1: pxa: fix the typo in get_irqnr_and_base
eric miao [Wed, 27 Feb 2008 00:59:28 +0000 (01:59 +0100)]
[ARM] 4840/1: pxa: fix the typo in get_irqnr_and_base

This typo causes the incorrect calculation of the IRQ numbers
in the ICIP2 registers.

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 4839/1: fixes kernel Oops in /dev/mem device driver for memory map with PHYS_OFF
Alexandre Rusev [Tue, 26 Feb 2008 17:42:10 +0000 (18:42 +0100)]
[ARM] 4839/1: fixes kernel Oops in /dev/mem device driver for memory map with PHYS_OFF

"cat /dev/mem" may cause kernel Oops for boards with PHYS_OFFSET != 0
because character device is mapped to addresses starting from zero
and there is no protection against such situation.
Patch just add this.

Signed-off-by: Alexandre Rusev <arusev@ru.mvista.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] eliminate MODULE_PARM() usage
Randy Dunlap [Wed, 27 Feb 2008 20:11:16 +0000 (12:11 -0800)]
[ARM] eliminate MODULE_PARM() usage

Convert debug-only (and removed) MODULE_PARM() to module_param().
Compiles cleanly (with DEBUG=1).

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 4838/1: Fix kexec for SA1100 machines
Thomas Kunze [Sun, 24 Feb 2008 16:59:34 +0000 (17:59 +0100)]
[ARM] 4838/1: Fix kexec for SA1100 machines

This patch sets KEXEC_CONTROL_MEMORY_LIMIT to (-1)UL. As the value is
compared with physical addresses TASK_SIZE makes no sense. Machines
where the RAM addresses start above TASK_SIZE kexecs eats all memory
and crashes the kernel without this patch.

Signed-off-by: Thomas Kunze <thommycheck@gmx.de>
Acked-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 4837/1: make __get_unaligned_*() return unsigned types
Lennert Buytenhek [Fri, 22 Feb 2008 23:23:48 +0000 (00:23 +0100)]
[ARM] 4837/1: make __get_unaligned_*() return unsigned types

Eric Sandeen tracked an XFS on ARM corruption bug down to a function
under fs/xfs/ involving some get_unaligned() calls on u64 pointers.
As it turns out, calling ARM's get_unaligned() on a u64 pointer
pointing to the following byte sequence:

80 81 82 83 84 85 86 87

would return ffffffff83828180 (LE mode.)  This turns out to be
because of implicit u8 -> int promotion in ARM's implementation of
various helpers for get_unaligned(), causing them to accidentally
return signed instead of unsigned values, which in turn caused the
subsequent casts to unsigned long long in __get_unaligned_8_[bl]e()
to sign-extend the lower words.

Fix by casting the return values of __get_unaligned_[24]_[bl]e()
to unsigned int.

Cc: Eric Sandeen <sandeen@sandeen.net>
Cc: Rabeeh Khoury <rabeeh@marvell.com>
Cc: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 4836/1: Make ATAGS_PROC depend on KEXEC
Uli Luckas [Fri, 22 Feb 2008 15:45:18 +0000 (16:45 +0100)]
[ARM] 4836/1: Make ATAGS_PROC depend on KEXEC

On Wed, Feb 20, 2008 at 11:50:33AM +0100, Guennadi Liakhovetski wrote:
> arch/arm/kernel/atags.c uses for some reason the
> KEXEC_BOOT_PARAMS_SIZE macro, which is only defined if CONFIG_KEXEC
> is set. So, either this macro should be defined always, or another
> macro should be used, or ATAGS_PROC should depend on KEXEC.

As the procfs export of ATAGS is not meant as a stable, general purpose
ABI it shouldn't be an independent, general configuration option.

This patch make ATAGS_PROC depend on KEXEC

Signed-off-by: Uli Luckas <u.luckas@road.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ICMP]: Section conflict between icmp_sk_init/icmp_sk_exit.
Denis V. Lunev [Fri, 29 Feb 2008 22:15:19 +0000 (14:15 -0800)]
[ICMP]: Section conflict between icmp_sk_init/icmp_sk_exit.

Functions from __exit section should not be called from ones in __init
section. Fix this conflict.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoRDMA/cxgb3: Return correct max_inline_data when creating a QP
Jon Mason [Fri, 29 Feb 2008 21:53:18 +0000 (13:53 -0800)]
RDMA/cxgb3: Return correct max_inline_data when creating a QP

Set cap.max_inline_data to the actual max inline data that the adapter
support, so that userspace apps see the right value returned.

Signed-off-by: Jon Mason <jon@opengridcomputing.com>
Acked-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>