summaryrefslogtreecommitdiff
path: root/drivers/pinctrl/qcom/pinctrl-msm.c
diff options
context:
space:
mode:
authorBoqun Feng <boqun.feng@gmail.com>2020-11-02 13:37:41 +0800
committerPeter Zijlstra <peterz@infradead.org>2020-11-10 18:38:38 +0100
commitd61fc96a37603384cd531622c1e89de1096b5123 (patch)
tree5d490e5ac875caf6a9bae5146b91dd3140df37ca /drivers/pinctrl/qcom/pinctrl-msm.c
parent1e106aa3509b86738769775969822ffc1ec21bf4 (diff)
lockdep: Avoid to modify chain keys in validate_chain()
Chris Wilson reported a problem spotted by check_chain_key(): a chain key got changed in validate_chain() because we modify the ->read in validate_chain() to skip checks for dependency adding, and ->read is taken into calculation for chain key since commit f611e8cf98ec ("lockdep: Take read/write status in consideration when generate chainkey"). Fix this by avoiding to modify ->read in validate_chain() based on two facts: a) since we now support recursive read lock detection, there is no need to skip checks for dependency adding for recursive readers, b) since we have a), there is only one case left (nest_lock) where we want to skip checks in validate_chain(), we simply remove the modification for ->read and rely on the return value of check_deadlock() to skip the dependency adding. Reported-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20201102053743.450459-1-boqun.feng@gmail.com
Diffstat (limited to 'drivers/pinctrl/qcom/pinctrl-msm.c')
0 files changed, 0 insertions, 0 deletions