summaryrefslogtreecommitdiffstats
path: root/mm/percpu-stats.c
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2020-11-02 15:31:27 -0500
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2020-11-02 15:58:32 -0500
commitb02414c8f045ab3b9afc816c3735bc98c5c3d262 (patch)
tree75e60c0537587c50e6690847ffc0aa7515a03ece /mm/percpu-stats.c
parent906695e59324635c62b5ae59df111151a546ca66 (diff)
downloadlinux-b02414c8f045ab3b9afc816c3735bc98c5c3d262.tar.gz
linux-b02414c8f045ab3b9afc816c3735bc98c5c3d262.tar.bz2
linux-b02414c8f045ab3b9afc816c3735bc98c5c3d262.zip
ring-buffer: Fix recursion protection transitions between interrupt context
The recursion protection of the ring buffer depends on preempt_count() to be correct. But it is possible that the ring buffer gets called after an interrupt comes in but before it updates the preempt_count(). This will trigger a false positive in the recursion code. Use the same trick from the ftrace function callback recursion code which uses a "transition" bit that gets set, to allow for a single recursion for to handle transitions between contexts. Cc: stable@vger.kernel.org Fixes: 567cd4da54ff4 ("ring-buffer: User context bit recursion checking") Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'mm/percpu-stats.c')
0 files changed, 0 insertions, 0 deletions