summaryrefslogtreecommitdiff
path: root/drivers/thermal/qcom
diff options
context:
space:
mode:
authorAaron Hill <aa1ronham@gmail.com>2018-12-24 14:23:36 -0500
committerZhang Rui <rui.zhang@intel.com>2019-01-18 15:23:04 +0800
commit129699bb8c7572106b5bbb2407c2daee4727ccad (patch)
treedb0c6f3b102bae69131935b851967a4cd983fa0f /drivers/thermal/qcom
parent3fe931b31a4078395c1967f0495dcc9e5ec6b5e3 (diff)
drivers: thermal: int340x_thermal: Fix sysfs race condition
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>
Diffstat (limited to 'drivers/thermal/qcom')
0 files changed, 0 insertions, 0 deletions