Hi Linus,
Locking fix for nouveau's use of HMM
This small series was posted by Christoph before the merge window, but didn't
make it in time for the PR. It fixes various locking errors in the nouveau
driver's use of the hmm_range_* functions.
The diffstat is a bit big as Christoph did a comprehensive job to move the
obsolete API from the core header and into the driver before fixing its flow,
but the risk of regression from this code motion is low.
I don't intend to often send -rc patches for hmm, but this is entangled with
other changes already, so it is simpler to keep it on the hmm git branch.
Thanks,
Jason
The following changes since commit 5f9e832c137075045d15cd6899ab0505cfb2ca4b:
Linus 5.3-rc1 (2019-07-21 14:05:38 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus-hmm
for you to fetch changes up to de4ee728465f7c0c29241550e083139b2ce9159c:
nouveau: unlock mmap_sem on all errors from nouveau_range_fault (2019-07-25 16:14:40 -0300)
----------------------------------------------------------------
HMM patches for 5.3-rc
Fix the locking around nouveau's use of the hmm_range_* APIs. It works
correctly in the success case, but many of the the edge cases have missing
unlocks or double unlocks.
----------------------------------------------------------------
Christoph Hellwig (4):
mm/hmm: always return EBUSY for invalid ranges in hmm_range_{fault,snapshot}
mm/hmm: move hmm_vma_range_done and hmm_vma_fault to nouveau
nouveau: remove the block parameter to nouveau_range_fault
nouveau: unlock mmap_sem on all errors from nouveau_range_fault
Documentation/vm/hmm.rst | 2 +-
drivers/gpu/drm/nouveau/nouveau_svm.c | 47 ++++++++++++++++++++++++++++--
include/linux/hmm.h | 54 -----------------------------------
mm/hmm.c | 10 +++----
4 files changed, 49 insertions(+), 64 deletions(-)
The pull request you sent on Tue, 30 Jul 2019 11:58:37 +0000:
> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus-hmm
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/515f12b9eeed35250d793b7c874707c33f7f6e05
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker