• Breno Leitao's avatar
    selftests/bpf/sockopt: Add io_uring support · b9ec9132
    Breno Leitao authored
    Expand the sockopt test to use also check for io_uring {g,s}etsockopt
    commands operations.
    
    This patch starts by marking each test if they support io_uring support
    or not.
    
    Right now, io_uring cmd getsockopt() has a limitation of only
    accepting level == SOL_SOCKET, otherwise it returns -EOPNOTSUPP. Since
    there aren't any test exercising getsockopt(level == SOL_SOCKET), this
    patch changes two tests to use level == SOL_SOCKET, they are
    "getsockopt: support smaller ctx->optlen" and "getsockopt: read
    ctx->optlen".
    There is no limitation for the setsockopt() part.
    
    Later, each test runs using regular {g,s}etsockopt systemcalls, and, if
    liburing is supported, execute the same test (again), but calling
    liburing {g,s}setsockopt commands.
    
    This patch also changes the level of two tests to use SOL_SOCKET for the
    following two tests. This is going to help to exercise the io_uring
    subsystem:
     * getsockopt: read ctx->optlen
     * getsockopt: support smaller ctx->optlen
    Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
    Link: https://lore.kernel.org/r/20231016134750.1381153-12-leitao@debian.orgAcked-by: default avatarMartin KaFai Lau <martin.lau@kernel.org>
    Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
    b9ec9132
sockopt.c 27.9 KB