summaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorAaron Hill <aa1ronham@gmail.com>2018-12-24 14:23:36 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-03-05 17:58:48 +0100
commita99e0377cca48de101d64c6f76704c57c9d96efd (patch)
treec8c8fc79117cdd8be1b09447d6ab72f19b8c236e /block
parent4749ffdfbb090fa88f5e76c5df16f7bff5677a85 (diff)
drivers: thermal: int340x_thermal: Fix sysfs race condition
[ Upstream commit 129699bb8c7572106b5bbb2407c2daee4727ccad ] Changes since V1: * Use dev_info instead of printk * Use dev_warn instead of BUG_ON Previously, sysfs_create_group was called before all initialization had fully run - specifically, before pci_set_drvdata was called. Since the sysctl group is visible to userspace as soon as sysfs_create_group returns, a small window of time existed during which a process could read from an uninitialized/partially-initialized device. This commit moves the creation of the sysctl group to after all initialized is completed. This ensures that it's impossible for userspace to read from a sysctl file before initialization has fully completed. To catch any future regressions, I've added a check to ensure that proc_thermal_emum_mode is never PROC_THERMAL_NONE when a process tries to read from a sysctl file. Previously, the aforementioned race condition could result in the 'else' branch running while PROC_THERMAL_NONE was set, leading to a null pointer deference. Signed-off-by: Aaron Hill <aa1ronham@gmail.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions