On Sun, Aug 01, 2021 at 05:20:50PM +0800, Li Zhijian wrote: > ibv_advise_mr(3) says: > EFAULT In one of the following: o When the range requested is out of the MR bounds, > or when parts of it are not part of the process address space. o One of the > lkeys provided in the scatter gather list is invalid or with wrong write access > > Actually get_prefetchable_mr() will return NULL if it see above conditions No, get_prefetchable_mr() returns NULL if the mkey is invalid The above is talking about the address, which is checked inside pagefault_mr() and does return EFAULT for all the cases I can see? Jason