Suren Baghdasaryan
50d2b75b86
ANDROID: mm: preserve vma->anon_vma after MREMAP_DONTUNMAP for SPF
...
The optimizations [1] and [2] to reset vma->anon_vma during
MREMAP_DONTUNMAP can affect speculative page fault handler. If
vma->anon_vma reset happens after do_anonymous_page verified no
changes to the vma and obtained the ptl lock but before it calls
page_add_new_anon_rmap() then __page_set_anon_rmap() will stumble
on BUG_ON(!anon_vma). Disable these optimizations if SPF is enabled
to avoid such situations. As a result the reverse map walk will
consider the old VMA as it did before these optimizations were
introduced.
[1] 1583aa278f ("mm: mremap: unlink anon_vmas when mremap with MREMAP_DONTUNMAP success")
[2] ee8ab1903e ("mm: rmap: explicitly reset vma->anon_vma in unlink_anon_vmas()")
Bug: 257443051
Change-Id: I4e7611137f4a49c94bfe73532b4b06cbb0d2405b
Signed-off-by: Suren Baghdasaryan <surenb@google.com >
2022-11-23 10:27:02 -08:00
..
2022-11-16 10:04:35 +00:00
2022-06-09 10:28:01 +02:00
2022-05-25 09:57:23 +02:00
2022-08-31 17:16:47 +02:00
2022-08-31 17:16:48 +02:00
2022-07-13 11:40:42 +02:00
2022-07-13 11:40:42 +02:00
2022-02-08 18:34:05 +01:00
2022-03-23 11:32:12 -07:00
2021-09-08 11:50:24 -07:00
2022-10-18 17:17:19 +00:00
2022-11-10 18:15:24 +01:00
2022-04-13 20:59:21 +02:00
2022-08-03 12:03:54 +02:00
2022-10-12 20:14:04 +02:00
2021-06-30 20:47:26 -07:00
2021-06-30 20:47:25 -07:00
2022-11-10 18:15:24 +01:00
2022-07-12 16:35:05 +02:00
2021-07-08 11:48:21 -07:00
2021-09-03 09:58:16 -07:00
2021-09-08 11:50:24 -07:00
2022-11-23 10:25:44 -08:00
2022-03-23 11:32:17 -07:00
2022-10-12 20:14:04 +02:00
2022-09-24 14:12:45 +02:00
2021-09-13 10:18:28 -07:00
2021-08-20 11:39:25 +01:00
2022-10-05 11:59:55 +02:00
2021-09-08 11:50:24 -07:00
2021-07-01 11:06:02 -07:00
2022-03-16 12:53:52 +01:00
2022-11-23 17:11:25 +00:00
2022-03-08 19:12:48 +01:00
2022-07-19 03:52:50 +00:00
2022-10-05 10:39:39 +02:00
2022-11-23 10:25:28 -08:00
2022-09-21 17:30:12 +02:00
2022-11-16 09:58:27 +01:00
2022-10-05 11:59:55 +02:00
2022-06-09 15:39:10 +02:00
2022-04-20 17:38:55 +00:00
2021-07-23 17:43:28 -07:00
2022-11-23 10:25:27 -08:00
2022-04-27 14:38:58 +02:00
2022-04-20 17:38:55 +00:00
2022-03-24 18:44:39 -07:00
2022-11-23 10:27:02 -08:00
2022-11-23 10:25:27 -08:00
2022-06-06 11:12:02 +02:00
2022-11-23 17:11:25 +00:00
2022-07-19 12:47:28 +00:00
2021-11-23 11:59:24 +05:30
2021-09-08 11:50:24 -07:00
2022-04-20 09:34:18 +02:00
2021-09-08 12:55:35 -07:00
2021-11-23 09:30:23 +00:00
2022-11-11 16:07:56 +00:00
2021-07-01 11:06:03 -07:00
2022-08-31 17:16:47 +02:00
2022-09-08 12:28:05 +02:00
2021-07-01 17:17:24 -07:00
2021-07-04 18:30:17 +00:00
2021-07-04 18:30:17 +00:00
2022-04-27 16:02:52 +00:00
2022-09-08 12:28:05 +02:00
2021-09-02 09:42:36 +02:00
2022-11-23 10:27:02 -08:00
2022-10-05 10:39:39 +02:00
2022-06-09 15:39:10 +02:00
2022-07-19 03:52:51 +00:00
2022-06-06 11:12:02 +02:00
2022-06-06 11:12:02 +02:00
2022-04-27 14:38:51 +02:00
2022-09-28 13:32:32 +02:00
2021-06-30 20:47:26 -07:00
2021-09-03 09:58:15 -07:00
2021-08-28 01:46:17 +02:00
2022-03-23 09:16:41 +01:00
2022-04-20 17:38:55 +00:00
2021-11-23 11:59:24 +05:30
2021-09-03 10:08:28 -07:00
2022-04-08 14:24:14 +02:00
2022-11-16 09:58:28 +01:00
2022-07-13 19:41:43 +02:00
2022-08-04 13:03:53 +00:00
2021-09-03 09:58:17 -07:00
2022-07-19 12:47:38 +00:00
2022-11-23 17:11:25 +00:00
2022-06-06 11:12:02 +02:00
2021-07-01 11:06:03 -07:00
2021-07-01 11:06:03 -07:00
2022-07-09 11:22:04 +02:00
2021-06-30 20:47:31 -07:00