]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
11 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:55:06 +0000 (13:55 +1100)]
Merge remote-tracking branch 'kgdb/kgdb-next'

11 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:53:36 +0000 (13:53 +1100)]
Merge remote-tracking branch 'mmc/mmc-next'

11 years agoMerge branch 'device-mapper/master'
Stephen Rothwell [Mon, 18 Feb 2013 02:51:54 +0000 (13:51 +1100)]
Merge branch 'device-mapper/master'

11 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:44:29 +0000 (13:44 +1100)]
Merge remote-tracking branch 'block/for-next'

11 years agoMerge remote-tracking branch 'cgroup/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:37:38 +0000 (13:37 +1100)]
Merge remote-tracking branch 'cgroup/for-next'

11 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Mon, 18 Feb 2013 02:36:05 +0000 (13:36 +1100)]
Merge remote-tracking branch 'input/next'

11 years agoMerge remote-tracking branch 'virtio/virtio-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:34:37 +0000 (13:34 +1100)]
Merge remote-tracking branch 'virtio/virtio-next'

11 years agoMerge remote-tracking branch 'pekey/devel-pekey'
Stephen Rothwell [Mon, 18 Feb 2013 02:27:46 +0000 (13:27 +1100)]
Merge remote-tracking branch 'pekey/devel-pekey'

11 years agoMerge remote-tracking branch 'modules/modules-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:22:13 +0000 (13:22 +1100)]
Merge remote-tracking branch 'modules/modules-next'

11 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 02:13:56 +0000 (13:13 +1100)]
Merge remote-tracking branch 'sound/for-next'

11 years agoMerge remote-tracking branch 'drm/drm-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

11 years agoMerge remote-tracking branch 'crypto/master'
Stephen Rothwell [Mon, 18 Feb 2013 01:51:37 +0000 (12:51 +1100)]
Merge remote-tracking branch 'crypto/master'

Conflicts:
crypto/ctr.c

11 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Mon, 18 Feb 2013 01:50:03 +0000 (12:50 +1100)]
Merge remote-tracking branch 'l2-mtd/master'

11 years agoMerge remote-tracking branch 'wireless-next/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

11 years agoMerge remote-tracking branch 'net-next/master'
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

11 years agoMerge remote-tracking branch 'dmaengine/next'
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

11 years agoMerge remote-tracking branch 'slave-dma/next'
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

11 years agoMerge remote-tracking branch 'target-updates/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 01:36:37 +0000 (12:36 +1100)]
Merge remote-tracking branch 'target-updates/for-next'

11 years agoMerge remote-tracking branch 'scsi/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 01:35:02 +0000 (12:35 +1100)]
Merge remote-tracking branch 'scsi/for-next'

11 years agoMerge remote-tracking branch 'dlm/next'
Stephen Rothwell [Mon, 18 Feb 2013 01:33:32 +0000 (12:33 +1100)]
Merge remote-tracking branch 'dlm/next'

11 years agoMerge remote-tracking branch 'thermal/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

11 years agoMerge remote-tracking branch 'idle/next'
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

11 years agoMerge remote-tracking branch 'pm/linux-next'
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

11 years agoMerge remote-tracking branch 'infiniband/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:58:43 +0000 (11:58 +1100)]
Merge remote-tracking branch 'infiniband/for-next'

11 years agoMerge remote-tracking branch 'libata/NEXT'
Stephen Rothwell [Mon, 18 Feb 2013 00:56:48 +0000 (11:56 +1100)]
Merge remote-tracking branch 'libata/NEXT'

11 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:52:09 +0000 (11:52 +1100)]
Merge remote-tracking branch 'kbuild/for-next'

11 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Mon, 18 Feb 2013 00:50:15 +0000 (11:50 +1100)]
Merge remote-tracking branch 'v4l-dvb/master'

11 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:48:45 +0000 (11:48 +1100)]
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

11 years agoMerge remote-tracking branch 'i2c/i2c/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:47:22 +0000 (11:47 +1100)]
Merge remote-tracking branch 'i2c/i2c/for-next'

11 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:45:55 +0000 (11:45 +1100)]
Merge remote-tracking branch 'hid/for-next'

11 years agoMerge remote-tracking branch 'pci/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

11 years agoMerge remote-tracking branch 'xfs/for-next'
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

