Centos-kernel-stream-9/net/handshake
Nico Pache 1fbb3000fe net/handshake: Fix handshake_req_destroy_test1
commit 4e1d71cabb19ec2586827adfc60d68689c68c194
Author: Chuck Lever <chuck.lever@oracle.com>
Date:   Tue Feb 6 14:16:31 2024 -0500

    net/handshake: Fix handshake_req_destroy_test1

    Recently, handshake_req_destroy_test1 started failing:

    Expected handshake_req_destroy_test == req, but
        handshake_req_destroy_test == 0000000000000000
        req == 0000000060f99b40
    not ok 11 req_destroy works

    This is because "sock_release(sock)" was replaced with "fput(filp)"
    to address a memory leak. Note that sock_release() is synchronous
    but fput() usually delays the final close and clean-up.

    The delay is not consequential in the other cases that were changed
    but handshake_req_destroy_test1 is testing that handshake_req_cancel()
    followed by closing the file actually does call the ->hp_destroy
    method. Thus the PTR_EQ test at the end has to be sure that the
    final close is complete before it checks the pointer.

    We cannot use a completion here because if ->hp_destroy is never
    called (ie, there is an API bug) then the test will hang.

    Reported by: Guenter Roeck <linux@roeck-us.net>
    Closes: https://lore.kernel.org/netdev/ZcKDd1to4MPANCrn@tissot.1015granger.net/T/#mac5c6299f86799f1c71776f3a07f9c566c7c3c40
    Fixes: 4a0f07d71b04 ("net/handshake: Fix memory leak in __sock_create() and sock_alloc_file()")
    Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
    Reviewed-by: Hannes Reinecke <hare@suse.de>
    Link: https://lore.kernel.org/r/170724699027.91401.7839730697326806733.stgit@oracle-102.nfsv4bat.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

JIRA: https://issues.redhat.com/browse/RHEL-39303
Signed-off-by: Nico Pache <npache@redhat.com>
2024-07-31 20:32:30 -06:00
..
.kunitconfig net/handshake: Add Kunit tests for the handshake consumer API 2023-12-02 05:11:51 -05:00
Makefile net/handshake: Add API for sending TLS Closure alerts 2023-12-02 05:12:25 -05:00
alert.c net/handshake: Trace events for TLS Alert helpers 2023-12-02 05:12:25 -05:00
genl.c net: ynl: prefix uAPI header include with uapi/ 2024-04-10 09:19:21 +02:00
genl.h net: ynl: prefix uAPI header include with uapi/ 2024-04-10 09:19:21 +02:00
handshake-test.c net/handshake: Fix handshake_req_destroy_test1 2024-07-31 20:32:30 -06:00
handshake.h net/handshake: remove fput() that causes use-after-free 2023-12-02 05:12:44 -05:00
netlink.c handshake: Fix sign of socket file descriptor fields 2023-12-02 05:12:44 -05:00
request.c net/handshake: remove fput() that causes use-after-free 2023-12-02 05:12:44 -05:00
tlshd.c handshake: Fix sign of key_serial_t fields 2023-12-02 05:12:44 -05:00
trace.c net/handshake: Trace events for TLS Alert helpers 2023-12-02 05:12:25 -05:00