]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
12 years agoThis patch makes two changes:
Will Drewry [Wed, 3 Aug 2011 00:52:30 +0000 (10:52 +1000)]
This patch makes two changes:
- check for trailing characters after parsing PARTNROFF=%d
- disable root_wait if a syntax error is seen

The former assures that bad input like
  root=PARTUUID=<validuuid>/PARTNROFF=5abc
properly fails by attempting to parse an extra character after the
integer.  If the integer is missing, sscanf will fail, but if it is
present, and there is a trailing non-nul character, then the extra
field will be parsed and the error case will be hit.

The latter assures that if rootwait has been specified, the error
message isn't flooded to the screen during rootwait's loop.  Instead of
adding printk ratelimiting, root_wait was disabled.  This stays true to
the rootwait goal of support asynchronous device arrival while still
providing users with helpful messages.  With ratelimiting or disabling
logging on rootwait, a range of edge cases turn up where the user would
not be informed of an error properly.

Signed-off-by: Will Drewry <wad@chromium.org>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoExpand root=PARTUUID=UUID syntax to support selecting a root partition by
Will Drewry [Wed, 3 Aug 2011 00:52:30 +0000 (10:52 +1000)]
Expand root=PARTUUID=UUID syntax to support selecting a root partition by
integer offset from a known, unique partition.  This approach provides
similar properties to specifying a device and partition number, but using
the UUID as the unique path prior to evaluating the offset.

For example,
  root=PARTUUID=99DE9194-FC15-4223-9192-FC243948F88B/PARTNROFF=1
selects the partition with UUID 99DE.. then select the next
partition.

This change is motivated by a particular usecase in Chromium OS where the
bootloader can easily determine what partition it is on (by UUID) but
doesn't perform general partition table walking.

That said, support for this model provides a direct mechanism for the user
to modify the root partition to boot without specifically needing to
extract each UUID or update the bootloader explicitly when the root
partition UUID is changed (if it is recreated to be larger, for instance).
 Pinning to a /boot-style partition UUID allows the arbitrary root
partition reconfiguration/modifications with slightly less ambiguity than
just [dev][partition] and less stringency than the specific root partition
UUID.

Signed-off-by: Will Drewry <wad@chromium.org>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
12 years agoMerge remote-tracking branch 'moduleh/module.h-split'
Stephen Rothwell [Mon, 8 Aug 2011 03:54:48 +0000 (13:54 +1000)]
Merge remote-tracking branch 'moduleh/module.h-split'

Conflicts:
drivers/dma/ste_dma40.c
drivers/staging/dt3155v4l/dt3155v4l.c

12 years agoMerge remote-tracking branch 'tmem/linux-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:49:40 +0000 (13:49 +1000)]
Merge remote-tracking branch 'tmem/linux-next'

12 years agoMerge remote-tracking branch 'regmap/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:48:08 +0000 (13:48 +1000)]
Merge remote-tracking branch 'regmap/for-next'

12 years agoMerge remote-tracking branch 'namespace/master'
Stephen Rothwell [Mon, 8 Aug 2011 03:46:49 +0000 (13:46 +1000)]
Merge remote-tracking branch 'namespace/master'

12 years agoMerge remote-tracking branch 'sysctl/master'
Stephen Rothwell [Mon, 8 Aug 2011 03:45:32 +0000 (13:45 +1000)]
Merge remote-tracking branch 'sysctl/master'

12 years agoMerge remote-tracking branch 'percpu/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:44:01 +0000 (13:44 +1000)]
Merge remote-tracking branch 'percpu/for-next'

12 years agoMerge remote-tracking branch 'xen-two/linux-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:43:53 +0000 (13:43 +1000)]
Merge remote-tracking branch 'xen-two/linux-next'

12 years agoMerge remote-tracking branch 'kvm/linux-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:42:31 +0000 (13:42 +1000)]
Merge remote-tracking branch 'kvm/linux-next'

12 years agoMerge remote-tracking branch 'devicetree/devicetree/next'
Stephen Rothwell [Mon, 8 Aug 2011 03:42:19 +0000 (13:42 +1000)]
Merge remote-tracking branch 'devicetree/devicetree/next'

Conflicts:
drivers/of/base.c

