Steven Rostedt (VMware)
b02414c8f0
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: 567cd4da54
("ring-buffer: User context bit recursion checking")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org >
2020-11-02 15:58:32 -05:00
..
2020-10-05 10:38:33 -06:00
2020-10-15 18:42:13 -07:00
2020-07-13 16:55:49 -07:00
2020-09-21 21:06:02 -04:00
2020-05-12 18:24:34 -04:00
2020-10-15 15:51:28 -07:00
2020-06-09 10:06:18 -07:00
2020-01-30 09:46:28 -05:00
2020-08-09 14:10:26 -07:00
2017-11-02 11:10:55 +01:00
2020-05-11 17:00:34 -04:00
2020-07-29 11:43:53 +02:00
2020-11-02 15:58:32 -05:00
2017-11-02 11:10:55 +01:00
2020-10-05 19:32:18 -04:00
2019-10-18 15:01:57 +02:00
2018-08-16 19:08:06 -04:00
2020-10-15 12:01:13 -04:00
2020-01-13 13:19:38 -05:00
2018-08-16 19:08:06 -04:00
2020-09-21 21:06:02 -04:00
2020-02-01 13:09:23 -05:00
2020-06-16 21:21:02 -04:00
2019-10-28 12:38:26 +01:00
2018-08-16 19:08:06 -04:00
2020-08-23 17:36:59 -05:00
2020-10-15 12:00:59 -04:00
2020-01-02 19:04:57 -05:00
2020-10-27 09:25:36 -04:00
2020-06-23 21:51:40 -04:00
2020-10-16 14:56:52 -07:00
2020-10-25 14:51:49 -07:00
2020-09-18 22:17:14 -04:00
2020-09-21 21:06:04 -04:00
2020-09-18 22:17:14 -04:00
2020-01-13 13:19:38 -05:00
2020-01-13 13:19:38 -05:00
2018-07-30 18:41:04 -04:00
2018-08-16 19:08:06 -04:00
2020-09-24 15:55:49 +02:00
2020-01-13 13:19:38 -05:00
2017-11-02 11:10:55 +01:00
2020-09-18 12:42:11 -04:00
2018-08-16 19:08:06 -04:00
2020-09-14 10:08:07 +02:00
2020-10-15 15:51:28 -07:00
2019-05-25 23:04:42 -04:00
2020-06-16 21:21:02 -04:00
2020-10-15 12:01:13 -04:00
2020-01-30 09:46:10 -05:00
2020-01-13 13:19:38 -05:00
2018-01-23 15:57:29 -05:00
2020-11-02 08:52:18 -05:00
2020-01-21 18:39:54 -05:00
2020-09-18 22:17:14 -04:00
2020-09-18 22:17:14 -04:00
2019-11-14 13:15:11 -05:00
2020-10-05 19:32:18 -04:00
2020-02-06 07:12:11 +00:00
2020-09-21 21:06:03 -04:00
2020-11-02 11:21:40 -05:00
2020-11-02 08:52:18 -05:00
2020-09-21 21:06:02 -04:00
2018-08-16 19:08:06 -04:00