]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
11 years agoMerge remote-tracking branch 'staging/staging-next'
Mark Brown [Thu, 17 Oct 2013 23:20:50 +0000 (00:20 +0100)]
Merge remote-tracking branch 'staging/staging-next'

11 years agoMerge remote-tracking branch 'usb-gadget/next'
Mark Brown [Thu, 17 Oct 2013 23:18:35 +0000 (00:18 +0100)]
Merge remote-tracking branch 'usb-gadget/next'

Conflicts:
drivers/usb/musb/davinci.c

11 years agoMerge remote-tracking branch 'usb/usb-next'
Mark Brown [Thu, 17 Oct 2013 23:15:01 +0000 (00:15 +0100)]
Merge remote-tracking branch 'usb/usb-next'

11 years agoMerge remote-tracking branch 'tty/tty-next'
Mark Brown [Thu, 17 Oct 2013 23:12:19 +0000 (00:12 +0100)]
Merge remote-tracking branch 'tty/tty-next'

Conflicts:
drivers/tty/serial/imx.c

11 years agoMerge remote-tracking branch 'driver-core/driver-core-next'
Mark Brown [Thu, 17 Oct 2013 22:55:55 +0000 (23:55 +0100)]
Merge remote-tracking branch 'driver-core/driver-core-next'

Conflicts:
include/linux/netdevice.h

11 years agoMerge remote-tracking branch 'leds/for-next'
Mark Brown [Thu, 17 Oct 2013 22:53:33 +0000 (23:53 +0100)]
Merge remote-tracking branch 'leds/for-next'

11 years agoMerge remote-tracking branch 'regmap/for-next'
Mark Brown [Thu, 17 Oct 2013 22:50:24 +0000 (23:50 +0100)]
Merge remote-tracking branch 'regmap/for-next'

11 years agoMerge remote-tracking branch 'workqueues/for-next'
Mark Brown [Thu, 17 Oct 2013 22:46:48 +0000 (23:46 +0100)]
Merge remote-tracking branch 'workqueues/for-next'

11 years agoMerge remote-tracking branch 'percpu/for-next'
Mark Brown [Thu, 17 Oct 2013 22:44:41 +0000 (23:44 +0100)]
Merge remote-tracking branch 'percpu/for-next'

11 years agoMerge remote-tracking branch 'xen-tip/linux-next'
Mark Brown [Thu, 17 Oct 2013 22:42:32 +0000 (23:42 +0100)]
Merge remote-tracking branch 'xen-tip/linux-next'

11 years agoMerge remote-tracking branch 'kvm/linux-next'
Mark Brown [Thu, 17 Oct 2013 22:23:34 +0000 (23:23 +0100)]
Merge remote-tracking branch 'kvm/linux-next'

Conflicts:
arch/arm/kvm/reset.c

11 years agoMerge remote-tracking branch 'rcu/rcu/next'
Mark Brown [Thu, 17 Oct 2013 21:43:14 +0000 (22:43 +0100)]
Merge remote-tracking branch 'rcu/rcu/next'

11 years agoMerge remote-tracking branch 'edac-amd/for-next'
Mark Brown [Thu, 17 Oct 2013 21:40:15 +0000 (22:40 +0100)]
Merge remote-tracking branch 'edac-amd/for-next'

11 years agoMerge remote-tracking branch 'tip/auto-latest'
Mark Brown [Thu, 17 Oct 2013 21:23:24 +0000 (22:23 +0100)]
Merge remote-tracking branch 'tip/auto-latest'

Conflicts:
arch/h8300/include/asm/Kbuild
include/linux/wait.h
mm/mprotect.c

11 years agoMerge remote-tracking branch 'spi/for-next'
Mark Brown [Thu, 17 Oct 2013 20:47:55 +0000 (21:47 +0100)]
Merge remote-tracking branch 'spi/for-next'

Conflicts:
drivers/spi/spi.c

11 years agoMerge remote-tracking branch 'dt-rh/for-next'
Mark Brown [Thu, 17 Oct 2013 20:43:07 +0000 (21:43 +0100)]
Merge remote-tracking branch 'dt-rh/for-next'

