]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years ago[CPUFREQ] Fix format string bug.
Chris Wright [Sat, 7 Jun 2008 04:26:02 +0000 (21:26 -0700)]
[CPUFREQ] Fix format string bug.

Format string bug.  Not exploitable, as this is only writable by root,
but worth fixing all the same.

Spotted-by: Ilja van Sprundel <ilja@netric.org>
Signed-off-by: Dave Jones <davej@redhat.com>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Mon, 9 Jun 2008 17:23:45 +0000 (10:23 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  [ALSA] hda - Fix "alc262_sony_unsol[]" hda_verb array

17 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Mon, 9 Jun 2008 17:23:29 +0000 (10:23 -0700)]
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:
  [POWERPC] ehea: Remove dependency on MEMORY_HOTPLUG
  [POWERPC] Make walk_memory_resource available with MEMORY_HOTPLUG=n
  [POWERPC] Use dev_set_name in pci_64.c
  [POWERPC] Fix incorrect enabling of VMX when building signal or user context
  [POWERPC] boot/Makefile CONFIG_ variable fixes

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.26
Linus Torvalds [Mon, 9 Jun 2008 17:23:03 +0000 (10:23 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.26

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6.26:
  sh: Add -mno-fdpic to default flags.
  sh: add resource of USB host for SH7723
  usb: r8a66597-hcd: Add support for SH7723 USB host
  sh: Fix compile error SH7763 setup code
  sh: Add SH7723 SCIF support

17 years agomm: Minor clean-up of page flags in mm/page_alloc.c
Russ Anderson [Mon, 9 Jun 2008 16:18:45 +0000 (11:18 -0500)]
mm: Minor clean-up of page flags in mm/page_alloc.c

Minor source code cleanup of page flags in mm/page_alloc.c.
Move the definition of the groups of bits to page-flags.h.

The purpose of this clean up is that the next patch will
conditionally add a page flag to the groups.  Doing that
in a header file is cleaner than adding #ifdefs to the
C code.

Signed-off-by: Russ Anderson <rja@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix invalid access errors in blk_lookup_devt
Linus Torvalds [Mon, 9 Jun 2008 17:06:24 +0000 (10:06 -0700)]
Fix invalid access errors in blk_lookup_devt

Commit 30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0 ("block: do_mounts -
accept root=<non-existant partition>") extended blk_lookup_devt() to be
able to look up partitions that had not yet been registered, but in the
process made the assumption that the '&block_class.devices' list only
contains disk devices and that you can do 'dev_to_disk(dev)' on them.

That isn't actually true.  The block_class device list also contains the
partitions we've discovered so far, and you can't just do a
'dev_to_disk()' on those.

So make sure to only work on devices that block/genhd.c has registered
itself, something we can test by checking the 'dev->type' member.  This
makes the loop in blk_lookup_devt() match the other such loops in this
file.

[ We may want to do an alternate version that knows to handle _either_
  whole-disk devices or partitions, but for now this is the minimal fix
  for a series of crashes reported by Mariusz Kozlowski in

http://lkml.org/lkml/2008/5/25/25

  and Ingo in

http://lkml.org/lkml/2008/6/9/39 ]

Reported-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Reported-by: Ingo Molnar <mingo@elte.hu>
Cc: Neil Brown <neilb@suse.de>
Cc: Joao Luis Meloni Assirati <assirati@nonada.if.usp.br>
Acked-by: Kay Sievers <kay.sievers@vrfy.org>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoIB/core: Remove IB_DEVICE_SEND_W_INV capability flag
Roland Dreier [Mon, 9 Jun 2008 16:58:42 +0000 (09:58 -0700)]
IB/core: Remove IB_DEVICE_SEND_W_INV capability flag

In 2.6.26, we added some support for send with invalidate work
requests, including a device capability flag to indicate whether a
device supports such requests.  However, the support was incomplete:
the completion structure was not extended with a field for the key
contained in incoming send with invalidate requests.

Full support for memory management extensions (send with invalidate,
local invalidate, fast register through a send queue, etc) is planned
for 2.6.27.  Since send with invalidate is not very useful by itself,
just remove the IB_DEVICE_SEND_W_INV bit before the 2.6.26 final
release; we will add an IB_DEVICE_MEM_MGT_EXTENSIONS bit in 2.6.27,
which makes things simpler for applications, since they will not have
quite as confusing an array of fine-grained bits to check.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years ago[ALSA] hda - Fix "alc262_sony_unsol[]" hda_verb array
Akio Idehara [Mon, 9 Jun 2008 13:46:07 +0000 (22:46 +0900)]
[ALSA] hda - Fix "alc262_sony_unsol[]" hda_verb array

I think that hda_verb array must have "terminator (empty array)".
But alc262_sony_unsol[] does not have it.
And it causes gcc-4.3's buggy behavior
with snd_hda_sequence_write().

Signed-off-by: Akio Idehara <zbe64533@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years ago[POWERPC] Updated Freescale PPC defconfigs
Kumar Gala [Mon, 9 Jun 2008 13:53:39 +0000 (08:53 -0500)]
[POWERPC] Updated Freescale PPC defconfigs

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years ago[POWERPC] 8610: Update defconfig for MPC8610 HPCD
Timur Tabi [Tue, 20 May 2008 20:14:18 +0000 (15:14 -0500)]
[POWERPC] 8610: Update defconfig for MPC8610 HPCD

Update the defconfig for the Freescale MPC8610 HPCD board.  Enable module
support.  Disable support for all NICs except for the on-board ULI526x.
Enable support for the Freescale DIU driver.  Increase the maximum zone order
to 12, so that the DIU driver can allocate physically-contiguous 5MB buffers.
Enable SYSV IPC and OSS plugin support, which are needed for some OSS apps.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years ago[POWERPC] 85xx: MPC8548CDS - Fix size of PCIe IO space
Kumar Gala [Fri, 6 Jun 2008 15:35:13 +0000 (10:35 -0500)]
[POWERPC] 85xx: MPC8548CDS - Fix size of PCIe IO space

Andrew Klossner pointed out the IO space size was in violation of
the alignment requirements for windows on the 85xx.  The size should
have been 1M (to match u-boot).

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years ago[POWERPC] 85xx: MPC85xx MDS - Unconditionally select PHYLIB for board fixups
Kumar Gala [Tue, 3 Jun 2008 18:36:19 +0000 (13:36 -0500)]
[POWERPC] 85xx: MPC85xx MDS - Unconditionally select PHYLIB for board fixups

The MPC85xx MDS board requires some board level tweaks of the PHYs that
either the eTSEC (gianfar) or UCC ethernet controllers are connected to.

Its possible to build the phylib as a module, however this breaks the
board level fix ups because phy_read and phy_write are not available
if we build as a module.

So we unconditionally select PHYLIB to ensure its built into the kernel
if we are building in MPC85xx MDS support.  This was determined to be
the easiest soultion even though it prevents the user from removing
PHYLIB support if they decide they don't want it.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years agoRevert "x86, 32-bit: SRAT fix"
Ingo Molnar [Mon, 9 Jun 2008 08:57:16 +0000 (10:57 +0200)]
Revert "x86, 32-bit: SRAT fix"

This reverts commit ea57a5a6db8961de35cd1a4a80d8e01ee4307973, a better
fix will be merged.

17 years agosh: Add -mno-fdpic to default flags.
Paul Mundt [Mon, 9 Jun 2008 07:49:43 +0000 (16:49 +0900)]
sh: Add -mno-fdpic to default flags.

Presently the --fdpic specifier and the --isa matching clash when
building with FDPIC toolchains. As we have no interest in building the
kernel with --fdpic in the first place, always try to add in -mno-fdpic
to the default flags.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: add resource of USB host for SH7723
Yoshihiro Shimoda [Thu, 5 Jun 2008 12:21:04 +0000 (21:21 +0900)]
sh: add resource of USB host for SH7723

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agousb: r8a66597-hcd: Add support for SH7723 USB host
Yoshihiro Shimoda [Mon, 9 Jun 2008 07:00:32 +0000 (16:00 +0900)]
usb: r8a66597-hcd: Add support for SH7723 USB host

R8A66597 is similar to SH7723 USB 2.0 Host/Function module.
In addition, the USB of SH7366 is compatible with SH7723.
It can support SH7723 USB host by changing Kconfig.

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Fix compile error SH7763 setup code
Nobuhiro Iwamatsu [Wed, 4 Jun 2008 08:16:15 +0000 (17:16 +0900)]
sh: Fix compile error SH7763 setup code

SH7763's setup code use old DECLARE_INTC_DESC.
There was a compile error because of this.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agosh: Add SH7723 SCIF support
Yusuke.Goda [Wed, 4 Jun 2008 10:22:59 +0000 (19:22 +0900)]
sh: Add SH7723 SCIF support

Signed-off-by: Yusuke Goda <goda.yusuke@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
17 years agopowerpc: Improve (in|out)_[bl]eXX() asm code
Trent Piepho [Tue, 27 May 2008 23:48:32 +0000 (09:48 +1000)]
powerpc: Improve (in|out)_[bl]eXX() asm code

Since commit 4cb3cee03d558fd457cb58f56c80a2a09a66110c the code generated
for the in_beXX() and out_beXX() mmio functions has been sub-optimal.

The out_leXX() family of functions are created with the macro
DEF_MMIO_OUT_LE() while the out_beXX() family are created with
DEF_MMIO_OUT_BE().  In what was perhaps a bit too much macro use, both of
these macros are in turn created via the macro DEF_MMIO_OUT().

For the LE versions, eventually they boil down to an asm that will look
something like this:
asm("sync; stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr));

The issue is that the "stwbrx" instruction only comes in an indexed, or
'x', version, in which the address is represented by the sum of two
registers (the "0,%2").  Unfortunately, gcc doesn't have a constraint for
an indexed memory reference.  The "m" constraint allows both indexed and
offset, i.e. register plus constant, memory references and there is no
"stwbr" version for offset references.  "m" also allows updating addresses
and there is no 'u' version of "stwbrx" like there is with "stwux".

The unused first operand to the asm is just to tell gcc that *addr is an
output of the asm.  The address used is passed in a single register via the
third asm operand, and the index register is just hard coded as 0.  This
means gcc is forced to put the address in a single register and can't use
index addressing, e.g. if one has the data in register 9, a base address in
register 3 and an index in register 4, gcc must emit code like "add 11,4,3;
stwbrx 9,0,11" instead of just "stwbrx 9,4,3".  This costs an extra add
instruction and another register.

For gcc 4.0 and older, there doesn't appear to be anything that can be
done.  But for 4.1 and newer, there is a 'Z' constraint.  It does not allow
"updating" addresses, but does allow both indexed and offset addresses.
However, the only allowed constant offset is 0.  We can then use the
undocumented 'y' operand modifier, which causes gcc to convert "0(reg)"
into the equivilient "0,reg" format that can be used with stwbrx.

This brings us the to problem with the BE version.  In this case, the "stw"
instruction does have both indexed and non-indexed versions.  The final asm
ends up looking like this:
asm("sync; stw%U0%X0 %1,%0" : "=m" (*addr) : "r" (val), "r" (addr));

The undocumented codes "%U0" and "%0X" will generate a 'u' if the memory
reference should be an auto-updating one, and an 'x' if the memory
reference is indexed, respectively.  The third operand is unused, it's just
there because asm the code is reused from the LE version.  However, gcc
does not know this, and generates unnecessary code to stick addr in a
register!  To use the example from the LE version, gcc will generate "add
11,4,3; stwx 9,4,3".  It is able to use the indexed address "4,3" for the
"stwx", but still thinks it needs to put 4+3 into register 11, which will
never be used.

This also ends up happening a lot for the offset addressing mode, where
common code like this:  out_be32(&device_registers->some_register, data);
uses an instruction like "stw 9, 42(3)", where register 3 has the pointer
device_registers and 42 is the offset of some_register in that structure.
gcc will be forced to generate the unnecessary instruction "addi 11, 3, 42"
to put the address into a single (unused) register.

The in_* versions end up having these exact same problems as well.

Signed-off-by: Trent Piepho <tpiepho@freescale.com>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: Andreas Schwab <schwab@suse.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: Fix irq_alloc_host() reference counting and callers
Michael Ellerman [Mon, 26 May 2008 02:12:32 +0000 (12:12 +1000)]
powerpc: Fix irq_alloc_host() reference counting and callers

When I changed irq_alloc_host() to take an of_node
(52964f87c64e6c6ea671b5bf3030fb1494090a48: "Add an optional
device_node pointer to the irq_host"), I botched the reference
counting semantics.

Stephen pointed out that it's irq_alloc_host()'s business if
it needs to take an additional reference to the device_node,
the caller shouldn't need to care.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: Rework qe_ic_init() so we can avoid freeing the irq_host
Michael Ellerman [Mon, 26 May 2008 02:12:31 +0000 (12:12 +1000)]
powerpc: Rework qe_ic_init() so we can avoid freeing the irq_host

If we do the call to of_address_to_resource() first, then we don't
need to worry about freeing the irq_host (which the code doesn't do
currently anyway).

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: Rework ipic_init() so we can avoid freeing the irq_host
Michael Ellerman [Mon, 26 May 2008 02:12:30 +0000 (12:12 +1000)]
powerpc: Rework ipic_init() so we can avoid freeing the irq_host

If we do the call to of_address_to_resource() first, then we don't
need to worry about freeing the irq_host (which the code doesn't do
currently anyway).

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: Rework Axon MSI setup so we can avoid freeing the irq_host
Michael Ellerman [Mon, 26 May 2008 02:12:30 +0000 (12:12 +1000)]
powerpc: Rework Axon MSI setup so we can avoid freeing the irq_host

If we do the call to irq_of_parse_and_map() first, then we don't
need to worry about freeing the irq_host.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: Check that TASK_SIZE does not overlap KERNEL_START
Rune Torgersen [Fri, 23 May 2008 15:59:15 +0000 (01:59 +1000)]
powerpc: Check that TASK_SIZE does not overlap KERNEL_START

Make sure CONFIG_TASK_SIZE does not overlap CONFIG_KERNEL_START
This could happen when overriding settings to get 1GB lowmem, and would lead
to userland mysteriousely hanging.

This setting is only used by PPC32.

Signed-off-by: Rune Torgersen <runet@innovsys.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoplatinumfb: Use linux/of_{device,platform}.h instead of asm
Stephen Rothwell [Fri, 23 May 2008 06:39:58 +0000 (16:39 +1000)]
platinumfb: Use linux/of_{device,platform}.h instead of asm

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoof_serial: Use linux/of_platform.h instead of asm
Stephen Rothwell [Fri, 23 May 2008 06:32:54 +0000 (16:32 +1000)]
of_serial: Use linux/of_platform.h instead of asm

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: Add the PC speaker only when requested
Emil Medve [Thu, 22 May 2008 22:40:16 +0000 (08:40 +1000)]
powerpc: Add the PC speaker only when requested

This eliminates this minor boot-time debugging error message:

[    1.316451] calling  add_pcspkr+0x0/0x84
[    1.316478] initcall add_pcspkr+0x0/0x84 returned -19 after 0 msecs

Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: Add C2K to configuration
Remi Machet [Fri, 16 May 2008 00:26:02 +0000 (10:26 +1000)]
powerpc: Add C2K to configuration

Support for the C2K cPCI Single Board Computer from GEFanuc
(PowerPC MPC7448 with a Marvell MV64460 chipset).
All features of the board are not supported yet, but the board
boots, flash works, all Ethernet ports are working and PCI
devices are all found (USB and SATA on PCI1 do not work yet).

Part 5 of 5: add the Kconfig entry for the C2K board.

Signed-off-by: Remi Machet <rmachet@slac.stanford.edu>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: Default configuration for C2K
Remi Machet [Fri, 16 May 2008 00:25:28 +0000 (10:25 +1000)]
powerpc: Default configuration for C2K

Support for the C2K cPCI Single Board Computer from GEFanuc
(PowerPC MPC7448 with a Marvell MV64460 chipset).
All features of the board are not supported yet, but the board
boots, flash works, all Ethernet ports are working and PCI
devices are all found (USB and SATA on PCI1 do not work yet).

Part 4 of 5: this is the default config for the board.  In this
configuration the kernel is going to try to boot from MTD
partition 3 on the NOR flash (see c2k.dts for details about
the partitioning of the flash).

Signed-off-by: Remi Machet <rmachet@slac.stanford.edu>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: C2K board driver
Remi Machet [Fri, 16 May 2008 19:31:04 +0000 (05:31 +1000)]
powerpc: C2K board driver

Support for the C2K cPCI Single Board Computer from GEFanuc
(PowerPC MPC7448 with a Marvell MV64460 chipset).
All features of the board are not supported yet, but the board
boots, flash works, all Ethernet ports are working and PCI
devices are all found (USB and SATA on PCI1 do not work yet).

Part 3 of 5: driver for the board.  At this time it is very generic
and similar to its original, the driver for the prpmc2800.

Signed-off-by: Remi Machet <rmachet@slac.stanford.edu>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: Boot code for the C2K
Remi Machet [Tue, 20 May 2008 20:50:10 +0000 (06:50 +1000)]
powerpc: Boot code for the C2K

Support for the C2K cPCI Single Board Computer from GEFanuc
(PowerPC MPC7448 with a Marvell MV64460 chipset).
All features of the board are not supported yet, but the board
boots, flash works, all Ethernet ports are working and PCI
devices are all found (USB and SATA on PCI1 do not work yet).

Part 2 of 5: support for the board in arch/powerpc/boot.

Signed-off-by: Remi Machet <rmachet@slac.stanford.edu>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc: DTS file for the C2K
Remi Machet [Tue, 20 May 2008 17:30:24 +0000 (03:30 +1000)]
powerpc: DTS file for the C2K

Support for the C2K cPCI Single Board Computer from GEFanuc
(PowerPC MPC7448 with a Marvell MV64460 chipset).
All features of the board are not supported yet, but the board
boots, flash works, all Ethernet ports are working and PCI
devices are all found (USB and SATA on PCI1 do not work yet).

Part 1 of 5: DTS file describing the board peripherals.  As far as I
know all peripherals except the FPGA are listed in there (I did not
include the FPGA because a lot of work is needed there).

Signed-off-by: Remi Machet <rmachet@slac.stanford.edu>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agopowerpc/mpic: Fix ambiguous else statement
Anton Vorontsov [Fri, 23 May 2008 18:40:00 +0000 (04:40 +1000)]
powerpc/mpic: Fix ambiguous else statement

This fixes the following warning, introduced by commit
475ca391b490a683d66bf19999a8a7a24913f139 (mpic: Deal with bogus NIRQ
in Feature Reporting Register):

  CC      arch/powerpc/sysdev/mpic.o
arch/powerpc/sysdev/mpic.c: In function 'mpic_alloc':
arch/powerpc/sysdev/mpic.c:1146: warning: suggest explicit braces to avoid ambiguous 'else'

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoMerge branch 'merge'
Paul Mackerras [Mon, 9 Jun 2008 02:19:41 +0000 (12:19 +1000)]
Merge branch 'merge'

Conflicts:

arch/powerpc/sysdev/fsl_soc.c

17 years ago[POWERPC] ehea: Remove dependency on MEMORY_HOTPLUG
Nathan Lynch [Tue, 3 Jun 2008 22:31:28 +0000 (08:31 +1000)]
[POWERPC] ehea: Remove dependency on MEMORY_HOTPLUG

Now that walk_memory_resource() is available regardless of
MEMORY_HOTPLUG's setting, this dependency is not needed.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Yasunori Goto <y-goto@jp.fujitsu.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Make walk_memory_resource available with MEMORY_HOTPLUG=n
Nathan Lynch [Tue, 3 Jun 2008 22:30:54 +0000 (08:30 +1000)]
[POWERPC] Make walk_memory_resource available with MEMORY_HOTPLUG=n

The ehea driver was recently changed[1] to use walk_memory_resource() to
detect the system's memory layout.  However, walk_memory_resource() is
available only when memory hotplug is enabled.  So CONFIG_EHEA was
made to depend on MEMORY_HOTPLUG [2], but it is inappropriate for a
network driver to have such a dependency.

Make the declaration of walk_memory_resource() and its powerpc
implementation (ehea is powerpc-specific) unconditionally available.

[1] 48cfb14f8b89d4d5b3df6c16f08b258686fb12ad
    "ehea: Add DLPAR memory remove support"

[2] fb7b6ca2b6b7c23b52be143bdd5f55a23b9780c8
    "ehea: Add dependency to Kconfig"

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Acked-by: Badari Pulavarty <pbadari@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Use dev_set_name in pci_64.c
Stephen Rothwell [Tue, 3 Jun 2008 03:36:11 +0000 (13:36 +1000)]
[POWERPC] Use dev_set_name in pci_64.c

During the next merge window, pci_name()'s return value will become
const, so use the new dev_set_name() instead to avoid the warning (from
linux-next):

arch/powerpc/kernel/pci_64.c: In function 'of_create_pci_dev':
arch/powerpc/kernel/pci_64.c:193: warning: passing argument 1 of 'sprintf' discards qualifiers from pointer target type

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix incorrect enabling of VMX when building signal or user context
Benjamin Herrenschmidt [Mon, 2 Jun 2008 06:22:59 +0000 (16:22 +1000)]
[POWERPC] Fix incorrect enabling of VMX when building signal or user context

When building a signal or a ucontext, we can incorrectly set the MSR_VEC
bit of the kernel pt_regs->msr before returning to userspace if the task
-ever- used VMX.

This can lead to funny result if that stack used it in the past, then
"lost" it (ie. it wasn't enabled after a context switch for example)
and then called get_context.  It can end up with VMX enabled and the
registers containing values from some other task.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] boot/Makefile CONFIG_ variable fixes
Adrian Bunk [Wed, 21 May 2008 17:38:28 +0000 (03:38 +1000)]
[POWERPC] boot/Makefile CONFIG_ variable fixes

This corrects the names of two CONFIG_ variables.

Note that the CONFIG_MPC86XADS fix uncovers another bug
(with mpc866_ads_defconfig) that will require fixing:

<--  snip  -->

...
arch/powerpc/boot/dtc -O dtb -o arch/powerpc/boot/mpc866ads.dtb -b 0  /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/powerpc/boot/dts/mpc866ads.dts
DTC: dts->dtb  on file "/home/bunk/linux/kernel-2.6/git/linux-2.6/arch/powerpc/boot/dts/mpc866ads.dts"
  WRAP    arch/powerpc/boot/cuImage.mpc866ads
powerpc64-linux-ld: arch/powerpc/boot/cuboot-mpc866ads.o: No such file: No such file or directory
make[2]: *** [arch/powerpc/boot/cuImage.mpc866ads] Error 1

<--  snip  -->

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agofat_valid_media() isn't for userspace
Adrian Bunk [Sun, 8 Jun 2008 18:43:10 +0000 (21:43 +0300)]
fat_valid_media() isn't for userspace

Commit 73f20e58b1d586e9f6d3ddc3aad872829aca7743 ("FAT_VALID_MEDIA():
remove pointless test") wrongly added the new fat_valid_media() function
to the userspace-visible part of include/linux/msdos_fs.h

Move it to the part of include/linux/msdos_fs.h that is not exported to
userspace.

Reported-by: Onur Küçük <onur@pardus.org.tr>
Reported-by: S.Çağlar Onur <caglar@pardus.org.tr>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[WATCHDOG 19/57] bfin: watchdog cleanup and unlocked_ioctl
Alan Cox [Mon, 19 May 2008 13:06:30 +0000 (14:06 +0100)]
[WATCHDOG 19/57] bfin: watchdog cleanup and unlocked_ioctl

Scan, tidy and check for unlocked_ioctl

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
17 years ago[MTD] [NAND] Fix checkpatch warnings which showed up when atmel_nand.c moved
David Woodhouse [Sat, 7 Jun 2008 07:49:00 +0000 (08:49 +0100)]
[MTD] [NAND] Fix checkpatch warnings which showed up when atmel_nand.c moved

Some of them, at least.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
17 years agoavr32: Add support for ATSTK1006
HÃ¥vard Skinnemoen [Fri, 6 Jun 2008 16:04:58 +0000 (18:04 +0200)]
avr32: Add support for ATSTK1006

The ATSTK1006 is basically an upgraded version of ATSTK1002 with
128 MiB SDRAM and 256 MiB NAND flash on board.

Otherwise, the board is very similar to the ATSTK1002, so it uses the
same board support file.

Signed-off-by: HÃ¥vard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
17 years ago[MTD] [NAND] atmel_nand: make available on AVR32
HÃ¥vard Skinnemoen [Fri, 6 Jun 2008 16:04:57 +0000 (18:04 +0200)]
[MTD] [NAND] atmel_nand: make available on AVR32

Make the atmel_nand driver selectable on AVR32, and update the Kconfig
help text to reflect this.

Signed-off-by: HÃ¥vard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
17 years ago[MTD] [NAND] avr32: atmel_nand platform code for AT32AP700x
HÃ¥vard Skinnemoen [Fri, 6 Jun 2008 16:04:56 +0000 (18:04 +0200)]
[MTD] [NAND] avr32: atmel_nand platform code for AT32AP700x

This function initializes and adds a platform_device for a NAND flash
interface on SMC chip select 3.

Signed-off-by: HÃ¥vard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
17 years agoavr32: move hsmc_init() to core_initcall
HÃ¥vard Skinnemoen [Fri, 6 Jun 2008 16:04:55 +0000 (18:04 +0200)]
avr32: move hsmc_init() to core_initcall

The board init code, typically running from postcore_initcall, may
need to set up SMC timings. We have to make sure the SMC driver is
ready before this happens.

Signed-off-by: HÃ¥vard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
17 years ago[MTD] [NAND] atmel_nand: Clean up and fix probe() error path
HÃ¥vard Skinnemoen [Fri, 6 Jun 2008 16:04:54 +0000 (18:04 +0200)]
[MTD] [NAND] atmel_nand: Clean up and fix probe() error path

This fixes several bugs in the atmel_nand_probe() error path, including
at least one memory leak.

Signed-off-by: HÃ¥vard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
17 years ago[MTD] [NAND] rename at91_nand -> atmel_nand: internal symbols
HÃ¥vard Skinnemoen [Fri, 6 Jun 2008 16:04:53 +0000 (18:04 +0200)]
[MTD] [NAND] rename at91_nand -> atmel_nand: internal symbols

This is basically s/at91_nand/atmel_nand/g with some manual inspection.

Signed-off-by: HÃ¥vard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
17 years ago[MTD] [NAND] rename at91_nand -> atmel_nand: file names and Kconfig
HÃ¥vard Skinnemoen [Fri, 6 Jun 2008 16:04:52 +0000 (18:04 +0200)]
[MTD] [NAND] rename at91_nand -> atmel_nand: file names and Kconfig

The AT91 NAND driver needs just a few tiny modifications to work on
AVR32 as well. Rename it atmel_nand to reflect this.

Also move the ECC register definitions into drivers/mtd/nand since they
are only useful to the atmel_nand driver, and get rid of the useless
filename at the top of each file.

Signed-off-by: HÃ¥vard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
17 years ago[MTD] [NAND] at91_nand: Convert to generic GPIO API
HÃ¥vard Skinnemoen [Fri, 6 Jun 2008 16:04:51 +0000 (18:04 +0200)]
[MTD] [NAND] at91_nand: Convert to generic GPIO API

No point in using an AT91-specific GPIO API when the generic API works
just as well.

Signed-off-by: HÃ¥vard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
17 years agoBlackfin serial driver: fix up tty core set_ldisc API change breakage bug
Graf Yang [Sat, 7 Jun 2008 07:36:33 +0000 (15:36 +0800)]
Blackfin serial driver: fix up tty core set_ldisc API change breakage bug

This is the patch that follows Linus's modification about set_ldisc.
Graf has built and tested it on BF537 using Linus's git Tree.

Signed-off-by: Graf Yang <graf.yang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
17 years ago[MTD] [NAND] fsl_elbc_nand: fix section mismatch between probe and remove
Anton Vorontsov [Fri, 6 Jun 2008 14:59:40 +0000 (18:59 +0400)]
[MTD] [NAND] fsl_elbc_nand: fix section mismatch between probe and remove

WARNING: drivers/mtd/nand/built-in.o(.devinit.text+0x114): Section mismatch
in reference from the function fsl_elbc_ctrl_probe() to the function
.devexit.text:fsl_elbc_ctrl_remove()

__devinit functions should not call functions with __devexit. Since probe
function calls remove in case of errors, we want to remove __devexit
attribute from it.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
17 years agoBlackfin arch: protect only the SPI bus controller with CONFIG_SPI_BFIN
Mike Frysinger [Sat, 7 Jun 2008 07:03:01 +0000 (15:03 +0800)]
Blackfin arch: protect only the SPI bus controller with CONFIG_SPI_BFIN

Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
17 years agoIB/umem: Avoid sign problems when demoting npages to integer
Roland Dreier [Sat, 7 Jun 2008 04:38:37 +0000 (21:38 -0700)]
IB/umem: Avoid sign problems when demoting npages to integer

On a 64-bit architecture, if ib_umem_get() is called with a size value
that is so big that npages is negative when cast to int, then the
length of the page list passed to get_user_pages(), namely

min_t(int, npages, PAGE_SIZE / sizeof (struct page *))

will be negative, and get_user_pages() will immediately return 0 (at
least since 900cf086, "Be more robust about bad arguments in
get_user_pages()").  This leads to an infinite loop in ib_umem_get(),
since the code boils down to:

while (npages) {
ret = get_user_pages(...);
npages -= ret;
}

Fix this by taking the minimum as unsigned longs, so that the value of
npages is never truncated.

The impact of this bug isn't too severe, since the value of npages is
checked against RLIMIT_MEMLOCK, so a process would need to have an
astronomical limit or have CAP_IPC_LOCK to be able to trigger this,
and such a process could already cause lots of mischief.  But it does
let buggy userspace code cause a kernel lock-up; for example I hit
this with code that passes a negative value into a memory registartion
function where it is promoted to a huge u64 value.

Cc: <stable@kernel.org>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoARM: OMAP: Correcting the gpmc prefetch control register address
Thara Gopinath [Mon, 28 Apr 2008 11:25:01 +0000 (16:55 +0530)]
ARM: OMAP: Correcting the gpmc prefetch control register address

Correcting the GPMC_PREFETCH_CONTROL register address

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Misc cosmetic clean-up for checkpatch.pl warnings
Tony Lindgren [Fri, 6 Jun 2008 22:42:30 +0000 (15:42 -0700)]
ARM: OMAP: Misc cosmetic clean-up for checkpatch.pl warnings

Misc cosmetic clean-up for checkpatch.pl warnings. Mostly to
make upstream patches not produce checkpatch errors.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Linus Torvalds [Fri, 6 Jun 2008 22:30:53 +0000 (15:30 -0700)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: enable barriers by default
  jbd2: Fix barrier fallback code to re-lock the buffer head
  ext4: Display the journal_async_commit mount option in /proc/mounts
  jbd2: If a journal checksum error is detected, propagate the error to ext4
  jbd2: Fix memory leak when verifying checksums in the journal
  ext4: fix online resize bug
  ext4: Fix uninit block group initialization with FLEX_BG
  ext4: Fix use of uninitialized data with debug enabled.

17 years agoARM: OMAP: Change GPMC code to use __raw_read/write
Tony Lindgren [Fri, 6 Jun 2008 21:07:34 +0000 (14:07 -0700)]
ARM: OMAP: Change GPMC code to use __raw_read/write

This saves some instructions compared to omap_read/write.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP2: Make io.c safe for multi-omap
Tony Lindgren [Fri, 6 Jun 2008 19:09:49 +0000 (12:09 -0700)]
ARM: OMAP2: Make io.c safe for multi-omap

ARM: OMAP2: Make io.c safe for multi-omap

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Use __raw_read/write in irq.c
Tony Lindgren [Fri, 6 Jun 2008 18:34:30 +0000 (11:34 -0700)]
ARM: OMAP: Use __raw_read/write in irq.c

Also remove verbose debugging line for upstream merge.

Looks like with __raw_read/write the object code is sligtly
smaller (even with the debugging left out in the original code):

Old with omap_read/write:

00000000 <intc_bank_write_reg>:
   0: e1a0c00d  mov ip, sp
   4: e92dd800  push {fp, ip, lr, pc}
   8: e24cb004  sub fp, ip, #4 ; 0x4
   c: e5913000  ldr r3, [r1]
  10: e2833209  add r3, r3, #-1879048192 ; 0x90000000
  14: e7830002  str r0, [r3, r2]
  18: e89da800  ldm sp, {fp, sp, pc}

0000001c <intc_bank_read_reg>:
  1c: e1a0c00d  mov ip, sp
  20: e92dd800  push {fp, ip, lr, pc}
  24: e24cb004  sub fp, ip, #4 ; 0x4
  28: e5903000  ldr r3, [r0]
  2c: e2833209  add r3, r3, #-1879048192 ; 0x90000000
  30: e7930001  ldr r0, [r3, r1]
  34: e89da800  ldm sp, {fp, sp, pc}

New code with __raw_read/write:

00000000 <intc_bank_write_reg>:
   0: e1a0c00d  mov ip, sp
   4: e92dd800  push {fp, ip, lr, pc}
   8: e24cb004  sub fp, ip, #4 ; 0x4
   c: e5913000  ldr r3, [r1]
  10: e7820003  str r0, [r2, r3]
  14: e89da800  ldm sp, {fp, sp, pc}

00000018 <intc_bank_read_reg>:
  18: e1a0c00d  mov ip, sp
  1c: e92dd800  push {fp, ip, lr, pc}
  20: e24cb004  sub fp, ip, #4 ; 0x4
  24: e5903000  ldr r3, [r0]
  28: e7910003  ldr r0, [r1, r3]
  2c: e89da800  ldm sp, {fp, sp, pc}

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoKVM: MMU: Fix is_empty_shadow_page() check
Avi Kivity [Tue, 20 May 2008 13:21:13 +0000 (16:21 +0300)]
KVM: MMU: Fix is_empty_shadow_page() check

The check is only looking at one of two possible empty ptes.

Signed-off-by: Avi Kivity <avi@qumranet.com>
17 years agouml: activate_mm: remove the dead PF_BORROWED_MM check
Oleg Nesterov [Fri, 6 Jun 2008 18:31:39 +0000 (11:31 -0700)]
uml: activate_mm: remove the dead PF_BORROWED_MM check

use_mm() was changed to use switch_mm() instead of activate_mm(), since
then nobody calls (and nobody should call) activate_mm() with
PF_BORROWED_MM bit set.

As Jeff Dike pointed out, we can also remove the "old != new" check, it is
always true.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoKVM: MMU: Fix printk() format string
Avi Kivity [Tue, 20 May 2008 13:21:58 +0000 (16:21 +0300)]
KVM: MMU: Fix printk() format string

Signed-off-by: Avi Kivity <avi@qumranet.com>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Fri, 6 Jun 2008 18:33:30 +0000 (11:33 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/ipath: Fix SM trap forwarding
  IB/ehca: Reject send WRs only for RESET, INIT and RTR state
  MAINTAINERS: Update NetEffect (iw_nes) entry
  IB/ipath: Fix device capability flags
  IB/ipath: Avoid test_bit() on u64 SDMA status value

17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
Linus Torvalds [Fri, 6 Jun 2008 18:33:08 +0000 (11:33 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
  x86/PCI: add workaround for bug in ASUS A7V600 BIOS (rev 1005)
  PCI/x86: fix up PCI stuff so that PCI_GOANY supports OLPC

17 years agoKVM: IOAPIC: only set remote_irr if interrupt was injected
Marcelo Tosatti [Thu, 5 Jun 2008 03:08:11 +0000 (00:08 -0300)]
KVM: IOAPIC: only set remote_irr if interrupt was injected

There's a bug in the IOAPIC code for level-triggered interrupts. Its
relatively easy to trigger by sharing (virtio-blk + usbtablet was the
testcase, initially reported by Gerd von Egidy).

The "remote_irr" variable is used to indicate accepted but not yet acked
interrupts. Its cleared from the EOI handler.

Problem is that the EOI handler clears remote_irr unconditionally, even
if it reinjected another pending interrupt.

In that case, kvm_ioapic_set_irq() proceeds to ioapic_service() which
sets remote_irr even if it failed to inject (since the IRR was high due
to EOI reinjection).

Since the TMR bit has been cleared by the first EOI, the second one
fails to clear remote_irr.

End result is interrupt line dead.

Fix it by setting remote_irr only if a new pending interrupt has been
generated (and the TMR bit for vector in question set).

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
Linus Torvalds [Fri, 6 Jun 2008 18:32:37 +0000 (11:32 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  sound: emu10k1 - fix system hang with Audigy2 ZS Notebook PCMCIA card

17 years agoKVM: MMU: reschedule during shadow teardown
Avi Kivity [Wed, 4 Jun 2008 15:42:24 +0000 (18:42 +0300)]
KVM: MMU: reschedule during shadow teardown

Shadows for large guests can take a long time to tear down, so reschedule
occasionally to avoid softlockup warnings.

Signed-off-by: Avi Kivity <avi@qumranet.com>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/chrisw...
Linus Torvalds [Fri, 6 Jun 2008 18:31:55 +0000 (11:31 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6:
  capabilities: remain source compatible with 32-bit raw legacy capability support.
  LSM: remove stale web site from MAINTAINERS

17 years agoMerge git://git.infradead.org/~dwmw2/mtd-2.6.26
Linus Torvalds [Fri, 6 Jun 2008 18:31:18 +0000 (11:31 -0700)]
Merge git://git.infradead.org/~dwmw2/mtd-2.6.26

* git://git.infradead.org/~dwmw2/mtd-2.6.26:
  [MTD] m25p80.c mutex unlock fix

17 years agoipwireless: Fix blocked sending
David Sterba [Fri, 6 Jun 2008 08:56:35 +0000 (10:56 +0200)]
ipwireless: Fix blocked sending

Packet sending is driven by two flags, tx_ready and tx_queued.
It was possible, that there were queued data for sending and
hardware was flagged as blocked but in fact it was not.

The tx_queued was indicator but should be really a counter else
first fragmented packet resets tx_queued flag, but there may be
pending packets which do not get sent.

New semantics:
tx_ready - set, if hw is ready to send packet, no packet is being
           transferred right now
           set the flag right at the place where data are copied
           into hw memory and not earlier without checking if it
           was succesful
tx_queued - count of enqueued packets, including fragments

Tested-by: Michal Rokos <michal.rokos@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoKVM: VMX: Clear CR4.VMXE in hardware_disable
Eli Collins [Mon, 2 Jun 2008 03:24:40 +0000 (20:24 -0700)]
KVM: VMX: Clear CR4.VMXE in hardware_disable

Clear CR4.VMXE in hardware_disable. There's no reason to leave it set
after doing a VMXOFF.

VMware Workstation 6.5 checks CR4.VMXE as a proxy for whether the CPU is
in VMX mode, so leaving VMXE set means we'll refuse to power on. With this
change the user can power on after unloading the kvm-intel module. I
tested on kvm-67 and kvm-69.

Signed-off-by: Eli Collins <ecollins@vmware.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
17 years agovm: add kzalloc_node() inline
Jeff Layton [Fri, 6 Jun 2008 05:47:00 +0000 (22:47 -0700)]
vm: add kzalloc_node() inline

To get zeroed out memory from a particular NUMA node.  To be used by
sunrpc.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Cc: Christoph Lameter <clameter@sgi.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopagemap: add documentation for pagemap
Thomas Tuttle [Fri, 6 Jun 2008 05:46:59 +0000 (22:46 -0700)]
pagemap: add documentation for pagemap

Just a quick explanation of the pagemap interface from a userspace point
of view, and an example of how to use it (in English, not code).

Signed-off-by: Thomas Tuttle <ttuttle@google.com>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopagemap: return EINVAL, not EIO, for unaligned reads of kpagecount or kpageflags
Thomas Tuttle [Fri, 6 Jun 2008 05:46:58 +0000 (22:46 -0700)]
pagemap: return EINVAL, not EIO, for unaligned reads of kpagecount or kpageflags

If the user tries to read from a position that is not a multiple of 8, or
read a number of bytes that is not a multiple of 8, they have passed an
invalid argument to read, for the purpose of reading these files.  It's
not an IO error because we didn't encounter any trouble finding the data
they asked for.

Signed-off-by: Thomas Tuttle <ttuttle@google.com>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopagemap: return map count, not reference count, in /proc/kpagecount
Thomas Tuttle [Fri, 6 Jun 2008 05:46:58 +0000 (22:46 -0700)]
pagemap: return map count, not reference count, in /proc/kpagecount

Since pagemap is all about examining pages mapped into processes' memory
spaces, it makes sense for kpagecount to return the map counts, not the
reference counts.

Signed-off-by: Thomas Tuttle <ttuttle@google.com>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agohdaps: fix module loading on Thinkpad T61P
Tim Gardner [Fri, 6 Jun 2008 05:46:55 +0000 (22:46 -0700)]
hdaps: fix module loading on Thinkpad T61P

Adds DMI system identifier for ThinkPad T61.

Originally written by Klaus S. Madsen.

Taken from http://launchpadlibrarian.net/10864950/hdaps-t61.patch

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: maximilian attems <max@stro.at>
Cc: Klaus S. Madsen <ubuntu@hjernemadsen.org>
Cc: Mark M. Hoffman <mhoffman@lightlink.com>
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoproc: calculate the correct /proc/<pid> link count
Vegard Nossum [Fri, 6 Jun 2008 05:46:53 +0000 (22:46 -0700)]
proc: calculate the correct /proc/<pid> link count

This patch:

  commit e9720acd728a46cb40daa52c99a979f7c4ff195c
  Author: Pavel Emelyanov <xemul@openvz.org>
  Date:   Fri Mar 7 11:08:40 2008 -0800

    [NET]: Make /proc/net a symlink on /proc/self/net (v3)

introduced a /proc/self/net directory without bumping the corresponding
link count for /proc/self.

This patch replaces the static link count initializations with a call that
counts the number of directory entries in the given pid_entry table
whenever it is instantiated, and thus relieves the burden of manually
keeping the two in sync.

[akpm@linux-foundation.org: cleanup]
Acked-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agortc: class driver for ppc_md RTC functions
David Woodhouse [Fri, 6 Jun 2008 05:46:50 +0000 (22:46 -0700)]
rtc: class driver for ppc_md RTC functions

This hooks up the platform-specific [gs]et_rtc_time functions so that
kernels using CONFIG_RTC_CLASS have RTC support on most PowerPC platforms.

A new driver, and one which we've been shipping in Fedora for a while
already, since otherwise RTC support breaks.

[akpm@linux-foundation.org: fix Kconfig indenting]
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Acked-by: David Brownell <david-b@pacbell.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoasm-m32r/uaccess.h must #include <asm/setup.h>
Adrian Bunk [Fri, 6 Jun 2008 05:46:48 +0000 (22:46 -0700)]
asm-m32r/uaccess.h must #include <asm/setup.h>

This patch fixes the following compile error caused by
commit 4016a1390d07f15b267eecb20e76a48fd5c524ef
(mm/nommu.c: return 0 from kobjsize with invalid objects):

/home/bunk/linux/kernel-2.6/git/linux-2.6/mm/nommu.c: In function 'kobjsize':
/home/bunk/linux/kernel-2.6/git/linux-2.6/mm/nommu.c:112: error: 'memory_end' undeclared (first use in this function)
/home/bunk/linux/kernel-2.6/git/linux-2.6/mm/nommu.c:112: error: (Each undeclared identifier is reported only once
/home/bunk/linux/kernel-2.6/git/linux-2.6/mm/nommu.c:112: error: for each function it appears in.)

The patch also removes now no longer required memory_{start,end}
declarations inside access_ok().

Reported-by: Adrian Bunk <adrian.bunk@movial.fi>
Signed-off-by: Adrian Bunk <adrian.bunk@movial.fi>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoext3: fix online resize bug
Josef Bacik [Fri, 6 Jun 2008 05:46:47 +0000 (22:46 -0700)]
ext3: fix online resize bug

There is a bug when we are trying to verify that the reserve inode's
double indirect blocks point back to the primary gdt blocks.  The fix is
obvious, we need to mod the gdb count by the addr's per block.  You can
verify this with the following test case

dd if=/dev/zero of=disk1 seek=1024 count=1 bs=100M
losetup /dev/loop1 disk1
pvcreate /dev/loop1
vgcreate loopvg1 /dev/loop1
lvcreate -l 100%VG loopvg1 -n looplv1
mkfs.ext3 -J size=64 -b 1024 /dev/loopvg1/looplv1
mount /dev/loopvg1/looplv1 /mnt/loop
dd if=/dev/zero of=disk2 seek=1024 count=1 bs=50M
losetup /dev/loop2 disk2
pvcreate /dev/loop2
vgextend loopvg1 /dev/loop2
lvextend -l 100%VG /dev/loopvg1/looplv1
resize2fs /dev/loopvg1/looplv1

without this patch the resize2fs fails, with it the resize2fs succeeds.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
Acked-by: Andreas Dilger <adilger@sun.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agonommu: fix ksize() abuse
Pekka Enberg [Fri, 6 Jun 2008 05:46:46 +0000 (22:46 -0700)]
nommu: fix ksize() abuse

The nommu binfmt code uses ksize() for pointers returned from do_mmap()
which is wrong.  This converts the call-sites to use the nommu specific
kobjsize() function which works as expected.

Cc: Christoph Lameter <clameter@sgi.com>
Cc: Matt Mackall <mpm@selenic.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Greg Ungerer <gerg@snapgear.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agodoc: document the kernel-doc conventions for kernel hackers
Paul Jackson [Fri, 6 Jun 2008 05:46:45 +0000 (22:46 -0700)]
doc: document the kernel-doc conventions for kernel hackers

Provide documentation of the kernel-doc documentation conventions oriented
to kernel hackers.

Since I figure that there will be more people reading this
kernel-doc-nano-HOWTO.txt file who are kernel developers focused on the
rest of the kernel, than there will be readers of this file who are
documentation developers extracting that embedded kernel-doc
documentation, I have taken the liberty of making the new section added
here:

  How to format kernel-doc comments

the first section of the kernel-doc-nano-HOWTO.txt file.

This first section is intended to introduce, motivate and provide basic
usage of the kernel-doc mechanism for kernel hackers developing other
portions of the kernel.

Signed-off-by: Paul Jackson <pj@sgi.com>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbdev: export symbol fb_mode_option
Geoff Levand [Fri, 6 Jun 2008 05:46:44 +0000 (22:46 -0700)]
fbdev: export symbol fb_mode_option

Frame buffer and mode setting drivers can be built as modules,
so fb_mode_option needs to be exported to support these.

Prevents this error:

  ERROR: "fb_mode_option" [drivers/ps3/ps3av_mod.ko] undefined!

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Acked-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMAINTAINERS: reiserfs entry is out of date
Alan Cox [Fri, 6 Jun 2008 05:46:42 +0000 (22:46 -0700)]
MAINTAINERS: reiserfs entry is out of date

Signed-off-by: Alan Cox <alan@redhat.com>
Cc: Edward Shishkin <edward.shishkin@gmail.com>
Cc: Jeff Mahoney <jeffm@suse.com>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Jan Kara <jack@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agov850: fix typo in header guard
Vegard Nossum [Fri, 6 Jun 2008 05:46:42 +0000 (22:46 -0700)]
v850: fix typo in header guard

Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoh8300: fix typo in header guard
Vegard Nossum [Fri, 6 Jun 2008 05:46:41 +0000 (22:46 -0700)]
h8300: fix typo in header guard

Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoatmel_serial: filter out FP during baud rate detection
Haavard Skinnemoen [Fri, 6 Jun 2008 05:46:39 +0000 (22:46 -0700)]
atmel_serial: filter out FP during baud rate detection

I made a change to u-boot that used the FP (Fractional Part) field of BRGR
to achieve more accurate baud rate generation.  Unfortunately, the
atmel_serial driver looks at the whole BRGR register when trying to detect
the baud rate that the port is currently running at, so setting FP to a
nonzero value breaks the baud rate detection.

I'll sit on the u-boot patch for a while longer, but this is clearly a
bug in the atmel_serial driver which should be fixed.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Acked-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agovt: fix vc_resize locking
Nick Piggin [Fri, 6 Jun 2008 05:46:38 +0000 (22:46 -0700)]
vt: fix vc_resize locking

Lockdep says we can't take tasklist lock or sighand lock inside ctrl_lock.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Acked-by: Alan Cox <alan@redhat.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoipc: only output msgmni value at boot time
Nadia Derbey [Fri, 6 Jun 2008 05:46:38 +0000 (22:46 -0700)]
ipc: only output msgmni value at boot time

When posting:
[PATCH 1/8] Scaling msgmni to the amount of lowmem
(see http://lkml.org/lkml/2008/2/11/171), I have added a KERN_INFO message
that is output each time msgmni is recomputed.

In http://lkml.org/lkml/2008/4/29/575 Tony Luck complained that this
message references an ipc namespace address that is useless.

I first thought of using an audit_log instead of a printk, as suggested by
Serge Hallyn.  But unfortunately, we do not have any other information
than the namespace address to provide here too.  So I chose to move the
message and output it only at boot time, removing the reference to the
namespace.

Signed-off-by: Nadia Derbey <Nadia.Derbey@bull.net>
Cc: Pierre Peiffer <peifferp@gmail.com>
Cc: Manfred Spraul <manfred@colorfullife.com>
Acked-by: Tony Luck <tony.luck@intel.com>
Cc: "Serge E. Hallyn" <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoipc: restore MSGPOOL original value
Nadia Derbey [Fri, 6 Jun 2008 05:46:36 +0000 (22:46 -0700)]
ipc: restore MSGPOOL original value

When posting:

[PATCH 1/8] Scaling msgmni to the amount of lowmem

(see http://article.gmane.org/gmane.linux.kernel/637849/) I changed the
MSGPOOL value to make it fit what is said in the man pages (i.e.  a size
in bytes).

But Michael Kerrisk rightly complained that this change could affect the
ABI.  So I'm posting this patch to make MSGPOOL expressed back in Kbytes.
Michael, on his side, has fixed the man page.

Signed-off-by: Nadia Derbey <Nadia.Derbey@bull.net>
Cc: Pierre Peiffer <peifferp@gmail.com>
Cc: Manfred Spraul <manfred@colorfullife.com>
Acked-by: Michael Kerrisk <mtk.manpages@googlemail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agovt: fix background color on line feed, DEC invert
Jan Engelhardt [Fri, 6 Jun 2008 05:46:34 +0000 (22:46 -0700)]
vt: fix background color on line feed, DEC invert

Original report: """I used to force my console to black-on-white by the
command `setterm -inversescreen on`.  In 2.6.26-rc4, I get lots of black
background characters."""

Another addendum to commit c9e587ab.  This was previously missed out since
I was not aware of what vc_decscnm was for.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Reported-by: <thunder7@xs4all.nl>
Tested-by: <thunder7@xs4all.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agocpufreq: fix null object access on Transmeta CPU
CHIKAMA masaki [Fri, 6 Jun 2008 05:46:33 +0000 (22:46 -0700)]
cpufreq: fix null object access on Transmeta CPU

If cpu specific cpufreq driver(i.e.  longrun) has "setpolicy" function,
governor object isn't set into cpufreq_policy object at "__cpufreq_set_policy"
function in driver/cpufreq/cpufreq.c .

This causes a null object access at "store_scaling_setspeed" and
"show_scaling_setspeed" function in driver/cpufreq/cpufreq.c when reading or
writing through /sys interface (ex.  cat
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed)

Addresses:
http://bugzilla.kernel.org/show_bug.cgi?id=10654
https://bugzilla.redhat.com/show_bug.cgi?id=443354

Signed-off-by: CHIKAMA Masaki <masaki.chikama@gmail.com>
Cc: Dave Jones <davej@codemonkey.org.uk>
Cc: Chuck Ebbert <cebbert@redhat.com>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofbcon: fix wrong vmode bits copied on console switch
Krzysztof Helt [Fri, 6 Jun 2008 05:46:33 +0000 (22:46 -0700)]
fbcon: fix wrong vmode bits copied on console switch

The interlaced and double line mode bits should not be copied to new
console when the console is switched.  Otherwise, the new console may be
set to incorrect refresh rate.

Also, the x and y offsets does not need to be copied.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agokeys: remove unused key_alloc_sem
Daniel Walker [Fri, 6 Jun 2008 05:46:32 +0000 (22:46 -0700)]
keys: remove unused key_alloc_sem

This semaphore doesn't appear to be used, so remove it.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agocpusets: fix bug when adding nonexistent cpu or mem
Lai Jiangshan [Fri, 6 Jun 2008 05:46:32 +0000 (22:46 -0700)]
cpusets: fix bug when adding nonexistent cpu or mem

Adding a nonexistent cpu to a cpuset will be omitted quietly.  It should
return -EINVAL.

Example: (real_nr_cpus <= 4 < NR_CPUS or cpu#4 was just offline)

# cat cpus
0-1
# /bin/echo 4 > cpus
# /bin/echo $?
0
# cat cpus

#

The same occurs when add a nonexistent mem.
This patch will fix this bug.
And when *buf == "", the check is unneeded.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Acked-by: Paul Jackson <pj@sgi.com>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agopagemap: fix bug in add_to_pagemap, require aligned-length reads of /proc/pid/pagemap
Thomas Tuttle [Fri, 6 Jun 2008 05:46:31 +0000 (22:46 -0700)]
pagemap: fix bug in add_to_pagemap, require aligned-length reads of /proc/pid/pagemap

Fix a bug in add_to_pagemap.  Previously, since pm->out was a char *,
put_user was only copying 1 byte of every PFN, resulting in the top 7
bytes of each PFN not being copied.  By requiring that reads be a multiple
of 8 bytes, I can make pm->out and pm->end u64*s instead of char*s, which
makes put_user work properly, and also simplifies the logic in
add_to_pagemap a bit.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Thomas Tuttle <ttuttle@google.com>
Cc: Matt Mackall <mpm@selenic.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agodevscgroup: make white list more compact in some cases
Pavel Emelyanov [Fri, 6 Jun 2008 05:46:28 +0000 (22:46 -0700)]
devscgroup: make white list more compact in some cases

Consider you added a 'c foo:bar r' permission to some cgroup and then (a
bit later) 'c'foo:bar w' for it.  After this you'll see the

c foo:bar r
c foo:bar w

lines in a devices.list file.

Another example - consider you added 10 'c foo:bar r' permissions to some
cgroup (e.g.  by mistake).  After this you'll see 10 c foo:bar r lines in
a list file.

This is weird.  This situation also has one more annoying consequence.
Having many items in a white list makes permissions checking slower, sine
it has to walk a longer list.

The proposal is to merge permissions for items, that correspond to the
same device.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agodevscgroup: check for device permissions at mount time
Pavel Emelyanov [Fri, 6 Jun 2008 05:46:27 +0000 (22:46 -0700)]
devscgroup: check for device permissions at mount time

Currently even if a task sits in an all-denied cgroup it can still mount
any block device in any mode it wants.

Put a proper check in do_open for block device to prevent this.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Tested-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agodevscgroup: relax task to dev_cgroup conversion
Pavel Emelyanov [Fri, 6 Jun 2008 05:46:26 +0000 (22:46 -0700)]
devscgroup: relax task to dev_cgroup conversion

Two functions, that need to get a device_cgroup from a task (they are
devcgroup_inode_permission and devcgroup_inode_mknod) make it in a strange
way:

They get a css_set from task, then a subsys_state from css_set, then a
cgroup from the state and then a subsys_state again from the cgroup.
Besides, the devices_subsys_id is read from memory, whilst there's a
enum-ed constant for it.

Optimize this part a bit:
1. Get the subsys_stats form the task and be done - no 2 extra
   dereferences,
2. Use the device_subsys_id constant, not the value from memory
   (i.e. one less dereference).

Found while preparing 2.6.26 OpenVZ port.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Acked-by: Paul Menage <menage@google.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Cc: James Morris <jmorris@namei.org>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>