From patchwork Fri Mar 17 15:55:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 13179271 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA154C74A5B for ; Fri, 17 Mar 2023 15:56:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231410AbjCQPz6 (ORCPT ); Fri, 17 Mar 2023 11:55:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46858 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230032AbjCQPzz (ORCPT ); Fri, 17 Mar 2023 11:55:55 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AFCC5C9CBC for ; Fri, 17 Mar 2023 08:55:43 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-541942bfdccso50453077b3.14 for ; Fri, 17 Mar 2023 08:55:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679068543; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=6G/Xgo8U64xN3ThBIepQD9BAz9X3LlolLcLN5HTC6G4=; b=ge8w77CkVQzg0qczlSgV76Z+G7JO+pwnIauucsdK078wgOtBNR8dieEZIHehpO45Eo fMxUrbGk1R/8+WBXOi20pEYJDlh+mer926H95Ny04rryuTdFX7j/autuyzzkyXZ2HGLV C4XOTYe68dFLYevkdd199Ur8e+3AZff7ATQdy9nt37S0l1zTTPH9tZg8GYNgYdOoDOhm AUx40pyanddDd0jx8tDJDYVHPTWIwqx9HGGV0JtUq/ULxCsvyqXj+hjbiD04Fevx/fYB /JkN9LhhF768tpBeLEiX3WwT4UYOnNUrOoGaBc7sI1Dzyx60Q6c1Rdp4xSuVzBpLfs85 u3JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679068543; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6G/Xgo8U64xN3ThBIepQD9BAz9X3LlolLcLN5HTC6G4=; b=G66ehJ1G+Vtng6G8vWACjSTMAjQmLJO1L4vee0pQqmhKf2C8wKNT0d6WicdxXjqRBJ z1YzowsiAoKNW8mTatnEH9cLfJrUKWR1t7xEWGHBsCiCZ7SDaBIVDt3DybMZQCY2xPf1 sH7iKv/6UXMzFfYRqpSi6olguHnpcoutc1TGhvpI8WGcYTxuBEwL74WACqm2FQ1powg7 8e0hLBNC3osZrKty4gXHB5TZENua/rL71r8yxkwph/SabU9m5E0M7q0YW/YllQiy68db hrQsGkpNf14STj1qGutrFiBrZoYs+QkLMAtbvpb964JwpLzCGN1s2M0sZJvZtWTo9ddz JBoQ== X-Gm-Message-State: AO0yUKVTZAkIW2zXpoJSNsWz1zKgmxz5YJSdXOqgGvTYq1Vlyb9IFG4t n7npSD6UJeOZG+h2xgeLIh2f0hjXJtlpqA== X-Google-Smtp-Source: AK7set94s7H0gmEP81qhp20UKcCfNQikXF9nsDKETjwM3DKXpJVrqxpbKA9ET1Ic4qHZsxs+9O/lJcrVM99H1Q== X-Received: from edumazet1.c.googlers.com ([fda3:e722:ac3:cc00:2b:7d90:c0a8:395a]) (user=edumazet job=sendgmr) by 2002:a05:6902:183:b0:9fe:195a:ce0d with SMTP id t3-20020a056902018300b009fe195ace0dmr9919ybh.10.1679068542915; Fri, 17 Mar 2023 08:55:42 -0700 (PDT) Date: Fri, 17 Mar 2023 15:55:30 +0000 In-Reply-To: <20230317155539.2552954-1-edumazet@google.com> Mime-Version: 1.0 References: <20230317155539.2552954-1-edumazet@google.com> X-Mailer: git-send-email 2.40.0.rc2.332.ga46443480c-goog Message-ID: <20230317155539.2552954-2-edumazet@google.com> Subject: [PATCH net-next 01/10] udp: preserve const qualifier in udp_sk() From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, David Ahern , Simon Horman , Willem de Bruijn , Matthieu Baerts , eric.dumazet@gmail.com, Eric Dumazet Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We can change udp_sk() to propagate const qualifier of its argument, thanks to container_of_const() This should avoid some potential errors caused by accidental (const -> not_const) promotion. Signed-off-by: Eric Dumazet Cc: Willem de Bruijn Reviewed-by: Simon Horman --- include/linux/udp.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/include/linux/udp.h b/include/linux/udp.h index a2892e151644ec347ad52d426400678e4a53b359..43c1fb2d2c21afc01abdf20e4b9c03f04932c19b 100644 --- a/include/linux/udp.h +++ b/include/linux/udp.h @@ -97,10 +97,7 @@ struct udp_sock { #define UDP_MAX_SEGMENTS (1 << 6UL) -static inline struct udp_sock *udp_sk(const struct sock *sk) -{ - return (struct udp_sock *)sk; -} +#define udp_sk(ptr) container_of_const(ptr, struct udp_sock, inet.sk) static inline void udp_set_no_check6_tx(struct sock *sk, bool val) { From patchwork Fri Mar 17 15:55:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 13179273 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26BE6C74A5B for ; Fri, 17 Mar 2023 15:56:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231372AbjCQP4C (ORCPT ); Fri, 17 Mar 2023 11:56:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46894 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231384AbjCQPz4 (ORCPT ); Fri, 17 Mar 2023 11:55:56 -0400 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B72AD515F for ; Fri, 17 Mar 2023 08:55:45 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-54352648c1eso49931207b3.9 for ; Fri, 17 Mar 2023 08:55:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679068544; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=7WDb4WFB6ufGyo+7uDzqFEl2Sw8/skYpQIfnfoJl7vU=; b=Ap60NmqglDibcNInqR8M4GTr8wvM5sBfadl22E77ddVz5kg1e+akyPkf/txn/8Q667 An1LN7kaScjimWcdiVqlDs0ALyuqk5pFLVMTDdRKwXY+jiPvyaCyINYkG1JbtxHm0yn8 zd3+70W0I4fAopZTp4d2WWfjgjjye18Ou5yf51eD4cyhCm/6LxSL/IeZlH0Ca0QOS0HH 2FCj1NU97Mv37yZPu4uzDsyfYJQNxbKBCG1Kv89dJg9qA3iEiKBTvfIS6Gpzzvt6PKCI oLU0KEF9ncwvjC1mmouBvJpYhDohxSct4ylOxPbz37/oMY464gVpMTy6Qn8ffr8x1/nW y87g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679068544; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=7WDb4WFB6ufGyo+7uDzqFEl2Sw8/skYpQIfnfoJl7vU=; b=fyC52CHHV2W/1W1XVzkn3mVs/1UgeDbS8xItFgZp/EQEF02UQ3nfn//jXQAUn0njPA JNw3o/FdYYExzE+0jVpr/Z9QhsUhmddF5V9ZHwMmC6UXXiJk04Vrlu1rbGamNM6p4T7N Bt+cz98ibfZt5e4lfqmOs8elyDxZRacXX8I6wB34xyodfPp7M7uPNoBaz/3r9hd2tW81 stVtsqHlQyHhHgOmvCdGMIeSYDFSpsRnW2urEhMIz+yW6bWLxbkFqQG6hRr7km70snaq YQmjG++1Gb/Ml4qk4o1yF/5xoZxKTUTmZrOSojo/hebBOqJ8JEiLw0AlCYkEq/ggI4RU ysNQ== X-Gm-Message-State: AO0yUKVlWcFt2tupoRqulnqG39P6HCf/YWWnyFg7WlMkqvsoK7lGFe++ swmJbcDVc1dQLI8V4MErf94ICWpS2PzxhQ== X-Google-Smtp-Source: AK7set+a8okPYk/5x9Fjk1/H8Udc9H1/k/TRYtAVhRkipEjnw6aGYcHD0QVXHBKitAE56Myjx7WhFVCNrrnFJA== X-Received: from edumazet1.c.googlers.com ([fda3:e722:ac3:cc00:2b:7d90:c0a8:395a]) (user=edumazet job=sendgmr) by 2002:a05:6902:4d4:b0:9f1:6c48:f95f with SMTP id v20-20020a05690204d400b009f16c48f95fmr52456ybs.5.1679068544522; Fri, 17 Mar 2023 08:55:44 -0700 (PDT) Date: Fri, 17 Mar 2023 15:55:31 +0000 In-Reply-To: <20230317155539.2552954-1-edumazet@google.com> Mime-Version: 1.0 References: <20230317155539.2552954-1-edumazet@google.com> X-Mailer: git-send-email 2.40.0.rc2.332.ga46443480c-goog Message-ID: <20230317155539.2552954-3-edumazet@google.com> Subject: [PATCH net-next 02/10] af_packet: preserve const qualifier in pkt_sk() From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, David Ahern , Simon Horman , Willem de Bruijn , Matthieu Baerts , eric.dumazet@gmail.com, Eric Dumazet Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We can change pkt_sk() to propagate const qualifier of its argument, thanks to container_of_const() This should avoid some potential errors caused by accidental (const -> not_const) promotion. Signed-off-by: Eric Dumazet Cc: Willem de Bruijn Reviewed-by: Simon Horman --- net/packet/internal.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/net/packet/internal.h b/net/packet/internal.h index 680703dbce5e04fc26d0fdeab1c1c911b71a8729..e793e99646f1c60f61a8dc5e765f8f544de83972 100644 --- a/net/packet/internal.h +++ b/net/packet/internal.h @@ -133,10 +133,7 @@ struct packet_sock { atomic_t tp_drops ____cacheline_aligned_in_smp; }; -static inline struct packet_sock *pkt_sk(struct sock *sk) -{ - return (struct packet_sock *)sk; -} +#define pkt_sk(ptr) container_of_const(ptr, struct packet_sock, sk) enum packet_sock_flags { PACKET_SOCK_ORIGDEV, From patchwork Fri Mar 17 15:55:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 13179272 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AD215C7618A for ; Fri, 17 Mar 2023 15:56:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231396AbjCQPz7 (ORCPT ); Fri, 17 Mar 2023 11:55:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231382AbjCQPz4 (ORCPT ); Fri, 17 Mar 2023 11:55:56 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 07EB4CC33F for ; Fri, 17 Mar 2023 08:55:47 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-54463468d06so50367557b3.7 for ; Fri, 17 Mar 2023 08:55:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679068546; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=C6D2OFfChRhykP3xx5GEXvzGCPaa1aTwYASPq37Pek8=; b=sVd/Uu3f7XK24piuUpG5FOI8euHvOD8V1i7BahxFKmfajqhb5WHkOWU/T4ML4GSVgF QsPa3b3u9TxI3abUKxZjCqaQ7s7RuSM2XHXyJBQl11PRJus/isuFSxFuUuZlRUQhCLvB v67bmZ7i0nAIFVWWghUpdgA66kJRbah7E7J8Le8LKiPFcEPqpb2f8VdQIRjnisCIhdGB IiOPwMq7d+P+MdO6KudL0AeKYXjrasu2QHuxpvqlWUW6yesL6sUP+iraE84ZJxP94quF 0aMvSPfmZ2SDnaYeMsP3GXBV65/uTAR0VVhew2kvPxMOHVVpIlrlz68LVCTKI67tQbbs R/aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679068546; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=C6D2OFfChRhykP3xx5GEXvzGCPaa1aTwYASPq37Pek8=; b=tAB89HhNoA9AS4FlK5vr7IFbjuDNtmo6wvJB4OWCO8E24aMmXrAG0B7pNCcBoyY6t/ b3Xixa0lPPqsxLRlBmbPrbHJWkAGdOcQ//zoIfzkywshUPvNC039Gs1w6c1iVCklQtND r83/afSpvrrR1ktiYb3lTumk/OvWBSR3Aj50E3I2hCW4/LhPa3XH5iXvbGL6dnvBiTEt vb7qSodhu7KE8n77Rz7od10pRGUJoriByNI9yZMPneSG5cfOnKHi08M/hE2CZG+Obcyd 68YQdSXRIKIuGI7n1YYTVkosDyArQtyaBD7ygrQ/78bnRonv0OFVWLHeJpPd/L9ujNG5 t77Q== X-Gm-Message-State: AO0yUKVwh4iWutsE6l9lmI+wTTggKdpbGnUm5yNBGYnZPuWAf1cpdOG8 2e2+FO81SNoeTYEuSrMFbMOg1/QV2kudmQ== X-Google-Smtp-Source: AK7set/iwMWR1/Cq9ihGHWmn17VvEzLnGYpbvsW4+b1EoX+/fvUtdRFjF6Jh3ArkLYMTg3fWyqvx1kPehhMpSQ== X-Received: from edumazet1.c.googlers.com ([fda3:e722:ac3:cc00:2b:7d90:c0a8:395a]) (user=edumazet job=sendgmr) by 2002:a05:6902:4cc:b0:a67:c976:c910 with SMTP id v12-20020a05690204cc00b00a67c976c910mr46932ybs.7.1679068546293; Fri, 17 Mar 2023 08:55:46 -0700 (PDT) Date: Fri, 17 Mar 2023 15:55:32 +0000 In-Reply-To: <20230317155539.2552954-1-edumazet@google.com> Mime-Version: 1.0 References: <20230317155539.2552954-1-edumazet@google.com> X-Mailer: git-send-email 2.40.0.rc2.332.ga46443480c-goog Message-ID: <20230317155539.2552954-4-edumazet@google.com> Subject: [PATCH net-next 03/10] raw: preserve const qualifier in raw_sk() From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, David Ahern , Simon Horman , Willem de Bruijn , Matthieu Baerts , eric.dumazet@gmail.com, Eric Dumazet Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We can change raw_sk() to propagate const qualifier of its argument, thanks to container_of_const() Signed-off-by: Eric Dumazet Reviewed-by: Simon Horman --- include/net/raw.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/include/net/raw.h b/include/net/raw.h index 7ad15830cf38460f1fae3a187986d74faef6dd1d..c215af02f7589ee5e77a7c3f89cb216fab638c4c 100644 --- a/include/net/raw.h +++ b/include/net/raw.h @@ -83,10 +83,7 @@ struct raw_sock { u32 ipmr_table; }; -static inline struct raw_sock *raw_sk(const struct sock *sk) -{ - return (struct raw_sock *)sk; -} +#define raw_sk(ptr) container_of_const(ptr, struct raw_sock, inet.sk) static inline bool raw_sk_bound_dev_eq(struct net *net, int bound_dev_if, int dif, int sdif) From patchwork Fri Mar 17 15:55:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 13179275 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4FC9FC7618A for ; Fri, 17 Mar 2023 15:56:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231431AbjCQP4E (ORCPT ); Fri, 17 Mar 2023 11:56:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46858 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231393AbjCQPz5 (ORCPT ); Fri, 17 Mar 2023 11:55:57 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 616D6C97FA for ; Fri, 17 Mar 2023 08:55:48 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-540e3b152a3so50498257b3.2 for ; Fri, 17 Mar 2023 08:55:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679068547; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=Dbs/I0DOtCv+iewqkJLf7Kg3v9iYNZTxz8Pm5gPeDaM=; b=mqnAspmHPBp57SmEaKrYcOC8jKDqIPb6qezb/G0HzZAjpEwhe8RnHjxjFZntmHdcH3 mZm7QYTfbomP9gV6FzLoJxp1ahJunZrXLaKLjIU2bqEZcvq8yhTzBNS9lmRPv7k3YJa+ cXkKCVMXuCVevFYMxIcFw+cRBNiQLWb5qBHYb1wcT+7Dg/QsTHh47vbgqRky80aphwkM F9DSo8dzpCLx31vjKBz6PTv8QH+aj2c8tsgqhv0uMd6HCu4JzFM2doAyK7CvuxDITkLR ZHZE9CUKZGzSzrooQirhNHyUHRjHl/Tz3AoV+qT0CnqqhBEqZ0U74WwCfvDycC59Q/Ci GULw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679068547; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Dbs/I0DOtCv+iewqkJLf7Kg3v9iYNZTxz8Pm5gPeDaM=; b=aFiHnriZHYoa8DLo9VcMdOTef3DJfPNQTzOEIE2/6f5n+XWysF11i7GEGiY0FrwfTH jmkNnp33CyewNw8aTHvvxUuPaqexQsJoCaGb20DeYztme5nJ57blWqSwfQkWSvYcfWfU Gs1YOQc4EhbdjjS3cra3zY+sAtqZRxwOWDMRMfgBcjXdQRx9mT13Gn20zwQ9KjaAuR57 2diR+R2xCs3VNeOME7UsPOm3qcdnmWmpZ46XJ2EtG2ozlJXr8xa8jkkjJ32haJehJStn H4ZricuquHRa/AVFNQ79xqrtXhlzPR2rbay+Bw08mCeDOVdfjnT6O8LxaGqTo94kqDfe qglQ== X-Gm-Message-State: AO0yUKXp7XbXqJ/MMhJipwPmYpLItP0wUqF4TJaFf9d3EsGIw+8YHZtX ClFIoXt7rpIv7D6ScvS3Q5TxOmJlElucAg== X-Google-Smtp-Source: AK7set/A0n1EVwj8Rt7Uz1R6tQfh8t+SLxYuimykbpr0nQB2RkqMWDG+l+GaeQ2/PhaVTwUm+1Ji7aoMtgOQlg== X-Received: from edumazet1.c.googlers.com ([fda3:e722:ac3:cc00:2b:7d90:c0a8:395a]) (user=edumazet job=sendgmr) by 2002:a05:6902:120b:b0:b51:2cba:b971 with SMTP id s11-20020a056902120b00b00b512cbab971mr26743ybu.10.1679068547667; Fri, 17 Mar 2023 08:55:47 -0700 (PDT) Date: Fri, 17 Mar 2023 15:55:33 +0000 In-Reply-To: <20230317155539.2552954-1-edumazet@google.com> Mime-Version: 1.0 References: <20230317155539.2552954-1-edumazet@google.com> X-Mailer: git-send-email 2.40.0.rc2.332.ga46443480c-goog Message-ID: <20230317155539.2552954-5-edumazet@google.com> Subject: [PATCH net-next 04/10] ipv6: raw: preserve const qualifier in raw6_sk() From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, David Ahern , Simon Horman , Willem de Bruijn , Matthieu Baerts , eric.dumazet@gmail.com, Eric Dumazet Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We can change raw6_sk() to propagate its argument const qualifier, thanks to container_of_const(). Signed-off-by: Eric Dumazet Reviewed-by: Simon Horman --- include/linux/ipv6.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 37dfdcfcdd542fe0efc9a1df967be3da931635d4..839247a4f48ea76b5d6daa9a54a7b87627635066 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -336,10 +336,7 @@ static inline struct ipv6_pinfo *inet6_sk(const struct sock *__sk) return sk_fullsock(__sk) ? inet_sk(__sk)->pinet6 : NULL; } -static inline struct raw6_sock *raw6_sk(const struct sock *sk) -{ - return (struct raw6_sock *)sk; -} +#define raw6_sk(ptr) container_of_const(ptr, struct raw6_sock, inet.sk) #define ipv6_only_sock(sk) (sk->sk_ipv6only) #define ipv6_sk_rxinfo(sk) ((sk)->sk_family == PF_INET6 && \ From patchwork Fri Mar 17 15:55:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 13179274 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 498E5C6FD1D for ; Fri, 17 Mar 2023 15:56:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231415AbjCQP4D (ORCPT ); Fri, 17 Mar 2023 11:56:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231400AbjCQPz5 (ORCPT ); Fri, 17 Mar 2023 11:55:57 -0400 Received: from mail-qv1-xf49.google.com (mail-qv1-xf49.google.com [IPv6:2607:f8b0:4864:20::f49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B542C9CBF for ; Fri, 17 Mar 2023 08:55:50 -0700 (PDT) Received: by mail-qv1-xf49.google.com with SMTP id dl18-20020ad44e12000000b005a4d5420bc6so3002388qvb.11 for ; Fri, 17 Mar 2023 08:55:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679068549; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=NLKZaiswqvS0yMI41n07zPe+J+J2Kt7/bjcStBMbJy4=; b=c2jzm0JuT2Oquz9ZcC4JGex7iHPj4tgfQuWWbrTAVX4N1WxcC+Zrb6C2ycRWvvb/QG Y2kjl+nodxCV8etLWbhQ/S9hz1t/WWKZTqp2LiwAnyht3V47PxeGmOIe8Qul9UAqOrE5 PtoSgL02yM4zeWnDUs2/rqi6IT3SK6GJN57MlDG6xYT9CmF2SRQdnkmxx5MXzhBug5Hq OvnozV1k/sljTNHe2UoYImQAsr063LHmtH8UX9EBJ6l6+VGz9f3HxyC1BMc1TMB29l8c utCFhkTfQo6fZTGRIwLsFG/kTRwLgZpeWkvY7q9x4Rzo2gAh4zBcjjZ4pmdXwoixT/jV tkDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679068549; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NLKZaiswqvS0yMI41n07zPe+J+J2Kt7/bjcStBMbJy4=; b=mLkLYDnuIDKME48EqiQpJWfC3o0N4AVmOBniu5VtzR99HJ3M3yDzk0/zeE3OdQGDVx oUzNUSgeeyM3erDQi2XHiB0lvlSQik2wz025ALGGdWjyKiOAD/shhdFSNX7v21Xv4r9S 5LNXn4/Xo52mXrskcxHEBd8/wDy1be6TedqBQbXJqphEF7SjjWiIIyeFgOQu3nIk/NoJ KN+hnikLVPjw1vrokxgfXGFP5oecbxkuiMnu9uEtAbg2EcFh4JC1VaboawmY0rkDTKkC 3XpuDal/8t43qIeOMKXWua12pehGApOoFUohWlofY9mV4ydS58vjj+xXAtyNrK4Bk6y9 Q8nA== X-Gm-Message-State: AO0yUKUljchtBnaX77SkNwSPosrEXJaOUkT19Xtlbh5NUxd9psD2/ivw H/R+vgAqkDMeNGdVk7+ZCuXxVWc8hkV0cg== X-Google-Smtp-Source: AK7set/r3sB8bae56hQAcmC2wZm6adUqSCH2EacCBGUEGeWZwKjyVOEgOqYDX9ThTJY3XjKRgS0eqxg+zPnebA== X-Received: from edumazet1.c.googlers.com ([fda3:e722:ac3:cc00:2b:7d90:c0a8:395a]) (user=edumazet job=sendgmr) by 2002:ae9:e20c:0:b0:742:825d:2b07 with SMTP id c12-20020ae9e20c000000b00742825d2b07mr7193618qkc.5.1679068549221; Fri, 17 Mar 2023 08:55:49 -0700 (PDT) Date: Fri, 17 Mar 2023 15:55:34 +0000 In-Reply-To: <20230317155539.2552954-1-edumazet@google.com> Mime-Version: 1.0 References: <20230317155539.2552954-1-edumazet@google.com> X-Mailer: git-send-email 2.40.0.rc2.332.ga46443480c-goog Message-ID: <20230317155539.2552954-6-edumazet@google.com> Subject: [PATCH net-next 05/10] dccp: preserve const qualifier in dccp_sk() From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, David Ahern , Simon Horman , Willem de Bruijn , Matthieu Baerts , eric.dumazet@gmail.com, Eric Dumazet Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We can change dccp_sk() to propagate its argument const qualifier, thanks to container_of_const(). Signed-off-by: Eric Dumazet Reviewed-by: Simon Horman --- include/linux/dccp.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/include/linux/dccp.h b/include/linux/dccp.h index 07e547c02fd8b23e05f1f45a3915b2987faddbe9..325af611909f99793491b437231eba20b589c032 100644 --- a/include/linux/dccp.h +++ b/include/linux/dccp.h @@ -305,10 +305,8 @@ struct dccp_sock { struct timer_list dccps_xmit_timer; }; -static inline struct dccp_sock *dccp_sk(const struct sock *sk) -{ - return (struct dccp_sock *)sk; -} +#define dccp_sk(ptr) container_of_const(ptr, struct dccp_sock, \ + dccps_inet_connection.icsk_inet.sk) static inline const char *dccp_role(const struct sock *sk) { From patchwork Fri Mar 17 15:55:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 13179276 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0261FC6FD1D for ; Fri, 17 Mar 2023 15:56:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231393AbjCQP4G (ORCPT ); Fri, 17 Mar 2023 11:56:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46846 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231401AbjCQPz5 (ORCPT ); Fri, 17 Mar 2023 11:55:57 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4EE07C9C85 for ; Fri, 17 Mar 2023 08:55:51 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-544b71b3114so39367717b3.13 for ; Fri, 17 Mar 2023 08:55:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679068550; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=bnlpOJ7Mh6uk22VZsxZHret+fbAMKXlOYWSTyVc9q+U=; b=UfgwxaI7PjjhN2FMOKR4Gn1fdXBuNJvugZk59EkzGMdUzBQiE8WxkOWvUlBQ2y9kJB lqm9pRkDWLteBoTHmis8WusK0vowOI5tRCG1l+962b3cO8omlKD1sK/s7cE6+clE9Snu r9zmf9Kh/vrxMChcEEyvSM7HV0VTKcXiBphfh5kXBCAB6XyD/iVH5SSUqz4m2aXYiNPg 6XWH10glcChxjjUVHtrr9pdC/C7tlyg5uVENnc26O6C+Pzc+3d0SuX7V2dW4vXtBGUwA 5lOWQek99DSzldX9aVcYjueJliTN/dxoInevUoYTWeIJNPjym3P2rB+uwhy21ZE22aiq GyxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679068550; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=bnlpOJ7Mh6uk22VZsxZHret+fbAMKXlOYWSTyVc9q+U=; b=CoJfVH0zxftWp/MHT8UGbfHQBA2qiMxF8PS4yBecyBw22E43SdQGCGVLi7ils11bhp aRD5wawGvH5wJadgRJKPwez0JKPXSnDG42ACWK4a3LTw3+f+OPr+QGMxyXBwTNCxgEm3 weT//x0fX2xoZE/Q1EIuiGGxym1ieXmTZEzai83zK5cKhm9lA+eq9gzI0H67R07GP5fa 0AbTHp6jSyEns19OBEJ5mIH4dVZgleiurML64buU3iCqY+J8vic/POpl30JUbKnnRP5U 0NB4rsPmukTdAS8FKeul1SgG2dYkyIn8sQiSgT3Wkh4cZHzbB0ztG8+kbl2TVOOpXEf0 OZ4w== X-Gm-Message-State: AO0yUKWbv66SoVa3QhUEUqrrwy9f/CRDQkqw31xiPkdX9E7RLNYO/dmm E2BLkL8UZlX/M17zZk7TxN/GCuD9AokBqw== X-Google-Smtp-Source: AK7set9EMlEkn48blxKvjoQf3n20MUoZhfaBwZYO9379BadS/0a8zXEtOjo9NWDCFqLjOgfv15Rx1I+ZxSgPTg== X-Received: from edumazet1.c.googlers.com ([fda3:e722:ac3:cc00:2b:7d90:c0a8:395a]) (user=edumazet job=sendgmr) by 2002:a05:6902:4cc:b0:a67:c976:c910 with SMTP id v12-20020a05690204cc00b00a67c976c910mr47033ybs.7.1679068550593; Fri, 17 Mar 2023 08:55:50 -0700 (PDT) Date: Fri, 17 Mar 2023 15:55:35 +0000 In-Reply-To: <20230317155539.2552954-1-edumazet@google.com> Mime-Version: 1.0 References: <20230317155539.2552954-1-edumazet@google.com> X-Mailer: git-send-email 2.40.0.rc2.332.ga46443480c-goog Message-ID: <20230317155539.2552954-7-edumazet@google.com> Subject: [PATCH net-next 06/10] af_unix: preserve const qualifier in unix_sk() From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, David Ahern , Simon Horman , Willem de Bruijn , Matthieu Baerts , eric.dumazet@gmail.com, Eric Dumazet Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We can change unix_sk() to propagate its argument const qualifier, thanks to container_of_const(). We need to change dump_common_audit_data() 'struct unix_sock *u' local var to get a const attribute. Signed-off-by: Eric Dumazet Reviewed-by: Simon Horman --- include/net/af_unix.h | 5 +---- security/lsm_audit.c | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/include/net/af_unix.h b/include/net/af_unix.h index 45ebde587138e59f8331d358420d3fca79d9ee66..824c258143a3ab360b870fda38ba684b70068eee 100644 --- a/include/net/af_unix.h +++ b/include/net/af_unix.h @@ -74,10 +74,7 @@ struct unix_sock { #endif }; -static inline struct unix_sock *unix_sk(const struct sock *sk) -{ - return (struct unix_sock *)sk; -} +#define unix_sk(ptr) container_of_const(ptr, struct unix_sock, sk) #define peer_wait peer_wq.wait diff --git a/security/lsm_audit.c b/security/lsm_audit.c index 00d3bdd386e294ecd562bfa8ce502bf179ad32d9..368e77ca43c4a5d5f71a7e9a0a1e58a006796aa6 100644 --- a/security/lsm_audit.c +++ b/security/lsm_audit.c @@ -310,7 +310,7 @@ static void dump_common_audit_data(struct audit_buffer *ab, case LSM_AUDIT_DATA_NET: if (a->u.net->sk) { const struct sock *sk = a->u.net->sk; - struct unix_sock *u; + const struct unix_sock *u; struct unix_address *addr; int len = 0; char *p = NULL; From patchwork Fri Mar 17 15:55:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 13179277 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A6A70C74A5B for ; Fri, 17 Mar 2023 15:56:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231454AbjCQP4H (ORCPT ); Fri, 17 Mar 2023 11:56:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46892 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231371AbjCQPz6 (ORCPT ); Fri, 17 Mar 2023 11:55:58 -0400 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0FAF2D5A64 for ; Fri, 17 Mar 2023 08:55:53 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-544d2dc2649so5077937b3.15 for ; Fri, 17 Mar 2023 08:55:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679068552; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=frW+YtgkbUT1EDOBzFr367nCrSEoGgXXQPUi+ytLe5k=; b=oTVzi9supt7cBSOk5zvarGLCUGogER8ZvemDKakQr2zIxN3ciK7UdCsYRXe2vo9b0r q02TPeh+3WCr8XvhNbPS71EBRI/JeNqnFr6o9jOLRMYY3UyCB+sxuyEbRHzuGjplH8Sn iYhSfelyREuY98UZ2a2yDOsA7Ksfix9yJJMoxSU7GhkZ5NVO9rCxocJPSb8wVnh41h76 CusZPPnaegHWiWl5dIp9BCeSdE5xuOsDB+x6bzsqh/WfMc7HwMUZtJC78y5HFpkgwufi avakD+1zrKK4xBKAebIOjeP31rSnUtDX05zjO+8d6txLzQNprVxiUv7tdB+zYoJ4jg1/ PFhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679068552; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=frW+YtgkbUT1EDOBzFr367nCrSEoGgXXQPUi+ytLe5k=; b=euPkujjwNxTxMBGTfKyYabkBdmNcs1+pCnzFNtsv+J7VI4Jwp1etX+n/yaSrHKAre9 pgi1iQR2oN6Yc6S6Z/ThBob3acK8l2gMFe8rwy78RKZo7wUmhQp7t26OBZwPmz6sXagW qlf2DpvqR8Thun2vSxxTQUnfqxA3trwD8KJyuzL3NXotsGNckcPjWBpgfkZ+xPNXXIaE qcqIfyuGla+X2uXXu9KO1j0ASIks9Vx9F6yHa2354P3rmvIZTEcreU4IQPOeABB0kQh5 ridyoj/cRd9DbCQKh+lIQa1HchnpCZjC+TyC4ffd9O8cJ+9CLbXQ243N+onR6wDOQ4eE 89vQ== X-Gm-Message-State: AO0yUKVTLqVWTnHnV70BFtfJQRP2XzdOHAYHNjfbh7ORt8jI1xcA2thY Hv4YeiOT8zQIM8tqPDuAyvq1nLa+pYM8Mw== X-Google-Smtp-Source: AK7set/t+RE89LC44fEXLvbvUcNQgILPK3oj6/BHSvi9Wx4XFF1g5gNOuHJsmTIzrR/K75PVv8Hh9m3BKSSmFw== X-Received: from edumazet1.c.googlers.com ([fda3:e722:ac3:cc00:2b:7d90:c0a8:395a]) (user=edumazet job=sendgmr) by 2002:a05:6902:511:b0:b2e:f387:b428 with SMTP id x17-20020a056902051100b00b2ef387b428mr56527ybs.5.1679068552330; Fri, 17 Mar 2023 08:55:52 -0700 (PDT) Date: Fri, 17 Mar 2023 15:55:36 +0000 In-Reply-To: <20230317155539.2552954-1-edumazet@google.com> Mime-Version: 1.0 References: <20230317155539.2552954-1-edumazet@google.com> X-Mailer: git-send-email 2.40.0.rc2.332.ga46443480c-goog Message-ID: <20230317155539.2552954-8-edumazet@google.com> Subject: [PATCH net-next 07/10] smc: preserve const qualifier in smc_sk() From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, David Ahern , Simon Horman , Willem de Bruijn , Matthieu Baerts , eric.dumazet@gmail.com, Eric Dumazet , Karsten Graul , Wenjia Zhang , Jan Karcher Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We can change smc_sk() to propagate its argument const qualifier, thanks to container_of_const(). Signed-off-by: Eric Dumazet Cc: Karsten Graul Cc: Wenjia Zhang Cc: Jan Karcher Reviewed-by: Simon Horman Reviewed-by: Wenjia Zhang --- net/smc/smc.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/net/smc/smc.h b/net/smc/smc.h index 5ed765ea0c731a7f0095cd6a99a0e42d227eaca9..2eeea4cdc7187eed2a3b12888d8f647382f6f2ac 100644 --- a/net/smc/smc.h +++ b/net/smc/smc.h @@ -283,10 +283,7 @@ struct smc_sock { /* smc sock container */ * */ }; -static inline struct smc_sock *smc_sk(const struct sock *sk) -{ - return (struct smc_sock *)sk; -} +#define smc_sk(ptr) container_of_const(ptr, struct smc_sock, sk) static inline void smc_init_saved_callbacks(struct smc_sock *smc) { From patchwork Fri Mar 17 15:55:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 13179278 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 779D9C7618A for ; Fri, 17 Mar 2023 15:56:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231458AbjCQP4J (ORCPT ); Fri, 17 Mar 2023 11:56:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230032AbjCQPz7 (ORCPT ); Fri, 17 Mar 2023 11:55:59 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10093C9C8C for ; Fri, 17 Mar 2023 08:55:55 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id e129-20020a251e87000000b00b56598237f5so5656866ybe.16 for ; Fri, 17 Mar 2023 08:55:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679068554; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=QUMjTTGpzBj+/EOJevtTMimZE+jsZWH0mBOWQgcIhgo=; b=Xujbwsw3x4OoRepnMegRlckHrwC/lXhnrpjU+yw/4mttzeyAoQYg4lMuuTGIC3394P SgfBBP21hoUw53mWCf8efu9HSkX1wtUmWlh1zIf0SarPE/TU9LGguX1LGQWwAdqNonsN kiq2HkwqfL03D1gWmLv0Jb7lDngMura6vQjbiL3kbU5kCxJKJAU4xfca5UI18XkSUMZB B5w6pkRYoURTIqvzJh2JaTHvTUD0T3y/78qba3d7cWsXgGsZQp0jimNgEquLQcOBnHs6 PKpKj6k8yzMMzss2FG7H2hUmpd4lJ37CwDuf5JK5Ciov3MsI48V9aQTtVfZaZSFar5fi EOCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679068554; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=QUMjTTGpzBj+/EOJevtTMimZE+jsZWH0mBOWQgcIhgo=; b=LKE8JgCEwpVfVgRxWRr8y+gvDVTyU5nyGA78C1fsfFDLDiHKhcMyvkeNBnJTWADmmO /6WX/Po/6tcFNYKayLywvx7km6Nip20XKl21Qe+rWo3oXDdxAs/8bKbqsN0ThMSMBvg5 Q4yPsGibOT+8Nu12EerGIN9spJq0TQocPgSsrs4hNScXrkqgiaZ9P4xLVOgiO5cokF4s RsUKXnJRbxC664cCM3+8H5kBJYq8uV7zgz7Q66GJ+4ti8qeAEwf3Hljuwf6EW1/28GJp owhOGUlw3anowCQ3VhzXo7IpqnyK9gJr76CBTvvGO/HMkZrklSQmLkf0Gws7EvjITbeo 3WIg== X-Gm-Message-State: AO0yUKVo7/LDD0rh0X0EPdsDZioGJO6fZIF314mxupcOU1bF6pQM+D/6 wOz06KmLAVf9lWEFHuwuXKvTohqY0QygJQ== X-Google-Smtp-Source: AK7set+GInZDisGh1DidYg0ZOFjrslTZLNeYTSuX13P7iJAnSVheMz7W84NJwKBajZ1uyKHRg4zZlEE8BN2iGA== X-Received: from edumazet1.c.googlers.com ([fda3:e722:ac3:cc00:2b:7d90:c0a8:395a]) (user=edumazet job=sendgmr) by 2002:a5b:c8:0:b0:914:fc5e:bbec with SMTP id d8-20020a5b00c8000000b00914fc5ebbecmr5059ybp.13.1679068554310; Fri, 17 Mar 2023 08:55:54 -0700 (PDT) Date: Fri, 17 Mar 2023 15:55:37 +0000 In-Reply-To: <20230317155539.2552954-1-edumazet@google.com> Mime-Version: 1.0 References: <20230317155539.2552954-1-edumazet@google.com> X-Mailer: git-send-email 2.40.0.rc2.332.ga46443480c-goog Message-ID: <20230317155539.2552954-9-edumazet@google.com> Subject: [PATCH net-next 08/10] x25: preserve const qualifier in [a]x25_sk() From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, David Ahern , Simon Horman , Willem de Bruijn , Matthieu Baerts , eric.dumazet@gmail.com, Eric Dumazet Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We can change [a]x25_sk() to propagate their argument const qualifier, thanks to container_of_const(). Signed-off-by: Eric Dumazet Reviewed-by: Simon Horman --- include/net/ax25.h | 5 +---- include/net/x25.h | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/include/net/ax25.h b/include/net/ax25.h index f8cf3629a41934f96f33e5d70ad90cc8ae796d38..0d939e5aee4eca38d2b1bd86f87fe3cd990af67b 100644 --- a/include/net/ax25.h +++ b/include/net/ax25.h @@ -260,10 +260,7 @@ struct ax25_sock { struct ax25_cb *cb; }; -static inline struct ax25_sock *ax25_sk(const struct sock *sk) -{ - return (struct ax25_sock *) sk; -} +#define ax25_sk(ptr) container_of_const(ptr, struct ax25_sock, sk) static inline struct ax25_cb *sk_to_ax25(const struct sock *sk) { diff --git a/include/net/x25.h b/include/net/x25.h index d7d6c2b4ffa7153b0caef7dd249ba93f5f39e414..597eb53c471e3386108447d46b054852abfcce6c 100644 --- a/include/net/x25.h +++ b/include/net/x25.h @@ -177,10 +177,7 @@ struct x25_forward { atomic_t refcnt; }; -static inline struct x25_sock *x25_sk(const struct sock *sk) -{ - return (struct x25_sock *)sk; -} +#define x25_sk(ptr) container_of_const(ptr, struct x25_sock, sk) /* af_x25.c */ extern int sysctl_x25_restart_request_timeout; From patchwork Fri Mar 17 15:55:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 13179279 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9C20C6FD1D for ; Fri, 17 Mar 2023 15:56:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231382AbjCQP4K (ORCPT ); Fri, 17 Mar 2023 11:56:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46846 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231416AbjCQP4A (ORCPT ); Fri, 17 Mar 2023 11:56:00 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B3BDCD5A7E for ; Fri, 17 Mar 2023 08:55:56 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id e11-20020a5b004b000000b00b37118ce5a7so5726002ybp.10 for ; Fri, 17 Mar 2023 08:55:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679068556; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=jUfZ193GE05uLOqvWnwFJu4kepuDL/Ep0R0Kgh9ECe0=; b=VVC7kh4h4Dt9gdNHAZfDUwml8eTklUS65Ibq2R3quBqyfWSQMrAYHvHUQL0NR++TzU G0HH/rlhRmmSuFiTztAK62+Z1YnLlUFy/j2P7ID1aG3/U0HwmDhxbGkSBn8Qfla25Nwj Hh8h43dP2KMeuLXLG4H1IGnmHy+zIeQePkVRAwcyhX37wtyXtoyQ1SOl+WJS/O9nJj4p tcORjDZW94KFIT6RYtBlgSIykJ02dkMoEYEd7+x05oW6RMIOzpEjjX4wMhHXQciZxm4t TfgJ55PEXcbXTm7U9oFx6Frg1B9irSMu+kljhQi5yW9YwONBmCosGq7tsXOs3ah4+jrE Nt/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679068556; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=jUfZ193GE05uLOqvWnwFJu4kepuDL/Ep0R0Kgh9ECe0=; b=2UWOrj7q5QaCQYKWeGdktV/fbTiVzNW6+vnmkVXCSkxtCRKKVrwQ0diUenZ5oyozK9 ESt7TaLFJo54F8+F/5q1FOH4IS73Cg8haYtngXkFArfibTJDL5vz9d59DDpd5PnHpvwA GTGEDokA5sMiLFfYOpVeX8xR+IGUqDRf9G7uyNXu4CHeJEmX3er7lI21nAPB7HCUJ6RJ lU1XuqddmhJBvoDXpyonP9jKe+Mx2RDc5jW8RMQI2a5a4oXIRnidmlAlxnoF67UeE20O RejCu3kvzv1TJYYo2EYmDmSF27PruzoPSUtCNgZiNbt6Dw8WAQd17325x69LUy/G92b5 YMsA== X-Gm-Message-State: AO0yUKVFHyesTgTM+IJNWtNlbnKDgmLVSQzLuuxyGBo9wybMHDJ1s0SQ o4hxbIFsS3VHW13tiOnu7g/XAMAp53Nxzw== X-Google-Smtp-Source: AK7set+/EN6/+Y9+yEc45lmygOUb7/w81WMhVR7COMRMfgYeEQb4J24JygUQWUB3gnJpKUrTKT0B+zeN4UMH4Q== X-Received: from edumazet1.c.googlers.com ([fda3:e722:ac3:cc00:2b:7d90:c0a8:395a]) (user=edumazet job=sendgmr) by 2002:a05:6902:511:b0:b2e:f387:b428 with SMTP id x17-20020a056902051100b00b2ef387b428mr56631ybs.5.1679068555996; Fri, 17 Mar 2023 08:55:55 -0700 (PDT) Date: Fri, 17 Mar 2023 15:55:38 +0000 In-Reply-To: <20230317155539.2552954-1-edumazet@google.com> Mime-Version: 1.0 References: <20230317155539.2552954-1-edumazet@google.com> X-Mailer: git-send-email 2.40.0.rc2.332.ga46443480c-goog Message-ID: <20230317155539.2552954-10-edumazet@google.com> Subject: [PATCH net-next 09/10] mptcp: preserve const qualifier in mptcp_sk() From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, David Ahern , Simon Horman , Willem de Bruijn , Matthieu Baerts , eric.dumazet@gmail.com, Eric Dumazet Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We can change mptcp_sk() to propagate its argument const qualifier, thanks to container_of_const(). We need to change few things to avoid build errors: mptcp_set_datafin_timeout() and mptcp_rtx_head() have to accept non-const sk pointers. @msk local variable in mptcp_pending_tail() must be const. Signed-off-by: Eric Dumazet Cc: Matthieu Baerts Reviewed-by: Simon Horman Reviewed-by: Matthieu Baerts --- net/mptcp/protocol.c | 2 +- net/mptcp/protocol.h | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index 3005a5adf715e8d147c119b0b4c13fcc58fe99f6..8c6b6d2643311b1e30f681e2ae843350342ca6e6 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -459,7 +459,7 @@ static bool mptcp_pending_data_fin(struct sock *sk, u64 *seq) return false; } -static void mptcp_set_datafin_timeout(const struct sock *sk) +static void mptcp_set_datafin_timeout(struct sock *sk) { struct inet_connection_sock *icsk = inet_csk(sk); u32 retransmits; diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h index 61fd8eabfca2028680e04558b4baca9f48bbaaaa..4ed8ffffb1ca473179217e640a23bc268742628d 100644 --- a/net/mptcp/protocol.h +++ b/net/mptcp/protocol.h @@ -333,10 +333,7 @@ static inline void msk_owned_by_me(const struct mptcp_sock *msk) sock_owned_by_me((const struct sock *)msk); } -static inline struct mptcp_sock *mptcp_sk(const struct sock *sk) -{ - return (struct mptcp_sock *)sk; -} +#define mptcp_sk(ptr) container_of_const(ptr, struct mptcp_sock, sk.icsk_inet.sk) /* the msk socket don't use the backlog, also account for the bulk * free memory @@ -370,7 +367,7 @@ static inline struct mptcp_data_frag *mptcp_send_next(struct sock *sk) static inline struct mptcp_data_frag *mptcp_pending_tail(const struct sock *sk) { - struct mptcp_sock *msk = mptcp_sk(sk); + const struct mptcp_sock *msk = mptcp_sk(sk); if (!msk->first_pending) return NULL; @@ -381,7 +378,7 @@ static inline struct mptcp_data_frag *mptcp_pending_tail(const struct sock *sk) return list_last_entry(&msk->rtx_queue, struct mptcp_data_frag, list); } -static inline struct mptcp_data_frag *mptcp_rtx_head(const struct sock *sk) +static inline struct mptcp_data_frag *mptcp_rtx_head(struct sock *sk) { struct mptcp_sock *msk = mptcp_sk(sk); From patchwork Fri Mar 17 15:55:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 13179280 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D5406C7618A for ; Fri, 17 Mar 2023 15:56:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231469AbjCQP4M (ORCPT ); Fri, 17 Mar 2023 11:56:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47038 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231422AbjCQP4B (ORCPT ); Fri, 17 Mar 2023 11:56:01 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA9A5C9CBA for ; Fri, 17 Mar 2023 08:55:57 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-54463468d06so50371867b3.7 for ; Fri, 17 Mar 2023 08:55:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; t=1679068557; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=wzAnHVfQK6IG+Vn1edY5oYX24EnB2xmyocSZNhH1d3Q=; b=hakLmSHKQ3DSF4rklv7ak50YyVzEypZmdHslVJsqwIiQQn7+sK1xAS2Rvdg30k+Fsm XPkhOSJBXKTiL0M+o3OpoUqq6mcrrUUmMW62wKzD1LR1XQz3cZd9FBh+kyZsvePIDSZB 8a7MSCukGcRwLIo8gGvEtKNPDjdBuemyXXnUu8HRMtK6Ga8YaP1BIZvKsQ3GuSa35nDG VBgczyH+2+RW4hTo0KN/INNALwAvrotEihGbkyfuZvr6YenyQCd0wp+amFNyuq5hWuCD odTWIyT8F7YPDRCWgsQvp+lIHqpDYAreqZGTRGi4n6U8Jida1yQdmpLhZ5rrD49m6NFR i8cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679068557; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wzAnHVfQK6IG+Vn1edY5oYX24EnB2xmyocSZNhH1d3Q=; b=UMKjacytS6dD2284bWHdH2e5x8qRbcWhq8MCtZku0M9gZUdaSwBHNzJCN2lBki2zMa 8fbckFeTy+hC9zVzbPkLK4Y67LtRPKJvAamLVM3tYpqGfVAUiZZRDOlmypDJVtOH2bRa BKB4uEGPh4MPlZ1rTQFzJ8/PKytA0fGzTMJOwpTnNz5qULfW69IteSnDOsA9wRzOOTrR CoIT6pDTWSdW1tM6WKNKhCTXwFO2cc4e4kB8wUI1mt4HuIDCF6u8znWTx+zJ5g2yY4Io qLSMswgSfsSMcoj7UP0KAv10LUtMV5LOTtmTxXg2dKKdBlqru59zHV3jPXB9XsdtGypb QE+w== X-Gm-Message-State: AO0yUKUv7V01ewrRkpTkm8HFPT6P6AFny1taF8nEUNBpNSMJ7gKhxX1m 4njQEmdGbaElbHGw5iAJgwraKH8OeOFMRQ== X-Google-Smtp-Source: AK7set8twqSDMaWsJCeVYv8y44Ur3+YM4kAkkVa11SUPiYQ4kujXbBCsNDSl8lF1jRqKLi+jFqA4Vp7KmRXVlQ== X-Received: from edumazet1.c.googlers.com ([fda3:e722:ac3:cc00:2b:7d90:c0a8:395a]) (user=edumazet job=sendgmr) by 2002:a5b:c0a:0:b0:b5c:f48:3083 with SMTP id f10-20020a5b0c0a000000b00b5c0f483083mr24611ybq.11.1679068557413; Fri, 17 Mar 2023 08:55:57 -0700 (PDT) Date: Fri, 17 Mar 2023 15:55:39 +0000 In-Reply-To: <20230317155539.2552954-1-edumazet@google.com> Mime-Version: 1.0 References: <20230317155539.2552954-1-edumazet@google.com> X-Mailer: git-send-email 2.40.0.rc2.332.ga46443480c-goog Message-ID: <20230317155539.2552954-11-edumazet@google.com> Subject: [PATCH net-next 10/10] tcp: preserve const qualifier in tcp_sk() From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, David Ahern , Simon Horman , Willem de Bruijn , Matthieu Baerts , eric.dumazet@gmail.com, Eric Dumazet Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We can change tcp_sk() to propagate its argument const qualifier, thanks to container_of_const(). We have two places where a const sock pointer has to be upgraded to a write one. We have been using const qualifier for lockless listeners to clearly identify points where writes could happen. Add tcp_sk_rw() helper to better document these. tcp_inbound_md5_hash(), __tcp_grow_window(), tcp_reset_check() and tcp_rack_reo_wnd() get an additional const qualififer for their @tp local variables. smc_check_reset_syn_req() also needs a similar change. Signed-off-by: Eric Dumazet Reviewed-by: Simon Horman --- include/linux/tcp.h | 10 ++++++---- include/net/tcp.h | 2 +- net/ipv4/tcp.c | 2 +- net/ipv4/tcp_input.c | 4 ++-- net/ipv4/tcp_minisocks.c | 5 +++-- net/ipv4/tcp_output.c | 9 +++++++-- net/ipv4/tcp_recovery.c | 2 +- 7 files changed, 21 insertions(+), 13 deletions(-) diff --git a/include/linux/tcp.h b/include/linux/tcp.h index ca7f05a130d2d14d530207adcc1cc50b7b830c80..b4c08ac86983568a9511258708724da15d0b999e 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h @@ -472,10 +472,12 @@ enum tsq_flags { TCPF_MTU_REDUCED_DEFERRED = (1UL << TCP_MTU_REDUCED_DEFERRED), }; -static inline struct tcp_sock *tcp_sk(const struct sock *sk) -{ - return (struct tcp_sock *)sk; -} +#define tcp_sk(ptr) container_of_const(ptr, struct tcp_sock, inet_conn.icsk_inet.sk) + +/* Variant of tcp_sk() upgrading a const sock to a read/write tcp socket. + * Used in context of (lockless) tcp listeners. + */ +#define tcp_sk_rw(ptr) container_of(ptr, struct tcp_sock, inet_conn.icsk_inet.sk) struct tcp_timewait_sock { struct inet_timewait_sock tw_sk; diff --git a/include/net/tcp.h b/include/net/tcp.h index db9f828e9d1ee4546951a408935b6c5f90851a93..a0a91a988272710470cd20f22e02e49476513239 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -529,7 +529,7 @@ static inline void tcp_synq_overflow(const struct sock *sk) last_overflow = READ_ONCE(tcp_sk(sk)->rx_opt.ts_recent_stamp); if (!time_between32(now, last_overflow, last_overflow + HZ)) - WRITE_ONCE(tcp_sk(sk)->rx_opt.ts_recent_stamp, now); + WRITE_ONCE(tcp_sk_rw(sk)->rx_opt.ts_recent_stamp, now); } /* syncookies: no recent synqueue overflow on this listening socket? */ diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 01569de651b65aa5641fb0c06e0fb81dc40cd85a..fd68d49490f2849a41397be5bf78dbf07cadd7ff 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -4570,7 +4570,7 @@ tcp_inbound_md5_hash(const struct sock *sk, const struct sk_buff *skb, const __u8 *hash_location = NULL; struct tcp_md5sig_key *hash_expected; const struct tcphdr *th = tcp_hdr(skb); - struct tcp_sock *tp = tcp_sk(sk); + const struct tcp_sock *tp = tcp_sk(sk); int genhash, l3index; u8 newhash[16]; diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 754ddbe0577f139d209032b4f15787392fe9a1d5..2b75cd9e2e92ea1b6e8e16485a8792790a905ade 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -458,7 +458,7 @@ static void tcp_sndbuf_expand(struct sock *sk) static int __tcp_grow_window(const struct sock *sk, const struct sk_buff *skb, unsigned int skbtruesize) { - struct tcp_sock *tp = tcp_sk(sk); + const struct tcp_sock *tp = tcp_sk(sk); /* Optimize this! */ int truesize = tcp_win_from_space(sk, skbtruesize) >> 1; int window = tcp_win_from_space(sk, READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_rmem[2])) >> 1; @@ -5693,7 +5693,7 @@ static void tcp_urg(struct sock *sk, struct sk_buff *skb, const struct tcphdr *t */ static bool tcp_reset_check(const struct sock *sk, const struct sk_buff *skb) { - struct tcp_sock *tp = tcp_sk(sk); + const struct tcp_sock *tp = tcp_sk(sk); return unlikely(TCP_SKB_CB(skb)->seq == (tp->rcv_nxt - 1) && (1 << sk->sk_state) & (TCPF_CLOSE_WAIT | TCPF_LAST_ACK | diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index 9a7ef7732c24c94d4a01d5911ebe51f21371a457..dac0d62120e623ad3f206daa1785eddb39452fd6 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c @@ -463,7 +463,7 @@ void tcp_ca_openreq_child(struct sock *sk, const struct dst_entry *dst) } EXPORT_SYMBOL_GPL(tcp_ca_openreq_child); -static void smc_check_reset_syn_req(struct tcp_sock *oldtp, +static void smc_check_reset_syn_req(const struct tcp_sock *oldtp, struct request_sock *req, struct tcp_sock *newtp) { @@ -492,7 +492,8 @@ struct sock *tcp_create_openreq_child(const struct sock *sk, const struct inet_request_sock *ireq = inet_rsk(req); struct tcp_request_sock *treq = tcp_rsk(req); struct inet_connection_sock *newicsk; - struct tcp_sock *oldtp, *newtp; + const struct tcp_sock *oldtp; + struct tcp_sock *newtp; u32 seq; if (!newsk) diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index f7e00d90a7304cdbaee493d994c6ab1063392d34..b9e07f1951419c3a2858eea0c26f604b96f0be70 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -4127,8 +4127,13 @@ int tcp_rtx_synack(const struct sock *sk, struct request_sock *req) if (!res) { TCP_INC_STATS(sock_net(sk), TCP_MIB_RETRANSSEGS); NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPSYNRETRANS); - if (unlikely(tcp_passive_fastopen(sk))) - tcp_sk(sk)->total_retrans++; + if (unlikely(tcp_passive_fastopen(sk))) { + /* sk has const attribute because listeners are lockless. + * However in this case, we are dealing with a passive fastopen + * socket thus we can change total_retrans value. + */ + tcp_sk_rw(sk)->total_retrans++; + } trace_tcp_retransmit_synack(sk, req); } return res; diff --git a/net/ipv4/tcp_recovery.c b/net/ipv4/tcp_recovery.c index 50abaa941387d3e7328b6859ea5118937fc12be4..acf4869c5d3b568227aca71d95a765493e452a85 100644 --- a/net/ipv4/tcp_recovery.c +++ b/net/ipv4/tcp_recovery.c @@ -4,7 +4,7 @@ static u32 tcp_rack_reo_wnd(const struct sock *sk) { - struct tcp_sock *tp = tcp_sk(sk); + const struct tcp_sock *tp = tcp_sk(sk); if (!tp->reord_seen) { /* If reordering has not been observed, be aggressive during