11 years agoMerge remote-tracking branch 'devicetree/devicetree/next'
Mark Brown [Thu, 17 Oct 2013 20:39:29 +0000 (21:39 +0100)]
Merge remote-tracking branch 'devicetree/devicetree/next'

11 years agoMerge remote-tracking branch 'trivial/for-next'
Mark Brown [Thu, 17 Oct 2013 20:22:07 +0000 (21:22 +0100)]
Merge remote-tracking branch 'trivial/for-next'

Conflicts:
net/netfilter/xt_set.c

11 years agoMerge remote-tracking branch 'iommu/next'
Mark Brown [Thu, 17 Oct 2013 19:15:55 +0000 (20:15 +0100)]
Merge remote-tracking branch 'iommu/next'

11 years agoMerge remote-tracking branch 'selinux/master'
Mark Brown [Thu, 17 Oct 2013 19:05:38 +0000 (20:05 +0100)]
Merge remote-tracking branch 'selinux/master'

11 years agoMerge remote-tracking branch 'security/next'
Mark Brown [Thu, 17 Oct 2013 18:51:12 +0000 (19:51 +0100)]
Merge remote-tracking branch 'security/next'

11 years agoMerge remote-tracking branch 'regulator/for-next'
Mark Brown [Thu, 17 Oct 2013 18:49:02 +0000 (19:49 +0100)]
Merge remote-tracking branch 'regulator/for-next'

11 years agoMerge remote-tracking branch 'omap_dss2/for-next'
Mark Brown [Thu, 17 Oct 2013 18:46:54 +0000 (19:46 +0100)]
Merge remote-tracking branch 'omap_dss2/for-next'

Conflicts:
drivers/video/omap2/dss/hdmi4_core.c
drivers/video/omap2/dss/hdmi4_core.h

11 years agoMerge remote-tracking branch 'fbdev/for-next'
Mark Brown [Thu, 17 Oct 2013 18:42:40 +0000 (19:42 +0100)]
Merge remote-tracking branch 'fbdev/for-next'

11 years agoMerge remote-tracking branch 'mfd-lj/for-mfd-next'
Mark Brown [Thu, 17 Oct 2013 18:39:43 +0000 (19:39 +0100)]
Merge remote-tracking branch 'mfd-lj/for-mfd-next'

11 years agoMerge remote-tracking branch 'mfd/master'
Mark Brown [Thu, 17 Oct 2013 18:37:34 +0000 (19:37 +0100)]
Merge remote-tracking branch 'mfd/master'

11 years agoMerge remote-tracking branch 'md/for-next'
Mark Brown [Thu, 17 Oct 2013 18:21:34 +0000 (19:21 +0100)]
Merge remote-tracking branch 'md/for-next'

11 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Mark Brown [Thu, 17 Oct 2013 18:17:56 +0000 (19:17 +0100)]
Merge remote-tracking branch 'kgdb/kgdb-next'

11 years agoMerge remote-tracking branch 'mmc/mmc-next'
Mark Brown [Thu, 17 Oct 2013 18:15:46 +0000 (19:15 +0100)]
Merge remote-tracking branch 'mmc/mmc-next'

11 years agoMerge remote-tracking branch 'block/for-next'
Mark Brown [Thu, 17 Oct 2013 18:07:57 +0000 (19:07 +0100)]
Merge remote-tracking branch 'block/for-next'

11 years agoMerge remote-tracking branch 'cgroup/for-next'
Mark Brown [Thu, 17 Oct 2013 17:59:25 +0000 (18:59 +0100)]
Merge remote-tracking branch 'cgroup/for-next'

Conflicts:
mm/memcontrol.c

11 years agoMerge remote-tracking branch 'input/next'
Mark Brown [Thu, 17 Oct 2013 14:37:01 +0000 (15:37 +0100)]
Merge remote-tracking branch 'input/next'

11 years agoMerge remote-tracking branch 'virtio/virtio-next'
Mark Brown [Thu, 17 Oct 2013 14:34:54 +0000 (15:34 +0100)]
Merge remote-tracking branch 'virtio/virtio-next'

