• Audra Mitchell's avatar
    Fix userfaultfd_api to return EINVAL as expected · 1723f04c
    Audra Mitchell authored
    Currently if we request a feature that is not set in the Kernel config we
    fail silently and return all the available features.  However, the man
    page indicates we should return an EINVAL.
    
    We need to fix this issue since we can end up with a Kernel warning should
    a program request the feature UFFD_FEATURE_WP_UNPOPULATED on a kernel with
    the config not set with this feature.
    
     [  200.812896] WARNING: CPU: 91 PID: 13634 at mm/memory.c:1660 zap_pte_range+0x43d/0x660
     [  200.820738] Modules linked in:
     [  200.869387] CPU: 91 PID: 13634 Comm: userfaultfd Kdump: loaded Not tainted 6.9.0-rc5+ #8
     [  200.877477] Hardware name: Dell Inc. PowerEdge R6525/0N7YGH, BIOS 2.7.3 03/30/2022
     [  200.885052] RIP: 0010:zap_pte_range+0x43d/0x660
    
    Link: https://lkml.kernel.org/r/20240626130513.120193-1-audra@redhat.com
    Fixes: e06f1e1d ("userfaultfd: wp: enabled write protection in userfaultfd API")
    Signed-off-by: default avatarAudra Mitchell <audra@redhat.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Christian Brauner <brauner@kernel.org>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
    Cc: Peter Xu <peterx@redhat.com>
    Cc: Rafael Aquini <raquini@redhat.com>
    Cc: Shaohua Li <shli@fb.com>
    Cc: Shuah Khan <shuah@kernel.org>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    1723f04c
userfaultfd.c 59.2 KB