11 years agoMerge remote-tracking branch 'v9fs/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:39:40 +0000 (11:39 +1100)]
Merge remote-tracking branch 'v9fs/for-next'

11 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:37:55 +0000 (11:37 +1100)]
Merge remote-tracking branch 'ocfs2/linux-next'

11 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:36:24 +0000 (11:36 +1100)]
Merge remote-tracking branch 'nfsd/nfsd-next'

11 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:34:53 +0000 (11:34 +1100)]
Merge remote-tracking branch 'nfs/linux-next'

11 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Mon, 18 Feb 2013 00:33:19 +0000 (11:33 +1100)]
Merge remote-tracking branch 'logfs/master'

11 years agoMerge remote-tracking branch 'jfs/jfs-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:31:57 +0000 (11:31 +1100)]
Merge remote-tracking branch 'jfs/jfs-next'

11 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Mon, 18 Feb 2013 00:30:35 +0000 (11:30 +1100)]
Merge remote-tracking branch 'gfs2/master'

11 years agoMerge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:24:04 +0000 (11:24 +1100)]
Merge remote-tracking branch 'fuse/for-next'

11 years agoMerge remote-tracking branch 'f2fs/dev'
Stephen Rothwell [Mon, 18 Feb 2013 00:22:42 +0000 (11:22 +1100)]
Merge remote-tracking branch 'f2fs/dev'

11 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Mon, 18 Feb 2013 00:16:12 +0000 (11:16 +1100)]
Merge remote-tracking branch 'ext4/dev'

11 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Mon, 18 Feb 2013 00:14:49 +0000 (11:14 +1100)]
Merge remote-tracking branch 'ext3/for_next'

11 years agoMerge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Mon, 18 Feb 2013 00:13:28 +0000 (11:13 +1100)]
Merge remote-tracking branch 'ecryptfs/next'

11 years agoMerge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Mon, 18 Feb 2013 00:12:05 +0000 (11:12 +1100)]
Merge remote-tracking branch 'cifs/for-next'

11 years agoMerge remote-tracking branch 'ceph/master'
Stephen Rothwell [Mon, 18 Feb 2013 00:10:42 +0000 (11:10 +1100)]
Merge remote-tracking branch 'ceph/master'

11 years agoMerge remote-tracking branch 'btrfs/next'
Stephen Rothwell [Mon, 18 Feb 2013 00:10:40 +0000 (11:10 +1100)]
Merge remote-tracking branch 'btrfs/next'

11 years agoMerge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Mon, 18 Feb 2013 00:09:18 +0000 (11:09 +1100)]
Merge remote-tracking branch 'xtensa/for_next'

11 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Mon, 18 Feb 2013 00:07:55 +0000 (11:07 +1100)]
Merge remote-tracking branch 'tile/master'

11 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Mon, 18 Feb 2013 00:00:44 +0000 (11:00 +1100)]
Merge remote-tracking branch 's390/features'

11 years agoMerge remote-tracking branch 'mpc5xxx/next'
Stephen Rothwell [Sun, 17 Feb 2013 23:59:21 +0000 (10:59 +1100)]
Merge remote-tracking branch 'mpc5xxx/next'

11 years agoMerge remote-tracking branch 'powerpc/next'
Stephen Rothwell [Sun, 17 Feb 2013 23:56:50 +0000 (10:56 +1100)]
Merge remote-tracking branch 'powerpc/next'

11 years agoMerge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:55:30 +0000 (10:55 +1100)]
Merge remote-tracking branch 'parisc/for-next'

11 years agoMerge remote-tracking branch 'openrisc/for-upstream'
Stephen Rothwell [Sun, 17 Feb 2013 23:54:09 +0000 (10:54 +1100)]
Merge remote-tracking branch 'openrisc/for-upstream'

11 years ago20130215/mips
Stephen Rothwell [Sun, 17 Feb 2013 23:43:22 +0000 (10:43 +1100)]
20130215/mips

11 years agoMerge remote-tracking branch 'microblaze/next'
Stephen Rothwell [Sun, 17 Feb 2013 23:37:40 +0000 (10:37 +1100)]
Merge remote-tracking branch 'microblaze/next'

11 years agoMerge remote-tracking branch 'metag/for-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

11 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:30:26 +0000 (10:30 +1100)]
Merge remote-tracking branch 'm68knommu/for-next'