12 years agoMerge remote-tracking branch 'i7300_edac/linux_next'
Stephen Rothwell [Mon, 8 Aug 2011 03:40:59 +0000 (13:40 +1000)]
Merge remote-tracking branch 'i7300_edac/linux_next'

Conflicts:
arch/x86/kernel/cpu/mcheck/mce.c

12 years agoMerge remote-tracking branch 'i7core_edac/linux_next'
Stephen Rothwell [Mon, 8 Aug 2011 03:17:11 +0000 (13:17 +1000)]
Merge remote-tracking branch 'i7core_edac/linux_next'

12 years agoMerge remote-tracking branch 'fsnotify/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:14:28 +0000 (13:14 +1000)]
Merge remote-tracking branch 'fsnotify/for-next'

12 years agoMerge remote-tracking branch 'trivial/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:13:00 +0000 (13:13 +1000)]
Merge remote-tracking branch 'trivial/for-next'

12 years agoMerge remote-tracking branch 'agp/agp-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:12:16 +0000 (13:12 +1000)]
Merge remote-tracking branch 'agp/agp-next'

12 years agoMerge remote-tracking branch 'fbdev/master'
Stephen Rothwell [Mon, 8 Aug 2011 03:10:40 +0000 (13:10 +1000)]
Merge remote-tracking branch 'fbdev/master'

12 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:09:12 +0000 (13:09 +1000)]
Merge remote-tracking branch 'md/for-next'

12 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:09:05 +0000 (13:09 +1000)]
Merge remote-tracking branch 'slab/for-next'

12 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:09:01 +0000 (13:09 +1000)]
Merge remote-tracking branch 'kgdb/kgdb-next'

12 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:07:41 +0000 (13:07 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'

Conflicts:
drivers/mmc/host/sdhci-esdhc-imx.c

12 years agoMerge remote-tracking branch 'leds/for-mm'
Stephen Rothwell [Mon, 8 Aug 2011 03:07:32 +0000 (13:07 +1000)]
Merge remote-tracking branch 'leds/for-mm'

Conflicts:
drivers/leds/Kconfig

12 years agoMerge branch 'quilt/device-mapper'
Stephen Rothwell [Mon, 8 Aug 2011 03:05:44 +0000 (13:05 +1000)]
Merge branch 'quilt/device-mapper'

12 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 03:01:32 +0000 (13:01 +1000)]
Merge remote-tracking branch 'block/for-next'

12 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Mon, 8 Aug 2011 03:00:06 +0000 (13:00 +1000)]
Merge remote-tracking branch 'input/next'

12 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Mon, 8 Aug 2011 02:58:50 +0000 (12:58 +1000)]
Merge branch 'quilt/rr'

12 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:57:20 +0000 (12:57 +1000)]
Merge remote-tracking branch 'sound/for-next'

12 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Mon, 8 Aug 2011 02:55:50 +0000 (12:55 +1000)]
Merge remote-tracking branch 'l2-mtd/master'

Conflicts:
drivers/mtd/maps/lantiq-flash.c
drivers/mtd/maps/pxa2xx-flash.c

12 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Mon, 8 Aug 2011 02:54:26 +0000 (12:54 +1000)]
Merge remote-tracking branch 'bluetooth/master'

12 years agoMerge remote-tracking branch 'ibft/master'
Stephen Rothwell [Mon, 8 Aug 2011 02:54:12 +0000 (12:54 +1000)]
Merge remote-tracking branch 'ibft/master'

12 years agoMerge remote-tracking branch 'swiotlb/master'
Stephen Rothwell [Mon, 8 Aug 2011 02:54:07 +0000 (12:54 +1000)]
Merge remote-tracking branch 'swiotlb/master'

12 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:53:47 +0000 (12:53 +1000)]
Merge remote-tracking branch 'kconfig/for-next'

12 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:53:37 +0000 (12:53 +1000)]
Merge remote-tracking branch 'kbuild/for-next'

12 years agoMerge remote-tracking branch 'docs/docs-move'
Stephen Rothwell [Mon, 8 Aug 2011 02:52:19 +0000 (12:52 +1000)]
Merge remote-tracking branch 'docs/docs-move'

12 years agoMerge branch 'quilt/kernel-doc'
Stephen Rothwell [Mon, 8 Aug 2011 02:50:59 +0000 (12:50 +1000)]
Merge branch 'quilt/kernel-doc'

