Kui-Feng Lee
7ff94f276f
bpf: keep a reference to the mm, in case the task is dead.
...
Fix the system crash that happens when a task iterator travel through
vma of tasks.
In task iterators, we used to access mm by following the pointer on
the task_struct; however, the death of a task will clear the pointer,
even though we still hold the task_struct. That can cause an
unexpected crash for a null pointer when an iterator is visiting a
task that dies during the visit. Keeping a reference of mm on the
iterator ensures we always have a valid pointer to mm.
Co-developed-by: Song Liu <song@kernel.org>
Signed-off-by: Song Liu <song@kernel.org>
Signed-off-by: Kui-Feng Lee <kuifeng@meta.com>
Reported-by: Nathan Slingerland <slinger@meta.com>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/r/20221216221855.4122288-2-kuifeng@meta.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2022-12-28 14:11:48 -08:00
..
2022-12-28 14:11:48 -08:00
2022-12-13 19:29:45 -08:00
2022-12-01 00:09:20 +01:00
2022-12-02 11:25:00 +01:00
2022-11-21 09:37:20 +01:00
2022-10-03 14:03:25 -07:00
2022-12-17 14:06:53 -06:00
2022-12-02 12:20:24 +01:00
2022-11-22 18:50:41 -08:00
2022-12-16 14:04:04 +00:00
2022-12-14 12:20:00 -08:00
2022-12-13 14:05:39 -08:00
2022-12-13 19:29:45 -08:00
2022-12-19 07:13:33 -06:00
2022-12-06 12:04:34 +01:00
2022-12-08 11:46:56 +01:00
2022-12-21 07:59:57 -08:00
2022-12-14 12:20:00 -08:00
2022-12-12 16:22:22 -08:00
2022-12-19 07:13:33 -06:00
2022-11-30 16:13:18 -08:00
2022-02-03 11:20:34 -08:00
2022-08-22 18:50:06 -04:00
2022-04-25 14:37:28 +02:00
2022-09-01 17:39:30 -04:00
2022-08-29 19:47:03 -04:00
2022-09-07 11:30:15 -04:00
2022-01-11 13:08:21 -08:00
2022-10-17 14:24:42 -04:00
2022-09-26 19:46:09 -07:00
2022-10-26 10:02:39 +02:00
2022-09-26 10:13:13 -07:00
2022-07-05 13:33:00 -07:00
2022-07-05 13:32:59 -07:00
2022-12-02 12:43:02 +01:00
2022-11-30 16:13:17 -08:00
2022-11-01 10:04:52 -07:00
2022-09-26 19:46:07 -07:00
2022-12-02 13:04:39 -08:00
2022-07-05 13:32:59 -07:00
2022-09-11 21:55:11 -07:00
2022-12-17 14:06:53 -06:00
2022-09-07 21:53:50 +02:00
2022-09-29 04:40:15 +09:00
2022-07-15 18:21:49 +00:00
2022-09-30 16:50:39 +02:00
2022-04-15 14:49:55 -07:00
2022-12-01 15:53:05 -08:00
2022-11-12 18:47:36 -08:00
2022-11-18 12:56:40 -08:00
2022-11-15 00:42:02 -08:00
2022-11-15 00:42:02 -08:00
2022-03-31 10:36:55 +02:00
2022-10-03 14:03:23 -07:00
2022-11-18 13:55:07 -08:00
2022-11-18 13:55:07 -08:00
2022-09-11 21:55:06 -07:00
2022-09-11 21:55:06 -07:00
2022-11-18 10:15:34 +09:00
2022-11-10 19:07:31 +01:00
2022-10-09 16:01:59 -07:00
2022-09-11 21:55:12 -07:00
2022-11-15 00:42:02 -08:00
2022-11-30 19:32:30 +01:00
2022-10-25 15:15:52 -07:00
2022-12-19 12:33:32 -06:00
2022-12-14 12:20:00 -08:00
2022-12-16 03:54:54 -08:00
2022-04-29 14:38:00 -07:00
2022-06-29 13:07:16 +02:00
2022-09-11 21:55:12 -07:00
2022-09-07 21:53:50 +02:00
2022-10-04 15:59:36 +02:00
2022-12-11 19:30:19 -08:00
2022-12-16 03:54:54 -08:00
2022-11-14 09:58:32 +01:00
2022-04-11 17:07:29 -07:00
2022-11-09 18:06:35 +00:00
2022-05-03 14:11:58 -07:00
2022-12-14 12:20:00 -08:00
2022-10-10 12:49:34 -07:00
2022-09-11 21:55:10 -07:00
2022-07-05 13:32:59 -07:00
2022-05-08 01:33:09 -07:00
2022-02-25 09:36:06 +01:00
2022-10-17 16:41:16 +02:00
2022-04-05 09:59:38 +02:00
2022-05-24 11:11:13 -07:00
2022-08-20 15:17:45 -07:00
2022-10-10 10:41:21 -07:00
2022-09-08 16:56:45 -07:00
2022-12-13 19:29:45 -08:00
2022-09-11 21:55:10 -07:00
2022-08-29 12:47:15 +01:00
2022-02-01 17:24:39 -08:00
2022-09-26 13:01:18 -04:00
2022-04-29 14:38:03 -07:00
2022-05-18 18:24:57 -05:00
2022-09-07 21:53:50 +02:00
2022-10-09 16:24:05 -07:00
2022-11-30 20:16:49 -04:00
2022-05-19 23:25:47 -04:00
2022-10-23 12:01:01 -07:00
2022-08-02 19:24:24 -07:00
2022-06-23 18:41:40 +02:00
2022-08-06 16:38:17 -07:00
2022-11-30 13:17:05 -08:00