11 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:29:05 +0000 (10:29 +1100)]
Merge remote-tracking branch 'm68k/for-next'

11 years agoMerge remote-tracking branch 'ia64/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

11 years agoMerge remote-tracking branch 'arm64/upstream'
Stephen Rothwell [Sun, 17 Feb 2013 23:26:17 +0000 (10:26 +1100)]
Merge remote-tracking branch 'arm64/upstream'

11 years agoMerge remote-tracking branch 'xilinx/arm-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:24:56 +0000 (10:24 +1100)]
Merge remote-tracking branch 'xilinx/arm-next'

11 years agoMerge remote-tracking branch 'arm-perf/for-next/perf'
Stephen Rothwell [Sun, 17 Feb 2013 23:24:53 +0000 (10:24 +1100)]
Merge remote-tracking branch 'arm-perf/for-next/perf'

11 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:23:27 +0000 (10:23 +1100)]
Merge remote-tracking branch 'arm/for-next'

11 years agoMerge remote-tracking branch 'arc/arc-next'
Stephen Rothwell [Sun, 17 Feb 2013 23:22:05 +0000 (10:22 +1100)]
Merge remote-tracking branch 'arc/arc-next'

11 years agoMerge remote-tracking branch 'dwmw2/master'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:48 +0000 (10:14 +1100)]
Merge remote-tracking branch 'dwmw2/master'

Conflicts:
arch/x86/Kconfig

11 years agoMerge remote-tracking branch 'md-current/for-linus'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:40 +0000 (10:14 +1100)]
Merge remote-tracking branch 'md-current/for-linus'

11 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:38 +0000 (10:14 +1100)]
Merge remote-tracking branch 'input-current/for-linus'

11 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:27 +0000 (10:14 +1100)]
Merge remote-tracking branch 'sound-current/for-linus'

11 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:26 +0000 (10:14 +1100)]
Merge remote-tracking branch 'net/master'

11 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:24 +0000 (10:14 +1100)]
Merge remote-tracking branch 'arm-current/fixes'

11 years agoMerge remote-tracking branch 'kbuild-current/rc-fixes'
Stephen Rothwell [Sun, 17 Feb 2013 23:14:23 +0000 (10:14 +1100)]
Merge remote-tracking branch 'kbuild-current/rc-fixes'

11 years agoAdd a persistent bitset as a wrapper around dm-array.
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>
11 years agoAdd a transactional array.
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>
11 years agoThis patch takes advantage of the new bio-prison interface where the
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>
11 years agoChange the dm_bio_prison interface so that instead of allocating memory
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>
11 years agoAdd dm_btree_walk to iterate through the contents of a btree.
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>
11 years agoAdd a num_write_bios function to struct target.
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>
11 years agoThis patch allows the administrator to reduce the rate at which kcopyd
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>
11 years agoumount oops when remove blocklayoutdriver first
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
11 years agosunrpc: silence build warning in gss_fill_context
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>
11 years agonfs: remove kfree() redundant null checks
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>
11 years agoNFSv4.1: Don't decode skipped layoutgets
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
11 years agoALSA: usb/quirks, fix out-of-bounds access
Jiri Slaby [Sun, 17 Feb 2013 13:33:04 +0000 (14:33 +0100)]
ALSA: usb/quirks, fix out-of-bounds access

bootresponse in snd_usb_mbox2_boot_quirk is only 12 (decimal) u8's
long, but i9s passed to snd_usb_ctl_msg as it would be 0x12 (hexa)
long. Fix that by having proper size of the array, i.e. 0x12.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
11 years agoopenrisc: really pass correct arg to schedule_tail
Jonas Bonn [Fri, 15 Feb 2013 16:07:17 +0000 (17:07 +0100)]
openrisc: really pass correct arg to schedule_tail

Commit 287ad220cd8b5a9d29f71c78f6e4051093f051fc tried to set up the argument
to schedule_tail, but ended up using TI_STACK which isn't a defined symbol.
Sadly, the old openrisc compiler silently ignores this fact and it was first
discovered now when building with an updated toolchain.

Reported-by: Christian Svensson <blue@cmd.nu>
Signed-off-by: Jonas Bonn <jonas@southpole.se>
11 years agoAdd bitops include needed for ext2 filesystem
Sebastian Macke [Fri, 15 Feb 2013 06:54:41 +0000 (07:54 +0100)]
Add bitops include needed for ext2 filesystem

