projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
209376e
)
selftests/uffd: allow EINTR/EAGAIN
author
Peter Xu
<peterx@redhat.com>
Fri, 14 Jan 2022 22:08:01 +0000
(14:08 -0800)
committer
Linus Torvalds
<torvalds@linux-foundation.org>
Sat, 15 Jan 2022 14:30:30 +0000
(16:30 +0200)
This allow test to continue with interruptions like gdb.
Link:
https://lkml.kernel.org/r/20211115135219.85881-1-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Axel Rasmussen <axelrasmussen@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Nadav Amit <nadav.amit@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
tools/testing/selftests/vm/userfaultfd.c
patch
|
blob
|
history
diff --git
a/tools/testing/selftests/vm/userfaultfd.c
b/tools/testing/selftests/vm/userfaultfd.c
index 990f7aecf4a39f7f361542cc33cbdbf2780478ff..c9eddd25ba1776d9983378ff054fac5e71852d83 100644
(file)
--- a/
tools/testing/selftests/vm/userfaultfd.c
+++ b/
tools/testing/selftests/vm/userfaultfd.c
@@
-648,7
+648,7
@@
static int uffd_read_msg(int ufd, struct uffd_msg *msg)
if (ret != sizeof(*msg)) {
if (ret < 0) {
- if (errno == EAGAIN)
+ if (errno == EAGAIN
|| errno == EINTR
)
return 1;
err("blocking read error");
} else {
@@
-724,8
+724,11
@@
static void *uffd_poll_thread(void *arg)
for (;;) {
ret = poll(pollfd, 2, -1);
- if (ret <= 0)
+ if (ret <= 0) {
+ if (errno == EINTR || errno == EAGAIN)
+ continue;
err("poll error: %d", ret);
+ }
if (pollfd[1].revents & POLLIN) {
if (read(pollfd[1].fd, &tmp_chr, 1) != 1)
err("read pipefd error");