11 years agoMerge remote-tracking branch 'modules/modules-next'
Mark Brown [Thu, 17 Oct 2013 14:23:20 +0000 (15:23 +0100)]
Merge remote-tracking branch 'modules/modules-next'

11 years agoMerge remote-tracking branch 'sound-asoc/for-next'
Mark Brown [Thu, 17 Oct 2013 14:21:01 +0000 (15:21 +0100)]
Merge remote-tracking branch 'sound-asoc/for-next'

11 years agoMerge remote-tracking branch 'sound/for-next'
Mark Brown [Thu, 17 Oct 2013 14:18:52 +0000 (15:18 +0100)]
Merge remote-tracking branch 'sound/for-next'

11 years agoMerge remote-tracking branch 'drm-tegra/drm/for-next'
Mark Brown [Thu, 17 Oct 2013 13:55:09 +0000 (14:55 +0100)]
Merge remote-tracking branch 'drm-tegra/drm/for-next'

Conflicts:
drivers/gpu/drm/tegra/Kconfig
drivers/gpu/drm/tegra/drm.c

11 years agoMerge remote-tracking branch 'drm-intel/for-linux-next'
Mark Brown [Thu, 17 Oct 2013 13:35:30 +0000 (14:35 +0100)]
Merge remote-tracking branch 'drm-intel/for-linux-next'

11 years agodrm/i915: Resolve interaction with drm-fixes tree
Mark Brown [Thu, 3 Oct 2013 17:10:55 +0000 (18:10 +0100)]
drm/i915: Resolve interaction with drm-fixes tree

Signed-off-by: Mark Brown <broonie@linaro.org>
11 years agoMerge remote-tracking branch 'drm/drm-next'
Mark Brown [Thu, 17 Oct 2013 13:31:33 +0000 (14:31 +0100)]
Merge remote-tracking branch 'drm/drm-next'

Conflicts:
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h

11 years agoMerge remote-tracking branch 'crypto/master'
Mark Brown [Thu, 17 Oct 2013 13:29:04 +0000 (14:29 +0100)]
Merge remote-tracking branch 'crypto/master'

11 years agoMerge remote-tracking branch 'l2-mtd/master'
Mark Brown [Thu, 17 Oct 2013 13:26:47 +0000 (14:26 +0100)]
Merge remote-tracking branch 'l2-mtd/master'

11 years agoMerge remote-tracking branch 'bluetooth/master'
Mark Brown [Thu, 17 Oct 2013 13:23:09 +0000 (14:23 +0100)]
Merge remote-tracking branch 'bluetooth/master'

11 years agoMerge remote-tracking branch 'wireless-next/master'
Mark Brown [Thu, 17 Oct 2013 13:19:57 +0000 (14:19 +0100)]
Merge remote-tracking branch 'wireless-next/master'

11 years agoMerge remote-tracking branch 'ipsec-next/master'
Mark Brown [Thu, 17 Oct 2013 13:17:40 +0000 (14:17 +0100)]
Merge remote-tracking branch 'ipsec-next/master'

11 years agoMerge remote-tracking branch 'net-next/master'
Mark Brown [Thu, 17 Oct 2013 13:08:44 +0000 (14:08 +0100)]
Merge remote-tracking branch 'net-next/master'

Conflicts:
arch/h8300/include/uapi/asm/socket.h

11 years agoMerge remote-tracking branch 'slave-dma/next'
Mark Brown [Thu, 17 Oct 2013 11:54:51 +0000 (12:54 +0100)]
Merge remote-tracking branch 'slave-dma/next'

11 years agoMerge remote-tracking branch 'dlm/next'
Mark Brown [Thu, 17 Oct 2013 11:52:02 +0000 (12:52 +0100)]
Merge remote-tracking branch 'dlm/next'

11 years agoMerge remote-tracking branch 'ubi/linux-next'
Mark Brown [Thu, 17 Oct 2013 11:49:57 +0000 (12:49 +0100)]
Merge remote-tracking branch 'ubi/linux-next'

