Sven Schnelle
ddf4aada93
s390/ftrace: fix endless recursion in function_graph tracer
...
[ Upstream commit 6feeee8efc ]
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 >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2019-12-31 16:36:20 +01:00
..
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-03-28 08:38:27 +02:00
2017-12-05 07:51:09 +01:00
2019-06-25 11:35:53 +08:00
2017-11-02 11:10:55 +01:00
2018-05-30 11:18:04 +02:00
2017-11-02 11:10:55 +01:00
2017-11-13 11:47:01 -08:00
2018-06-21 14:25:24 +02:00
2018-02-05 07:51:41 +01:00
2018-01-26 10:47:38 +01:00
2017-11-02 11:10:55 +01:00
2017-12-05 07:51:09 +01:00
2017-11-02 11:10:55 +01:00
2018-05-23 08:06:56 +02:00
2018-05-23 08:06:58 +02:00
2017-11-02 11:10:55 +01:00
2018-03-26 16:13:11 +02:00
2018-04-10 07:38:59 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-20 16:19:58 +02:00
2017-11-13 11:47:01 -08:00
2017-11-02 11:10:55 +01:00
2018-07-31 11:02:27 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-06-12 15:14:05 +02:00
2018-05-17 09:02:27 +02:00
2017-11-02 11:10:55 +01:00
2017-11-13 11:47:01 -08:00
2017-11-02 11:10:55 +01:00
2018-01-02 13:52:23 -05:00
2018-01-23 07:36:53 +01:00
2017-11-02 11:10:55 +01:00
2017-12-13 10:51:36 +01:00
2018-02-02 10:47:14 +01:00
2017-11-02 11:10:55 +01:00
2019-05-04 09:20:11 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-07-21 09:03:14 +02:00
2017-11-02 11:10:55 +01:00
2018-08-15 22:39:53 -04:00
2017-11-14 11:01:47 +01:00
2018-07-30 11:20:18 +01:00
2018-05-14 11:25:28 +02:00
2018-07-30 11:20:18 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-10 07:39:00 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-06-25 11:35:52 +08:00
2018-02-01 16:56:07 -08:00
2017-11-02 11:10:55 +01:00
2018-04-16 09:10:23 +02:00
2018-06-21 12:33:10 +02:00
2019-03-23 20:10:13 +01:00
2018-03-06 18:40:44 +01:00
2017-11-02 11:10:55 +01:00
2017-11-24 15:37:22 +01:00
2018-07-02 11:25:01 +02:00
2019-11-20 18:47:53 +01:00
2019-11-20 18:47:08 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-13 11:47:01 -08:00
2018-04-11 17:46:00 +02:00
2018-06-25 10:14:37 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-08-16 10:12:50 +02:00
2017-11-02 11:10:55 +01:00
2017-11-13 11:47:01 -08:00
2018-01-10 16:41:19 +01:00
2017-11-13 11:47:01 -08:00
2017-11-02 11:10:55 +01:00
2018-07-04 08:35:58 +02:00
2017-11-02 11:10:55 +01:00
2017-12-05 15:02:41 +01:00
2019-12-31 16:35:31 +01:00
2019-12-17 20:34:57 +01:00
2017-11-02 11:10:55 +01:00
2018-05-30 11:18:03 +02:00
2017-11-02 11:10:55 +01:00
2018-02-05 14:48:50 +01:00
2017-12-05 15:02:41 +01:00
2018-07-06 08:47:51 +02:00
2018-06-25 10:14:37 +02:00
2018-02-02 10:47:15 +01:00
2017-11-02 11:10:55 +01:00
2018-09-20 13:20:23 +02:00
2018-02-22 15:31:24 +01:00
2017-11-02 11:10:55 +01:00
2018-07-02 11:24:58 +02:00
2017-12-05 07:51:09 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-07-02 11:25:05 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-13 11:47:01 -08:00
2017-11-02 11:10:55 +01:00
2017-11-13 11:47:01 -08:00
2017-11-13 12:38:26 -08:00
2017-11-02 11:10:55 +01:00
2017-11-13 11:47:01 -08:00
2017-12-05 07:51:08 +01:00
2017-11-24 15:37:22 +01:00
2018-02-02 10:47:15 +01:00
2017-11-02 11:10:55 +01:00
2018-04-23 07:57:17 +02:00
2019-12-31 16:36:20 +01:00
2018-11-27 16:13:03 +01:00
2017-11-02 11:10:55 +01:00
2017-11-20 08:51:01 +01:00
2019-11-06 13:06:08 +01:00
2018-01-23 07:36:52 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-14 22:07:49 +01:00
2017-12-05 07:51:09 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00