Received: by 2002:a05:7412:40d:b0:e2:908c:2ebd with SMTP id 13csp785374rdf; Tue, 21 Nov 2023 17:20:17 -0800 (PST) X-Google-Smtp-Source: AGHT+IGb1StOjReuWpKJf8ps1nLG/NLLIQ2VMJdK+bOVm9Z0ROV8oTx7qg+mFMWfWdaPYI5hg05o X-Received: by 2002:a9d:4f14:0:b0:6c4:f25f:612f with SMTP id d20-20020a9d4f14000000b006c4f25f612fmr1080391otl.28.1700616017693; Tue, 21 Nov 2023 17:20:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700616017; cv=none; d=google.com; s=arc-20160816; b=LHtbixRMyIzQRpmcnLJUUTSxjFtrEErl+Yp6SJ5c6rKKxdffUdwcvarvPbwkO1/4Oz oS3/VNdHypv1GfaqA3rADpzwM+I4xGLO2by4JyADZRY/2XWjaMQPwSPod6x4aDMxzimr hKdJqY0YFMK2SYtYH/h7A/zEufMmy0h6MqvapBx0FV2yu0iY00NwZbvjtUHA7Wi7lysU MoWVEnQiJhYxpffeCWs46fsj/S1FcXNukycZOlNsV/TdzmUwphIi1ZrUbMQuda65aYVY q4qV1M4Yy+jdDBvk8z3CYONadMCoAc+pS8NWuOdSBZHSPu0mGfturrHnBg5SeKcbZeAI ggfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=HvyPJLsHa1UpzCT3gFYRcmMF12jLhkR+Wt3mbotrxRk=; fh=Qn3RmwYI3aXYf717wpS9yyAY1XUEV59UzlCwvai9e84=; b=oPROk11a3qbF1YApv41YtgaH5UOD5kYO9xIN+TyW7+jMA5a9SArNq2bltWXrfedLYd LCUDqMFcKbAurzLbUtKpkkCXCK/PekEan2nHNIrlKBX9kVxKGqknIjTQ2imh0zQK81if 2d3cKNKZ7iFVY8pb9LoyZWZ8m24F1wHGGR3fG0oS340pahvQi8D3wS0JWmyJIwhH0n50 KgkP0qozDFrkgw9k5F97zrpM5OYYaUvH+SOhmIuKH4w7AGFR4xj8H7IIRhbNUSPVxk3V MIhRFm4d7ln/Xs2yTZUkN5jv8ufzpryewAkYwQ5RbGxPLbxTw3/bof6cS+N9/aszOqG6 3Z/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@arista.com header.s=google header.b=KumbRlB9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=arista.com Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id bj13-20020a056a02018d00b005bddee56e49si11944096pgb.72.2023.11.21.17.20.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 17:20:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@arista.com header.s=google header.b=KumbRlB9; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=arista.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 3C07D80EAD7A; Tue, 21 Nov 2023 17:20:15 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229527AbjKVBUH (ORCPT + 99 others); Tue, 21 Nov 2023 20:20:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232932AbjKVBUF (ORCPT ); Tue, 21 Nov 2023 20:20:05 -0500 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EA9FAD47 for ; Tue, 21 Nov 2023 17:20:00 -0800 (PST) Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-32d895584f1so4384208f8f.1 for ; Tue, 21 Nov 2023 17:20:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arista.com; s=google; t=1700615999; x=1701220799; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=HvyPJLsHa1UpzCT3gFYRcmMF12jLhkR+Wt3mbotrxRk=; b=KumbRlB90XYBW8j7cdiG7lfmPdHCFrPGxonREYx92n57uObv+dpSrFN1MWPyH6P9bT GV0T8MvT/dkPtWPBTJuV8phr6tHR83v7aZ6+49oGVX4ZLizdIgoEGyjXX5LQsHsJSNHR WJ3zxWrhw4VR+gCeFRWSDo7l1hEu607aNeAVy3zITzef5OQEflMuBo1Mra4GJoIZpI2R zJvvogcwIVeLgtvyqO5uZ7zGsK8IegQPL46qXpwCvqJ++ECxgckBzx8Wru6ejWNDaUdj uMSxwZXTD6NG9nNsol/fb8myYhOzEj+OqW+HV704QcL/HBsP5oYpelvtZ70SGhE9f6Gm LLoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700615999; x=1701220799; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=HvyPJLsHa1UpzCT3gFYRcmMF12jLhkR+Wt3mbotrxRk=; b=um+DRr+FOxaCqWHOhbimDpjbaWGfi0wLmlTke610880u0HDLPQf3fEtI13pZax2Nxp DshLaQ3d4H8DNDdrK2zu8IJ386VJuTn47+PPGJnHnTEahF+3Wtih+FcnVeZ/p2vcDjkl wOBvELNsDCgILV82G+zXsa5NT6u246MW0kj0xY3XKm62U6g4Dj6pa1xziM0AH6VBdsOA rY8mSS97Fh3Z4z5w6ojAoRTY7bnAAwekNQU4CmtLM/IHyuTz3i2pwGhnqeDin2YDiKeK Og5ZG26BBs4lWgaH8c/EeSApbdMtNaQvHKKeRXSvWpPhrT0ulWG+gkBeHU7QJxszqGkR gXsg== X-Gm-Message-State: AOJu0Yy4Dx3t3ipcUBVwzDtht6n/jiXmBTGWVJw1sG4y5vfI3PDiPOZF D7UoShmxtzDGUlLFUfhQopDoJw== X-Received: by 2002:a5d:4b8b:0:b0:331:69a2:cad2 with SMTP id b11-20020a5d4b8b000000b0033169a2cad2mr441587wrt.62.1700615999272; Tue, 21 Nov 2023 17:19:59 -0800 (PST) Received: from [10.83.37.178] ([217.173.96.166]) by smtp.gmail.com with ESMTPSA id d8-20020adffbc8000000b003316aeb280esm14956932wrs.104.2023.11.21.17.19.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 21 Nov 2023 17:19:58 -0800 (PST) Message-ID: Date: Wed, 22 Nov 2023 01:19:52 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 7/7] net/tcp: Don't store TCP-AO maclen on reqsk Content-Language: en-US To: Eric Dumazet Cc: David Ahern , Paolo Abeni , Jakub Kicinski , "David S. Miller" , linux-kernel@vger.kernel.org, Dmitry Safonov <0x7f454c46@gmail.com>, Francesco Ruggeri , Salam Noureddine , Simon Horman , netdev@vger.kernel.org References: <20231121020111.1143180-1-dima@arista.com> <20231121020111.1143180-8-dima@arista.com> From: Dmitry Safonov In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 21 Nov 2023 17:20:15 -0800 (PST) On 11/21/23 08:13, Eric Dumazet wrote: > On Tue, Nov 21, 2023 at 3:01 AM Dmitry Safonov wrote: >> >> This extra check doesn't work for a handshake when SYN segment has >> (current_key.maclen != rnext_key.maclen). It could be amended to >> preserve rnext_key.maclen instead of current_key.maclen, but that >> requires a lookup on listen socket. >> >> Originally, this extra maclen check was introduced just because it was >> cheap. Drop it and convert tcp_request_sock::maclen into boolean >> tcp_request_sock::used_tcp_ao. >> >> Fixes: 06b22ef29591 ("net/tcp: Wire TCP-AO to request sockets") >> Signed-off-by: Dmitry Safonov >> --- >> include/linux/tcp.h | 10 ++++------ >> net/ipv4/tcp_ao.c | 4 ++-- >> net/ipv4/tcp_input.c | 5 +++-- >> net/ipv4/tcp_output.c | 9 +++------ >> 4 files changed, 12 insertions(+), 16 deletions(-) >> >> diff --git a/include/linux/tcp.h b/include/linux/tcp.h >> index 68f3d315d2e1..3af897b00920 100644 >> --- a/include/linux/tcp.h >> +++ b/include/linux/tcp.h >> @@ -155,6 +155,9 @@ struct tcp_request_sock { >> bool req_usec_ts; >> #if IS_ENABLED(CONFIG_MPTCP) >> bool drop_req; >> +#endif >> +#ifdef CONFIG_TCP_AO >> + bool used_tcp_ao; > > Why adding another 8bit field here and creating a hole ? Sorry about it, it seems that I (1) checked with CONFIG_MPTCP=n and it seemed like a hole (2) was planning to unify it with other booleans under bitfileds (3) found that some bitfileds require protection as set not only on initialization, so in the end it either should be flags+set_bit() or something well-thought on (that separate bitfileds won't be able to change at the same time) (4) decided to focus on fixing the issue, rather than doing 2 things with the same patch Will fix it up for v2, thanks! > >> #endif >> u32 txhash; >> u32 rcv_isn; >> @@ -169,7 +172,6 @@ struct tcp_request_sock { >> #ifdef CONFIG_TCP_AO >> u8 ao_keyid; >> u8 ao_rcv_next; >> - u8 maclen; > > Just rename maclen here to used_tcp_ao ? > >> #endif >> }; >> Thanks, Dmitry