Signed-off-by: Jonas Bonn <jonas@southpole.se>
11 years agoopenrisc: update DTLB-miss handler last
Jonas Bonn [Thu, 14 Feb 2013 06:42:30 +0000 (07:42 +0100)]
openrisc: update DTLB-miss handler last

The self-modifying code that updates the TLB handler at start-up has
a subtle ordering requirement:  the DTLB handler must be the last thing
changed.

What I was seeing was the following:

i)   The DTLB handler was updated
ii)  The following printk caused a TLB miss and the look-up resulted
     in the page containing itlb_vector (0xc0000a00) being bounced from
     the TLB.
iii) The subsequent access to itlb_vector caused a TLB miss and reload
     of the page containing itlb_vector from the page tables.
iv)  But this reload of the page in iii) was being done by the "new"
     DTLB-miss handler which resulted (correctly) in the page flags being
     set to read-only; the subsequent write-access to itlb_vector thus
     resulted in a page (access) fault.

This is easily remedied if we ensure that the boot-time DTLB-miss handler
continues running until the very last bit of self-modifying code has been
executed.  This patch should ensure that the very last thing updated is the
DTLB-handler itself.

Signed-off-by: Jonas Bonn <jonas@southpole.se>
Acked-by: Julius Baxter <juliusbaxter@gmail.com>
Tested-by: Sebastian Macke <sebastian@macke.de>
11 years agoInput: cyttsp-spi - remove duplicate MODULE_ALIAS()
Dmitry Torokhov [Sun, 17 Feb 2013 06:07:41 +0000 (22:07 -0800)]
Input: cyttsp-spi - remove duplicate MODULE_ALIAS()

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
11 years agoInput: tsc2005 - add MODULE_ALIAS
Pali Rohár [Sun, 17 Feb 2013 06:01:44 +0000 (22:01 -0800)]
Input: tsc2005 - add MODULE_ALIAS

This enables autoloading of tsc2005 driver when is compiled as a module.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
11 years agoMerge branch 'kbuild/kbuild' into kbuild/for-next
Michal Marek [Sat, 16 Feb 2013 22:21:42 +0000 (23:21 +0100)]
Merge branch 'kbuild/kbuild' into kbuild/for-next

11 years agokernel: Replace timeconst.pl with a bc script
H. Peter Anvin [Thu, 14 Feb 2013 23:13:55 +0000 (15:13 -0800)]
kernel: Replace timeconst.pl with a bc script

bc is the standard tool for multi-precision arithmetic.  We switched
to Perl because akpm reported a hard-to-reproduce build hang, which
was very odd because affected and unaffected machines were all running
the same version of GNU bc.

Unfortunately switching to Perl required a really ugly "canning"
mechanism to support Perl < 5.8 installations lacking the Math::BigInt
module.

It was recently pointed out to me that some very old versions of GNU
make had problems with pipes in subshells, which was indeed the
construct used in the Makefile rules in that version of the patch;
Perl didn't need it so switching to Perl fixed the problem for
unrelated reasons.  With the problem (hopefully) root-caused, we can
switch back to bc and do the arbitrary-precision arithmetic naturally.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
11 years agoMerge branches 'devel-stable', 'fixes' and 'mmci' into for-next
Russell King [Sat, 16 Feb 2013 17:56:42 +0000 (17:56 +0000)]
Merge branches 'devel-stable', 'fixes' and 'mmci' into for-next

11 years agoMerge branch 'misc' into for-next
Russell King [Sat, 16 Feb 2013 17:56:32 +0000 (17:56 +0000)]
Merge branch 'misc' into for-next

Conflicts:
arch/arm/include/asm/memory.h

11 years agoARM: 7650/1: mm: replace direct access to mm->context.id with new macro
Ben Dooks [Mon, 11 Feb 2013 11:25:05 +0000 (12:25 +0100)]
ARM: 7650/1: mm: replace direct access to mm->context.id with new macro

The mmid macro is meant to be used to get the mm->context.id data
from the mm structure, but it seems to have been missed in a cuple
of files.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: 7649/1: mm: mm->context.id fix for big-endian
Ben Dooks [Mon, 11 Feb 2013 11:25:06 +0000 (12:25 +0100)]
ARM: 7649/1: mm: mm->context.id fix for big-endian

