]> www.infradead.org Git - users/jedix/linux-maple.git/commit
userfaultfd: avoid missing wakeups during refile in userfaultfd_read
authorAndrea Arcangeli <aarcange@redhat.com>
Fri, 4 Sep 2015 22:47:23 +0000 (15:47 -0700)
committerDhaval Giani <dhaval.giani@oracle.com>
Fri, 20 Jan 2017 18:53:13 +0000 (13:53 -0500)
commit91ecb7551679e15d89b5a263b8ef6d275b57d51c
treebdeb5f2574e7049d8d63b5d6a2df4e03cc12c3ee
parent0c715ef099a7d86f5fa7721189495aace8379263
userfaultfd: avoid missing wakeups during refile in userfaultfd_read

Orabug: 21685254

During the refile in userfaultfd_read both waitqueues could look empty to
the lockless wake_userfault().  Use a seqcount to prevent this false
negative that could leave an userfault blocked.

Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit 2c5b7e1be74ff0175dedbbd325abe9f0dbbb09ae)
Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
Reviewed-by: Dhaval Giani <dhaval.giani@oracle.com>
Signed-off-by: Dhaval Giani <dhaval.giani@oracle.com>
fs/userfaultfd.c