Sven Schnelle
6feeee8efc
s390/ftrace: fix endless recursion in function_graph tracer
...
The following sequence triggers a kernel stack overflow on s390x:
mount -t tracefs tracefs /sys/kernel/tracing
cd /sys/kernel/tracing
echo function_graph > current_tracer
[crash]
This is because preempt_count_{add,sub} are in the list of traced
functions, which can be demonstrated by:
echo preempt_count_add >set_ftrace_filter
echo function_graph > current_tracer
[crash]
The stack overflow happens because get_tod_clock_monotonic() gets called
by ftrace but itself calls preempt_{disable,enable}(), which leads to a
endless recursion. Fix this by using preempt_{disable,enable}_notrace().
Fixes: 011620688a ("s390/time: ensure get_clock_monotonic() returns monotonic values")
Signed-off-by: Sven Schnelle <svens@linux.ibm.com >
Reviewed-by: Vasily Gorbik <gor@linux.ibm.com >
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com >
2019-12-18 23:29:26 +01:00
..
2019-06-15 12:25:05 +02:00
2018-03-28 08:38:27 +02:00
2019-10-31 17:20:51 +01:00
2019-05-28 14:49:38 +02:00
2018-10-09 11:20:50 +02:00
2018-05-30 11:18:04 +02:00
2019-10-04 16:37:33 +02:00
2019-06-03 12:32:56 +02:00
2018-02-05 07:51:41 +01:00
2019-11-07 13:15:39 +11:00
2019-04-26 12:34:05 +02:00
2019-10-31 17:20:51 +01:00
2017-12-05 07:51:09 +01:00
2019-06-15 12:25:00 +02:00
2018-10-08 09:09:59 +02:00
2018-03-26 16:13:11 +02:00
2019-06-19 17:54:27 +02:00
2018-08-29 15:42:20 +02:00
2019-10-04 16:37:33 +02:00
2019-02-22 09:19:56 +01:00
2019-02-22 09:19:52 +01:00
2019-11-30 10:52:46 +01:00
2018-06-12 15:14:05 +02:00
2019-11-20 12:58:12 +01:00
2019-07-05 13:42:22 +02:00
2019-04-29 10:47:10 +02:00
2018-01-23 07:36:53 +01:00
2017-12-13 10:51:36 +01:00
2018-02-02 10:47:14 +01:00
2019-05-03 17:17:58 +02:00
2019-04-25 15:34:10 +02:00
2019-04-29 10:47:10 +02:00
2019-06-19 17:54:27 +02:00
2019-05-02 13:54:11 +02:00
2017-11-14 11:01:47 +01:00
2019-08-21 12:41:43 +02:00
2018-05-14 11:25:28 +02:00
2019-10-04 16:37:33 +02:00
2019-06-04 15:03:18 +02:00
2019-11-11 21:18:19 +01:00
2019-04-29 10:47:10 +02:00
2019-04-29 10:47:01 +02:00
2019-02-05 14:29:23 +01:00
2019-10-04 16:37:33 +02:00
2018-10-09 11:21:29 +02:00
2019-05-06 16:57:52 -07:00
2019-04-29 10:47:10 +02:00
2018-06-21 12:33:10 +02:00
2019-10-10 13:18:38 +02:00
2018-03-06 18:40:44 +01:00
2019-04-29 10:47:10 +02:00
2019-05-10 17:53:29 -04:00
2019-05-03 17:17:58 +02:00
2019-08-26 12:51:18 +02:00
2019-08-09 22:52:11 +10:00
2019-01-11 17:12:02 +01:00
2018-09-20 13:20:29 +02:00
2019-07-16 19:23:22 -07:00
2018-04-11 17:46:00 +02:00
2019-05-02 13:54:11 +02:00
2019-11-01 09:41:18 +00:00
2019-10-14 10:22:26 -05:00
2018-01-10 16:41:19 +01:00
2019-07-11 20:40:02 +02:00
2019-04-29 10:47:01 +02:00
2019-10-14 10:22:26 -05:00
2019-06-07 10:09:37 +02:00
2019-11-30 10:52:44 +01:00
2019-10-31 17:20:54 +01:00
2019-10-31 17:20:54 +01:00
2019-08-21 12:58:53 +02:00
2019-02-07 18:06:18 -08:00
2018-12-07 12:35:46 +00:00
2019-11-30 10:52:44 +01:00
2019-07-16 19:23:22 -07:00
2018-07-06 08:47:51 +02:00
2019-10-31 17:20:52 +01:00
2018-02-02 10:47:15 +01:00
2019-07-11 20:40:02 +02:00
2018-02-22 15:31:24 +01:00
2019-04-29 10:47:10 +02:00
2019-12-11 19:53:24 +01:00
2019-06-07 10:09:42 +02:00
2019-10-31 17:20:51 +01:00
2019-11-30 10:52:47 +01:00
2019-08-21 12:58:52 +02:00
2017-12-05 07:51:08 +01:00
2019-04-11 13:36:51 +02:00
2019-05-07 19:06:04 -07:00
2018-02-02 10:47:15 +01:00
2019-07-16 19:23:22 -07:00
2019-12-18 23:29:26 +01:00
2019-04-03 10:32:57 +02:00
2019-06-07 10:09:37 +02:00
2017-11-20 08:51:01 +01:00
2019-10-11 12:27:25 +02:00
2019-07-23 10:45:53 +02:00
2019-11-30 10:52:48 +01:00
2019-12-11 19:53:24 +01:00
2019-11-30 10:52:44 +01:00
2017-12-05 07:51:09 +01:00
2019-04-10 17:47:09 +02:00
2019-02-07 11:57:10 +01:00