lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20250706-siocinq-v5-0-8d0b96a87465@antgroup.com> Date: Sun, 06 Jul 2025 12:36:28 +0800 From: Xuewei Niu <niuxuewei97@...il.com> To: "K. Y. Srinivasan" <kys@...rosoft.com>, Haiyang Zhang <haiyangz@...rosoft.com>, Wei Liu <wei.liu@...nel.org>, Dexuan Cui <decui@...rosoft.com>, Stefano Garzarella <sgarzare@...hat.com>, "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Simon Horman <horms@...nel.org> Cc: linux-hyperv@...r.kernel.org, virtualization@...ts.linux.dev, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, Xuewei Niu <niuxuewei.nxw@...group.com>, fupan.lfp@...group.com Subject: [PATCH net-next v5 0/4] vsock: Introduce SIOCINQ ioctl support Introduce SIOCINQ ioctl support for vsock, indicating the length of unread bytes. Similar with SIOCOUTQ ioctl, the information is transport-dependent. The first patch adds SIOCINQ ioctl support in AF_VSOCK. Thanks to @dexuan, the second patch is to fix the issue where hyper-v `hvs_stream_has_data()` doesn't return the readable bytes. The third patch wraps the ioctl into `ioctl_int()`, which implements a retry mechanism to prevent immediate failure. The last one adds two test cases to check the functionality. The changes have been tested, and the results are as expected. Signed-off-by: Xuewei Niu <niuxuewei.nxw@...group.com> -- v1->v2: https://lore.kernel.org/lkml/20250519070649.3063874-1-niuxuewei.nxw@antgroup.com/ - Use net-next tree. - Reuse `rx_bytes` to count unread bytes. - Wrap ioctl syscall with an int pointer argument to implement a retry mechanism. v2->v3: https://lore.kernel.org/netdev/20250613031152.1076725-1-niuxuewei.nxw@antgroup.com/ - Update commit messages following the guidelines - Remove `unread_bytes` callback and reuse `vsock_stream_has_data()` - Move the tests to the end of array - Split the refactoring patch - Include <sys/ioctl.h> in the util.c v3->v4: https://lore.kernel.org/netdev/20250617045347.1233128-1-niuxuewei.nxw@antgroup.com/ - Hyper-v `hvs_stream_has_data()` returns the readable bytes - Skip testing the null value for `actual` (int pointer) - Rename `ioctl_int()` to `vsock_ioctl_int()` - Fix a typo and a format issue in comments - Remove the `RECEIVED` barrier. - The return type of `vsock_ioctl_int()` has been changed to bool v4->v5: https://lore.kernel.org/netdev/20250630075727.210462-1-niuxuewei.nxw@antgroup.com/ - Put the hyper-v fix before the SIOCINQ ioctl implementation. - Remove my SOB from the hyper-v fix patch. - Move the `need_refill` initialization into the `case 1` block. - Remove the `actual` argument from `vsock_ioctl_int()`. - Replace `TIOCINQ` with `SIOCINQ`. --- Xuewei Niu (4): hv_sock: Return the readable bytes in hvs_stream_has_data() vsock: Add support for SIOCINQ ioctl test/vsock: Add retry mechanism to ioctl wrapper test/vsock: Add ioctl SIOCINQ tests net/vmw_vsock/af_vsock.c | 22 +++++++++++ net/vmw_vsock/hyperv_transport.c | 17 +++++++-- tools/testing/vsock/util.c | 30 ++++++++++----- tools/testing/vsock/util.h | 1 + tools/testing/vsock/vsock_test.c | 79 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 137 insertions(+), 12 deletions(-) --- base-commit: 5f712c3877f99d5b5e4d011955c6467ae0e535a6 change-id: 20250703-siocinq-9e2907939806 Best regards, -- Xuewei Niu <niuxuewei.nxw@...group.com>
Powered by blists - more mailing lists