12 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:49:46 +0000 (12:49 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

12 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:48:20 +0000 (12:48 +1000)]
Merge remote-tracking branch 'hid/for-next'

12 years agoMerge remote-tracking branch 'xfs/master'
Stephen Rothwell [Mon, 8 Aug 2011 02:46:48 +0000 (12:46 +1000)]
Merge remote-tracking branch 'xfs/master'

12 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:45:25 +0000 (12:45 +1000)]
Merge remote-tracking branch 'ocfs2/linux-next'

12 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:44:06 +0000 (12:44 +1000)]
Merge remote-tracking branch 'nfs/linux-next'

12 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Mon, 8 Aug 2011 02:42:48 +0000 (12:42 +1000)]
Merge remote-tracking branch 'logfs/master'

12 years agoMerge remote-tracking branch 'jfs/next'
Stephen Rothwell [Mon, 8 Aug 2011 02:41:33 +0000 (12:41 +1000)]
Merge remote-tracking branch 'jfs/next'

12 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Mon, 8 Aug 2011 02:40:19 +0000 (12:40 +1000)]
Merge remote-tracking branch 'gfs2/master'

12 years agoMerge remote-tracking branch 'cifs/master'
Stephen Rothwell [Mon, 8 Aug 2011 02:40:11 +0000 (12:40 +1000)]
Merge remote-tracking branch 'cifs/master'

12 years agoMerge remote-tracking branch 'ceph/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:40:09 +0000 (12:40 +1000)]
Merge remote-tracking branch 'ceph/for-next'

Conflicts:
fs/ceph/export.c

12 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Mon, 8 Aug 2011 02:38:50 +0000 (12:38 +1000)]
Merge remote-tracking branch 'unicore32/unicore32'

12 years agoMerge remote-tracking branch 'rmobile/rmobile-latest'
Stephen Rothwell [Mon, 8 Aug 2011 02:37:33 +0000 (12:37 +1000)]
Merge remote-tracking branch 'rmobile/rmobile-latest'

12 years agoMerge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Mon, 8 Aug 2011 02:36:21 +0000 (12:36 +1000)]
Merge remote-tracking branch 'sh/sh-latest'

Conflicts:
drivers/tty/serial/sh-sci.c

12 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Mon, 8 Aug 2011 02:27:15 +0000 (12:27 +1000)]
Merge remote-tracking branch 's390/features'

12 years agoMerge remote-tracking branch '52xx-and-virtex/powerpc/next'
Stephen Rothwell [Mon, 8 Aug 2011 02:25:58 +0000 (12:25 +1000)]
Merge remote-tracking branch '52xx-and-virtex/powerpc/next'

12 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:24:34 +0000 (12:24 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

12 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:24:32 +0000 (12:24 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'

12 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:23:11 +0000 (12:23 +1000)]
Merge remote-tracking branch 'cris/for-next'

12 years agoMerge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Mon, 8 Aug 2011 02:21:57 +0000 (12:21 +1000)]
Merge remote-tracking branch 'blackfin/for-linus'

12 years agoMerge remote-tracking branch 'ux500-core/ux500-core'
Stephen Rothwell [Mon, 8 Aug 2011 02:21:53 +0000 (12:21 +1000)]
Merge remote-tracking branch 'ux500-core/ux500-core'

12 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:20:40 +0000 (12:20 +1000)]
Merge remote-tracking branch 's5p/for-next'

Conflicts:
arch/arm/mach-exynos4/Kconfig
arch/arm/mach-exynos4/mach-smdkc210.c

12 years agoMerge remote-tracking branch 'msm/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:19:12 +0000 (12:19 +1000)]
Merge remote-tracking branch 'msm/for-next'

Conflicts:
arch/arm/mach-msm/io.c

12 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:19:01 +0000 (12:19 +1000)]
Merge remote-tracking branch 'arm-soc/for-next'

Conflicts:
arch/arm/mach-exynos4/pm.c
arch/arm/mach-imx/mm-imx25.c
arch/arm/mach-imx/mm-imx31.c
arch/arm/mach-imx/mm-imx35.c
arch/arm/mach-mx5/mm.c
arch/arm/mach-omap2/cm-regbits-44xx.h

12 years agoMerge remote-tracking branch 'arm-lpae/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:17:27 +0000 (12:17 +1000)]
Merge remote-tracking branch 'arm-lpae/for-next'

