Li Zhijian
4b42fb2136
mm/hmm: bypass devmap pte when all pfn requested flags are fulfilled
...
Previously, we noticed the one rpma example was failed[1] since commit
36f30e486dce ("IB/core: Improve ODP to use hmm_range_fault()"), where it
will use ODP feature to do RDMA WRITE between fsdax files.
After digging into the code, we found hmm_vma_handle_pte() will still
return EFAULT even though all the its requesting flags has been
fulfilled. That's because a DAX page will be marked as (_PAGE_SPECIAL |
PAGE_DEVMAP) by pte_mkdevmap().
Link: https://github.com/pmem/rpma/issues/1142 [1]
Link: https://lkml.kernel.org/r/20210830094232.203029-1-lizhijian@cn.fujitsu.com
Fixes: 405506274922 ("mm/hmm: add missing call to hmm_pte_need_fault in HMM_PFN_SPECIAL handling")
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-09-08 18:45:52 -07:00
..
2021-09-08 11:50:25 -07:00
2021-09-03 10:08:28 -07:00
2021-09-08 12:55:35 -07:00
2021-09-03 10:08:28 -07:00
2021-05-07 00:26:35 -07:00
2021-09-03 09:58:14 -07:00
2019-07-12 12:24:03 -07:00
2021-05-05 11:27:21 -07:00
2021-05-05 11:27:24 -07:00
2021-05-05 11:27:24 -07:00
2021-05-05 11:27:24 -07:00
2021-09-08 12:55:35 -07:00
2017-11-02 11:10:55 +01:00
2021-09-03 09:58:10 -07:00
2021-06-29 10:53:53 -07:00
2021-06-29 10:53:52 -07:00
2021-09-08 11:50:24 -07:00
2020-10-13 18:38:29 -07:00
2019-07-12 11:05:43 -07:00
2021-09-03 10:08:28 -07:00
2021-05-05 11:27:27 -07:00
2021-05-05 11:27:26 -07:00
2021-05-05 11:27:26 -07:00
2021-09-07 11:03:45 -07:00
2021-09-08 11:50:24 -07:00
2021-09-08 18:45:52 -07:00
2021-09-03 09:58:13 -07:00
2021-05-05 11:27:22 -07:00
2021-06-30 20:47:26 -07:00
2021-06-30 20:47:25 -07:00
2021-09-03 09:58:17 -07:00
2021-09-03 09:58:15 -07:00
2021-07-08 11:48:21 -07:00
2021-09-03 09:58:16 -07:00
2021-04-30 11:20:38 -07:00
2021-04-30 11:20:39 -07:00
2021-09-08 11:50:24 -07:00
2021-09-08 11:50:24 -07:00
2020-12-15 12:13:46 -08:00
2021-09-03 09:58:12 -07:00
2021-09-08 11:50:24 -07:00
2021-09-03 09:58:18 -07:00
2021-05-05 11:27:23 -07:00
2020-08-12 10:57:59 -07:00
2021-09-03 10:08:28 -07:00
2021-09-08 11:50:24 -07:00
2021-07-01 11:06:02 -07:00
2021-09-03 10:08:28 -07:00
2021-09-03 10:08:28 -07:00
2021-04-30 14:14:02 -05:00
2021-09-08 12:55:35 -07:00
2021-09-03 10:08:28 -07:00
2021-07-23 17:43:28 -07:00
2021-09-03 09:58:17 -07:00
2021-06-04 19:32:21 +01:00
2021-09-08 11:50:23 -07:00
2017-11-02 11:10:55 +01:00
2021-09-03 09:58:18 -07:00
2021-01-24 14:27:16 +01:00
2021-07-08 11:48:21 -07:00
2021-04-30 11:20:42 -07:00
2021-07-23 17:43:28 -07:00
2021-09-04 11:35:47 -07:00
2021-04-16 16:10:36 -07:00
2021-03-25 09:22:55 -07:00
2020-12-15 14:48:04 -08:00
2021-07-01 11:06:03 -07:00
2021-09-03 09:58:14 -07:00
2021-04-30 11:20:37 -07:00
2021-09-04 11:35:47 -07:00
2021-09-03 09:58:17 -07:00
2021-09-08 12:55:35 -07:00
2021-04-30 11:20:38 -07:00
2021-09-08 11:50:24 -07:00
2021-09-08 11:50:24 -07:00
2021-03-02 17:25:46 -07:00
2021-09-08 12:55:35 -07:00
2021-09-08 11:50:22 -07:00
2021-04-30 11:20:36 -07:00
2021-06-29 10:53:47 -07:00
2021-06-29 10:53:47 -07:00
2021-07-01 11:06:03 -07:00
2021-09-03 10:08:28 -07:00
2021-06-29 10:53:49 -07:00
2021-07-01 17:17:24 -07:00
2021-07-04 18:30:17 +00:00
2021-06-05 20:43:15 +00:00
2021-07-04 18:30:17 +00:00
2021-09-08 12:55:35 -07:00
2021-05-07 00:26:35 -07:00
2021-06-16 09:24:42 -07:00
2021-05-05 11:27:27 -07:00
2021-04-16 16:10:37 -07:00
2021-07-13 13:14:27 +02:00
2021-09-08 12:55:35 -07:00
2020-08-21 09:52:53 -07:00
2021-09-08 11:50:24 -07:00
2021-09-03 10:08:28 -07:00
2021-04-16 16:10:36 -07:00
2021-05-22 15:09:07 -10:00
2021-09-04 01:12:23 +02:00
2021-05-07 00:26:35 -07:00
2021-07-30 10:14:39 -07:00
2021-03-08 14:18:46 -08:00
2021-09-04 10:22:01 +02:00
2021-06-30 20:47:26 -07:00
2021-09-03 09:58:15 -07:00
2020-06-03 20:09:48 -07:00
2021-08-28 01:46:17 +02:00
2021-08-20 11:31:42 -07:00
2021-09-03 09:58:11 -07:00
2021-09-03 09:58:12 -07:00
2021-09-03 10:08:28 -07:00
2020-08-12 10:57:58 -07:00
2021-09-03 09:58:16 -07:00
2021-09-02 09:47:01 -07:00
2020-06-10 19:14:18 -07:00
2021-09-08 12:55:35 -07:00
2021-09-03 09:58:17 -07:00
2021-09-03 09:58:17 -07:00
2021-09-03 10:08:28 -07:00
2021-09-08 11:50:28 -07:00
2021-07-01 11:06:03 -07:00
2021-07-01 11:06:03 -07:00
2021-05-07 00:26:35 -07:00
2021-07-01 11:06:02 -07:00
2021-06-30 20:47:31 -07:00