]>
git.karo-electronics.de Git - karo-tx-linux.git/log
Stephen Rothwell [Mon, 18 Feb 2013 03:35:13 +0000 (14:35 +1100)]
Merge remote-tracking branch 'tip/auto-latest'
Conflicts:
arch/powerpc/configs/pasemi_defconfig
arch/s390/Kconfig
kernel/timeconst.pl
Stephen Rothwell [Mon, 18 Feb 2013 03:28:49 +0000 (14:28 +1100)]
Merge remote-tracking branch 'spi/spi/next'
Conflicts:
drivers/spi/spi-s3c64xx.c
Stephen Rothwell [Mon, 18 Feb 2013 03:25:20 +0000 (14:25 +1100)]
Merge remote-tracking branch 'devicetree/devicetree/next'
Stephen Rothwell [Mon, 18 Feb 2013 03:23:52 +0000 (14:23 +1100)]
Merge remote-tracking branch 'edac-amd/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 03:22:22 +0000 (14:22 +1100)]
Merge remote-tracking branch 'edac/linux_next'
Stephen Rothwell [Mon, 18 Feb 2013 03:15:02 +0000 (14:15 +1100)]
Merge remote-tracking branch 'trivial/for-next'
Conflicts:
arch/mips/cavium-octeon/executive/cvmx-helper-util.c
arch/mips/include/asm/octeon/cvmx-helper-util.h
Stephen Rothwell [Mon, 18 Feb 2013 03:13:27 +0000 (14:13 +1100)]
Merge remote-tracking branch 'vfio/next'
Stephen Rothwell [Mon, 18 Feb 2013 03:11:56 +0000 (14:11 +1100)]
Merge remote-tracking branch 'iommu/next'
Conflicts:
arch/arm/mach-exynos/mach-exynos5-dt.c
Stephen Rothwell [Mon, 18 Feb 2013 03:10:19 +0000 (14:10 +1100)]
Merge remote-tracking branch 'watchdog/master'
Conflicts:
drivers/watchdog/Kconfig
drivers/watchdog/Makefile
Stephen Rothwell [Mon, 18 Feb 2013 03:10:11 +0000 (14:10 +1100)]
Merge remote-tracking branch 'selinux/master'
Stephen Rothwell [Mon, 18 Feb 2013 03:08:41 +0000 (14:08 +1100)]
Merge remote-tracking branch 'security/next'
Conflicts:
lib/digsig.c
security/integrity/ima/ima_main.c
Stephen Rothwell [Mon, 18 Feb 2013 03:07:10 +0000 (14:07 +1100)]
Merge remote-tracking branch 'regulator/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 03:05:28 +0000 (14:05 +1100)]
Merge remote-tracking branch 'battery/master'
Conflicts:
drivers/power/ab8500_bmdata.c
include/linux/mfd/abx500/ab8500-bm.h
include/linux/mfd/abx500/ab8500.h
Stephen Rothwell [Mon, 18 Feb 2013 03:03:58 +0000 (14:03 +1100)]
Merge remote-tracking branch 'mfd/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 03:02:27 +0000 (14:02 +1100)]
Merge remote-tracking branch 'md/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:55:21 +0000 (13:55 +1100)]
Merge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:55:06 +0000 (13:55 +1100)]
Merge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:53:36 +0000 (13:53 +1100)]
Merge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:51:54 +0000 (13:51 +1100)]
Merge branch 'device-mapper/master'
Stephen Rothwell [Mon, 18 Feb 2013 02:44:29 +0000 (13:44 +1100)]
Merge remote-tracking branch 'block/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:37:38 +0000 (13:37 +1100)]
Merge remote-tracking branch 'cgroup/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:36:05 +0000 (13:36 +1100)]
Merge remote-tracking branch 'input/next'
Stephen Rothwell [Mon, 18 Feb 2013 02:34:37 +0000 (13:34 +1100)]
Merge remote-tracking branch 'virtio/virtio-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:27:46 +0000 (13:27 +1100)]
Merge remote-tracking branch 'pekey/devel-pekey'
Stephen Rothwell [Mon, 18 Feb 2013 02:22:13 +0000 (13:22 +1100)]
Merge remote-tracking branch 'modules/modules-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:13:56 +0000 (13:13 +1100)]
Merge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 01:53:14 +0000 (12:53 +1100)]
Merge remote-tracking branch 'drm/drm-next'
Conflicts:
drivers/gpu/drm/radeon/evergreen_cs.c
Stephen Rothwell [Mon, 18 Feb 2013 01:51:37 +0000 (12:51 +1100)]
Merge remote-tracking branch 'crypto/master'
Conflicts:
crypto/ctr.c
Stephen Rothwell [Mon, 18 Feb 2013 01:50:03 +0000 (12:50 +1100)]
Merge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Mon, 18 Feb 2013 01:47:59 +0000 (12:47 +1100)]
Merge remote-tracking branch 'wireless-next/master'
Conflicts:
drivers/net/wireless/iwlwifi/dvm/tx.c
drivers/net/wireless/ti/wlcore/sdio.c
drivers/net/wireless/ti/wlcore/spi.c
Stephen Rothwell [Mon, 18 Feb 2013 01:42:24 +0000 (12:42 +1100)]
Merge remote-tracking branch 'net-next/master'
Conflicts:
arch/mips/include/uapi/asm/socket.h
Stephen Rothwell [Mon, 18 Feb 2013 01:42:16 +0000 (12:42 +1100)]
Merge remote-tracking branch 'dmaengine/next'
Conflicts:
drivers/dma/ioat/dma_v3.c
Stephen Rothwell [Mon, 18 Feb 2013 01:38:17 +0000 (12:38 +1100)]
Merge remote-tracking branch 'slave-dma/next'
Conflicts:
drivers/dma/ioat/dma_v3.c
drivers/dma/tegra20-apb-dma.c
Stephen Rothwell [Mon, 18 Feb 2013 01:36:37 +0000 (12:36 +1100)]
Merge remote-tracking branch 'target-updates/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 01:35:02 +0000 (12:35 +1100)]
Merge remote-tracking branch 'scsi/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 01:33:32 +0000 (12:33 +1100)]
Merge remote-tracking branch 'dlm/next'
Stephen Rothwell [Mon, 18 Feb 2013 01:31:57 +0000 (12:31 +1100)]
Merge remote-tracking branch 'thermal/next'
Conflicts:
drivers/thermal/exynos_thermal.c
Stephen Rothwell [Mon, 18 Feb 2013 01:24:34 +0000 (12:24 +1100)]
Merge remote-tracking branch 'idle/next'
Conflicts:
arch/x86/kernel/process.c
drivers/acpi/processor_idle.c
Stephen Rothwell [Mon, 18 Feb 2013 01:17:14 +0000 (12:17 +1100)]
Merge remote-tracking branch 'pm/linux-next'
Conflicts:
drivers/acpi/internal.h
drivers/acpi/scan.c
drivers/pci/hotplug/acpiphp_glue.c
Stephen Rothwell [Mon, 18 Feb 2013 00:58:43 +0000 (11:58 +1100)]
Merge remote-tracking branch 'infiniband/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:56:48 +0000 (11:56 +1100)]
Merge remote-tracking branch 'libata/NEXT'
Stephen Rothwell [Mon, 18 Feb 2013 00:52:09 +0000 (11:52 +1100)]
Merge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:50:15 +0000 (11:50 +1100)]
Merge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Mon, 18 Feb 2013 00:48:45 +0000 (11:48 +1100)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:47:22 +0000 (11:47 +1100)]
Merge remote-tracking branch 'i2c/i2c/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:45:55 +0000 (11:45 +1100)]
Merge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:42:34 +0000 (11:42 +1100)]
Merge remote-tracking branch 'pci/next'
Conflicts:
arch/ia64/pci/pci.c
Stephen Rothwell [Mon, 18 Feb 2013 00:41:05 +0000 (11:41 +1100)]
Merge remote-tracking branch 'xfs/for-next'
Conflicts:
fs/xfs/xfs_buf_item.c
Stephen Rothwell [Mon, 18 Feb 2013 00:39:40 +0000 (11:39 +1100)]
Merge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:37:55 +0000 (11:37 +1100)]
Merge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:36:24 +0000 (11:36 +1100)]
Merge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:34:53 +0000 (11:34 +1100)]
Merge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:33:19 +0000 (11:33 +1100)]
Merge remote-tracking branch 'logfs/master'
Stephen Rothwell [Mon, 18 Feb 2013 00:31:57 +0000 (11:31 +1100)]
Merge remote-tracking branch 'jfs/jfs-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:30:35 +0000 (11:30 +1100)]
Merge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Mon, 18 Feb 2013 00:24:04 +0000 (11:24 +1100)]
Merge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:22:42 +0000 (11:22 +1100)]
Merge remote-tracking branch 'f2fs/dev'
Stephen Rothwell [Mon, 18 Feb 2013 00:16:12 +0000 (11:16 +1100)]
Merge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Mon, 18 Feb 2013 00:14:49 +0000 (11:14 +1100)]
Merge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Mon, 18 Feb 2013 00:13:28 +0000 (11:13 +1100)]
Merge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Mon, 18 Feb 2013 00:12:05 +0000 (11:12 +1100)]
Merge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:10:42 +0000 (11:10 +1100)]
Merge remote-tracking branch 'ceph/master'
Stephen Rothwell [Mon, 18 Feb 2013 00:10:40 +0000 (11:10 +1100)]
Merge remote-tracking branch 'btrfs/next'
Stephen Rothwell [Mon, 18 Feb 2013 00:09:18 +0000 (11:09 +1100)]
Merge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Mon, 18 Feb 2013 00:07:55 +0000 (11:07 +1100)]
Merge remote-tracking branch 'tile/master'
Stephen Rothwell [Mon, 18 Feb 2013 00:00:44 +0000 (11:00 +1100)]
Merge remote-tracking branch 's390/features'
Stephen Rothwell [Sun, 17 Feb 2013 23:59:21 +0000 (10:59 +1100)]
Merge remote-tracking branch 'mpc5xxx/next'
Stephen Rothwell [Sun, 17 Feb 2013 23:56:50 +0000 (10:56 +1100)]
Merge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Sun, 17 Feb 2013 23:55:30 +0000 (10:55 +1100)]
Merge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:54:09 +0000 (10:54 +1100)]
Merge remote-tracking branch 'openrisc/for-upstream'
Stephen Rothwell [Sun, 17 Feb 2013 23:43:22 +0000 (10:43 +1100)]
Stephen Rothwell [Sun, 17 Feb 2013 23:37:40 +0000 (10:37 +1100)]
Merge remote-tracking branch 'microblaze/next'
Stephen Rothwell [Sun, 17 Feb 2013 23:30:28 +0000 (10:30 +1100)]
Merge remote-tracking branch 'metag/for-next'
Conflicts:
tools/perf/perf.h
Stephen Rothwell [Sun, 17 Feb 2013 23:30:26 +0000 (10:30 +1100)]
Merge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:29:05 +0000 (10:29 +1100)]
Merge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:27:44 +0000 (10:27 +1100)]
Merge remote-tracking branch 'ia64/next'
Conflicts:
drivers/firmware/efivars.c
init/Kconfig
Stephen Rothwell [Sun, 17 Feb 2013 23:26:17 +0000 (10:26 +1100)]
Merge remote-tracking branch 'arm64/upstream'
Stephen Rothwell [Sun, 17 Feb 2013 23:24:56 +0000 (10:24 +1100)]
Merge remote-tracking branch 'xilinx/arm-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:24:53 +0000 (10:24 +1100)]
Merge remote-tracking branch 'arm-perf/for-next/perf'
Stephen Rothwell [Sun, 17 Feb 2013 23:23:27 +0000 (10:23 +1100)]
Merge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:22:05 +0000 (10:22 +1100)]
Merge remote-tracking branch 'arc/arc-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:48 +0000 (10:14 +1100)]
Merge remote-tracking branch 'dwmw2/master'
Conflicts:
arch/x86/Kconfig
Stephen Rothwell [Sun, 17 Feb 2013 23:14:40 +0000 (10:14 +1100)]
Merge remote-tracking branch 'md-current/for-linus'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:38 +0000 (10:14 +1100)]
Merge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:27 +0000 (10:14 +1100)]
Merge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:26 +0000 (10:14 +1100)]
Merge remote-tracking branch 'net/master'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:24 +0000 (10:14 +1100)]
Merge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:23 +0000 (10:14 +1100)]
Merge remote-tracking branch 'kbuild-current/rc-fixes'
Joe Thornber [Sun, 17 Feb 2013 23:03:37 +0000 (10:03 +1100)]
Add a persistent bitset as a wrapper around dm-array.
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Joe Thornber [Sun, 17 Feb 2013 23:03:36 +0000 (10:03 +1100)]
Add a transactional array.
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Joe Thornber [Sun, 17 Feb 2013 23:03:36 +0000 (10:03 +1100)]
This patch takes advantage of the new bio-prison interface where the
memory is now passed in rather than using a mempool in bio-prison.
This allows the map function to avoid performing potentially-blocking
allocations that could lead to deadlocks: We want to avoid the cell
allocation that is done in bio_detain.
(The potential for mempool deadlocks still remains in other functions
that use bio_detain.)
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Joe Thornber [Sun, 17 Feb 2013 23:03:36 +0000 (10:03 +1100)]
Change the dm_bio_prison interface so that instead of allocating memory
internally, dm_bio_detain is supplied with a pre-allocated cell each
time it is called.
This enables a subsequent patch to move the allocation of the struct
dm_bio_prison_cell outside the thin target's mapping function so it can
no longer block there.
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Joe Thornber [Sun, 17 Feb 2013 23:03:35 +0000 (10:03 +1100)]
Add dm_btree_walk to iterate through the contents of a btree.
This will be used by the dm cache target.
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Alasdair G Kergon [Sun, 17 Feb 2013 23:03:35 +0000 (10:03 +1100)]
Add a num_write_bios function to struct target.
If an instance of a target sets this, it will be queried before the
target's mapping function is called on a write bio, and the response
controls the number of copies of the write bio that the target will
receive.
This provides a convenient way for a target to send the same data to
more than one device. The new cache target uses this in writethrough
mode, to send the data both to the cache and the backing device.
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Mikulas Patocka [Sun, 17 Feb 2013 23:03:35 +0000 (10:03 +1100)]
This patch allows the administrator to reduce the rate at which kcopyd
issues I/O.
Each module that uses kcopyd acquires a throttle parameter that can be
set in /sys/module/*/parameters.
We maintain a history of kcopyd usage by each module in the variables
io_period and total_period in struct dm_kcopyd_throttle. The actual
kcopyd activity is calculated as a percentage of time equal to
"(100 * io_period / total_period)". This is compared with the user-defined
throttle percentage threshold and if it is exceeded, we sleep.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
fanchaoting [Mon, 4 Feb 2013 13:15:02 +0000 (21:15 +0800)]
umount oops when remove blocklayoutdriver first
now pnfs client uses block layout, maybe we can remove
blocklayoutdriver first. if we umount later,
it can cause oops in unset_pnfs_layoutdriver.
because nfss->pnfs_curr_ld->clear_layoutdriver is invalid.
reproduce it:
modprobe blocklayoutdriver
mount -t nfs4 -o minorversion=1 pnfsip:/ /mnt/
rmmod blocklayoutdriver
umount /mnt
then you can see following
CPU 0
Pid: 17023, comm: umount.nfs4 Tainted: GF O 3.7.0-rc6-pnfs #1 VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform
RIP: 0010:[<
ffffffffa04cfe6d >] [<
ffffffffa04cfe6d >] unset_pnfs_layoutdriver+0x1d/0x70 [nfsv4]
RSP: 0018:
ffff8800022d9e48 EFLAGS:
00010286
RAX:
ffffffffa04a1b00 RBX:
ffff88000b013800 RCX:
0000000000000001
RDX:
ffffffff81ae8ee0 RSI:
ffff880001ee94b8 RDI:
ffff88000b013800
RBP:
ffff8800022d9e58 R08:
0000000000000001 R09:
0000000000000000
R10:
0000000000000000 R11:
0000000000000000 R12:
ffff880001ee9400
R13:
ffff8800105978c0 R14:
00007fff25846c08 R15:
0000000001bba550
FS:
00007f45ae7f0700 (0000) GS:
ffff880012c00000 (0000) knlGS:
0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0:
000000008005003b
CR2:
ffffffffa04a1b38 CR3:
0000000002c0c000 CR4:
00000000000006f0
DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
DR3:
0000000000000000 DR6:
00000000ffff0ff0 DR7:
0000000000000400
Process umount.nfs4 (pid: 17023, threadinfo
ffff8800022d8000 , task
ffff880006e48aa0 )
Stack:
ffff8800105978c0 ffff88000b013800 ffff8800022d9e78 ffffffffa04cd0ce
ffff8800022d9e78 ffff88000b013800 ffff8800022d9ea8 ffffffffa04755a7
ffff8800022d9ea8 ffff880002f96400 ffff88000b013800 ffff880002f96400
Call Trace:
[<
ffffffffa04cd0ce >] nfs4_destroy_server+0x1e/0x30 [nfsv4]
[<
ffffffffa04755a7 >] nfs_free_server+0xb7/0x150 [nfs]
[<
ffffffffa047d4d5 >] nfs_kill_super+0x35/0x40 [nfs]
[<
ffffffff81178d35 >] deactivate_locked_super+0x45/0x70
[<
ffffffff8117986a >] deactivate_super+0x4a/0x70
[<
ffffffff81193ee2 >] mntput_no_expire+0xd2/0x130
[<
ffffffff81194d62 >] sys_umount+0x72/0xe0
[<
ffffffff8154af59 >] system_call_fastpath+0x16/0x1b
Code: 06 e1 b8 ea ff ff ff eb 9e 0f 1f 44 00 00 55 48 89 e5 53 48 83 ec 08 66 66 66 66 90 48 8b 87 80 03 00 00 48 89 fb 48 85 c0 74 29 <48> 8b 40 38 48 85 c0 74 02 ff d0 48 8b 03 3e ff 48 04 0f 94 c2
RIP [<
ffffffffa04cfe6d >] unset_pnfs_layoutdriver+0x1d/0x70 [nfsv4]
RSP <
ffff8800022d9e48 >
CR2:
ffffffffa04a1b38
---[ end trace
29f75aaedda058bf ]---
Signed-off-by: fanchaoting<fanchaoting@cn.fujitsu.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@vger.kernel.org
Jeff Layton [Thu, 7 Feb 2013 15:29:06 +0000 (10:29 -0500)]
sunrpc: silence build warning in gss_fill_context
Since commit
620038f6d23 , gcc is throwing the following warning:
CC [M] net/sunrpc/auth_gss/auth_gss.o
In file included from include/linux/sunrpc/types.h:14:0,
from include/linux/sunrpc/sched.h:14,
from include/linux/sunrpc/clnt.h:18,
from net/sunrpc/auth_gss/auth_gss.c:45:
net/sunrpc/auth_gss/auth_gss.c: In function ‘gss_pipe_downcall’:
include/linux/sunrpc/debug.h:45:10: warning: ‘timeout’ may be used
uninitialized in this function [-Wmaybe-uninitialized]
printk(KERN_DEFAULT args); \
^
net/sunrpc/auth_gss/auth_gss.c:194:15: note: ‘timeout’ was declared here
unsigned int timeout;
^
If simple_get_bytes returns an error, then we'll end up calling printk
with an uninitialized timeout value. Reasonably harmless, but fairly
simple to fix by removing the printout of the uninitialised parameters.
Cc: Andy Adamson <andros@netapp.com>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
[Trond: just remove the parameters rather than initialising timeout]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Tim Gardner [Tue, 12 Feb 2013 20:03:42 +0000 (13:03 -0700)]
nfs: remove kfree() redundant null checks
smatch analysis:
fs/nfs/getroot.c:130 nfs_get_root() info: redundant null
check on name calling kfree()
fs/nfs/unlink.c:272 nfs_async_unlink() info: redundant null
check on devname_garbage calling kfree()
Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: linux-nfs@vger.kernel.org
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Weston Andros Adamson [Fri, 15 Feb 2013 21:03:46 +0000 (16:03 -0500)]
NFSv4.1: Don't decode skipped layoutgets
layoutget's prepare hook can call rpc_exit with status = NFS4_OK (0).
Because of this, nfs4_proc_layoutget can't depend on a 0 status to mean
that the RPC was successfully sent, received and parsed.
To fix this, use the result's len member to see if parsing took place.
This fixes the following OOPS -- calling xdr_init_decode() with a buffer length
0 doesn't set the stream's 'p' member and ends up using uninitialized memory
in filelayout_decode_layout.
BUG: unable to handle kernel paging request at
0000000000008050
IP: [<
ffffffff81282e78 >] memcpy+0x18/0x120
PGD 0
Oops: 0000 [#1] SMP
last sysfs file: /sys/devices/pci0000:00/0000:00:11.0/0000:02:01.0/irq
CPU 1
Modules linked in: nfs_layout_nfsv41_files nfs lockd fscache auth_rpcgss nfs_acl autofs4 sunrpc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 dm_mirror dm_region_hash dm_log dm_mod ppdev parport_pc parport snd_ens1371 snd_rawmidi snd_ac97_codec ac97_bus snd_seq snd_seq_device snd_pcm snd_timer snd soundcore snd_page_alloc e1000 microcode vmware_balloon i2c_piix4 i2c_core sg shpchp ext4 mbcache jbd2 sr_mod cdrom sd_mod crc_t10dif pata_acpi ata_generic ata_piix mptspi mptscsih mptbase scsi_transport_spi [last unloaded: speedstep_lib]
Pid: 1665, comm: flush-0:22 Not tainted 2.6.32-356-test-2 #2 VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform
RIP: 0010:[<
ffffffff81282e78 >] [<
ffffffff81282e78 >] memcpy+0x18/0x120
RSP: 0018:
ffff88003dfab588 EFLAGS:
00010206
RAX:
ffff88003dc42000 RBX:
ffff88003dfab610 RCX:
0000000000000009
RDX:
000000003f807ff0 RSI:
0000000000008050 RDI:
ffff88003dc42000
RBP:
ffff88003dfab5b0 R08:
0000000000000000 R09:
0000000000000000
R10:
0000000000000000 R11:
0000000000000080 R12:
0000000000000024
R13:
ffff88003dc42000 R14:
ffff88003f808030 R15:
ffff88003dfab6a0
FS:
0000000000000000 (0000) GS:
ffff880003420000 (0000) knlGS:
0000000000000000
CS: 0010 DS: 0018 ES: 0018 CR0:
000000008005003b
CR2:
0000000000008050 CR3:
000000003bc92000 CR4:
00000000001407e0
DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
DR3:
0000000000000000 DR6:
00000000ffff0ff0 DR7:
0000000000000400
Process flush-0:22 (pid: 1665, threadinfo
ffff88003dfaa000 , task
ffff880037f77540 )
Stack:
ffffffffa0398ac1 ffff8800397c5940 ffff88003dfab610 ffff88003dfab6a0
<d>
ffff88003dfab5d0 ffff88003dfab680 ffffffffa01c150b ffffea0000d82e70
<d>
000000508116713b 0000000000000000 0000000000000000 0000000000000000
Call Trace:
[<
ffffffffa0398ac1 >] ? xdr_inline_decode+0xb1/0x120 [sunrpc]
[<
ffffffffa01c150b >] filelayout_decode_layout+0xeb/0x350 [nfs_layout_nfsv41_files]
[<
ffffffffa01c17fc >] filelayout_alloc_lseg+0x8c/0x3c0 [nfs_layout_nfsv41_files]
[<
ffffffff8150e6ce >] ? __wait_on_bit+0x7e/0x90
Signed-off-by: Weston Andros Adamson <dros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@vger.kernel.org
Grant Likely [Sun, 17 Feb 2013 20:03:27 +0000 (20:03 +0000)]
Revert "of: use platform_device_add"
This reverts commit
aac73f34542bc7ae4317928d2eabfeb21d247323 . That
commit causes two kinds of breakage; it breaks registration of AMBA
devices when one of the parent nodes already contains overlapping
resource regions, and it breaks calls to request_region() by device
drivers in certain conditions where there are overlapping memory
regions. Both of these problems can probably be fixed, but it is better
to back out the commit and get a proper fix designed before trying again.
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>