From: Michal Luczaj Date: Thu, 19 Dec 2024 09:49:31 +0000 (+0100) Subject: vsock/test: Adapt send_byte()/recv_byte() to handle MSG_ZEROCOPY X-Git-Tag: v6.14-rc1~162^2~159^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f52e7f593b49344b9497c289cbb2ada213f60a7a;p=thirdparty%2Fkernel%2Flinux.git vsock/test: Adapt send_byte()/recv_byte() to handle MSG_ZEROCOPY For a zerocopy send(), buffer (always byte 'A') needs to be preserved (thus it can not be on the stack) or the data recv()ed check in recv_byte() might fail. While there, change the printf format to 0x%02x so the '\0' bytes can be seen. Reviewed-by: Stefano Garzarella Signed-off-by: Michal Luczaj Link: https://patch.msgid.link/20241219-test-vsock-leaks-v4-4-a416e554d9d7@rbox.co Signed-off-by: Jakub Kicinski --- diff --git a/tools/testing/vsock/util.c b/tools/testing/vsock/util.c index 81b9a31059d81..7058dc614c25f 100644 --- a/tools/testing/vsock/util.c +++ b/tools/testing/vsock/util.c @@ -401,7 +401,7 @@ void recv_buf(int fd, void *buf, size_t len, int flags, ssize_t expected_ret) */ void send_byte(int fd, int expected_ret, int flags) { - const uint8_t byte = 'A'; + static const uint8_t byte = 'A'; send_buf(fd, &byte, sizeof(byte), flags, expected_ret); } @@ -420,7 +420,7 @@ void recv_byte(int fd, int expected_ret, int flags) recv_buf(fd, &byte, sizeof(byte), flags, expected_ret); if (byte != 'A') { - fprintf(stderr, "unexpected byte read %c\n", byte); + fprintf(stderr, "unexpected byte read 0x%02x\n", byte); exit(EXIT_FAILURE); } }