11 years agoMerge remote-tracking branch 'thermal/next'
Mark Brown [Thu, 17 Oct 2013 11:47:06 +0000 (12:47 +0100)]
Merge remote-tracking branch 'thermal/next'

11 years agoMerge remote-tracking branch 'idle/next'
Mark Brown [Thu, 17 Oct 2013 11:29:39 +0000 (12:29 +0100)]
Merge remote-tracking branch 'idle/next'

11 years agoMerge remote-tracking branch 'pm/linux-next'
Mark Brown [Thu, 17 Oct 2013 11:13:58 +0000 (12:13 +0100)]
Merge remote-tracking branch 'pm/linux-next'

Conflicts:
drivers/i2c/i2c-core.c

11 years agoMerge remote-tracking branch 'libata/for-next'
Mark Brown [Thu, 17 Oct 2013 11:10:49 +0000 (12:10 +0100)]
Merge remote-tracking branch 'libata/for-next'

11 years agoMerge remote-tracking branch 'kbuild/for-next'
Mark Brown [Thu, 17 Oct 2013 11:07:55 +0000 (12:07 +0100)]
Merge remote-tracking branch 'kbuild/for-next'

11 years agoMerge remote-tracking branch 'v4l-dvb/master'
Mark Brown [Thu, 17 Oct 2013 11:05:38 +0000 (12:05 +0100)]
Merge remote-tracking branch 'v4l-dvb/master'

