summaryrefslogtreecommitdiff
path: root/mm/debug_page_ref.c
diff options
context:
space:
mode:
authorAxel Rasmussen <axelrasmussen@google.com>2021-11-05 23:42:13 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2021-11-06 23:30:39 +0300
commitad0ce23ed099492d7ed1f87cd8cf39a68b9f20a0 (patch)
treecae1a165192e0aec7cac7eb3edf2fb34920ee20b /mm/debug_page_ref.c
parent1042a53d0ec3fb617bcff395ce24b0df90d5a99b (diff)
downloadlinux-ad0ce23ed099492d7ed1f87cd8cf39a68b9f20a0.tar.xz
userfaultfd/selftests: fix calculation of expected ioctls
Today, we assert that the ioctls the kernel reports as supported for a registration match a precomputed list. We decide which ioctls are supported by examining the memory type. Then, in several locations we "fix up" this list by adding or removing things this initial decision got wrong. What ioctls the kernel reports is actually a function of several things: - The memory type - Kernel feature support (e.g., no writeprotect on aarch64) - The registration type (e.g., CONTINUE only supported for MINOR mode) So, we can't fully compute this at the start, in set_test_type. It varies per test, depending on what registration mode(s) those tests use. Instead, introduce a new function which computes the correct list. This centralizes the add/remove of ioctls depending on these function inputs in one place, so we don't have to repeat ourselves in various tests. Not only is the resulting code a bit shorter, but it fixes a real bug in the existing code: previously, we would incorrectly require the writeprotect ioctl to be present on aarch64, where it isn't actually supported. Link: https://lkml.kernel.org/r/20210930212309.4001967-4-axelrasmussen@google.com Signed-off-by: Axel Rasmussen <axelrasmussen@google.com> Reviewed-by: Peter Xu <peterx@redhat.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/debug_page_ref.c')
0 files changed, 0 insertions, 0 deletions