Date: Sat, 24 Oct 2015 14:33:50 +0200
From: Manuel Bouyer <[email protected]>
I looked a bit, and it's not that easy.
sysmon_envsys_refresh_sensor() is called from various places with sme_mtx
held; sometimes the function calling sysmon_envsys_refresh_sensor() is
entered with the lock held.
Yes... The locking was very badly done to begin with. However, I am
pretty confident that the structure I quoted is the right thing, even
if it requires more changes beyond the ioctl in question.
sme_mtx protects various states of sme, and
reworking this requires quite a bit of work (dropping it before calling
sysmon_envsys_refresh_sensor() and reaquiring after is not an option).
More work than I can put in this right now ...
Please document any lock requirements that are not written down, if
you've found any!