From patchwork Mon Mar 22 16:21:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthieu Baerts X-Patchwork-Id: 1456734 X-Patchwork-Delegate: matthieu.baerts@tessares.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.01.org (client-ip=198.145.21.10; helo=ml01.01.org; envelope-from=mptcp-bounces@lists.01.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=tessares-net.20150623.gappssmtp.com header.i=@tessares-net.20150623.gappssmtp.com header.a=rsa-sha256 header.s=20150623 header.b=YNUaBa+T; dkim-atps=neutral Received: from ml01.01.org (ml01.01.org [198.145.21.10]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F40Bf4jcjz9sW1 for ; Tue, 23 Mar 2021 03:22:02 +1100 (AEDT) Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 5CCD1100EB825; Mon, 22 Mar 2021 09:21:59 -0700 (PDT) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a00:1450:4864:20::62d; helo=mail-ej1-x62d.google.com; envelope-from=matthieu.baerts@tessares.net; receiver= Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8D295100EBB9C for ; Mon, 22 Mar 2021 09:21:52 -0700 (PDT) Received: by mail-ej1-x62d.google.com with SMTP id jy13so22249369ejc.2 for ; Mon, 22 Mar 2021 09:21:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tessares-net.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=OA/pxSDvPxWIvDlU3QWRf+aNoo3yE9sfWQ77OD3tFG8=; b=YNUaBa+ThjcTqgOCEpMY7N7LoVFMDnNhT5+iuNVcNUc5UkCSPtyZI03YqGqMFtOUL0 DfDEbjvZl8W746mQh8HDo1hYbhPAX3r+Mrqp8RxdvUeciMWPSz1355a3CsEeDzOmXaqB zz7TjDtSmmckVyRjWDLJ5rxZThR+coScarIdbF7mF5xFYaJvZWF5GrX1TFPkHsCQs6xH tddORjHtmw1a2HkME0LmVpNvsbyQ7qEWKgHlpOXEPaV5cjhQJ+rHyJhC1cuTKOyJbmcu +mu/HaDVwF7DqpGG0MbGAG0DTXEvNU54ly0rEJDF4PhxBa3KiLkOpt2L84VFbqxBN4NL /8OA== 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=OA/pxSDvPxWIvDlU3QWRf+aNoo3yE9sfWQ77OD3tFG8=; b=jzB0a7z6ciba96lVo7Ee/42nUg3tCrPe/GzROzKABR2lzBShJSayUEzewGkji4SDOo YGdCZ8wQM7dTCphycuql9xYIiaZ/9NSSqmt7McamdTHSK64Ya47A6wFo1tN9PUeuWK5F 5lqMhGsX4ifsXonzbwBuo5o0QPW2kRklZxb30LGoYg7BgRu+59cciPbf5wAmEkDsnX6X z8Hk+NMZmeJB8MvaK1/xMo4J3W2fIFEwVWaKZui1Z5wDmwcMZxMfc2FQ5MAywr8ZFr/D sazG0RnWJKdmsaSGh3WsbzglkYDjL+Ti/jsYLc7I2+b7HsqJ5YyF4KNu4cb+bvuKVuLm TlNw== X-Gm-Message-State: AOAM531HEFItVvAlnPumW4RhprOY2SmUFkbp8w5TIYQzS0ibwNVNIF6z /HqKZiJfl1BMHrK40obPzVvTPeLtF9nRYTN0 X-Google-Smtp-Source: ABdhPJxzA8Vd5eH5361TNJfsyA7yhpouxKpjp3HnJi19KRLXQ39oVqki/he3I5GfMb8JdGkpYiDfYA== X-Received: by 2002:a17:906:1792:: with SMTP id t18mr605971eje.378.1616430110767; Mon, 22 Mar 2021 09:21:50 -0700 (PDT) Received: from tsr-vdi-mbaerts.nix.tessares.net (static.23.216.130.94.clients.your-server.de. [94.130.216.23]) by smtp.gmail.com with ESMTPSA id wr20sm5694136ejb.111.2021.03.22.09.21.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Mar 2021 09:21:50 -0700 (PDT) From: Matthieu Baerts To: mptcp@lists.linux.dev, mptcp@lists.01.org Date: Mon, 22 Mar 2021 17:21:30 +0100 Message-Id: <20210322162132.2471823-1-matthieu.baerts@tessares.net> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Message-ID-Hash: 6ER2SH24NBFYSTY6H47UOZJBJTRYX632 X-Message-ID-Hash: 6ER2SH24NBFYSTY6H47UOZJBJTRYX632 X-MailFrom: matthieu.baerts@tessares.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Geliang Tang X-Mailman-Version: 3.1.1 Precedence: list Subject: [MPTCP] [PATCH mptcp-next 1/3] Squash to "mptcp: use mptcp_addr_info in mptcp_out_options" List-Id: Discussions regarding MPTCP upstreaming Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Fix issues reported by sparse because we were doing non explicit casting from __be16 to u16. net/mptcp/options.c:662:72: warning: incorrect type in argument 5 (different base types) net/mptcp/options.c:662:72: expected unsigned short [usertype] port net/mptcp/options.c:662:72: got restricted __be16 [usertype] port net/mptcp/options.c:673:73: warning: incorrect type in argument 5 (different base types) net/mptcp/options.c:673:73: expected unsigned short [usertype] port net/mptcp/options.c:673:73: got restricted __be16 [usertype] port net/mptcp/options.c:1244:62: warning: incorrect type in argument 1 (different base types) net/mptcp/options.c:1244:62: expected unsigned short [usertype] val net/mptcp/options.c:1244:62: got restricted __be16 [usertype] port net/mptcp/options.c:1253:62: warning: restricted __be16 degrades to integer Before the mentioned commit, we were using port in u16 in mptcp_out_options, everything was OK. Signed-off-by: Matthieu Baerts --- net/mptcp/options.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/net/mptcp/options.c b/net/mptcp/options.c index 7e01f44ed885..03019a6d5059 100644 --- a/net/mptcp/options.c +++ b/net/mptcp/options.c @@ -659,7 +659,7 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff * msk->remote_key, opts->addr.id, &opts->addr.addr, - opts->addr.port); + be16_to_cpu(opts->addr.port)); } } #if IS_ENABLED(CONFIG_MPTCP_IPV6) @@ -670,7 +670,7 @@ static bool mptcp_established_options_add_addr(struct sock *sk, struct sk_buff * msk->remote_key, opts->addr.id, &opts->addr.addr6, - opts->addr.port); + be16_to_cpu(opts->addr.port)); } } #endif @@ -1238,10 +1238,12 @@ void mptcp_write_options(__be32 *ptr, const struct tcp_sock *tp, ptr += 2; } } else { + u16 port = be16_to_cpu(opts->addr.port); + if (opts->ahmac) { u8 *bptr = (u8 *)ptr; - put_unaligned_be16(opts->addr.port, bptr); + put_unaligned_be16(port, bptr); bptr += 2; put_unaligned_be64(opts->ahmac, bptr); bptr += 8; @@ -1250,7 +1252,7 @@ void mptcp_write_options(__be32 *ptr, const struct tcp_sock *tp, ptr += 3; } else { - put_unaligned_be32(opts->addr.port << 16 | + put_unaligned_be32(port << 16 | TCPOPT_NOP << 8 | TCPOPT_NOP, ptr); ptr += 1;