summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-06-26cgroup: always use RCU accessors for protected accessesTejun Heo
kernel/cgroup.c still has places where a RCU pointer is set and accessed directly without going through RCU_INIT_POINTER() or rcu_dereference_protected(). They're all properly protected accesses so nothing is broken but it leads to spurious sparse RCU address space warnings. Substitute direct accesses with RCU_INIT_POINTER() and rcu_dereference_protected(). Note that %true is specified as the extra condition for all derference updates. This isn't ideal as all it does is suppressing warning without actually policing synchronization rules; however, most are scheduled to be removed pretty soon along with css_id itself, so no reason to be more elaborate. Combined with the previous changes, this removes all RCU related sparse warnings from cgroup. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Fengguang Wu <fengguang.wu@intel.com> Acked-by; Li Zefan <lizefan@huawei.com>
2013-06-26[SCSI] lpfc 8.3.40: Fix to allow OCM to report FEC statusJames Smart
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26[SCSI] lpfc 8.3.40: Fixed a missing return code in a logging messageJames Smart
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26[SCSI] lpfc 8.3.40: Fixed some logging message fieldsJames Smart
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26[SCSI] lpfc 8.3.40: Fixed list corruption when lpfc_drain_tx runs.James Smart
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26[SCSI] lpfc 8.3.40: Fix starting reference tag when calculating BG errorJames Smart
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26[SCSI] lpfc 8.3.40: Fix inconsistent list removal causes crash.James Smart
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26[SCSI] lpfc 8.3.40: Fixed system panic during handling unsolicited receive ↵James Smart
buffer error condition Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26[SCSI] lpfc 8.3.40: Fix BlockGuard error checkingJames Smart
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26[SCSI] lpfc 8.3.40: Fixed crash during FCoE failover testing.James Smart
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26[SCSI] lpfc 8.3.40: Fix lpfc_used_cpu to be more dynamicJames Smart
Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26cgroup: fix RCU accesses around task->cgroupsTejun Heo
There are several places in kernel/cgroup.c where task->cgroups is accessed and modified without going through proper RCU accessors. None is broken as they're all lock protected accesses; however, this still triggers sparse RCU address space warnings. * Consistently use task_css_set() for task->cgroups dereferencing. * Use RCU_INIT_POINTER() to clear task->cgroups to &init_css_set on exit. * Remove unnecessary rcu_dereference_raw() from cset->subsys[] dereference in cgroup_exit(). Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Fengguang Wu <fengguang.wu@intel.com> Acked-by: Li Zefan <lizefan@huawei.com>
2013-06-26[SCSI] ipr: possible irq lock inversion dependency detectedwenxiong@linux.vnet.ibm.com
When enable lockdep, seeing "possible irq lock inversion dependency detected" error. This patch fixes the issue. Signed-off-by: Wen Xiong <wenxiong@linux.vnet.ibm.com> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26[SCSI] cxgb4i: add support for T5 adapterKaren Xie
Signed-off-by: Karen Xie <kxie@chelsio.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26cgroup: fix RCU accesses to task->cgroupsTejun Heo
task->cgroups is a RCU pointer pointing to struct css_set. A task switches to a different css_set on cgroup migration but a css_set doesn't change once created and its pointers to cgroup_subsys_states aren't RCU protected. task_subsys_state[_check]() is the macro to acquire css given a task and subsys_id pair. It RCU-dereferences task->cgroups->subsys[] not task->cgroups, so the RCU pointer task->cgroups ends up being dereferenced without read_barrier_depends() after it. It's broken. Fix it by introducing task_css_set[_check]() which does RCU-dereference on task->cgroups. task_subsys_state[_check]() is reimplemented to directly dereference ->subsys[] of the css_set returned from task_css_set[_check](). This removes some of sparse RCU warnings in cgroup. v2: Fixed unbalanced parenthsis and there's no need to use rcu_dereference_raw() when !CONFIG_PROVE_RCU. Both spotted by Li. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Fengguang Wu <fengguang.wu@intel.com> Acked-by: Li Zefan <lizefan@huawei.com> Cc: stable@vger.kernel.org
2013-06-26cgroup: grab cgroup_mutex in drop_parsed_module_refcounts()Tejun Heo
This isn't strictly necessary as all subsystems specified in @subsys_mask are guaranteed to be pinned; however, it does spuriously trigger lockdep warning. Let's grab cgroup_mutex around it. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Li Zefan <lizefan@huawei.com>
2013-06-26cgroup: fix cgroupfs_root early destruction pathTejun Heo
cgroupfs_root used to have ->actual_subsys_mask in addition to ->subsys_mask. a8a648c4ac ("cgroup: remove cgroup->actual_subsys_mask") removed it noting that the subsys_mask is essentially temporary and doesn't belong in cgroupfs_root; however, the patch made it impossible to tell whether a cgroupfs_root actually has the subsystems bound or just have the bits set leading to the following BUG when trying to mount with subsystems which are already mounted elsewhere. kernel BUG at kernel/cgroup.c:1038! invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC ... CPU: 1 PID: 7973 Comm: mount Tainted: G W 3.10.0-rc7-next-20130625-sasha-00011-g1c1dc0e #1105 task: ffff880fc0ae8000 ti: ffff880fc0b9a000 task.ti: ffff880fc0b9a000 RIP: 0010:[<ffffffff81249b29>] [<ffffffff81249b29>] rebind_subsystems+0x409/0x5f0 ... Call Trace: [<ffffffff8124bd4f>] cgroup_kill_sb+0xff/0x210 [<ffffffff813d21af>] deactivate_locked_super+0x4f/0x90 [<ffffffff8124f3b3>] cgroup_mount+0x673/0x6e0 [<ffffffff81257169>] cpuset_mount+0xd9/0x110 [<ffffffff813d2580>] mount_fs+0xb0/0x2d0 [<ffffffff81404afd>] vfs_kern_mount+0xbd/0x180 [<ffffffff814070b5>] do_new_mount+0x145/0x2c0 [<ffffffff814085d6>] do_mount+0x356/0x3c0 [<ffffffff8140873d>] SyS_mount+0xfd/0x140 [<ffffffff854eb600>] tracesys+0xdd/0xe2 We still want rebind_subsystems() to take added/removed masks, so let's fix it by marking whether a cgroupfs_root has finished binding or not. Also, document what's going on around ->subsys_mask initialization so that similar mistakes aren't repeated. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Sasha Levin <sasha.levin@oracle.com> Acked-by: Li Zefan <lizefan@huawei.com>
2013-06-26Revert "char: misc: assign file->private_data in all cases"Greg Kroah-Hartman
This reverts commit 585d98e00ba7a5e2abe65f7a1eff631cb612289b, as it breaks the FUSE misc driver. Reported-by: Sedat Dilek <sedat.dilek@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-06-26dlm: Avoid LVB truncationBart Van Assche
For lockspaces with an LVB length above 64 bytes, avoid truncating the LVB while exchanging it with another node in the cluster. Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: David Teigland <teigland@redhat.com>
2013-06-26[SCSI] sd: Fix parsing of 'temporary ' cache mode prefixBen Hutchings
Commit 39c60a0948cc '[SCSI] sd: fix array cache flushing bug causing performance problems' added temp as a pointer to "temporary " and used sizeof(temp) - 1 as its length. But sizeof(temp) is the size of the pointer, not the size of the string constant. Change temp to a static array so that sizeof() does what was intended. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Cc: stable@vger.kernel.org Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26regulator: ab8500-ext: Staticize local symbolsSachin Kamat
Local symbols used only in this file are made static. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-06-26ASoC: mid-x86: Convert to use devm_* APIsWei Yongjun
devm_* APIs are device managed and make code simpler. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Mark Brown <broonie@linaro.org>
2013-06-26Merge remote-tracking branch 'spi/topic/xilinx' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/txx9' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/topcliff' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/sirf' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/s3c64xx' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/s3c24xx' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/pxa' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/pl022' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/pdata' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/omap' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/nuc900' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/mxs' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/mpc512x' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/imx' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/fsl' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/ep93xx' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/core' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/coldfire-qspi' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/bpw' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/bcm2835' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/topic/atmel' into spi-nextMark Brown
2013-06-26Merge remote-tracking branch 'spi/fix/xilinx' into spi-linusMark Brown
2013-06-26Merge remote-tracking branch 'spi/fix/s3c64xx' into spi-linusMark Brown
2013-06-26Merge remote-tracking branch 'spi/fix/pxa' into spi-linusMark Brown
2013-06-26spi/s3c64xx: Rely on the compiler eliminating the OF ID tableMark Brown
This should work with modern compilers, isn't that much of an issue if it goes wrong and it ensures that the DT-only hardware variants don't leave unreferenced parameters structures lying around. Signed-off-by: Mark Brown <broonie@linaro.org>
2013-06-26[SCSI] bfa: Fixes for 0-terminated strncpy and possible null pointer dereferenceJakob Normark
This patch fixes two cppcheck errors in drivers/scsi/bfa/bfad_im.c [jejb: correct strlcpy fix] Signed-off-by: Jakob Normark <jakobnormark@gmail.com> Acked-by: Vijay Mohan Guvva <vmohan@brocade.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-06-26Merge tag 'at91-dt' of git://github.com/at91linux/linux-at91 into next/dtArnd Bergmann
From Nicolas Ferre: - more SPI DT activation for rm9200 - SPI DMA for at91sam9n12/sama5d3 And one little fix for SPI compatibility string * tag 'at91-dt' of git://github.com/at91linux/linux-at91: ARM: at91: dt: rm9200ek: add spi support ARM: at91: dt: rm9200: add spi support ARM: at91/DT: at91sam9n12: add SPI DMA client infos ARM: at91/DT: sama5d3: add SPI DMA client infos ARM: at91/DT: fix SPI compatibility string Conflicts: arch/arm/boot/dts/sama5d3.dtsi Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2013-06-26Merge tag 'omap-pm-v3.11/fixes/omap5-voltdm' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into next/soc From Kevin Hilman: OMAP5: PM: fix boot by removing unneeded dummy voltage domain data * tag 'omap-pm-v3.11/fixes/omap5-voltdm' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm: ARM: OMAP5: voltagedomain data: remove temporary OMAP4 voltage data Signed-off-by: Arnd Bergmann <arnd@arndb.de>