From patchwork Mon Mar 4 08:43:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Howells X-Patchwork-Id: 209423 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:fa17:b0:10a:f01:a869 with SMTP id ju23csp1293592dyc; Mon, 4 Mar 2024 00:47:36 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUmP9WrItXiJxK+N7IQBL/dZrjulUXz38wwNUxBAN5RYhaXrdTbc8e9BXrTYv2y6bdQed7ORzREjUAvcIBiAppjwDF0xw== X-Google-Smtp-Source: AGHT+IGX/wVU939MGJT7CyeMhBLMJR6/mR9AWFlcK+JtouDP8lHZD0GSCAhBioFSs8ClsSHgHWQs X-Received: by 2002:a17:906:490e:b0:a45:819:9fa9 with SMTP id b14-20020a170906490e00b00a4508199fa9mr2594694ejq.7.1709542056214; Mon, 04 Mar 2024 00:47:36 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709542056; cv=pass; d=google.com; s=arc-20160816; b=oVduuWUjmupC05izAoRv/fBdoJPh40BFWqVLKuje50VR1r2Uxus0Jx49txaDPjimyq OmIvpjYLGt89Cy5YPPDMD7e+sFk7J+ypPgc7u4khOg/xYdXYauifVaDlWUVPjdCkV8A5 dSBTypzwRbZqOrMVreDAzafCr8q1txEi5dvNIIXhxnFhWMqCxuTH3y/VMROK8+JIooip tmLDTs983WoWX6bmtmIvpZSJ5hMrVWGWJJ74+GDP3Zz3Bb3IxWuJIh7rcE3QTepsDYqo 00ma9+lZL6AURGycj9jbJyD6G7rnYRIGvYfliXIeWoid+UUHtW0AKymf8rAax+7i3v6v +BFg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=xts3XtVON9I71sFj7FzOone2ONVNFLRmYJBbj5l1ezs=; fh=icnuzcdbhXgwjK0pgvJXK7xplE+Och0jvyZv2PxZJ18=; b=DAGuV/+/b9sa0CyuCoNe+wz1yr4gt3GiJCEnz0pI/5xOggiUEF7mX8zMOYBlgxp5yQ onp7OaIX2ngkKwp4wfkrJtQdUXBc1E+gcLhebhjL/wTJ/yXJQ5jmlwUDztbaBsipPNPr JTAOwrFhdA9VAimxzuWuqYE3eyumrtnDifTL0K4QnBlMzmRtXKJmVH21ugNlo396PDsB IeDgX0EqxdGzC2WtWvi76LtrbPmJqDA0IOgZNaKFV3cSZ8/NyRSNNie19A/dG+6SX/PE X4lQUIGag+IZKyLMbY3jGcO60vJser+vN97q10nupQ9Hv+vFzJ8eGk+cGDL6+ib0ZXiE UuIg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="d/EJfGZP"; arc=pass (i=1 spf=pass spfdomain=redhat.com dkim=pass dkdomain=redhat.com dmarc=pass fromdomain=redhat.com); spf=pass (google.com: domain of linux-kernel+bounces-90228-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90228-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id s26-20020a170906355a00b00a3e3744450asi3745881eja.1051.2024.03.04.00.47.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 00:47:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-90228-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b="d/EJfGZP"; arc=pass (i=1 spf=pass spfdomain=redhat.com dkim=pass dkdomain=redhat.com dmarc=pass fromdomain=redhat.com); spf=pass (google.com: domain of linux-kernel+bounces-90228-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-90228-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id BDA201F210A1 for ; Mon, 4 Mar 2024 08:47:35 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BD286383B8; Mon, 4 Mar 2024 08:43:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="d/EJfGZP" Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1EB32942D for ; Mon, 4 Mar 2024 08:43:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709541832; cv=none; b=eynC/dz8DvBfrhVQQYKfdqIQ+9bfw6Hcwbfc3QLRX20WwxGWbJkjHmRTldgcE3rq8WQ7bz8WeWBgIPgieVHL5nQv9bUbUwiAYoqLv/PUvY99AF2OMPR5lDlgrw2RQdUd8WXziyteYG4gi2hIPBqAlQ3zX0MDpOzayXkU1HAzyP8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709541832; c=relaxed/simple; bh=OQhrdRbsy6dNNd/zZSQhmGvtRjzZYE4Nim/ssYLKPhk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bFBOQoQiM7OGkNRvMTtURelJinGTIOPdAct9r4QZFT+U8+khoRWErzG/cc1Vk205Zjf9A4svTFF+fEKMBdPUrzdlAYu8Kt1SxOapCo2IuZ1ief+wFytSoUa/2pY06LOFQ33F0puBuL0UTqt3C0RCEr6wTAV1bcJsFrQvmudd5xU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=d/EJfGZP; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1709541829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xts3XtVON9I71sFj7FzOone2ONVNFLRmYJBbj5l1ezs=; b=d/EJfGZPSglbGqOi5UOvuJvMwrDuO7ZtqJZSmnGzMK43YHiR57ZbsIOtMBkMjFkplY08oL JgMrQ45I/ZY8E7Erb5w6dLQC5+fkW5CUXW+tpVpR1cPrJPcLzFl4yPZl9fJNHNT2eoftZg 7At1cvHLrH9FI1G9WQxuLkChGNWiNXc= Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-367-O92bpm_xN4y0qHaSFW0Q_Q-1; Mon, 04 Mar 2024 03:43:46 -0500 X-MC-Unique: O92bpm_xN4y0qHaSFW0Q_Q-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 29B1428EA6E3; Mon, 4 Mar 2024 08:43:46 +0000 (UTC) Received: from warthog.procyon.org.com (unknown [10.42.28.114]) by smtp.corp.redhat.com (Postfix) with ESMTP id EB5212026D0A; Mon, 4 Mar 2024 08:43:44 +0000 (UTC) From: David Howells To: netdev@vger.kernel.org Cc: David Howells , Marc Dionne , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next v2 11/21] rxrpc: Don't pick values out of the wire header when setting up security Date: Mon, 4 Mar 2024 08:43:08 +0000 Message-ID: <20240304084322.705539-12-dhowells@redhat.com> In-Reply-To: <20240304084322.705539-1-dhowells@redhat.com> References: <20240304084322.705539-1-dhowells@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792584771017636034 X-GMAIL-MSGID: 1792584771017636034 Don't pick values out of the wire header in rxkad when setting up DATA packet security, but rather use other sources. This makes it easier to get rid of txb->wire. Signed-off-by: David Howells cc: Marc Dionne cc: "David S. Miller" cc: Eric Dumazet cc: Jakub Kicinski cc: Paolo Abeni cc: linux-afs@lists.infradead.org cc: netdev@vger.kernel.org --- net/rxrpc/rxkad.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/rxrpc/rxkad.c b/net/rxrpc/rxkad.c index e451ac90bfee..ef0849c8329c 100644 --- a/net/rxrpc/rxkad.c +++ b/net/rxrpc/rxkad.c @@ -259,7 +259,7 @@ static int rxkad_secure_packet_auth(const struct rxrpc_call *call, _enter(""); - check = txb->seq ^ ntohl(txb->wire.callNumber); + check = txb->seq ^ call->call_id; hdr->data_size = htonl((u32)check << 16 | txb->len); txb->len += sizeof(struct rxkad_level1_hdr); @@ -302,7 +302,7 @@ static int rxkad_secure_packet_encrypt(const struct rxrpc_call *call, _enter(""); - check = txb->seq ^ ntohl(txb->wire.callNumber); + check = txb->seq ^ call->call_id; rxkhdr->data_size = htonl(txb->len | (u32)check << 16); rxkhdr->checksum = 0; @@ -362,9 +362,9 @@ static int rxkad_secure_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb) memcpy(&iv, call->conn->rxkad.csum_iv.x, sizeof(iv)); /* calculate the security checksum */ - x = (ntohl(txb->wire.cid) & RXRPC_CHANNELMASK) << (32 - RXRPC_CIDSHIFT); + x = (call->cid & RXRPC_CHANNELMASK) << (32 - RXRPC_CIDSHIFT); x |= txb->seq & 0x3fffffff; - crypto.buf[0] = txb->wire.callNumber; + crypto.buf[0] = htonl(call->call_id); crypto.buf[1] = htonl(x); sg_init_one(&sg, crypto.buf, 8);