]>
git.karo-electronics.de Git - karo-tx-linux.git/log
Konstantin Khlebnikov [Wed, 25 Apr 2012 01:03:05 +0000 (11:03 +1000)]
mm: set task exit code before complete_vfork_done()
kthread_stop() uses task->vfork_done for synchronization. The exiting
kthread shouldn't do complete_vfork_done() until it sets ->exit_code.
fix for mm-correctly-synchronize-rss-counters-at-exit-exec.patch
Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Andrew Morton [Wed, 25 Apr 2012 01:03:05 +0000 (11:03 +1000)]
mm-correctly-synchronize-rss-counters-at-exit-exec-fix
tweak comment
Cc: Hugh Dickins <hughd@google.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
Cc: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Konstantin Khlebnikov [Wed, 25 Apr 2012 01:02:57 +0000 (11:02 +1000)]
mm: correctly synchronize rss-counters at exit/exec
mm->rss_stat counters have per-task delta: task->rss_stat. Before
changing task->mm pointer the kernel must flush this delta with
sync_mm_rss().
do_exit() already calls sync_mm_rss() to flush the rss-counters before
committing the rss statistics into task->signal->maxrss, taskstats, audit
and other stuff. Unfortunately the kernel does this before calling
mm_release(), which can call put_user() for processing
task->clear_child_tid. So at this point we can trigger page-faults and
task->rss_stat becomes non-zero again. As a result mm->rss_stat becomes
inconsistent and check_mm() will print something like this:
| BUG: Bad rss-counter state mm:
ffff88020813c380 idx:1 val:-1
| BUG: Bad rss-counter state mm:
ffff88020813c380 idx:2 val:1
This patch moves sync_mm_rss() into mm_release(), and moves mm_release()
out of do_exit() and calls it earlier. After mm_release() there should be
no pagefaults.
Signed-off-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Cc: Hugh Dickins <hughd@google.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Paul Gortmaker [Wed, 25 Apr 2012 01:02:37 +0000 (11:02 +1000)]
pagemap.h: fix warning about possibly used before init var
Commit
f56f821feb7b36223f309e0ec05986bb137ce418 (linux-next)
"mm: extend prefault helpers to fault in more than PAGE_SIZE"
added in the new functions:
fault_in_multipages_writeable
fault_in_multipages_readable
However, we currently see:
include/linux/pagemap.h:492: warning: 'ret' may be used uninitialized in this function
include/linux/pagemap.h:492: note: 'ret' was declared here
Unlike a lot of gcc nags, this one appears somewhat legit. i.e. passing
in an invalid negative value of "size" does make it look like all the
conditionals in there would be bypassed and the uninitialized value would
be returned.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Stephen Rothwell [Mon, 30 Apr 2012 04:58:41 +0000 (14:58 +1000)]
Merge remote-tracking branch 'dma-mapping/dma-mapping-next'
Conflicts:
arch/x86/include/asm/dma-mapping.h
Stephen Rothwell [Mon, 30 Apr 2012 04:57:06 +0000 (14:57 +1000)]
Merge remote-tracking branch 'arm-soc/for-next'
Conflicts:
arch/arm/mach-lpc32xx/common.c
Stephen Rothwell [Mon, 30 Apr 2012 04:55:33 +0000 (14:55 +1000)]
Merge remote-tracking branch 'gpio/gpio/next'
Stephen Rothwell [Mon, 30 Apr 2012 04:53:56 +0000 (14:53 +1000)]
Merge remote-tracking branch 'modem-shm/for-next'
Conflicts:
drivers/Kconfig
Stephen Rothwell [Mon, 30 Apr 2012 04:47:55 +0000 (14:47 +1000)]
Merge remote-tracking branch 'vhost/linux-next'
Conflicts:
drivers/net/virtio_net.c
Stephen Rothwell [Mon, 30 Apr 2012 04:47:51 +0000 (14:47 +1000)]
Merge remote-tracking branch 'moduleh/for-sfr'
Stephen Rothwell [Mon, 30 Apr 2012 04:46:20 +0000 (14:46 +1000)]
Merge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:43:48 +0000 (14:43 +1000)]
Merge remote-tracking branch 'pinctrl/for-next'
Conflicts:
Documentation/driver-model/devres.txt
drivers/pinctrl/core.c
Stephen Rothwell [Mon, 30 Apr 2012 04:41:06 +0000 (14:41 +1000)]
Merge remote-tracking branch 'writeback/writeback-for-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:39:11 +0000 (14:39 +1000)]
Merge remote-tracking branch 'tmem/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:37:42 +0000 (14:37 +1000)]
Merge remote-tracking branch 'char-misc/char-misc-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:35:59 +0000 (14:35 +1000)]
Merge remote-tracking branch 'staging/staging-next'
Conflicts:
drivers/Kconfig
drivers/Makefile
drivers/staging/android/Kconfig
drivers/staging/android/Makefile
drivers/staging/line6/driver.c
drivers/staging/vt6656/ioctl.c
Stephen Rothwell [Mon, 30 Apr 2012 04:34:04 +0000 (14:34 +1000)]
Merge remote-tracking branch 'usb/usb-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:32:07 +0000 (14:32 +1000)]
Merge remote-tracking branch 'tty/tty-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:30:39 +0000 (14:30 +1000)]
Merge remote-tracking branch 'driver-core/driver-core-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:30:33 +0000 (14:30 +1000)]
Merge remote-tracking branch 'regmap/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:30:24 +0000 (14:30 +1000)]
Merge remote-tracking branch 'drivers-x86/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:28:57 +0000 (14:28 +1000)]
Merge remote-tracking branch 'workqueues/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:27:31 +0000 (14:27 +1000)]
Merge remote-tracking branch 'percpu/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:25:33 +0000 (14:25 +1000)]
Merge remote-tracking branch 'xen-two/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:22:59 +0000 (14:22 +1000)]
Merge remote-tracking branch 'kvm-ppc/kvm-ppc-next'
Stephen Rothwell [Mon, 30 Apr 2012 04:16:01 +0000 (14:16 +1000)]
Merge remote-tracking branch 'kvm/linux-next'
Conflicts:
Documentation/feature-removal-schedule.txt
Stephen Rothwell [Mon, 30 Apr 2012 04:14:34 +0000 (14:14 +1000)]
Merge remote-tracking branch 'kmemleak/kmemleak'
Stephen Rothwell [Mon, 30 Apr 2012 04:07:36 +0000 (14:07 +1000)]
Merge remote-tracking branch 'rcu/rcu/next'
Stephen Rothwell [Mon, 30 Apr 2012 04:00:33 +0000 (14:00 +1000)]
Merge remote-tracking branch 'tip/auto-latest'
Conflicts:
arch/x86/Kconfig
Stephen Rothwell [Mon, 30 Apr 2012 03:58:57 +0000 (13:58 +1000)]
Merge remote-tracking branch 'spi/spi/next'
Stephen Rothwell [Mon, 30 Apr 2012 03:58:51 +0000 (13:58 +1000)]
Merge remote-tracking branch 'edac-amd/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:57:17 +0000 (13:57 +1000)]
Merge remote-tracking branch 'fsnotify/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:50:23 +0000 (13:50 +1000)]
Merge remote-tracking branch 'pm/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:43:27 +0000 (13:43 +1000)]
Merge remote-tracking branch 'trivial/for-next'
Conflicts:
sound/soc/imx/Kconfig
Stephen Rothwell [Mon, 30 Apr 2012 03:35:18 +0000 (13:35 +1000)]
Merge remote-tracking branch 'iommu/next'
Stephen Rothwell [Mon, 30 Apr 2012 03:32:30 +0000 (13:32 +1000)]
Merge remote-tracking branch 'selinux/master'
Stephen Rothwell [Mon, 30 Apr 2012 03:26:05 +0000 (13:26 +1000)]
Merge remote-tracking branch 'security/next'
Conflicts:
include/linux/filter.h
Stephen Rothwell [Mon, 30 Apr 2012 03:24:36 +0000 (13:24 +1000)]
Merge remote-tracking branch 'regulator/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:22:37 +0000 (13:22 +1000)]
Merge remote-tracking branch 'fbdev/fbdev-next'
Stephen Rothwell [Mon, 30 Apr 2012 03:20:46 +0000 (13:20 +1000)]
Merge commit 'refs/next/
20120427 /drm'
Conflicts:
drivers/gpu/drm/i915/intel_i2c.c
Stephen Rothwell [Mon, 30 Apr 2012 03:07:57 +0000 (13:07 +1000)]
Merge remote-tracking branch 'mfd/for-next'
Conflicts:
drivers/mfd/asic3.c
Stephen Rothwell [Mon, 30 Apr 2012 03:02:01 +0000 (13:02 +1000)]
Merge remote-tracking branch 'md/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:55:29 +0000 (12:55 +1000)]
Merge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:54:00 +0000 (12:54 +1000)]
Merge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:52:24 +0000 (12:52 +1000)]
Merge branch 'quilt/device-mapper'
Stephen Rothwell [Mon, 30 Apr 2012 02:46:07 +0000 (12:46 +1000)]
Merge remote-tracking branch 'block/for-next'
Conflicts:
Documentation/feature-removal-schedule.txt
Stephen Rothwell [Mon, 30 Apr 2012 02:42:07 +0000 (12:42 +1000)]
Merge remote-tracking branch 'cgroup/for-next'
Conflicts:
Documentation/feature-removal-schedule.txt
Stephen Rothwell [Mon, 30 Apr 2012 02:40:33 +0000 (12:40 +1000)]
Merge remote-tracking branch 'input/next'
Stephen Rothwell [Mon, 30 Apr 2012 02:39:06 +0000 (12:39 +1000)]
Merge branch 'quilt/rr'
Conflicts:
arch/arm/kernel/kprobes.c
arch/arm/kernel/smp.c
drivers/virtio/virtio_balloon.c
init/main.c
Stephen Rothwell [Mon, 30 Apr 2012 02:07:02 +0000 (12:07 +1000)]
Merge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:05:10 +0000 (12:05 +1000)]
Merge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 02:03:43 +0000 (12:03 +1000)]
Merge remote-tracking branch 'crypto/master'
Stephen Rothwell [Mon, 30 Apr 2012 02:02:13 +0000 (12:02 +1000)]
Merge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Mon, 30 Apr 2012 02:00:46 +0000 (12:00 +1000)]
Merge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:59:17 +0000 (11:59 +1000)]
Merge remote-tracking branch 'wireless-next/master'
Conflicts:
net/bluetooth/hci_core.c
net/bluetooth/mgmt.c
Stephen Rothwell [Mon, 30 Apr 2012 01:49:39 +0000 (11:49 +1000)]
Merge remote-tracking branch 'net-next/master'
Conflicts:
drivers/net/ethernet/emulex/benet/be.h
drivers/net/ethernet/intel/e1000e/param.c
Stephen Rothwell [Mon, 30 Apr 2012 01:48:11 +0000 (11:48 +1000)]
Merge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Mon, 30 Apr 2012 01:46:31 +0000 (11:46 +1000)]
Merge remote-tracking branch 'isci/all'
Conflicts:
drivers/scsi/libsas/sas_discover.c
include/scsi/libsas.h
Stephen Rothwell [Mon, 30 Apr 2012 01:44:58 +0000 (11:44 +1000)]
Merge remote-tracking branch 'target-merge/for-next-merge'
Stephen Rothwell [Mon, 30 Apr 2012 01:43:31 +0000 (11:43 +1000)]
Merge remote-tracking branch 'target-updates/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:41:55 +0000 (11:41 +1000)]
Merge remote-tracking branch 'scsi/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:40:22 +0000 (11:40 +1000)]
Merge remote-tracking branch 'ieee1394/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:38:36 +0000 (11:38 +1000)]
Merge remote-tracking branch 'infiniband/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:38:29 +0000 (11:38 +1000)]
Merge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:38:26 +0000 (11:38 +1000)]
Merge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:36:43 +0000 (11:36 +1000)]
Merge remote-tracking branch 'v4l-dvb/master'
Conflicts:
drivers/usb/gadget/uvc_queue.c
Stephen Rothwell [Mon, 30 Apr 2012 01:35:18 +0000 (11:35 +1000)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:35:16 +0000 (11:35 +1000)]
Merge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Mon, 30 Apr 2012 01:33:03 +0000 (11:33 +1000)]
Merge remote-tracking branch 'i2c-embedded/i2c-embedded/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:33:01 +0000 (11:33 +1000)]
Merge remote-tracking branch 'bjdooks-i2c/next-i2c'
Conflicts:
drivers/i2c/busses/i2c-omap.c
Stephen Rothwell [Mon, 30 Apr 2012 01:31:35 +0000 (11:31 +1000)]
Merge branch 'quilt/i2c'
Stephen Rothwell [Mon, 30 Apr 2012 01:30:08 +0000 (11:30 +1000)]
Merge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:28:46 +0000 (11:28 +1000)]
Merge remote-tracking branch 'pci/next'
Stephen Rothwell [Mon, 30 Apr 2012 01:27:09 +0000 (11:27 +1000)]
Merge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:25:47 +0000 (11:25 +1000)]
Merge remote-tracking branch 'xfs/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:24:24 +0000 (11:24 +1000)]
Merge remote-tracking branch 'ubifs/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:22:57 +0000 (11:22 +1000)]
Merge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:21:33 +0000 (11:21 +1000)]
Merge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:20:11 +0000 (11:20 +1000)]
Merge remote-tracking branch 'logfs/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:18:48 +0000 (11:18 +1000)]
Merge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:17:24 +0000 (11:17 +1000)]
Merge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:15:54 +0000 (11:15 +1000)]
Merge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Mon, 30 Apr 2012 01:14:31 +0000 (11:14 +1000)]
Merge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Mon, 30 Apr 2012 01:13:08 +0000 (11:13 +1000)]
Merge remote-tracking branch 'ecryptfs/next'
Conflicts:
fs/ecryptfs/ecryptfs_kernel.h
Stephen Rothwell [Mon, 30 Apr 2012 01:11:42 +0000 (11:11 +1000)]
Merge remote-tracking branch 'ceph/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:05:51 +0000 (11:05 +1000)]
Merge remote-tracking branch 'tile/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:04:28 +0000 (11:04 +1000)]
Merge remote-tracking branch 'sparc-next/master'
Stephen Rothwell [Mon, 30 Apr 2012 01:03:07 +0000 (11:03 +1000)]
Merge remote-tracking branch 'sh/sh-latest'
Stephen Rothwell [Mon, 30 Apr 2012 01:01:47 +0000 (11:01 +1000)]
Merge remote-tracking branch 's390/features'
Stephen Rothwell [Mon, 30 Apr 2012 01:00:26 +0000 (11:00 +1000)]
Merge remote-tracking branch 'mpc5xxx/next'
Stephen Rothwell [Mon, 30 Apr 2012 01:00:25 +0000 (11:00 +1000)]
Merge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 01:00:24 +0000 (11:00 +1000)]
Merge remote-tracking branch 'openrisc/for-upstream'
Stephen Rothwell [Mon, 30 Apr 2012 00:59:01 +0000 (10:59 +1000)]
Merge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:57:40 +0000 (10:57 +1000)]
Merge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:56:17 +0000 (10:56 +1000)]
Merge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:54:56 +0000 (10:54 +1000)]
Merge remote-tracking branch 'ia64/next'
Stephen Rothwell [Mon, 30 Apr 2012 00:53:34 +0000 (10:53 +1000)]
Merge remote-tracking branch 'hexagon/linux-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:52:13 +0000 (10:52 +1000)]
Merge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Mon, 30 Apr 2012 00:50:51 +0000 (10:50 +1000)]
Merge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Mon, 30 Apr 2012 00:49:29 +0000 (10:49 +1000)]
Merge remote-tracking branch 's5p/for-next'