aboutsummaryrefslogtreecommitdiffstats
path: root/io_uring/net.c
diff options
context:
space:
mode:
authorLeon Romanovsky <[email protected]>2022-11-11 09:35:12 +0000
committerLeon Romanovsky <[email protected]>2022-11-11 09:35:12 +0000
commit1ec5617432abc3efeec36c4e584a700f6c7e46f9 (patch)
treefc5830462eb3afb740f9ed48052c1a46ff85f2c1 /io_uring/net.c
parentRDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_mmap.c (diff)
parentnet: mana: Define data structures for protection domain and memory registration (diff)
downloadkernel-1ec5617432abc3efeec36c4e584a700f6c7e46f9.tar.gz
kernel-1ec5617432abc3efeec36c4e584a700f6c7e46f9.zip
Merge branch 'mana-shared-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
Long Li says: ==================== Introduce Microsoft Azure Network Adapter (MANA) RDMA driver [netdev prep] The first 11 patches which modify the MANA Ethernet driver to support RDMA driver. * 'mana-shared-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: net: mana: Define data structures for protection domain and memory registration net: mana: Define data structures for allocating doorbell page from GDMA net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES net: mana: Define max values for SGL entries net: mana: Move header files to a common location net: mana: Record port number in netdev net: mana: Export Work Queue functions for use by RDMA driver net: mana: Set the DMA device max segment size net: mana: Handle vport sharing between devices net: mana: Record the physical address for doorbell page region net: mana: Add support for auxiliary device ==================== Link: https://lore.kernel.org/all/[email protected]/ Signed-off-by: Leon Romanovsky <[email protected]>
Diffstat (limited to 'io_uring/net.c')
-rw-r--r--io_uring/net.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/io_uring/net.c b/io_uring/net.c
index 8c7226b5bf41..15dea91625e2 100644
--- a/io_uring/net.c
+++ b/io_uring/net.c
@@ -1056,6 +1056,8 @@ int io_send_zc(struct io_kiocb *req, unsigned int issue_flags)
sock = sock_from_file(req->file);
if (unlikely(!sock))
return -ENOTSOCK;
+ if (!test_bit(SOCK_SUPPORT_ZC, &sock->flags))
+ return -EOPNOTSUPP;
msg.msg_name = NULL;
msg.msg_control = NULL;
@@ -1151,6 +1153,8 @@ int io_sendmsg_zc(struct io_kiocb *req, unsigned int issue_flags)
sock = sock_from_file(req->file);
if (unlikely(!sock))
return -ENOTSOCK;
+ if (!test_bit(SOCK_SUPPORT_ZC, &sock->flags))
+ return -EOPNOTSUPP;
if (req_has_async_data(req)) {
kmsg = req->async_data;