Since the new ASID code in b5466f8728527a05a493cc4abe9e6f034a1bbaab
("ARM: mm: remove IPI broadcasting on ASID rollover") was changed to
use 64bit operations it has broken the BE operation due to an issue
with the MM code accessing sub-fields of mm->context.id.

When running in BE mode we see the values in mm->context.id are stored
with the highest value first, so the LDR in the arch/arm/mm/proc-macros.S
reads the wrong part of this field. To resolve this, change the LDR in
the mmid macro to load from +4.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: 7648/1: pci: Allow passing per-controller private data
Thierry Reding [Mon, 11 Feb 2013 07:46:10 +0000 (08:46 +0100)]
ARM: 7648/1: pci: Allow passing per-controller private data

In order to allow drivers to specify private data for each controller,
this commit adds a private_data field to the struct hw_pci. This field
is an array of nr_controllers pointers that will be used to initialize
the private_data field of the corresponding controller's pci_sys_data
structure.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: 7647/1: pci: Keep pci_common_init() around after init
Thierry Reding [Mon, 11 Feb 2013 07:44:47 +0000 (08:44 +0100)]
ARM: 7647/1: pci: Keep pci_common_init() around after init

When using deferred driver probing, PCI host controller drivers may
actually require this function after the init stage.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: fix warnings introduced by previous patch
Russell King [Thu, 14 Feb 2013 10:50:04 +0000 (10:50 +0000)]
ARM: fix warnings introduced by previous patch

869486d5f51 (ARM: 7646/1: mm: use static_vm for managing static mapped
areas) introduced new warnings:

arch/arm/mm/mmu.c: In function 'pci_reserve_io':
arch/arm/mm/mmu.c:888:16: warning: unused variable 'addr'
arch/arm/mm/mmu.c:887:20: warning: unused variable 'vm'

because it failed to delete the two local variables it no longer used.
Fix this.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: 7646/1: mm: use static_vm for managing static mapped areas
Joonsoo Kim [Sat, 9 Feb 2013 05:28:06 +0000 (06:28 +0100)]
ARM: 7646/1: mm: use static_vm for managing static mapped areas

A static mapped area is ARM-specific, so it is better not to use
generic vmalloc data structure, that is, vmlist and vmlist_lock
for managing static mapped area. And it causes some needless overhead and
reducing this overhead is better idea.

Now, we have newly introduced static_vm infrastructure.
With it, we don't need to iterate all mapped areas. Instead, we just
iterate static mapped areas. It helps to reduce an overhead of finding
matched area. And architecture dependency on vmalloc layer is removed,
so it will help to maintainability for vmalloc layer.

Reviewed-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
11 years agoARM: 7645/1: ioremap: introduce an infrastructure for static mapped area
Joonsoo Kim [Sat, 9 Feb 2013 05:28:05 +0000 (06:28 +0100)]
ARM: 7645/1: ioremap: introduce an infrastructure for static mapped area

In current implementation, we used ARM-specific flag, that is,
VM_ARM_STATIC_MAPPING, for distinguishing ARM specific static mapped area.
The purpose of static mapped area is to re-use static mapped area when
entire physical address range of the ioremap request can be covered
by this area.

This implementation causes needless overhead for some cases.
For example, assume that there is only one static mapped area and
vmlist has 300 areas. Every time we call ioremap, we check 300 areas for
deciding whether it is matched or not. Moreover, even if there is
no static mapped area and vmlist has 300 areas, every time we call
ioremap, we check 300 areas in now.

If we construct a extra list for static mapped area, we can eliminate
above mentioned overhead.
With a extra list, if there is one static mapped area,
we just check only one area and proceed next operation quickly.

In fact, it is not a critical problem, because ioremap is not frequently
used. But reducing overhead is better idea.

Another reason for doing this work is for removing architecture dependency
on vmalloc layer. I think that vmlist and vmlist_lock is internal data
structure for vmalloc layer. Some codes for debugging and stat inevitably
use vmlist and vmlist_lock. But it is preferable that they are used
as least as possible in outside of vmalloc.c

Now, I introduce an ARM-specific infrastructure for static mapped area. In
the following patch, we will use this and resolve above mentioned problem.

Reviewed-by: Nicolas Pitre <nico@linaro.org>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>