11 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Mark Brown [Thu, 17 Oct 2013 11:03:21 +0000 (12:03 +0100)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

11 years agoMerge remote-tracking branch 'i2c/i2c/for-next'
Mark Brown [Thu, 17 Oct 2013 10:58:57 +0000 (11:58 +0100)]
Merge remote-tracking branch 'i2c/i2c/for-next'

11 years agoMerge remote-tracking branch 'hid/for-next'
Mark Brown [Thu, 17 Oct 2013 10:56:45 +0000 (11:56 +0100)]
Merge remote-tracking branch 'hid/for-next'

11 years agoMerge remote-tracking branch 'pci/next'
Mark Brown [Thu, 17 Oct 2013 10:50:18 +0000 (11:50 +0100)]
Merge remote-tracking branch 'pci/next'

11 years agoMerge remote-tracking branch 'vfs/for-next'
Mark Brown [Thu, 17 Oct 2013 10:35:36 +0000 (11:35 +0100)]
Merge remote-tracking branch 'vfs/for-next'

Conflicts:
fs/nfs/direct.c
fs/nfs/file.c

11 years agoMerge remote-tracking branch 'xfs/for-next'
Mark Brown [Thu, 17 Oct 2013 10:28:59 +0000 (11:28 +0100)]
Merge remote-tracking branch 'xfs/for-next'

11 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Mark Brown [Thu, 17 Oct 2013 10:23:47 +0000 (11:23 +0100)]
Merge remote-tracking branch 'nfsd/nfsd-next'

11 years agoMerge remote-tracking branch 'nfs/linux-next'
Mark Brown [Thu, 17 Oct 2013 10:21:26 +0000 (11:21 +0100)]
Merge remote-tracking branch 'nfs/linux-next'

11 years agoMerge remote-tracking branch 'logfs/master'
Mark Brown [Thu, 17 Oct 2013 10:19:18 +0000 (11:19 +0100)]
Merge remote-tracking branch 'logfs/master'

11 years agoMerge remote-tracking branch 'jfs/jfs-next'
Mark Brown [Thu, 17 Oct 2013 10:17:07 +0000 (11:17 +0100)]
Merge remote-tracking branch 'jfs/jfs-next'

11 years agoMerge remote-tracking branch 'gfs2/master'
Mark Brown [Thu, 17 Oct 2013 10:14:56 +0000 (11:14 +0100)]
Merge remote-tracking branch 'gfs2/master'

11 years agoMerge remote-tracking branch 'fuse/for-next'
Mark Brown [Thu, 17 Oct 2013 09:59:14 +0000 (10:59 +0100)]
Merge remote-tracking branch 'fuse/for-next'

11 years agoMerge remote-tracking branch 'fscache/fscache'
Mark Brown [Thu, 17 Oct 2013 09:45:01 +0000 (10:45 +0100)]
Merge remote-tracking branch 'fscache/fscache'

11 years agoMerge remote-tracking branch 'f2fs/dev'
Mark Brown [Thu, 17 Oct 2013 09:42:56 +0000 (10:42 +0100)]
Merge remote-tracking branch 'f2fs/dev'

11 years agoMerge remote-tracking branch 'ecryptfs/next'
Mark Brown [Thu, 17 Oct 2013 09:39:22 +0000 (10:39 +0100)]
Merge remote-tracking branch 'ecryptfs/next'

11 years agoMerge remote-tracking branch 'cifs/for-next'
Mark Brown [Thu, 17 Oct 2013 09:34:52 +0000 (10:34 +0100)]
Merge remote-tracking branch 'cifs/for-next'

11 years agoceph: Fix up for iov_iter changes
Mark Brown [Thu, 3 Oct 2013 12:05:20 +0000 (13:05 +0100)]
ceph: Fix up for iov_iter changes

Extend an earlier fixup by Stephen Rothwell.

Signed-off-by: Mark Brown <broonie@linaro.org>
11 years agoMerge remote-tracking branch 'ceph/master'
Mark Brown [Thu, 17 Oct 2013 09:19:24 +0000 (10:19 +0100)]
Merge remote-tracking branch 'ceph/master'

11 years agoMerge remote-tracking branch 'aio-direct/for-next'
Mark Brown [Thu, 17 Oct 2013 09:04:23 +0000 (10:04 +0100)]
Merge remote-tracking branch 'aio-direct/for-next'

11 years agoMerge remote-tracking branch 'sh/sh-latest'
Mark Brown [Thu, 17 Oct 2013 08:59:20 +0000 (09:59 +0100)]
Merge remote-tracking branch 'sh/sh-latest'

Conflicts:
arch/sh/kernel/cpu/sh2a/Makefile
drivers/tty/serial/sh-sci.c
include/linux/serial_sci.h

11 years agoMerge remote-tracking branch 's390/features'
Mark Brown [Thu, 17 Oct 2013 07:45:28 +0000 (08:45 +0100)]
Merge remote-tracking branch 's390/features'

11 years agoMerge remote-tracking branch 'mpc5xxx/next'
Mark Brown [Thu, 17 Oct 2013 07:42:41 +0000 (08:42 +0100)]
Merge remote-tracking branch 'mpc5xxx/next'

11 years agoMerge remote-tracking branch 'powerpc/next'
Mark Brown [Thu, 17 Oct 2013 07:27:20 +0000 (08:27 +0100)]
Merge remote-tracking branch 'powerpc/next'

11 years agoMerge remote-tracking branch 'parisc-hd/for-next'
Mark Brown [Thu, 17 Oct 2013 07:25:17 +0000 (08:25 +0100)]
Merge remote-tracking branch 'parisc-hd/for-next'

11 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Mark Brown [Thu, 17 Oct 2013 07:21:46 +0000 (08:21 +0100)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

11 years agoMerge remote-tracking branch 'm68k/for-next'
Mark Brown [Thu, 17 Oct 2013 07:17:32 +0000 (08:17 +0100)]
Merge remote-tracking branch 'm68k/for-next'

11 years agoMerge remote-tracking branch 'ia64/next'
Mark Brown [Thu, 17 Oct 2013 07:15:30 +0000 (08:15 +0100)]
Merge remote-tracking branch 'ia64/next'

11 years agoMerge remote-tracking branch 'h8300-remove/h8300-remove'
Mark Brown [Thu, 17 Oct 2013 07:03:03 +0000 (08:03 +0100)]
Merge remote-tracking branch 'h8300-remove/h8300-remove'

11 years agoMerge remote-tracking branch 'c6x/for-linux-next'
Mark Brown [Thu, 17 Oct 2013 07:00:17 +0000 (08:00 +0100)]
Merge remote-tracking branch 'c6x/for-linux-next'

11 years agoMerge remote-tracking branch 'arm-perf/for-next/perf'
Mark Brown [Thu, 17 Oct 2013 06:56:47 +0000 (07:56 +0100)]
Merge remote-tracking branch 'arm-perf/for-next/perf'

11 years agoMerge remote-tracking branch 'arm/for-next'
Mark Brown [Thu, 17 Oct 2013 06:46:00 +0000 (07:46 +0100)]
Merge remote-tracking branch 'arm/for-next'

11 years agoMerge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'
Mark Brown [Thu, 17 Oct 2013 06:42:23 +0000 (07:42 +0100)]
Merge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'

11 years agoMerge remote-tracking branch 'input-current/for-linus'
Mark Brown [Thu, 17 Oct 2013 06:33:03 +0000 (07:33 +0100)]
Merge remote-tracking branch 'input-current/for-linus'

11 years agoMerge remote-tracking branch 'char-misc.current/char-misc-linus'
Mark Brown [Thu, 17 Oct 2013 06:31:00 +0000 (07:31 +0100)]
Merge remote-tracking branch 'char-misc.current/char-misc-linus'

11 years agoMerge remote-tracking branch 'usb.current/usb-linus'
Mark Brown [Thu, 17 Oct 2013 06:27:32 +0000 (07:27 +0100)]
Merge remote-tracking branch 'usb.current/usb-linus'

11 years agoMerge remote-tracking branch 'tty.current/tty-linus'
Mark Brown [Thu, 17 Oct 2013 06:24:47 +0000 (07:24 +0100)]
Merge remote-tracking branch 'tty.current/tty-linus'

11 years agoMerge remote-tracking branch 'driver-core.current/driver-core-linus'
Mark Brown [Thu, 17 Oct 2013 06:22:01 +0000 (07:22 +0100)]
Merge remote-tracking branch 'driver-core.current/driver-core-linus'

11 years agoMerge remote-tracking branch 'wireless/master'
Mark Brown [Thu, 17 Oct 2013 06:19:06 +0000 (07:19 +0100)]
Merge remote-tracking branch 'wireless/master'

11 years agoMerge remote-tracking branch 'sound-current/for-linus'
Mark Brown [Thu, 17 Oct 2013 06:15:16 +0000 (07:15 +0100)]
Merge remote-tracking branch 'sound-current/for-linus'

11 years agoMerge remote-tracking branch 'net/master'
Mark Brown [Thu, 17 Oct 2013 06:04:54 +0000 (07:04 +0100)]
Merge remote-tracking branch 'net/master'

11 years agoMerge branch 'akpm' (fixes from Andrew Morton)
Linus Torvalds [Thu, 17 Oct 2013 04:36:03 +0000 (21:36 -0700)]
Merge branch 'akpm' (fixes from Andrew Morton)

Merge misc fixes from Andrew Morton.

* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (21 commits)
  mm: revert mremap pud_free anti-fix
  mm: fix BUG in __split_huge_page_pmd
  swap: fix set_blocksize race during swapon/swapoff
  procfs: call default get_unmapped_area on MMU-present architectures
  procfs: fix unintended truncation of returned mapped address
  writeback: fix negative bdi max pause
  percpu_refcount: export symbols
  fs: buffer: move allocation failure loop into the allocator
  mm: memcg: handle non-error OOM situations more gracefully
  tools/testing/selftests: fix uninitialized variable
  block/partitions/efi.c: treat size mismatch as a warning, not an error
  mm: hugetlb: initialize PG_reserved for tail pages of gigantic compound pages
  mm/zswap: bugfix: memory leak when re-swapon
  mm: /proc/pid/pagemap: inspect _PAGE_SOFT_DIRTY only on present pages
  mm: migration: do not lose soft dirty bit if page is in migration state
  gcov: MAINTAINERS: Add an entry for gcov
  mm/hugetlb.c: correct missing private flag clearing
  mm/vmscan.c: don't forget to free shrinker->nr_deferred
  ipc/sem.c: synchronize semop and semctl with IPC_RMID
  ipc: update locking scheme comments
  ...

11 years agomm: revert mremap pud_free anti-fix
Hugh Dickins [Wed, 16 Oct 2013 20:47:09 +0000 (13:47 -0700)]
mm: revert mremap pud_free anti-fix

Revert commit 1ecfd533f4c5 ("mm/mremap.c: call pud_free() after fail
calling pmd_alloc()").

The original code was correct: pud_alloc(), pmd_alloc(), pte_alloc_map()
ensure that the pud, pmd, pt is already allocated, and seldom do they
need to allocate; on failure, upper levels are freed if appropriate by
the subsequent do_munmap().  Whereas commit 1ecfd533f4c5 did an
unconditional pud_free() of a most-likely still-in-use pud: saved only
by the near-impossiblity of pmd_alloc() failing.

Signed-off-by: Hugh Dickins <hughd@google.com>
Cc: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
11 years agomm: fix BUG in __split_huge_page_pmd
Hugh Dickins [Wed, 16 Oct 2013 20:47:08 +0000 (13:47 -0700)]
mm: fix BUG in __split_huge_page_pmd

Occasionally we hit the BUG_ON(pmd_trans_huge(*pmd)) at the end of
__split_huge_page_pmd(): seen when doing madvise(,,MADV_DONTNEED).

It's invalid: we don't always have down_write of mmap_sem there: a racing
do_huge_pmd_wp_page() might have copied-on-write to another huge page
before our split_huge_page() got the anon_vma lock.

Forget the BUG_ON, just go back and try again if this happens.

Signed-off-by: Hugh Dickins <hughd@google.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: David Rientjes <rientjes@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
11 years agoswap: fix set_blocksize race during swapon/swapoff
Krzysztof Kozlowski [Wed, 16 Oct 2013 20:47:06 +0000 (13:47 -0700)]
swap: fix set_blocksize race during swapon/swapoff

Fix race between swapoff and swapon.  Swapoff used old_block_size from
swap_info outside of swapon_mutex so it could be overwritten by
concurrent swapon.

The race has visible effect only if more than one swap block device
exists with different block sizes (e.g.  /dev/sda1 with block size 4096
and /dev/sdb1 with 512).  In such case it leads to setting the blocksize
of swapped off device with wrong blocksize.

The bug can be triggered with multiple concurrent swapoff and swapon:
0. Swap for some device is on.
1. swapoff:
First the swapoff is called on this device and "struct swap_info_struct
*p" is assigned. This is done under swap_lock however this lock is
released for the call try_to_unuse().

2. swapon:
After the assignment above (and before acquiring swapon_mutex &
swap_lock by swapoff) the swapon is called on the same device.
The p->old_block_size is assigned to the value of block_size the device.
This block size should be the same as previous but sometimes it is not.
The swapon ends successfully.

3. swapoff:
Swapoff resumes, grabs the locks and mutex and continues to disable this
swap device. Now it sets the block size to value taken from swap_info
which was overwritten by swapon in 2.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reported-by: Weijie Yang <weijie.yang.kh@gmail.com>
Cc: Bob Liu <bob.liu@oracle.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Shaohua Li <shli@fusionio.com>
Cc: Minchan Kim <minchan@kernel.org>
Acked-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
11 years agoprocfs: call default get_unmapped_area on MMU-present architectures
HATAYAMA Daisuke [Wed, 16 Oct 2013 20:47:05 +0000 (13:47 -0700)]
procfs: call default get_unmapped_area on MMU-present architectures

Commit c4fe24485729 ("sparc: fix PCI device proc file mmap(2)") added
proc_reg_get_unmapped_area in proc_reg_file_ops and
proc_reg_file_ops_no_compat, by which now mmap always returns EIO if
get_unmapped_area method is not defined for the target procfs file,
which causes regression of mmap on /proc/vmcore.

To address this issue, like get_unmapped_area(), call default
current->mm->get_unmapped_area on MMU-present architectures if
pde->proc_fops->get_unmapped_area, i.e.  the one in actual file
operation in the procfs file, is not defined.

Reported-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: David S. Miller <davem@davemloft.net>
Tested-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>