12 years agofile caps: always start with clear bprm->caps_*
Serge Hallyn [Thu, 30 Oct 2008 16:52:23 +0000 (11:52 -0500)]
file caps: always start with clear bprm->caps_*

While Linux doesn't honor setuid on scripts.  However, it mistakenly
behaves differently for file capabilities.

This patch fixes that behavior by making sure that get_file_caps()
begins with empty bprm->caps_*.  That way when a script is loaded,
its bprm->caps_* may be filled when binfmt_misc calls prepare_binprm(),
but they will be cleared again when binfmt_elf calls prepare_binprm()
next to read the interpreter's file capabilities.

Signed-off-by: Serge Hallyn <>
Acked-by: David Howells <>
Acked-by: Andrew G. Morgan <>
Signed-off-by: Linus Torvalds <>
12 years agoMerge branch 'for-2.6.28' of git://
Linus Torvalds [Fri, 31 Oct 2008 22:44:08 +0000 (15:44 -0700)]
Merge branch 'for-2.6.28' of git://

* 'for-2.6.28' of git://
  NLM: Set address family before calling nlm_host_rebooted()
  nfsd: fix failure to set eof in readdir in some situations

12 years agoMerge branch 'merge' of git://
Linus Torvalds [Fri, 31 Oct 2008 15:14:15 +0000 (08:14 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc

* 'merge' of git:// (23 commits)
  Revert "powerpc: Sync RPA note in zImage with kernel's RPA note"
  powerpc: Fix compile errors with CONFIG_BUG=n
  powerpc: Fix format string warning in arch/powerpc/boot/main.c
  powerpc: Fix bug in kernel copy of libfdt's fdt_subnode_offset_namelen()
  powerpc: Remove duplicate DMA entry from mpc8313erdb device tree
  powerpc/cell/OProfile: Fix on-stack array size in activate spu profiling function
  powerpc/mpic: Fix regression caused by change of default IRQ affinity
  powerpc: Update remaining dma_mapping_ops to use map/unmap_page
  powerpc/pci: Fix unmapping of IO space on 64-bit
  powerpc/pci: Properly allocate bus resources for hotplug PHBs
  OF-device: Don't overwrite numa_node in device registration
  powerpc: Fix swapcontext system for VSX + old ucontext size
  powerpc: Fix compiler warning for the relocatable kernel
  powerpc: Work around ld bug in older binutils
  powerpc/ppc64/kdump: Better flag for running relocatable
  powerpc: Use is_kdump_kernel()
  powerpc: Kexec exit should not use magic numbers
  powerpc/44x: Update 44x defconfigs
  powerpc/40x: Update 40x defconfigs
  powerpc: enable heap randomization for linkstations

12 years agoMerge git://
Linus Torvalds [Fri, 31 Oct 2008 14:53:17 +0000 (07:53 -0700)]
Merge git://git./linux/kernel/git/lethal/sh-2.6

* git:// (21 commits)
  sh: fix sh2a cache entry_mask
  sh: Enable NFS root in Migo-R defconfig.
  sh: FTRACE renamed to FUNCTION_TRACER.
  sh: Fix up the shared IRQ demuxer's control bit testing logic.
  Define SCSPTR1 for SH 7751R
  sh: Add sci_rxd_in of SH4-202
  Add support usb setting on sh 7366
  sh: Change register name SCSPTR to SCSPTR2
  sh: use the new byteorder headers.
  sh: SHmedia ISA tuning fixups.
  sh: Kill off long-dead HD64465 cchip support.
  sh: Revert "SH 7366 needs SCIF_ONLY"
  sh: Simplify and lock down the ISA tuning.
  sh: sh7785lcr: Select uImage as default image target.
  sh: Add on-chip RTC support for SH7722.
  SH 7366 needs SCIF_ONLY
  gdrom: Fix compile error
  sh: Provide a sample defconfig for the UL2 (SH7366) board.
  sh: Fix FPU tuning on toolchains with mismatched multilib targets.
  sh: oprofile: Fix up the SH7750 performance counter name.

12 years agoMerge git://
Linus Torvalds [Fri, 31 Oct 2008 14:52:51 +0000 (07:52 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-2.6

* git://
  sparc64: Add missing null terminating entry to bq4802_match[].
  sparc: use the new byteorder headers
  rtc-m48t59: shift zero year to 1968 on sparc (rev 2)
  dbri: check dma_alloc_coherent errors
  sparc64: remove byteshifting from out* helpers

12 years agoMerge branch 'for_linus' of git://
Linus Torvalds [Fri, 31 Oct 2008 14:52:12 +0000 (07:52 -0700)]
Merge branch 'for_linus' of git://git./linux/kernel/git/tytso/ext4

* 'for_linus' of git://
  delay capable() check in ext4_has_free_blocks()
  merge ext4_claim_free_blocks & ext4_has_free_blocks
  jbd2: Call the commit callback before the transaction could get dropped
  ext4: fix a bug accessing freed memory in ext4_abort
  ext3: fix a bug accessing freed memory in ext3_abort

12 years agoMerge branch 'upstream-linus' of git://
Linus Torvalds [Fri, 31 Oct 2008 14:47:57 +0000 (07:47 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://
  libata: add whitelist for devices with known good pata-sata bridges
  sata_via: fix support for 5287
  libata: Avoid overflow in ata_tf_to_lba48() when tf->hba_lbal > 127
  ATA: remove excess kernel-doc notation

12 years agoRevert "powerpc: Sync RPA note in zImage with kernel's RPA note"
Paul Mackerras [Fri, 31 Oct 2008 11:27:17 +0000 (22:27 +1100)]
Revert "powerpc: Sync RPA note in zImage with kernel's RPA note"

This reverts commit 91a00302959545a9ae423e99732b1e46eb19e877, plus
commit 0dcd440120ef12879ff34fc78d7e4abf171c79e4 ("powerpc: Revert CHRP
boot wrapper to real-base = 12MB on 32-bit") which depended on it.

Commit 91a00302 was causing NVRAM corruption on some pSeries machines,
for as-yet unknown reasons, so this reverts it until the cause is

Signed-off-by: Paul Mackerras <>
12 years agoMerge branch 'merge' of
Paul Mackerras [Fri, 31 Oct 2008 10:34:56 +0000 (21:34 +1100)]
Merge branch 'merge' of /linux/kernel/git/galak/powerpc into merge

12 years agopowerpc: Fix compile errors with CONFIG_BUG=n
Paul Mackerras [Fri, 31 Oct 2008 10:34:09 +0000 (21:34 +1100)]
powerpc: Fix compile errors with CONFIG_BUG=n

This makes sure we don't try to call find_bug or is_warning_bug when
CONFIG_BUG=n and CONFIG_XMON=y.  Otherwise we get these errors:

arch/powerpc/xmon/xmon.c: In function ‘print_bug_trap’:
arch/powerpc/xmon/xmon.c:1364: error: implicit declaration of function ‘find_bug’
arch/powerpc/xmon/xmon.c:1364: warning: assignment makes pointer from integer without a cast
arch/powerpc/xmon/xmon.c:1367: error: implicit declaration of function ‘is_warning_bug’
arch/powerpc/xmon/xmon.c:1374: error: dereferencing pointer to incomplete type
make[2]: *** [arch/powerpc/xmon/xmon.o] Error 1
make[1]: *** [arch/powerpc/xmon] Error 2
make: *** [sub-make] Error 2

Signed-off-by: Paul Mackerras <>
12 years agopowerpc: Fix format string warning in arch/powerpc/boot/main.c
Jon Smirl [Thu, 30 Oct 2008 16:51:32 +0000 (16:51 +0000)]
powerpc: Fix format string warning in arch/powerpc/boot/main.c

Fix format string warning in arch/powerpc/boot/main.c.  Also correct
a typo ("uncomressed") on the same line.

 BOOTCC  arch/powerpc/boot/main.o
arch/powerpc/boot/main.c: In function 'prep_kernel':
arch/powerpc/boot/main.c:65: warning: format '%08x' expects type
'unsigned int', but argument 3 has type 'long unsigned int'

Signed-off-by: Jon Smirl <>
Acked-by: David Gibson <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc: Fix bug in kernel copy of libfdt's fdt_subnode_offset_namelen()
David Gibson [Thu, 30 Oct 2008 16:37:05 +0000 (16:37 +0000)]
powerpc: Fix bug in kernel copy of libfdt's fdt_subnode_offset_namelen()

There's currently an off-by-one bug in fdt_subnode_offset_namelen()
which causes it to keep searching after it's finished the subnodes of
the given parent, and into the subnodes of siblings of the original
node which come after it in the tree.  This bug was introduced in
commit ed95d7450dcbfeb45ffc9d39b1747aee82b49a51 ("powerpc: Update
in-kernel dtc and libfdt to version 1.2.0").

A patch has already been submitted to dtc/libfdt mainline.  We don't
really want to pull in a new upstream version during the 2.6.28 cycle,
but we should still fix this bug, hence this standalone version of the
fix for the in-kernel libfdt.

Signed-off-by: David Gibson <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc: Remove duplicate DMA entry from mpc8313erdb device tree
Mike Dyer [Wed, 29 Oct 2008 10:10:06 +0000 (10:10 +0000)]
powerpc: Remove duplicate DMA entry from mpc8313erdb device tree

Commit 574366128db29e7da609ec1f9c01bf9d80adec87 added a duplicate
DMA controller node.

Signed-off-by: Mike Dyer <>
Signed-off-by: Kumar Gala <>
12 years agosh: fix sh2a cache entry_mask
Yoshihiro Shimoda [Thu, 7 Aug 2008 04:54:59 +0000 (13:54 +0900)]
sh: fix sh2a cache entry_mask

fix sh2a cache entry_mask in __flush_{purge,invalidate}_region.

Signed-off-by: Yoshihiro Shimoda <>
Signed-off-by: Paul Mundt <>
12 years agosh: Enable NFS root in Migo-R defconfig.
Kuninori Morimoto [Fri, 31 Oct 2008 07:01:19 +0000 (16:01 +0900)]
sh: Enable NFS root in Migo-R defconfig.

Signed-off-by: Kuninori Morimoto <>
Signed-off-by: Paul Mundt <>
12 years agosh: FTRACE renamed to FUNCTION_TRACER.
Paul Mundt [Fri, 31 Oct 2008 07:20:36 +0000 (16:20 +0900)]

Signed-off-by: Paul Mundt <>
12 years agoMerge branch 'master' of
Paul Mundt [Fri, 31 Oct 2008 07:18:02 +0000 (16:18 +0900)]
Merge branch 'master' of /linux/kernel/git/torvalds/linux-2.6

12 years agosh: Fix up the shared IRQ demuxer's control bit testing logic.
Michael Trimarchi [Fri, 31 Oct 2008 07:10:23 +0000 (16:10 +0900)]
sh: Fix up the shared IRQ demuxer's control bit testing logic.

Correct the interrupt handler in sh4 serial device, return the correct
value and check for what is anabled in the SCSCR register. The sh7722 is
broken just sending a break using minicom.

Signed-off-by: Michael Trimarchi <>
Signed-off-by: Paul Mundt <>
12 years agoDefine SCSPTR1 for SH 7751R
Matt Fleming [Wed, 29 Oct 2008 07:16:02 +0000 (07:16 +0000)]
Define SCSPTR1 for SH 7751R

After the recent commit to kill off SCI/SCIF special casing SH 7751R
fails to compile with CONFIG_SH_RTS7751R2D set. This is because SCSPTR1
is undefined. Take the value for SCSPTR1 from the SH7751R Group Hardware

Signed-off-by: Matt Fleming <>
Signed-off-by: Paul Mundt <>
12 years agosh: Add sci_rxd_in of SH4-202
Nobuhiro Iwamatsu [Wed, 29 Oct 2008 04:33:45 +0000 (13:33 +0900)]
sh: Add sci_rxd_in of SH4-202

SH4-202 doesn't have SCSXX1. But it is treated so that there is SCSPTR1 in
current code. This patch add sci_rxd_in of SH4-202.

Signed-off-by: Nobuhiro Iwamatsu <>
Signed-off-by: Paul Mundt <>
12 years agoAdd support usb setting on sh 7366
Kuninori Morimoto [Thu, 30 Oct 2008 05:49:03 +0000 (14:49 +0900)]
Add support usb setting on sh 7366

This patch add usb setting for sh 7366

Signed-off-by: Kuninori Morimoto <>
Signed-off-by: Paul Mundt <>
12 years agosh: Change register name SCSPTR to SCSPTR2
Nobuhiro Iwamatsu [Wed, 29 Oct 2008 04:34:50 +0000 (13:34 +0900)]
sh: Change register name SCSPTR to SCSPTR2

This change a name of SCSPTR used in sci_rxd_in of SH5-101.
SCSPTR is not declared and will become the error.

Signed-off-by: Nobuhiro Iwamatsu <>
Signed-off-by: Paul Mundt <>
12 years agosh: use the new byteorder headers.
Harvey Harrison [Fri, 31 Oct 2008 07:01:22 +0000 (16:01 +0900)]
sh: use the new byteorder headers.

Signed-off-by: Harvey Harrison <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Paul Mundt <>
12 years agosh: SHmedia ISA tuning fixups.
Paul Mundt [Fri, 31 Oct 2008 06:58:53 +0000 (15:58 +0900)]
sh: SHmedia ISA tuning fixups.

SH-5 doesn't support any elaborate ISA inheritance schemes (-dsp, -up,
etc.), so only bother with that if we are building an sh32 kernel.

Signed-off-by: Paul Mundt <>
12 years agosparc64: Add missing null terminating entry to bq4802_match[].
David S. Miller [Fri, 31 Oct 2008 05:58:06 +0000 (22:58 -0700)]
sparc64: Add missing null terminating entry to bq4802_match[].

Signed-off-by: David S. Miller <>
12 years agolibata: add whitelist for devices with known good pata-sata bridges
Jens Axboe [Wed, 27 Aug 2008 13:23:18 +0000 (15:23 +0200)]
libata: add whitelist for devices with known good pata-sata bridges

libata currently imposes a UDMA5 max transfer rate and 200 sector max
transfer size for SATA devices that sit behind a pata-sata bridge. Lots
of devices have known good bridges that don't need this limit applied.
The MTRON SSD disks are such devices. Transfer rates are increased by
20-30% with the restriction removed.

So add a "blacklist" entry for the MTRON devices, with a flag indicating
that the bridge is known good.

Signed-off-by: Jeff Garzik <>
12 years agosata_via: fix support for 5287
Tejun Heo [Tue, 21 Oct 2008 15:46:36 +0000 (00:46 +0900)]
sata_via: fix support for 5287

5287 used to be treated as vt6420 but it didn't work.  It's new family
of controllers called vt8251 which hosts four SATA ports as M/S of the
two ATA ports.  This configuration is rather peculiar in that although
the M/S devices are on the same port, each have its own SCR (or
equivalent link status/control) registers which screws up the
port-link-device hierarchy assumed by libata.  Another controller
which falls into this category is ata_piix w/ SIDPR access.

libata now has facility to deal with this class of controllers named
slave_link.  A low level driver for such controllers can just call
ata_slave_link_init() on the respective ports and libata will handle
all the difficult parts like following up with single SRST after
hardresetting both ports.

This patch creates new controller class vt8251, implements slave_link
aware init sequence and config space based SCR access for it and moves
5287 to the new class.

This patch is based on Joseph Chan's larger patch which was created
before slave_link was implemented in libata.

Signed-off-by: Tejun Heo <>
Cc: Joseph Chan <>
Signed-off-by: Jeff Garzik <>
12 years agolibata: Avoid overflow in ata_tf_to_lba48() when tf->hba_lbal > 127
Roland Dreier [Tue, 28 Oct 2008 23:52:20 +0000 (16:52 -0700)]
libata: Avoid overflow in ata_tf_to_lba48() when tf->hba_lbal > 127

In ata_tf_to_lba48(), when evaluating

(tf->hob_lbal & 0xff) << 24

the expression is promoted to signed int (since int can hold all values
of u8).  However, if hob_lbal is 128 or more, then it is treated as a
negative signed value and sign-extended when promoted to u64 to | into
sectors, which leads to the MSB 32 bits of section getting set

For example, Phillip O'Donnell <> reported
that a 1.5GB drive caused:

    ata3.00: HPA detected: current 2930277168, native 18446744072344861488

where 2930277168 == 0xAEA87B30 and 18446744072344861488 == 0xffffffffaea87b30
which shows the problem when hob_lbal is 0xae.

Fix this by adding a cast to u64, just as is used by for hob_lbah and
hob_lbam in the function.

Reported-by: Phillip O'Donnell <>
Signed-off-by: Roland Dreier <>
Signed-off-by: Jeff Garzik <>
12 years agoATA: remove excess kernel-doc notation
Randy Dunlap [Thu, 30 Oct 2008 05:35:08 +0000 (22:35 -0700)]
ATA: remove excess kernel-doc notation

Remove excess kernel-doc function parameter notation from drivers/ata/:

Warning(drivers/ata/libata-core.c:1622): Excess function parameter or struct member 'fn' description in 'ata_pio_queue_task'
Warning(drivers/ata/libata-core.c:4655): Excess function parameter or struct member 'err_mask' description in 'ata_qc_complete'
Warning(drivers/ata/ata_piix.c:751): Excess function parameter or struct member 'udma' description in 'do_pata_set_dmamode'

Signed-off-by: Randy Dunlap <>
Signed-off-by: Jeff Garzik <>
12 years agopowerpc/cell/OProfile: Fix on-stack array size in activate spu profiling function
Carl Love [Wed, 29 Oct 2008 05:06:45 +0000 (05:06 +0000)]
powerpc/cell/OProfile: Fix on-stack array size in activate spu profiling function

The size of the pm_signal_local array should be equal to the
number of SPUs being configured in the array.  Currently, the
array is of size 4 (NR_PHYS_CTRS) but being indexed by a for
loop from 0 to 7 (NUM_SPUS_PER_NODE).  This could potentially
cause an oops or random memory corruption since the pm_signal_local
array is on the stack.  This fixes it.

Signed-off-by: Carl Love <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc/mpic: Fix regression caused by change of default IRQ affinity
Kumar Gala [Tue, 28 Oct 2008 18:01:39 +0000 (18:01 +0000)]
powerpc/mpic: Fix regression caused by change of default IRQ affinity

The Freescale implementation of MPIC only allows a single CPU destination
for non-IPI interrupts.  We add a flag to the mpic_init to distinquish
these variants of MPIC.  We pull in the irq_choose_cpu from sparc64 to
select a single CPU as the destination of the interrupt.

This is to deal with the fact that the default smp affinity was
changed by commit 18404756765c713a0be4eb1082920c04822ce588 ("genirq:
Expose default irq affinity mask (take 3)") to be all CPUs.

Signed-off-by: Kumar Gala <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc: Update remaining dma_mapping_ops to use map/unmap_page
Mark Nelson [Mon, 27 Oct 2008 20:38:08 +0000 (20:38 +0000)]
powerpc: Update remaining dma_mapping_ops to use map/unmap_page

After the merge of the 32 and 64bit DMA code, dma_direct_ops lost
their map/unmap_single() functions but gained map/unmap_page().  This
caused a problem for Cell because Cell's dma_iommu_fixed_ops called
the dma_direct_ops if the fixed linear mapping was to be used or the
iommu ops if the dynamic window was to be used.  So in order to fix
this problem we need to update the 64bit DMA code to use

First, we update the generic IOMMU code so that iommu_map_single()
becomes iommu_map_page() and iommu_unmap_single() becomes
iommu_unmap_page().  Then we propagate these changes up through all
the callers of these two functions and in the process update all the
dma_mapping_ops so that they have map/unmap_page rahter than
map/unmap_single.  We can do this because on 64bit there is no HIGHMEM
memory so map/unmap_page ends up performing exactly the same function
as map/unmap_single, just taking different arguments.

This has no affect on drivers because the dma_map_single_attrs() just
ends up calling the map_page() function of the appropriate
dma_mapping_ops and similarly the dma_unmap_single_attrs() calls

This fixes an oops on Cell blades, which oops on boot without this
because they call dma_direct_ops.map_single, which is NULL.

Signed-off-by: Mark Nelson <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc/pci: Fix unmapping of IO space on 64-bit
Benjamin Herrenschmidt [Mon, 27 Oct 2008 19:48:47 +0000 (19:48 +0000)]
powerpc/pci: Fix unmapping of IO space on 64-bit

A typo/thinko made us pass the wrong argument to __flush_hash_table_range
when unplugging bridges, thus not flushing all the translations for
the IO space on unplug.  The third parameter to __flush_hash_table_range
is `end', not `size'.

This causes the hypervisor to refuse unplugging slots.

Signed-off-by: Benjamin Herrenschmidt <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc/pci: Properly allocate bus resources for hotplug PHBs
Nathan Fontenot [Mon, 27 Oct 2008 19:48:17 +0000 (19:48 +0000)]
powerpc/pci: Properly allocate bus resources for hotplug PHBs

Resources for PHB's that are dynamically added to a system are not
properly allocated in the resource tree.

Not having these resources allocated causes an oops when removing
the PHB when we try to release them.

The diff appears a bit messy, this is mainly due to moving everything
one tab to the left in the pcibios_allocate_bus_resources routine.
The functionality change in this routine is only that the
list_for_each_entry() loop is pulled out and moved to the necessary
calling routine.

Signed-off-by: Nathan Fontenot <>
Signed-off-by: Benjamin Herrenschmidt <>
Signed-off-by: Paul Mackerras <>
12 years agoOF-device: Don't overwrite numa_node in device registration
Jeremy Kerr [Sun, 26 Oct 2008 21:51:25 +0000 (21:51 +0000)]
OF-device: Don't overwrite numa_node in device registration

Currently, the numa_node of OF-devices will be overwritten during
device_register, which simply sets the node to -1.  On cell machines,
this means that devices can't find their IOMMU, which is referenced
through the device's numa node.

Set the numa node for OF devices with no parent, and use the
lower-level device_initialize and device_add functions, so that the
node is preserved.

We can remove the call to set_dev_node in of_device_alloc, as it
will be overwritten during register.

Signed-off-by: Jeremy Kerr <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc: Fix swapcontext system for VSX + old ucontext size
Michael Neuling [Thu, 23 Oct 2008 00:42:36 +0000 (00:42 +0000)]
powerpc: Fix swapcontext system for VSX + old ucontext size

Since VSX support was added, we now have two sizes of ucontext_t;
the older, smaller size without the extra VSX state, and the new
larger size with the extra VSX state.  A program using the
sys_swapcontext system call and supplying smaller ucontext_t
structures will currently get an EINVAL error if the task has
used VSX (e.g. because of calling library code that uses VSX) and
the old_ctx argument is non-NULL (i.e. the program is asking for
its current context to be saved).  Thus the program will start
getting EINVAL errors on calls that previously worked.

This commit changes this behaviour so that we don't send an EINVAL in
this case.  It will now return the smaller context but the VSX MSR bit
will always be cleared to indicate that the ucontext_t doesn't include
the extra VSX state, even if the task has executed VSX instructions.

Both 32 and 64 bit cases are updated.

[ - also fix some access_ok() and get_user() calls]

Thanks to Ben Herrenschmidt for noticing this problem.

Signed-off-by: Michael Neuling <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc: Fix compiler warning for the relocatable kernel
Michael Neuling [Wed, 22 Oct 2008 19:39:49 +0000 (19:39 +0000)]
powerpc: Fix compiler warning for the relocatable kernel

Fixes this warning:
 arch/powerpc/kernel/setup_64.c:447:5: warning: "kernstart_addr" is not defined

which arises because PHYSICAL_START is no longer a constant when

Signed-off-by: Michael Neuling <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc: Work around ld bug in older binutils
Paul Mackerras [Wed, 22 Oct 2008 18:43:45 +0000 (18:43 +0000)]
powerpc: Work around ld bug in older binutils

Commit 549e8152de8039506f69c677a4546e5427aa6ae7 ("powerpc: Make the
64-bit kernel as a position-independent executable") added lines to to add the extra sections needed to implement a
relocatable kernel.  However, those lines seem to trigger a bug in
older versions of GNU ld (such as 2.16.1) when building a
non-relocatable kernel.  Since ld 2.16.1 is still a popular choice for
cross-toolchains, this adds an #ifdef to so the added
lines are only included when building a relocatable kernel.

Signed-off-by: Paul Mackerras <>
12 years agopowerpc/ppc64/kdump: Better flag for running relocatable
Milton Miller [Thu, 23 Oct 2008 18:41:09 +0000 (18:41 +0000)]
powerpc/ppc64/kdump: Better flag for running relocatable

The __kdump_flag ABI is overly constraining for future development.

As of 2.6.27, the kernel entry point has 4 constraints:  Offset 0 is
the starting point for the master (boot) cpu (entered with r3 pointing
to the device tree structure), offset 0x60 is code for the slave cpus
(entered with r3 set to their device tree physical id), offset 0x20 is
used by the iseries hypervisor, and secondary cpus must be well behaved
when the first 256 bytes are copied to address 0.

Placing the __kdump_flag at 0x18 is bad because:

- It was taking the last 8 bytes before the iseries hypervisor data.
- It was 8 bytes for a boolean flag
- It had no way of identifying that the flag was present
- It does leave any room for the master to add any additional code
  before branching, which hurts debug.
- It will be unnecessarily hard for 32 bit code to be common (8 bytes)

Now that we have eliminated the use of __kdump_flag in favor of
the standard is_kdump_kernel(), this flag only controls run without
relocating the kernel to PHYSICAL_START (0), so rename it __run_at_load.

Move the flag to 0x5c, 1 word before the secondary cpu entry point at
0x60.  Initialize it with "run0" to say it will run at 0 unless it is
set to 1.  It only exists if we are relocatable.

Signed-off-by: Milton Miller <>
Signed-off-by: Michael Neuling <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc: Use is_kdump_kernel()
Milton Miller [Wed, 22 Oct 2008 20:39:04 +0000 (15:39 -0500)]
powerpc: Use is_kdump_kernel()

linux/crash_dump.h defines is_kdump_kernel() to be used by code that
needs to know if the previous kernel crashed instead of a (clean) boot
or reboot.

This updates the just added powerpc code to use it.  This is needed
for the next commit, which will remove __kdump_flag.

Signed-off-by: Milton Miller <>
Signed-off-by: Paul Mackerras <>
12 years agopowerpc: Kexec exit should not use magic numbers
Milton Miller [Wed, 22 Oct 2008 10:39:18 +0000 (10:39 +0000)]
powerpc: Kexec exit should not use magic numbers

Commit 54622f10a6aabb8bb2bdacf3dd070046f03dc246 ("powerpc: Support for
relocatable kdump kernel") added a magic flag value in a register to
tell purgatory that it should be a panic kernel.  This part is wrong
and is reverted by this commit.

The kernel gets a list of memory blocks and a entry point from user space.
Its job is to copy the blocks into place and then branch to the designated
entry point (after turning "off" the mmu).

The user space tool inserts a trampoline, called purgatory, that runs
before the user supplied code.   Its job is to establish the entry
environment for the new kernel or other application based on the contents
of memory.  The purgatory code is compiled and embedded in the tool,
where it is later patched using the elf symbol table using elf symbols.

Since the tool knows it is creating a purgatory that will run after a
kernel crash, it should just patch purgatory (or the kernel directly)
if something needs to happen.

Signed-off-by: Milton Miller <>
Signed-off-by: Paul Mackerras <>
12 years agoMerge branch 'merge' of
Paul Mackerras [Fri, 31 Oct 2008 05:08:14 +0000 (16:08 +1100)]
Merge branch 'merge' of /linux/kernel/git/jwboyer/powerpc-4xx into merge

12 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Fri, 31 Oct 2008 01:36:16 +0000 (18:36 -0700)]
Merge branch 'for-linus' of git://

* 'for-linus' of git://
  md: destroy partitions and notify udev when md array is stopped.

12 years agoMerge git://
Linus Torvalds [Fri, 31 Oct 2008 01:35:09 +0000 (18:35 -0700)]
Merge git://git./linux/kernel/git/rusty/linux-2.6-for-linus

* git://
  lguest: fix irq vectors.
  lguest: fix early_ioremap.
  lguest: fix example launcher compile after moved asm-x86 dir.

12 years agoMerge branch 'x86-fixes-for-linus-2' of git://
Linus Torvalds [Fri, 31 Oct 2008 01:33:46 +0000 (18:33 -0700)]
Merge branch 'x86-fixes-for-linus-2' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus-2' of git://
  x86: cpu_index build fix
  x86/voyager: fix missing cpu_index initialisation
  x86/voyager: fix compile breakage caused by dc1e35c6e95e8923cf1d3510438b63c600fee1e2
  x86: fix /dev/mem mmap breakage when PAT is disabled
  x86/voyager: fix compile breakage casued by x86: move prefill_possible_map calling early
  x86: use CONFIG_X86_SMP instead of CONFIG_SMP
  x86/voyager: fix boot breakage caused by x86: boot secondary cpus through initial_code
  x86, uv: fix compile error in uv_hub.h
  i386/PAE: fix pud_page()
  x86: remove debug code from arch_add_memory()
  x86: start annotating early ioremap pointers with __iomem
  x86: two trivial sparse annotations
  x86: fix init_memory_mapping for [dc000000 - e0000000) - v2

12 years agoMerge branch 'sched-fixes-for-linus' of git://
Linus Torvalds [Fri, 31 Oct 2008 01:32:03 +0000 (18:32 -0700)]
Merge branch 'sched-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'sched-fixes-for-linus' of git://
  sched: remove sched-design.txt from 00-INDEX
  sched: change sched_debug's mode to 0444

12 years agoMerge branch 'tracing-fixes-for-linus' of git://
Linus Torvalds [Fri, 31 Oct 2008 01:31:42 +0000 (18:31 -0700)]
Merge branch 'tracing-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'tracing-fixes-for-linus' of git://
  ftrace: handle archs that do not support irqs_disabled_flags

12 years agoMerge branch 'core-fixes-for-linus' of git://
Linus Torvalds [Fri, 31 Oct 2008 01:31:27 +0000 (18:31 -0700)]
Merge branch 'core-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'core-fixes-for-linus' of git://
  resources: fix x86info results ioremap.c:226 __ioremap_caller+0xf2/0x2d6() WARNINGs

12 years agolguest: fix irq vectors.
Rusty Russell [Fri, 31 Oct 2008 16:24:27 +0000 (11:24 -0500)]
lguest: fix irq vectors.

do_IRQ: cannot handle IRQ -1 vector 0x20 cpu 0
------------[ cut here ]------------
kernel BUG at arch/x86/kernel/irq_32.c:219!

We're not ISA: we have a 1:1 mapping from vectors to irqs.

Signed-off-by: Rusty Russell <>
12 years agolguest: fix early_ioremap.
Rusty Russell [Fri, 31 Oct 2008 16:24:27 +0000 (11:24 -0500)]
lguest: fix early_ioremap.

dmi_scan_machine breaks under lguest:
lguest: unhandled trap 14 at 0xc04edeae (0xffa00000)

This is because we use current_cr3 for the read_cr3() paravirt
function, and it isn't set until the first cr3 change.  We got away
with it until this happened.

Signed-off-by: Rusty Russell <>
12 years agolguest: fix example launcher compile after moved asm-x86 dir.
Rusty Russell [Fri, 31 Oct 2008 16:24:25 +0000 (11:24 -0500)]
lguest: fix example launcher compile after moved asm-x86 dir.

Signed-off-by: Rusty Russell <>
12 years agox86: cpu_index build fix
Ingo Molnar [Thu, 30 Oct 2008 23:43:03 +0000 (00:43 +0100)]
x86: cpu_index build fix


 arch/x86/kernel/cpu/common.c: In function 'early_identify_cpu':
 arch/x86/kernel/cpu/common.c:553: error: 'struct cpuinfo_x86' has no member named 'cpu_index'

as cpu_index is only available on SMP.

Signed-off-by: Ingo Molnar <>
12 years agox86/voyager: fix missing cpu_index initialisation
James Bottomley [Thu, 30 Oct 2008 21:13:37 +0000 (16:13 -0500)]
x86/voyager: fix missing cpu_index initialisation

Impact: fix /proc/cpuinfo output on x86/Voyager

Ever since

| commit 92cb7612aee39642d109b8d935ad265e602c0563
| Author: Mike Travis <>
| Date:   Fri Oct 19 20:35:04 2007 +0200
|     x86: convert cpuinfo_x86 array to a per_cpu array

We've had an extra field in cpuinfo_x86 which is cpu_index.
Unfortunately, voyager has never initialised this, although the only
noticeable impact seems to be that /proc/cpuinfo shows all zeros for
the processor ids.

Anyway, fix this by initialising the boot CPU properly and setting the
index when the secondaries update.

Signed-off-by: James Bottomley <>
Signed-off-by: Ingo Molnar <>
12 years agox86/voyager: fix compile breakage caused by dc1e35c6e95e8923cf1d3510438b63c600fee1e2
James Bottomley [Thu, 30 Oct 2008 21:00:59 +0000 (16:00 -0500)]
x86/voyager: fix compile breakage caused by dc1e35c6e95e8923cf1d3510438b63c600fee1e2

Impact: build fix on x86/Voyager

Given commits like this:

| Author: Suresh Siddha <>
| Date:   Tue Jul 29 10:29:19 2008 -0700
|     x86, xsave: enable xsave/xrstor on cpus with xsave support

Which deliberately expose boot cpu dependence to pieces of the system,
I think it's time to explicitly have a variable for it to prevent this
continual misassumption that the boot CPU is zero.

Signed-off-by: James Bottomley <>
Signed-off-by: Ingo Molnar <>
12 years agoMerge
Linus Torvalds [Thu, 30 Oct 2008 23:16:39 +0000 (16:16 -0700)]

  [ARM] 5326/1: AFEB9260: Fix for i2c_board_info structure
  [ARM] mx31ads: Add missing include
  [ARM] MXC: Fix mxc_gpio_get(), which must read PSR register instead DR.
  [ARM] MX3: Use ioremap wrapper to map SoC devices nonshared
  [ARM] gpio_free might sleep, arm architecture
  [ARM] ep93xx: fix OHCI DMA mask
  leds: da903x: (da9030 only) led brightness reversed.
  [ARM] sharpsl_pm: fix compilation w/o CONFIG_PM
  [ARM] pcm037: map AIPS1 and AIPS2 as nonshared area
  [ARM] build fixes for netX serial driver
  [ARM] 5323/1: Remove outdated empeg documentation.
  [ARM] 5299/1: Add maintainer for Mobilepro 900/c
  [ARM] corgi_lcd: fix simultaneous compilation with corgi_bl
  [ARM] pxa/spitz: fix spi cs on spitz
  [ARM] 5322/1: Fix fastpath issue in mmci.c
  [ARM] xsc3: revert writethrough memory-type encoding change

12 years agoftrace: handle archs that do not support irqs_disabled_flags
Steven Rostedt [Fri, 24 Oct 2008 13:42:59 +0000 (09:42 -0400)]
ftrace: handle archs that do not support irqs_disabled_flags

Impact: build fix on non-lockdep architectures

Some architectures do not support a way to read the irq flags that
is set from "local_irq_save(flags)" to determine if interrupts were
disabled or enabled. Ftrace uses this information to display to the user
if the trace occurred with interrupts enabled or disabled.

Besides the fact that those archs that do not support this will fail to
compile, unless they fix it, we do not want to have the trace simply
say interrupts were not disabled or they were enabled, without knowing
the real answer.

This patch adds a 'X' in the output to let the user know that the
architecture they are running on does not support a way for the tracer
to determine if interrupts were enabled or disabled. It also lets those
same archs compile with tracing enabled.

Signed-off-by: Steven Rostedt <>
Signed-off-by: Ingo Molnar <>
12 years agox86: fix /dev/mem mmap breakage when PAT is disabled
Ravikiran G Thirumalai [Thu, 30 Oct 2008 20:59:21 +0000 (13:59 -0700)]
x86: fix /dev/mem mmap breakage when PAT is disabled

Impact: allow /dev/mem mmaps on non-PAT CPUs/platforms

Fix mmap to /dev/mem when CONFIG_X86_PAT is off and CONFIG_STRICT_DEVMEM is

mmap to /dev/mem on kernel memory has been failing since the
introduction of PAT (CONFIG_STRICT_DEVMEM=n case).   Seems like
the check to avoid cache aliasing with PAT is kicking in even
when PAT is disabled. The bug seems to have crept in 2.6.26.

This patch makes sure that the mmap to regular
kernel memory succeeds if CONFIG_STRICT_DEVMEM=n and
PAT is disabled, and the checks to avoid cache aliasing
still happens if PAT is enabled.

Signed-off-by: Ravikiran Thirumalai <>
Tested-by: Tim Sirianni <>
Cc: <>
Acked-by: H. Peter Anvin <>
Signed-off-by: Ingo Molnar <>
12 years agopowerpc/44x: Update 44x defconfigs
Josh Boyer [Thu, 30 Oct 2008 22:18:46 +0000 (18:18 -0400)]
powerpc/44x: Update 44x defconfigs

Update the PowerPC 44x defconfigs for 2.6.28

Signed-off-by: Josh Boyer <>
12 years agopowerpc/40x: Update 40x defconfigs
Josh Boyer [Thu, 30 Oct 2008 22:16:14 +0000 (18:16 -0400)]
powerpc/40x: Update 40x defconfigs

Update the PowerPC 40x defconfigs for 2.6.28

Signed-off-by: Josh Boyer <>
12 years agox86/voyager: fix compile breakage casued by x86: move prefill_possible_map calling...
James Bottomley [Thu, 30 Oct 2008 21:28:35 +0000 (16:28 -0500)]
x86/voyager: fix compile breakage casued by x86: move prefill_possible_map calling early

Impact: fix build failure on x86/Voyager


| commit 329513a35d1a2b6b28d54f5c2c0dde4face8200b
| Author: Yinghai Lu <>
| Date:   Wed Jul 2 18:54:40 2008 -0700
|     x86: move prefill_possible_map calling early

prefill_possible_mask() was hidden under CONFIG_HOTPLUG_CPU rendering
it invisitble to voyager.  Since this commit it's exposed, but not
provided by the voyager subarch, so add a dummy stub to fix the link

Signed-off-by: James Bottomley <>
Cc: Yinghai Lu <>
Signed-off-by: Ingo Molnar <>
12 years agox86: use CONFIG_X86_SMP instead of CONFIG_SMP
James Bottomley [Thu, 30 Oct 2008 21:05:39 +0000 (16:05 -0500)]
x86: use CONFIG_X86_SMP instead of CONFIG_SMP

Impact: fix x86/Voyager boot

CONFIG_SMP is used for features which work on *all* x86 boxes.
CONFIG_X86_SMP is used for standard PC like x86 boxes (for things like
multi core and apics)

Signed-off-by: James Bottomley <>
Signed-off-by: Ingo Molnar <>
12 years agox86/voyager: fix boot breakage caused by x86: boot secondary cpus through initial_code
James Bottomley [Thu, 30 Oct 2008 21:08:38 +0000 (16:08 -0500)]
x86/voyager: fix boot breakage caused by x86: boot secondary cpus through initial_code

Impact: boot up secondary CPUs as well on x86/Voyager systems

This commit:

| commit 3e9704739daf46a8ba6593d749c67b5f7cd633d2
| Author: Glauber Costa <>
| Date:   Wed May 28 13:01:54 2008 -0300
|     x86: boot secondary cpus through initial_code

removed the use of initialize_secondary.  However, it didn't update
voyager, so the secondary cpus no longer boot.  Fix this by adding the
initial_code switch to voyager as well.

Signed-off-by: James Bottomley <>
Cc: Glauber Costa <>
Signed-off-by: Ingo Molnar <>
12 years agoNLM: Set address family before calling nlm_host_rebooted()
Chuck Lever [Thu, 23 Oct 2008 04:50:35 +0000 (00:50 -0400)]
NLM: Set address family before calling nlm_host_rebooted()

The nlm_host_rebooted() function uses nlm_cmp_addr() to find an
nsm_handle that matches the rebooted peer.  In order for this to work,
the passed-in address must have a proper address family.

This fixes a post-2.6.28 regression introduced by commit 781b61a6, which
added AF_INET6 support to nlm_cmp_addr().  Before that commit,
nlm_cmp_addr() didn't care about the address family; it compared only
the sin_addr.s_addr field for equality.

Signed-off-by: Chuck Lever <>
Signed-off-by: J. Bruce Fields <>
12 years agonfsd: fix failure to set eof in readdir in some situations
J. Bruce Fields [Thu, 30 Oct 2008 17:48:33 +0000 (13:48 -0400)]
nfsd: fix failure to set eof in readdir in some situations

Before 14f7dd632011bb89c035722edd6ea0d90ca6b078 "[PATCH] Copy XFS
readdir hack into nfsd code", readdir_cd->err was reset to eof before
each call to vfs_readdir; afterwards, it is set only once.  Similarly,
c002a6c7977320f95b5edede5ce4e0eeecf291ff "[PATCH] Optimise NFS readdir
hack slightly", can cause us to exit without nfserr_eof set.  Fix this.

This ensures the "eof" bit is set when needed in readdir replies.  (The
particular case I saw was an nfsv4 readdir of an empty directory, which
returned with no entries (the protocol requires "." and ".." to be
filtered out), but with eof unset.)

Cc: David Woodhouse <>
Cc: Al Viro <>
Signed-off-by: J. Bruce Fields <>
12 years agoMerge git://
Linus Torvalds [Thu, 30 Oct 2008 19:55:49 +0000 (12:55 -0700)]
Merge git://git./linux/kernel/git/sam/kbuild-fixes

* git://
  Fix incompatibility with versions of Perl less than 5.6.0
  kbuild: do not include arch/<ARCH>/include/asm in find-sources twice.
  kbuild: tag with git revision when git describe is missing
  kbuild: prevent modpost from looking for a .cmd file for a static library linked into a module
  adjust init section definitions
  scripts/ fix for non-gnu sed
  scripts/package: don't break if %{_smp_mflags} isn't set
  kbuild: setlocalversion: dont include svn change count
  kbuild: improve check-symlink
  kbuild: mkspec - fix build rpm

12 years agoMerge git://
Linus Torvalds [Thu, 30 Oct 2008 19:54:03 +0000 (12:54 -0700)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://
  [PATCH] Switch all my contributions stuff to a single common address
  [WATCHDOG] pci: use pci_ioremap_bar() in drivers/watchdog

12 years agoMerge branch 'upstream' of git://
Linus Torvalds [Thu, 30 Oct 2008 19:53:33 +0000 (12:53 -0700)]
Merge branch 'upstream' of git://

* 'upstream' of git://
  CHAR: Delete old and now unused M48T35 RTC driver for SGI IP27.
  CHAR: Delete old and now unused DS1286 driver.
  MIPS: Sort out CPU type to name translation.
  MIPS: Use the new byteorder headers
  MIPS: Probe for watch registers on cores of all vendors, not just MTI.
  MIPS: Switch FPU emulator trap to BREAK instruction.
  MIPS: SMP: Do not initialize __cpu_number_map/__cpu_logical_map for CPU 0.
  MIPS: Consider value of c0_ebase when computing value of exception base.
  MIPS: Clean up MIPSxx-optimized bitop functions
  MIPS: New feature test macro cpu_has_mips_r
  MIPS: RBTX4927: Add GPIO-LED support
  MIPS: TXx9: Fix RBTX4939 ethernet address initialization

12 years agoMerge git://
Linus Torvalds [Thu, 30 Oct 2008 19:52:53 +0000 (12:52 -0700)]
Merge git://git./linux/kernel/git/brodo/pcmcia-2.6

* git://
  fdomain_cs: Sort out modules with duplicate description
  pcmcia: Whine harder about use of EXCLUSIVE
  pcmcia: IRQ_TYPE_EXCLUSIVE is long obsoleted

12 years agoMerge branch 'bugfixes' of git://
Linus Torvalds [Thu, 30 Oct 2008 19:51:42 +0000 (12:51 -0700)]
Merge branch 'bugfixes' of git://

* 'bugfixes' of git://
  SUNRPC: Fix potential race in put_rpccred()
  SUNRPC: Fix rpcauth_prune_expired
  NFS: Convert nfs_attr_generation_counter into an atomic_long
  SUNRPC: Respond promptly to server TCP resets

12 years agoMerge branch 'x86-fixes-for-linus' of git://
Linus Torvalds [Thu, 30 Oct 2008 19:50:59 +0000 (12:50 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://
  x86, gart: fix gart detection for Fam11h CPUs
  x86: 64 bit print out absent pages num too
  x86, kdump: fix invalid access on i386 sparsemem
  x86: fix APIC_DEBUG with inquire_remote_apic
  x86: AMD microcode patch loader author update
  x86: microcode patch loader author update
  mailmap: add Peter Oruba
  x86, bts: improve help text for BTS config
  doc/x86: fix doc subdirs

12 years agoMerge git://
Linus Torvalds [Thu, 30 Oct 2008 19:16:38 +0000 (12:16 -0700)]
Merge git://git./linux/kernel/git/agk/linux-2.6-dm

* git://
  dm snapshot: wait for chunks in destructor
  dm snapshot: fix register_snapshot deadlock
  dm raid1: fix do_failures

12 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Thu, 30 Oct 2008 19:09:44 +0000 (12:09 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jbarnes/pci-2.6

* 'for-linus' of git://
  x86/PCI: build failure at x86/kernel/pci-dma.c with !CONFIG_PCI

12 years agotty: Fix USB kref leak
Alan Cox [Thu, 30 Oct 2008 15:54:12 +0000 (15:54 +0000)]
tty: Fix USB kref leak

When we close we must clear the extra reference we got when we read
port->tty. Setting the port tty NULL will clear the kref held by the driver
but not the one we obtained ourselves while doing the lookup.

Signed-off-by: Alan Cox <>
Tested-by: Helge Hafting <>
Signed-off-by: Linus Torvalds <>
12 years agoMerge branch 'i2c-for-linus' of git://
Linus Torvalds [Thu, 30 Oct 2008 19:07:25 +0000 (12:07 -0700)]
Merge branch 'i2c-for-linus' of git://

* 'i2c-for-linus' of git://
  i2c-s3c2410: Correct use of ! and &
  i2c: The i2c mailing list is moving
  scx200_i2c: Add missing class parameter

12 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Thu, 30 Oct 2008 18:51:43 +0000 (11:51 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jikos/hid

* 'for-linus' of git://
  HID: add quirk entry for no-name keyboard (0x13ba/0x0017)
  HID: fix hid_device_id for cross compiling
  HID: sync on deleted io_retry timer in usbhid driver
  HID: fix oops during suspend of unbound HID devices

12 years agoMerge git://
Linus Torvalds [Thu, 30 Oct 2008 18:50:57 +0000 (11:50 -0700)]
Merge git://git./linux/kernel/git/gregkh/driver-core-2.6

* git://
  Driver core: fix 'dynamic_debug' cmd line parameter
  HOWTO: Sync patch for jp_JP/HOWTO
  Update stable tree documentation
  sysfs: Fix return values for sysdev_store_{ulong,int}
  driver core: drivers/base/sys.c: update comments
  Document kernel taint flags properly

12 years agoMerge git://
Linus Torvalds [Thu, 30 Oct 2008 18:49:12 +0000 (11:49 -0700)]
Merge git://git./linux/kernel/git/gregkh/usb-2.6

* git://
  USB: prevent autosuspend during hub initialization
  USB: Unusual dev for the "Kyocera / Contax SL300R T*" digital camera.
  USB: usbtmc: Use explicit unsigned type for input buffer instead of char*
  USB: fix crash when URBs are unlinked after the device is gone

12 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Thu, 30 Oct 2008 18:47:21 +0000 (11:47 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/lrg/voltage-2.6

* 'for-linus' of git://
  regulator: da903x regulator bug fix
  regulator: Build on non-ARM platforms

12 years agoMerge git://
Linus Torvalds [Thu, 30 Oct 2008 18:46:28 +0000 (11:46 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://
  amd8111e: Fix rx return code
  pktgen: fix multiple queue warning
  mac80211.h: fix kernel-doc excesses
  p54: fix build warnings
  ath5k: Reset key cache on interface up, thus fixing resume
  mac80211: correct warnings in minstrel rate control algorithm
  RFKILL: fix input layer initialisation
  p54: fix misbehavings when firmware can't be found
  dm9601: runtime mac address change support
  via-velocity: use driver string instead of dev->name before register_netdev()
  drivers/net/wan/syncppp: Fix unused-var warnings
  mlx4: Setting the correct offset for default mac address
  mlx4_en: remove duplicated #include
  ibm_newemac: Fix typo in flow control config option
  ehea: Detect 16GB hugepages for firmware restriction
  dmfe: check pci_alloc_consistent errors
  qeth: avoid skb_under_panic for malformatted inbound data
  qeth: remove unnecessary support ckeck in sysfs route6
  qeth: fix offset error in non prealloc header path
  qeth: remove non-recover-thread checkings

12 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Thu, 30 Oct 2008 18:44:35 +0000 (11:44 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://
  ALSA: ASoC: Fix WM9713 ALC Decay Time name
  ALSA: ASoC: Fix some minor errors in mpc5200 psc i2s driver
  ALSA: ASoC: Fix mono controls after conversion to support full int masks
  ALSA: sound/ice1712: indentation & braces disagree - add braces
  ALSA: usb - Add quirk for Edirol UA-25EX advanced modes
  sound: struct device - replace bus_id with dev_name(), dev_set_name()
  ALSA: hda - Add reboot notifier
  ALSA: Warn when control names are truncated
  ALSA: intel8x0 - add Dell Optiplex GX620 (AD1981B) to AC97 clock whitelist
  ALSA: hda - Fix SPDIF mute on IDT/STAC codecs
  ALSA: hda: Add HDA vendor ID for Wolfson Microelectronics
  ALSA: hda - Add another HP model for AD1884A

12 years agoMerge branch 'tracing-fixes-for-linus' of git://
Linus Torvalds [Thu, 30 Oct 2008 18:44:09 +0000 (11:44 -0700)]
Merge branch 'tracing-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'tracing-fixes-for-linus' of git://
  ftrace: fix trace_nop config select
  ftrace: perform an initialization for ftrace to enable it

12 years agospi: fix compile error
Fernando Luis Vazquez Cao [Wed, 29 Oct 2008 21:01:21 +0000 (14:01 -0700)]
spi: fix compile error

Fix compile error below:

     LD      drivers/spi/built-in.o
     CC [M]  drivers/spi/spi_gpio.o
   In file included from drivers/spi/spi_gpio.c:26:
   include/linux/spi/spi_bitbang.h:23: error: field `work' has incomplete type
   make[2]: *** [drivers/spi/spi_gpio.o] Error 1
   make[1]: *** [drivers/spi] Error 2
   make: *** [drivers] Error 2

Signed-off-by: Fernando Luis Vazquez Cao <>
Cc: David Brownell <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agonfsd: fix vm overcommit crash
Alan Cox [Wed, 29 Oct 2008 21:01:20 +0000 (14:01 -0700)]
nfsd: fix vm overcommit crash

Junjiro R.  Okajima reported a problem where knfsd crashes if you are
using it to export shmemfs objects and run strict overcommit.  In this
situation the current->mm based modifier to the overcommit goes through a
NULL pointer.

We could simply check for NULL and skip the modifier but we've caught
other real bugs in the past from mm being NULL here - cases where we did
need a valid mm set up (eg the exec bug about a year ago).

To preserve the checks and get the logic we want shuffle the checking
around and add a new helper to the vm_ security wrappers

Also fix a current->mm reference in nommu that should use the passed mm

[ coding-style fixes]
[ fix build]
Reported-by: Junjiro R. Okajima <>
Acked-by: James Morris <>
Signed-off-by: Alan Cox <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agoipmi: add MODULE_ALIAS to load ipmi_devintf with ipmi_si
Scott James Remnant [Wed, 29 Oct 2008 21:01:18 +0000 (14:01 -0700)]
ipmi: add MODULE_ALIAS to load ipmi_devintf with ipmi_si

The ipmi_devintf module contains the userspace interface for IPMI devices,
yet will not be loaded automatically with a system interface handler

Add a MODULE_ALIAS for the "platform:ipmi_si" MODALIAS exported by the
ipmi_si driver, so that userspace knows of the recommendation.

Signed-off-by: Scott James Remnant <>
Cc: Tim Gardner <>
Cc: Corey Minyard <>
Cc: <> [2.6.27.x, maybe earlier?]
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agoframebuffer compat_ioctl deadlock
Mikulas Patocka [Wed, 29 Oct 2008 21:01:17 +0000 (14:01 -0700)]
framebuffer compat_ioctl deadlock

Fix deadlock in fb_compat_ioctl.  fb_compat_ioctl acquires a mutex and
calls fb_ioctl that tries to acquire that mutex too.  A regression added
during BKL removal.

Signed-off-by: Mikulas Patocka <>
Cc: Alan Cox <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agortc S3C: add device_init_wakeup() invokation
Yauhen Kharuzhy [Wed, 29 Oct 2008 21:01:16 +0000 (14:01 -0700)]
rtc S3C: add device_init_wakeup() invokation

tAdd adds device_init_wakeup() ivokation to probe function of
s3c2410_rtc_driver.  Without of this wakealarm sysfs attribute does not

Signed-off-by: Yauhen Kharuzhy <>
Acked-by: Ben Dooks <>
Acked-by: Alessandro Zummo <>
Cc: David Brownell <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agokernel.h: fix might_sleep kernel-doc
Randy Dunlap [Wed, 29 Oct 2008 21:01:15 +0000 (14:01 -0700)]
kernel.h: fix might_sleep kernel-doc

Put the kernel-doc for might_sleep() _immediately_ before the macro
(no intervening lines).  Otherwise kernel-doc complains like so:

Warning(linux-2.6.27-rc3-git2//include/linux/kernel.h:129): No description found for parameter 'file'
Warning(linux-2.6.27-rc3-git2//include/linux/kernel.h:129): No description found for parameter 'line'

because kernel-doc is looking at the wrong function prototype (i.e.,
__might_sleep).  [Yes, I have a todo note to myself to check/warn for that
inconsistency in scripts/kernel-doc.]

Signed-off-by: Randy Dunlap <>
Cc: <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agoRationalise Randy's address a bit
Alan Cox [Wed, 29 Oct 2008 21:01:14 +0000 (14:01 -0700)]
Rationalise Randy's address a bit

Acked-by: Randy Dunlap <>
Signed-off-by: Alan Cox <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agortc: ds3234 doesn't link when built-in
Geert Uytterhoeven [Wed, 29 Oct 2008 21:01:13 +0000 (14:01 -0700)]
rtc: ds3234 doesn't link when built-in

When ds3234 is built-in, the final links fails with the following vague error

`.exit.text' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o

ds3234_remove() cannot be marked __exit, as it's accessed via __devexit_p().
In addition, mark ds3234_probe() __devinit while we're at it.

Signed-off-by: Geert Uytterhoeven <>
Acked-by: Alessandro Zummo <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agoMAINTAINERS: add LTP info to the list
Mike Frysinger [Wed, 29 Oct 2008 21:01:12 +0000 (14:01 -0700)]
MAINTAINERS: add LTP info to the list

Cc: Subrata Modak <>
Signed-off-by: Mike Frysinger <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agox86, uv: fix compile error in uv_hub.h
Mike Travis [Thu, 30 Oct 2008 18:33:19 +0000 (11:33 -0700)]
x86, uv: fix compile error in uv_hub.h

Impact: include file dependency cleanup

Fix compile errors of files that include asm/uv/uv_hub.h but do
not include linux/timer.h.

[ such files are not mainline right now. ]

Signed-of-by: Mike Travis <>
Signed-off-by: Ingo Molnar <>
12 years agosgi-xp: only build for ia64-sn2 when CONFIG_IA64_GENERIC specified
Dean Nelson [Wed, 29 Oct 2008 21:01:12 +0000 (14:01 -0700)]
sgi-xp: only build for ia64-sn2 when CONFIG_IA64_GENERIC specified

For the time being build for ia64-sn2 alone when CONFIG_IA64_GENERIC is

This eliminates a dependency of the XP/XPC drivers on having the GRU
driver insmod'd in order to insmod them, when running on an ia64-sn2

On such a system the GRU driver serves no useful purpose.

Signed-off-by: Dean Nelson <>
Cc: "Luck, Tony" <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years ago'kill sig -1' must only apply to caller's namespace
Sukadev Bhattiprolu [Wed, 29 Oct 2008 21:01:11 +0000 (14:01 -0700)]
'kill sig -1' must only apply to caller's namespace

Currently "kill <sig> -1" kills processes in all namespaces and breaks the
isolation of namespaces.  Earlier attempt to fix this was discussed at:

As suggested by Oleg Nesterov in that thread, use "task_pid_vnr() > 1"
check since task_pid_vnr() returns 0 if process is outside the caller's

Signed-off-by: Sukadev Bhattiprolu <>
Acked-by: Eric W. Biederman <>
Tested-by: Daniel Hokka Zakrisson <>
Signed-off-by: Oleg Nesterov <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agofs: remove excess kernel-doc
Randy Dunlap [Wed, 29 Oct 2008 21:01:10 +0000 (14:01 -0700)]
fs: remove excess kernel-doc

Delete excess kernel-doc notation in fs/ subdirectory:

Warning(linux-2.6.27-git10//fs/jbd/transaction.c:886): Excess function parameter or struct member 'credits' description in 'journal_get_undo_access'

Signed-off-by: Randy Dunlap <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agomm: fix kernel-doc function notation
Randy Dunlap [Wed, 29 Oct 2008 21:01:09 +0000 (14:01 -0700)]
mm: fix kernel-doc function notation

Delete excess kernel-doc notation in mm/ subdirectory.
Actually this is a kernel-doc notation fix.

Warning(/var/linsrc/linux-2.6.27-git10//mm/vmalloc.c:902): Excess function parameter or struct member 'returns' description in 'vm_map_ram'

Signed-off-by: Randy Dunlap <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agoi2o: fix kernel-doc warnings
Randy Dunlap [Wed, 29 Oct 2008 21:01:09 +0000 (14:01 -0700)]
i2o: fix kernel-doc warnings

Fixup i2o kernel-doc warnings:

Warning(linux-next-20081022//drivers/message/i2o/i2o_block.c:579): No description found for parameter 'bdev'
Warning(linux-next-20081022//drivers/message/i2o/i2o_block.c:579): No description found for parameter 'mode'
Warning(linux-next-20081022//drivers/message/i2o/i2o_block.c:608): No description found for parameter 'disk'
Warning(linux-next-20081022//drivers/message/i2o/i2o_block.c:608): No description found for parameter 'mode'
Warning(linux-next-20081022//drivers/message/i2o/i2o_block.c:657): No description found for parameter 'bdev'
Warning(linux-next-20081022//drivers/message/i2o/i2o_block.c:657): No description found for parameter 'mode'

Signed-off-by: Randy Dunlap <>
Cc: Al Viro <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agoecryptfs: fix memory corruption when storing crypto info in xattrs
Eric Sandeen [Wed, 29 Oct 2008 21:01:08 +0000 (14:01 -0700)]
ecryptfs: fix memory corruption when storing crypto info in xattrs

When ecryptfs allocates space to write crypto headers into, before copying
it out to file headers or to xattrs, it looks at the value of
crypt_stat->num_header_bytes_at_front to determine how much space it
needs.  This is also used as the file offset to the actual encrypted data,
so for xattr-stored crypto info, the value was zero.

So, we kzalloc'd 0 bytes, and then ran off to write to that memory.
(Which returned as ZERO_SIZE_PTR, so we explode quickly).

The right answer is to always allocate a page to write into; the current
code won't ever write more than that (this is enforced by the
(PAGE_CACHE_SIZE - offset) length in the call to
ecryptfs_generate_key_packet_set).  To be explicit about this, we now send
in a "max" parameter, rather than magically using PAGE_CACHE_SIZE there.

Also, since the pointer we pass down the callchain eventually gets the
virt_to_page() treatment, we should be using a alloc_page variant, not
kzalloc (see also 7fcba054373d5dfc43d26e243a5c9b92069972ee)

Signed-off-by: Eric Sandeen <>
Acked-by: Michael Halcrow <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agokernel/profile: fix profile_init() section mismatch
Paul Mundt [Wed, 29 Oct 2008 21:01:07 +0000 (14:01 -0700)]
kernel/profile: fix profile_init() section mismatch

profile_init() calls in to alloc_bootmem() on early initialization.  While
alloc_bootmem() is __init, the reference itself is safe in that it is
tucked below a !slab_is_available() check.  So, flag profile_init() as

Signed-off-by: Paul Mundt <>
Cc: Dave Hansen <>
Cc: Sam Ravnborg <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agomemcg: update menuconfig help text
KAMEZAWA Hiroyuki [Wed, 29 Oct 2008 21:01:06 +0000 (14:01 -0700)]
memcg: update menuconfig help text

page_cgroup is now allocated at boot and memmap doesn't includes pointer
for page_cgroup.  Fix the menu help text.

Reviewed-by: Balbir Singh <>
Signed-off-by: KAMEZAWA hiroyuki <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
12 years agohdpuftrs: fix build
Mariusz Kozlowski [Wed, 29 Oct 2008 21:01:05 +0000 (14:01 -0700)]
hdpuftrs: fix build

drivers/misc/hdpuftrs/hdpu_nexus.c:118: error: expected identifier or '(' before 'return'
drivers/misc/hdpuftrs/hdpu_nexus.c:119: error: expected identifier or '(' before '}' token

Signed-off-by: Mariusz Kozlowski <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>