netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Persistent problem with handshake unit tests
@ 2024-02-02 17:21 Guenter Roeck
  2024-02-02 19:22 ` Jakub Kicinski
  2024-02-06 16:47 ` Chuck Lever
  0 siblings, 2 replies; 14+ messages in thread
From: Guenter Roeck @ 2024-02-02 17:21 UTC (permalink / raw)
  To: Chuck Lever; +Cc: kernel-tls-handshake, netdev

Hi,

when running handshake kunit tests in qemu, I always get the following
failure.

    KTAP version 1
    # Subtest: Handshake API tests
    1..11
        KTAP version 1
        # Subtest: req_alloc API fuzzing
        ok 1 handshake_req_alloc NULL proto
        ok 2 handshake_req_alloc CLASS_NONE
        ok 3 handshake_req_alloc CLASS_MAX
        ok 4 handshake_req_alloc no callbacks
        ok 5 handshake_req_alloc no done callback
        ok 6 handshake_req_alloc excessive privsize
        ok 7 handshake_req_alloc all good
    # req_alloc API fuzzing: pass:7 fail:0 skip:0 total:7
    ok 1 req_alloc API fuzzing
    ok 2 req_submit NULL req arg
    ok 3 req_submit NULL sock arg
    ok 4 req_submit NULL sock->file
    ok 5 req_lookup works
    ok 6 req_submit max pending
    ok 7 req_submit multiple
    ok 8 req_cancel before accept
    ok 9 req_cancel after accept
    ok 10 req_cancel after done
    # req_destroy works: EXPECTATION FAILED at net/handshake/handshake-test.c:478
    Expected handshake_req_destroy_test == req, but
        handshake_req_destroy_test == 00000000
        req == c5080280
    not ok 11 req_destroy works
# Handshake API tests: pass:10 fail:1 skip:0 total:11
# Totals: pass:16 fail:1 skip:0 total:17
not ok 31 Handshake API tests
############## destroy 0xc5080280
...

The line starting with "#######" is from added debug information.

diff --git a/net/handshake/handshake-test.c b/net/handshake/handshake-test.c
index 16ed7bfd29e4..a2417c56fe15 100644
--- a/net/handshake/handshake-test.c
+++ b/net/handshake/handshake-test.c
@@ -434,6 +434,7 @@ static struct handshake_req *handshake_req_destroy_test;

 static void test_destroy_func(struct handshake_req *req)
 {
+       pr_info("############## destroy 0x%px\n", req);
        handshake_req_destroy_test = req;
 }

It appears that the destroy function works, but is delayed. Unfortunately,
I don't know enough about the network subsystem and/or the handshake
protocol to suggest a fix. I'd be happy to submit a fix if you let me know
how that should look like.

Thanks,
Guenter

^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2024-02-06 19:24 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-02 17:21 Persistent problem with handshake unit tests Guenter Roeck
2024-02-02 19:22 ` Jakub Kicinski
2024-02-02 20:49   ` Guenter Roeck
2024-02-02 20:51     ` Guenter Roeck
2024-02-03  0:47       ` Jakub Kicinski
2024-02-03  1:45         ` Guenter Roeck
2024-02-03  2:27           ` Jakub Kicinski
2024-02-03  3:46       ` Chuck Lever III
2024-02-03  3:54         ` Guenter Roeck
2024-02-06 16:47 ` Chuck Lever
2024-02-06 17:55   ` Guenter Roeck
2024-02-06 19:05     ` Guenter Roeck
2024-02-06 19:07       ` Chuck Lever
2024-02-06 19:24         ` Guenter Roeck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).