Conflicts:
arch/arm/include/asm/pgalloc.h
arch/arm/include/asm/pgtable.h
arch/arm/include/asm/proc-fns.h
arch/arm/include/asm/tlb.h
arch/arm/mm/context.c
arch/arm/mm/proc-v7.S

12 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Mon, 8 Aug 2011 02:16:11 +0000 (12:16 +1000)]
Merge remote-tracking branch 'arm/for-next'

12 years agoMerge remote-tracking branch 'fbdev-current/fbdev-fixes-for-linus'
Stephen Rothwell [Mon, 8 Aug 2011 02:12:34 +0000 (12:12 +1000)]
Merge remote-tracking branch 'fbdev-current/fbdev-fixes-for-linus'

12 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Mon, 8 Aug 2011 02:12:21 +0000 (12:12 +1000)]
Merge remote-tracking branch 'input-current/for-linus'

12 years agoMerge remote-tracking branch 'staging.current/staging-linus'
Stephen Rothwell [Mon, 8 Aug 2011 02:12:19 +0000 (12:12 +1000)]
Merge remote-tracking branch 'staging.current/staging-linus'

12 years agoMerge remote-tracking branch 'usb.current/usb-linus'
Stephen Rothwell [Mon, 8 Aug 2011 02:12:18 +0000 (12:12 +1000)]
Merge remote-tracking branch 'usb.current/usb-linus'

12 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Mon, 8 Aug 2011 02:12:16 +0000 (12:12 +1000)]
Merge remote-tracking branch 'pci-current/for-linus'

12 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Mon, 8 Aug 2011 02:12:13 +0000 (12:12 +1000)]
Merge remote-tracking branch 'sound-current/for-linus'

12 years agoMerge remote-tracking branch 'powerpc-merge/merge'
Stephen Rothwell [Mon, 8 Aug 2011 02:12:10 +0000 (12:12 +1000)]
Merge remote-tracking branch 'powerpc-merge/merge'

12 years agoBlackfin: fix sparse warnings in copy_to/from_user
Mikhail Gruzdev [Sat, 6 Aug 2011 06:44:51 +0000 (10:44 +0400)]
Blackfin: fix sparse warnings in copy_to/from_user

 Fix argument types for copy_to_user.
 Fix following sparse warnings:
 arch/blackfin/include/asm/uaccess.h:198:14: warning: incorrect type
in argument 2 (different address spaces)
 arch/blackfin/include/asm/uaccess.h:198:14:    expected void const *s
 arch/blackfin/include/asm/uaccess.h:198:14:    got void const
[noderef] <asn:1>*from
 arch/blackfin/include/asm/uaccess.h:208:14: warning: incorrect type
in argument 2 (different address spaces)
 arch/blackfin/include/asm/uaccess.h:208:14:    expected void const *s
 arch/blackfin/include/asm/uaccess.h:208:14:    got void const
[noderef] <asn:1>*from

Signed-off-by: Mikhail Gruzdev <michail.gruzdev@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoInitial EXPERIMENTAL implementation of device-mapper thin provisioning
Joe Thornber [Mon, 8 Aug 2011 01:44:23 +0000 (11:44 +1000)]
Initial EXPERIMENTAL implementation of device-mapper thin provisioning
with snapshot support.  The 'thin' target is used to create instances of
the virtual devices that are hosted in the 'thin-pool' target.  The
thin-pool target provides data sharing among devices.  This sharing is
made possible using the persistent-data library in the previous patch.

The main highlight of this implementation, compared to the previous
implementation of snapshots, is that it allows many virtual devices to
be stored on the same data volume, simplifying administration and
allowing sharing of data between volumes (thus reducing disk usage).

Another big feature is support for arbitrary depth of recursive
snapshots (snapshots of snapshots of snapshots ...).  The previous
implementation of snapshots did this by chaining together lookup tables,
and so performance was O(depth).  This new implementation uses a single
data structure so we don't get this degradation with depth.

For further information and examples of how to use this, please read
Documentation/device-mapper/thin-provisioning.txt

Signed-off-by: Joe Thornber <thornber@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
12 years agoBlackfin: fixup bogus ioresource init
Thomas Gleixner [Sat, 23 Jul 2011 15:51:38 +0000 (15:51 +0000)]
Blackfin: fixup bogus ioresource init

