Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp574184pxb; Mon, 16 Aug 2021 12:04:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwLVplI4E4fDzayiyf5fLxAgINz2wrT3CEc1cB9agaeFZSJ7eE6m54wAdH1IYbBsJwIucuK X-Received: by 2002:a05:6e02:8f2:: with SMTP id n18mr219983ilt.256.1629140690351; Mon, 16 Aug 2021 12:04:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629140690; cv=none; d=google.com; s=arc-20160816; b=WOP3k32NESVmGniLujmqa5r8WR8Njz8bh9AaKC9Cq7BUOJRQQunDpnLfISn7dURPE3 NgSK70ujM/4IaPtD2SQfx26460uWPZqyjcee5g2rUVWtbszfItxpifNH4mW2jiWtydMB FhfUDFqnCF9JLwDMPSLBXz7MKIlRwBr5uBhmYVpiZB8sBd8uBqecjtLzCEMHXhG7Yl// 0bO7M7RZ4TXfk/tJ6zYMLBTBuz3XlF6kKoGH8lrSY4ty4ySmKCJpfm8UPW/ikx2NlHUZ xvRNBY/TXEvRXkir68uBQUmGeFZAJcYGJGHEM/qfDyGZ6lsiXrCVg3tOk4QW7Fk74TaO HIsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=OQIDgHDinK9G6OVBaqwTHfY5KB000CBp6CpTZGMvcek=; b=LpcPAn1eZefwQpQQsC4+0skrujR27HvMVywPs/wBk7pW/z035+l7tqksw3yONfL4gP wEFoGGO5OPpBZMn7RIsK32QiO4XDNAC7IznfYOUtztqQlCizI18tROSqaC5zr0NPyibg ROpAwbT8HjmhWufF+rivXW5BB1I678Dkn45i5w8rlu13IqMQSPVnAm+SlzBP0KQ4mBi9 S6rYjQaByclSF8ASfW+ny+nKqs2Cc639ar808I3ybioolSTEMGOK4xaFd+t2fWEvnFiW UV7hDZchDrT6L27n4ZRMAjQ/TR8U8MygGj/d4hE8R4DEpfoq2WA/5Ya9yWcreN9Tl5TX KfsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bytedance-com.20150623.gappssmtp.com header.s=20150623 header.b=WY6mR6qu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f16si68368ilc.93.2021.08.16.12.04.37; Mon, 16 Aug 2021 12:04:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@bytedance-com.20150623.gappssmtp.com header.s=20150623 header.b=WY6mR6qu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230143AbhHPTEJ (ORCPT + 99 others); Mon, 16 Aug 2021 15:04:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44034 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229481AbhHPTEI (ORCPT ); Mon, 16 Aug 2021 15:04:08 -0400 Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B772C061764 for ; Mon, 16 Aug 2021 12:03:36 -0700 (PDT) Received: by mail-pj1-x102e.google.com with SMTP id j12-20020a17090aeb0c00b00179530520b3so386940pjz.0 for ; Mon, 16 Aug 2021 12:03:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OQIDgHDinK9G6OVBaqwTHfY5KB000CBp6CpTZGMvcek=; b=WY6mR6quoN2NpyDT0Cs4sZaNedYyZyWYZn7jL4roycAQ1Qc1jPq0YAcYZDJH/ybJld QiUXHBTlLxAXmoJkMctv9/5GoophqAfiAUybaAGW8TcsfRUT2dzVp2Z5xFSQ2PRHzL2G 8H4MbrQOkNpPxPLcTRf69OPJcjLMcByxMlYsWOEStHoJ+NK6XPBxYvtAIn2C7CIn0DM0 eyLQjg9qBfZywYs19F19KCGSvZq8K0rB/FpWfwVXEdpQ6rupZ0ea9OGIfn1qd86zBQZM IWDl+StJFsIe4ByBgiCZ4tqLVMX0RaltUDab7tEnyME18S8BDQ2GXg6Rzbk6z6OyvNOa X0Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OQIDgHDinK9G6OVBaqwTHfY5KB000CBp6CpTZGMvcek=; b=mhlk4YdB0v3ib/S9TLO1yRwBB58zXlQI+y0cnXR30dNx99q4Cf/2/7pBW5Nib5K6UO h36DGTXFFhgt34Zhk1jN6bOZfFXNAhivnAAKn6c+29d4ECXxZ50IJgtFcETeEzamvSYt EhAkgT60brstN72A7/kZd6bMtosMXuxfRVaNBjAHWWVMiWJGPhx1QJ5w4JlP9FUEocUP ShtBnG5ofqVnMRZIyTr/3Jd7eI1NnMa1osR+NMGHA5EJwJN8MgSIRrRlmRZERFFBhaPF tXo9Djg3+uPyqh80Q2NJZ9wjwNYBmHQKsQLp0bBlOL02aEVH4a1B/4PPAMGZTTCR4ZyR m0kw== X-Gm-Message-State: AOAM53398+LYd3ksc21wCjrKatB2gBoM+ixSkD2z8dzCh4PpOrV7/RLB BYB5A+jNUxYq8hQuuH+nOoX9ag== X-Received: by 2002:a17:902:9a02:b029:118:307e:a9dd with SMTP id v2-20020a1709029a02b0290118307ea9ddmr223456plp.47.1629140615950; Mon, 16 Aug 2021 12:03:35 -0700 (PDT) Received: from ip-10-124-121-13.byted.org (ec2-54-241-92-238.us-west-1.compute.amazonaws.com. [54.241.92.238]) by smtp.gmail.com with ESMTPSA id t30sm175845pgl.47.2021.08.16.12.03.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Aug 2021 12:03:35 -0700 (PDT) From: Jiang Wang To: netdev@vger.kernel.org Cc: cong.wang@bytedance.com, duanxiongchun@bytedance.com, xieyongji@bytedance.com, chaiwen.cc@bytedance.com, John Fastabend , Jakub Sitnicki , "David S. Miller" , Jakub Kicinski , Daniel Borkmann , Lorenz Bauer , Alexei Starovoitov , Andrii Nakryiko , Martin KaFai Lau , Song Liu , Yonghong Song , KP Singh , Shuah Khan , Al Viro , Christian Brauner , Rao Shoaib , Johan Almbladh , linux-kernel@vger.kernel.org, bpf@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH bpf-next v7 0/5] sockmap: add sockmap support for unix stream socket Date: Mon, 16 Aug 2021 19:03:19 +0000 Message-Id: <20210816190327.2739291-1-jiang.wang@bytedance.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series add support for unix stream type for sockmap. Sockmap already supports TCP, UDP, unix dgram types. The unix stream support is similar to unix dgram. Also add selftests for unix stream type in sockmap tests. Jiang Wang (5): af_unix: add read_sock for stream socket types af_unix: add unix_stream_proto for sockmap selftest/bpf: add tests for sockmap with unix stream type. selftest/bpf: change udp to inet in some function names selftest/bpf: add new tests in sockmap for unix stream to tcp. include/net/af_unix.h | 8 +- net/core/sock_map.c | 1 + net/unix/af_unix.c | 95 ++++++++++++++++--- net/unix/unix_bpf.c | 93 +++++++++++++----- .../selftests/bpf/prog_tests/sockmap_listen.c | 48 ++++++---- 5 files changed, 191 insertions(+), 54 deletions(-) v1 -> v2 : - Call unhash in shutdown. - Clean up unix_create1 a bit. - Return -ENOTCONN if socket is not connected. v2 -> v3 : - check for stream type in update_proto - remove intermediate variable in __unix_stream_recvmsg - fix compile warning in unix_stream_recvmsg v3 -> v4 : - remove sk_is_unix_stream, just check TCP_ESTABLISHED for UNIX sockets. - add READ_ONCE in unix_dgram_recvmsg - remove type check in unix_stream_bpf_update_proto v4 -> v5 : - add two missing READ_ONCE for sk_prot. v5 -> v6 : - fix READ_ONCE by reading to a local variable first. v6 -> v7 : - fix the following compiler error when CONFIG_UNIX is m. modpost: "sock_map_unhash" [net/unix/unix.ko] undefined! For the series: Acked-by: John Fastabend Acked-by: Jakub Sitnicki -- 2.20.1