IRQF_SHARED is not part of the IORESOURCE_IRQ bits. It's expressed by
IORESOURCE_IRQ_SHAREABLE.

IORESOURCE_IRQ_HIGHEDGE and IRQF_TRIGGER_HIGH are contradicting
values, an interrupt can hardly be configured for both level and edge
at the same time. This was introduced in commit 45138439(Blackfin
arch: flash memory map and dm9000 resources updating) of course
without any hint in the changelog what the heck this is supposed to
do.

Acked-by: Javier Herrero <jherrero@hvsistemas.es>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
12 years agoAdd better Thunderbird information.
Paul Mcquade [Mon, 8 Aug 2011 01:44:14 +0000 (11:44 +1000)]
Add better Thunderbird information.
Add Thunderbird Registry instructions to:
Enable UTF8 & Preformat mode
Disable HTML mode

Signed-off-by: Paul McQuade <paulmcquad@gmail.com>
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
12 years agoLinux 3.1-rc1 v3.1-rc1
Linus Torvalds [Mon, 8 Aug 2011 01:23:30 +0000 (18:23 -0700)]
Linux 3.1-rc1

12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Linus Torvalds [Sun, 7 Aug 2011 22:52:19 +0000 (15:52 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
  sparc: Fix build with DEBUG_PAGEALLOC enabled.

12 years agosh: Fix boot crash related to SCI
Rafael J. Wysocki [Sun, 7 Aug 2011 22:26:50 +0000 (00:26 +0200)]
sh: Fix boot crash related to SCI

Commit d006199e72a9 ("serial: sh-sci: Regtype probing doesn't need to be
fatal.") made sci_init_single() return when sci_probe_regmap() succeeds,
although it should return when sci_probe_regmap() fails.  This causes
systems using the serial sh-sci driver to crash during boot.

Fix the problem by using the right return condition.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoarm: remove stale export of 'sha_transform'
Linus Torvalds [Sun, 7 Aug 2011 22:49:11 +0000 (15:49 -0700)]
arm: remove stale export of 'sha_transform'

The generic library code already exports the generic function, this was
left-over from the ARM-specific version that just got removed.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoarm: remove "optimized" SHA1 routines
Linus Torvalds [Sun, 7 Aug 2011 21:07:03 +0000 (14:07 -0700)]
arm: remove "optimized" SHA1 routines

Since commit 1eb19a12bd22 ("lib/sha1: use the git implementation of
SHA-1"), the ARM SHA1 routines no longer work.  The reason? They
depended on the larger 320-byte workspace, and now the sha1 workspace is
just 16 words (64 bytes).  So the assembly version would overwrite the
stack randomly.

The optimized asm version is also probably slower than the new improved
C version, so there's no reason to keep it around.  At least that was
the case in git, where what appears to be the same assembly language
version was removed two years ago because the optimized C BLK_SHA1 code
was faster.

Reported-and-tested-by: Joachim Eastwood <manabian@gmail.com>
Cc: Andreas Schwab <schwab@linux-m68k.org>
Cc: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agofix rcu annotations noise in cred.h
Al Viro [Sun, 7 Aug 2011 17:55:11 +0000 (18:55 +0100)]
fix rcu annotations noise in cred.h

task->cred is declared as __rcu, and access to other tasks' ->cred is,
indeed, protected.  Access to current->cred does not need rcu_dereference()
at all, since only the task itself can change its ->cred.  sparse, of
course, has no way of knowing that...

Add force-cast in current_cred(), make current_fsuid() et.al. use it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agovfs: rename 'do_follow_link' to 'should_follow_link'
Linus Torvalds [Sun, 7 Aug 2011 16:53:20 +0000 (09:53 -0700)]
vfs: rename 'do_follow_link' to 'should_follow_link'

Al points out that the do_follow_link() helper function really is
misnamed - it's about whether we should try to follow a symlink or not,
not about actually doing the following.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoMerge branch 'fix/kconfig' into for-next
Takashi Iwai [Sun, 7 Aug 2011 15:56:05 +0000 (17:56 +0200)]
Merge branch 'fix/kconfig' into for-next

12 years agoMerge branch 'fix/misc' into for-next
Takashi Iwai [Sun, 7 Aug 2011 15:56:00 +0000 (17:56 +0200)]
Merge branch 'fix/misc' into for-next

12 years agoALSA: Fix dependency of CONFIG_SND_TEA575X
Takashi Iwai [Sun, 7 Aug 2011 15:34:07 +0000 (17:34 +0200)]
ALSA: Fix dependency of CONFIG_SND_TEA575X

CONFIG_SND_TEA575X is enabled by RADIO_SF16FMR2, but the latter one is
no PCI device.  Since tea575x-tuner itself is independent from the board
bus type, the config should be moved out of SND_PCI dependency.

Reported-by: Randy Dunlap <rdunlap@xenotime.net>
Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: asihpi - use kzalloc()
Thomas Meyer [Sat, 6 Aug 2011 11:26:20 +0000 (13:26 +0200)]
ALSA: asihpi - use kzalloc()

 Use kzalloc rather than kmalloc followed by memset with 0

 This considers some simple cases that are common and easy to validate
 Note in particular that there are no ...s in the rule, so all of the
 matched code has to be contiguous

 The semantic patch that makes this output is available
 in scripts/coccinelle/api/alloc/kzalloc-simple.cocci.

 More information about semantic patching is available at
 http://coccinelle.lip6.fr/

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoFix POSIX ACL permission check
Ari Savolainen [Sat, 6 Aug 2011 16:43:07 +0000 (19:43 +0300)]
Fix POSIX ACL permission check

After commit 3567866bf261: "RCUify freeing acls, let check_acl() go ahead in
RCU mode if acl is cached" posix_acl_permission is being called with an
unsupported flag and the permission check fails. This patch fixes the issue.

Signed-off-by: Ari Savolainen <ari.m.savolainen@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
12 years agoMerge branch 'for-linus' of git://git.open-osd.org/linux-open-osd
Linus Torvalds [Sun, 7 Aug 2011 05:56:03 +0000 (22:56 -0700)]
Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd

* 'for-linus' of git://git.open-osd.org/linux-open-osd:
  ore: Make ore its own module
  exofs: Rename raid engine from exofs/ios.c => ore
  exofs: ios: Move to a per inode components & device-table
  exofs: Move exofs specific osd operations out of ios.c
  exofs: Add offset/length to exofs_get_io_state
  exofs: Fix truncate for the raid-groups case
  exofs: Small cleanup of exofs_fill_super
  exofs: BUG: Avoid sbi realloc
  exofs: Remove pnfs-osd private definitions
  nfs_xdr: Move nfs4_string definition out of #ifdef CONFIG_NFS_V4

12 years agovfs: optimize inode cache access patterns
Linus Torvalds [Sun, 7 Aug 2011 05:45:50 +0000 (22:45 -0700)]
vfs: optimize inode cache access patterns

The inode structure layout is largely random, and some of the vfs paths
really do care.  The path lookup in particular is already quite D$
intensive, and profiles show that accessing the 'inode->i_op->xyz'
fields is quite costly.

We already optimized the dcache to not unnecessarily load the d_op
structure for members that are often NULL using the DCACHE_OP_xyz bits
in dentry->d_flags, and this does something very similar for the inode
ops that are used during pathname lookup.

It also re-orders the fields so that the fields accessed by 'stat' are
together at the beginning of the inode structure, and roughly in the
order accessed.

The effect of this seems to be in the 1-2% range for an empty kernel
"make -j" run (which is fairly kernel-intensive, mostly in filename
lookup), so it's visible.  The numbers are fairly noisy, though, and
likely depend a lot on exact microarchitecture.  So there's more tuning
to be done.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agovfs: renumber DCACHE_xyz flags, remove some stale ones
Linus Torvalds [Sun, 7 Aug 2011 05:41:50 +0000 (22:41 -0700)]
vfs: renumber DCACHE_xyz flags, remove some stale ones

Gcc tends to generate better code with small integers, including the
DCACHE_xyz flag tests - so move the common ones to be first in the list.
Also just remove the unused DCACHE_INOTIFY_PARENT_WATCHED and
DCACHE_AUTOFS_PENDING values, their users no longer exists in the source
tree.

And add a "unlikely()" to the DCACHE_OP_COMPARE test, since we want the
common case to be a nice straight-line fall-through.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Linus Torvalds [Sun, 7 Aug 2011 05:12:37 +0000 (22:12 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
  net: Compute protocol sequence numbers and fragment IDs using MD5.
  crypto: Move md5_transform to lib/md5.c

12 years agoMerge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Steve French [Sun, 7 Aug 2011 04:24:12 +0000 (04:24 +0000)]
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6

12 years agoore: Make ore its own module
Boaz Harrosh [Sun, 7 Aug 2011 02:22:06 +0000 (19:22 -0700)]
ore: Make ore its own module

Export everything from ore need exporting. Change Kbuild and Kconfig
to build ore.ko as an independent module. Import ore from exofs

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
12 years agoexofs: Rename raid engine from exofs/ios.c => ore
Boaz Harrosh [Sun, 7 Aug 2011 02:26:31 +0000 (19:26 -0700)]
exofs: Rename raid engine from exofs/ios.c => ore

ORE stands for "Objects Raid Engine"

This patch is a mechanical rename of everything that was in ios.c
and its API declaration to an ore.c and an osd_ore.h header. The ore
engine will later be used by the pnfs objects layout driver.

* File ios.c => ore.c

* Declaration of types and API are moved from exofs.h to a new
  osd_ore.h

* All used types are prefixed by ore_ from their exofs_ name.

* Shift includes from exofs.h to osd_ore.h so osd_ore.h is
  independent, include it from exofs.h.

Other than a pure rename there are no other changes. Next patch
will move the ore into it's own module and will export the API
to be used by exofs and later the layout driver

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
12 years agoexofs: ios: Move to a per inode components & device-table
Boaz Harrosh [Fri, 5 Aug 2011 22:06:04 +0000 (15:06 -0700)]
exofs: ios: Move to a per inode components & device-table

Exofs raid engine was saving on memory space by having a single layout-info,
single pid, and a single device-table, global to the filesystem. Then passing
a credential and object_id info at the io_state level, private for each
inode. It would also devise this contraption of rotating the device table
view for each inode->ino to spread out the device usage.

This is not compatible with the pnfs-objects standard, demanding that
each inode can have it's own layout-info, device-table, and each object
component it's own pid, oid and creds.

So: Bring exofs raid engine to be usable for generic pnfs-objects use by:

* Define an exofs_comp structure that holds obj_id and credential info.

* Break up exofs_layout struct to an exofs_components structure that holds a
  possible array of exofs_comp and the array of devices + the size of the
  arrays.

* Add a "comps" parameter to get_io_state() that specifies the ids creds
  and device array to use for each IO.

  This enables to keep the layout global, but the device-table view, creds
  and IDs at the inode level. It only adds two 64bit to each inode, since
  some of these members already existed in another form.

* ios raid engine now access layout-info and comps-info through the passed
  pointers. Everything is pre-prepared by caller for generic access of
  these structures and arrays.

At the exofs Level:

* Super block holds an exofs_components struct that holds the device
  array, previously in layout. The devices there are in device-table
  order. The device-array is twice bigger and repeats the device-table
  twice so now each inode's device array can point to a random device
  and have a round-robin view of the table, making it compatible to
  previous exofs versions.

* Each inode has an exofs_components struct that is initialized at
  load time, with it's own view of the device table IDs and creds.
  When doing IO this gets passed to the io_state together with the
  layout.

While preforming this change. Bugs where found where credentials with the
wrong IDs where used to access the different SB objects (super.c). As well
as some dead code. It was never noticed because the target we use does not
check the credentials.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
12 years agoexofs: Move exofs specific osd operations out of ios.c
Boaz Harrosh [Mon, 16 May 2011 12:26:47 +0000 (15:26 +0300)]
exofs: Move exofs specific osd operations out of ios.c

ios.c will be moving to an external library, for use by the
objects-layout-driver. Remove from it some exofs specific functions.

Also g_attr_logical_length is used both by inode.c and ios.c
move definition to the later, to keep it independent

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
12 years agoexofs: Add offset/length to exofs_get_io_state
Boaz Harrosh [Tue, 16 Nov 2010 18:09:58 +0000 (20:09 +0200)]
exofs: Add offset/length to exofs_get_io_state

In future raid code we will need to know the IO offset/length
and if it's a read or write to determine some of the array
sizes we'll need.

So add a new exofs_get_rw_state() API for use when
writeing/reading. All other simple cases are left using the
old way.

The major change to this is that now we need to call
exofs_get_io_state later at inode.c::read_exec and
inode.c::write_exec when we actually know these things. So this
patch is kept separate so I can test things apart from other
changes.

Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
12 years agonet: Compute protocol sequence numbers and fragment IDs using MD5.
David S. Miller [Thu, 4 Aug 2011 03:50:44 +0000 (20:50 -0700)]
net: Compute protocol sequence numbers and fragment IDs using MD5.

Computers have become a lot faster since we compromised on the
partial MD4 hash which we use currently for performance reasons.

MD5 is a much safer choice, and is inline with both RFC1948 and
other ISS generators (OpenBSD, Solaris, etc.)

Furthermore, only having 24-bits of the sequence number be truly
unpredictable is a very serious limitation.  So the periodic
regeneration and 8-bit counter have been removed.  We compute and
use a full 32-bit sequence number.

For ipv6, DCCP was found to use a 32-bit truncated initial sequence
number (it needs 43-bits) and that is fixed here as well.

Reported-by: Dan Kaminsky <dan@doxpara.com>
Tested-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agocrypto: Move md5_transform to lib/md5.c
David S. Miller [Thu, 4 Aug 2011 02:45:10 +0000 (19:45 -0700)]
crypto: Move md5_transform to lib/md5.c

We are going to use this for TCP/IP sequence number and fragment ID
generation.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Sat, 6 Aug 2011 20:54:36 +0000 (13:54 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  cifs: cope with negative dentries in cifs_get_root
  cifs: convert prefixpath delimiters in cifs_build_path_to_root
  CIFS: Fix missing a decrement of inFlight value
  cifs: demote DFS referral lookup errors to cFYI
  Revert "cifs: advertise the right receive buffer size to the server"

12 years agoMerge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspe...
Linus Torvalds [Sat, 6 Aug 2011 20:26:37 +0000 (13:26 -0700)]
Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6

* 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
  PM / Runtime: Allow _put_sync() from interrupts-disabled context
  PM / Domains: Fix pm_genpd_poweron()

12 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platf...
Linus Torvalds [Sat, 6 Aug 2011 20:26:15 +0000 (13:26 -0700)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (38 commits)
  acer-wmi: support Lenovo ideapad S205 wifi switch
  acerhdf.c: spaces in aliased changed to *
  platform-drivers-x86: ideapad-laptop: add missing ideapad_input_exit in ideapad_acpi_add error path
  x86 driver: fix typo in TDP override enabling
  Platform: fix samsung-laptop DMI identification for N150/N210/220/N230
  dell-wmi: Add keys for Dell XPS L502X
  platform-drivers-x86: samsung-q10: make dmi_check_callback return 1
  Platform: Samsung Q10 backlight driver
  platform-drivers-x86: intel_scu_ipc: convert to DEFINE_PCI_DEVICE_TABLE
  platform-drivers-x86: intel_rar_register: convert to DEFINE_PCI_DEVICE_TABLE
  platform-drivers-x86: intel_menlow: add missing return AE_OK for intel_menlow_register_sensor()
  platform-drivers-x86: intel_mid_thermal: fix memory leak
  platform-drivers-x86: msi-wmi: add missing sparse_keymap_free in msi_wmi_init error path
  Samsung Laptop platform driver: support N510
  asus-wmi: add uwb rfkill support
  asus-wmi: add gps rfkill support
  asus-wmi: add CWAP support and clarify the meaning of WAPF bits
  asus-wmi: return proper value in store_cpufv()
  asus-wmi: check for temp1 presence
  asus-wmi: add thermal sensor
  ...

12 years agoMerge branch 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sat, 6 Aug 2011 19:22:30 +0000 (12:22 -0700)]
Merge branch 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen

* 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  xen/trace: Fix compile error when CONFIG_XEN_PRIVILEGED_GUEST is not set
  xen: Fix misleading WARN message at xen_release_chunk
  xen: Fix printk() format in xen/setup.c
  xen/tracing: it looks like we wanted CONFIG_FTRACE
  xen/self-balloon: Add dependency on tmem.
  xen/balloon: Fix compile errors - missing header files.
  xen/grant: Fix compile warning.
  xen/pciback: remove duplicated #include

12 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
Linus Torvalds [Sat, 6 Aug 2011 19:21:19 +0000 (12:21 -0700)]
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
  Battery: sysfs_remove_battery(): possible circular locking