From nobody Thu Jun 30 17:27:56 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id E522587015B; Thu, 30 Jun 2022 17:27:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LYlf465mnz4Rlf; Thu, 30 Jun 2022 17:27:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1656610076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V6K/GqmgoxzUcNdzl+unisNswvx/DR2wcJ83CH2td2I=; b=eLq1AgIRgdSJMfpy+sVBuko16MVSf8gUxEukDt9dGGMDjU2dvz3CmYpLpQjjEznMMj9VvY ktqRerg/OwwPavShq5JDfs3kH5USYMV6u2Tc9JTxgdfaSCyF1V/zpIgpeBV/80DEW75ZUc 5xUjKXNUkqy/Ny+CyJ1ovaeFcAs0ns2kpHyrta/Jp9tPADfiHaXSf6PzaKzts4S2BcBp37 dX3rqrhI4rxDbYtg9mWssvNQDJb3/K0KemkvKJbXB3SmwLzP4pR69w2x/Y3CGCXjOW+yt0 huSsGXSZmXqV6jXLXQQKbS/9JWNpTcAhzkBhSG5o/Es34tJ51eNNlGjPeDlQ6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B15F1281E; Thu, 30 Jun 2022 17:27:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 25UHRu5P010057; Thu, 30 Jun 2022 17:27:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 25UHRuno010056; Thu, 30 Jun 2022 17:27:56 GMT (envelope-from git) Date: Thu, 30 Jun 2022 17:27:56 GMT Message-Id: <202206301727.25UHRuno010056@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: c71f2370c5d4 - main - crypto: Fix assertions for digest-only sessions with separate output. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c71f2370c5d480cf70f12ee276e044681c57aefc Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1656610076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V6K/GqmgoxzUcNdzl+unisNswvx/DR2wcJ83CH2td2I=; b=WOp2K3NKVEw6+r+wflBZaD9baWFMch9Z/vhPT7IoPTLh3C9aBr4NlycKFi158RUJ3TDJ2I 4Fd7umMRyd9E44ZCfVoGOn7Q8zPEfkRYJ+cIwgvVC3UpUmESU3Pq6TPVpkaoHhMUfvdnxu VKPD+NDQsF+P3zB66l5jQwbbLW+8XfzDRClLOZsmJRfUm7Sgheiye0GYRyHbPb4S+RNgdz PqmI3stxSRzdWOlwoqQzQSWrzkEfAUxn2+ad+EoBQSA8P6/4cKC1TKHXcD148qpvbidPkg X9r5RD4KsJnykAEtl5H41vFXd7oX8ORDuWG5NQOPt6FPpWLmWVtBbcPaH3YRyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1656610076; a=rsa-sha256; cv=none; b=A9wt3bsEUgLvUhhRytWqCDUGTxtubzX/nBR5ojn5XgdGrpOAdMMgyaoy5iY+mTiAmDvOrf Qa3o9V4sbM2R/htHVVf5yOINwCnlddeXQehPh6yGIAOa2jet5ehkQBEVTUwi6/DMDSy2Kj tos9V8DX7p0jPPXBTV6Oq7B/hMxuAIsNda6uSgOCl1Z4fsTLbeZwvRGxmqNL6GDspyQygK FXRqKLiaGxR4kt4deu2xJ3EyTlkvI1LQ3B1an6ui+M49/oY5+3RM3XRZnxeDqeu0yftoIf JlJoH7Hi8/afgd+b3herWTfp2dF+wHjT+9LX8Tsc5amPceBmgDRRJ8FZubs75Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c71f2370c5d480cf70f12ee276e044681c57aefc commit c71f2370c5d480cf70f12ee276e044681c57aefc Author: John Baldwin AuthorDate: 2022-06-30 17:10:00 +0000 Commit: John Baldwin CommitDate: 2022-06-30 17:10:00 +0000 crypto: Fix assertions for digest-only sessions with separate output. Digest-only sessions do not generate modified payload as an output, so don't bother asserting anything about the payload with respect to the output buffer other than the payload output start being zero. In addition, a verify request on a digest-only session doesn't generate any output at all so should never have a separate output buffer. PR: 252316 Reviewed by: markj Co-authored-by: Jeremy Faulkner MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D35578 --- sys/opencrypto/crypto.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/opencrypto/crypto.c b/sys/opencrypto/crypto.c index fde1316595e5..ff7ce0f9b818 100644 --- a/sys/opencrypto/crypto.c +++ b/sys/opencrypto/crypto.c @@ -1372,6 +1372,11 @@ crp_sanity(struct cryptop *crp) if (out == NULL) { KASSERT(crp->crp_payload_output_start == 0, ("payload output start non-zero without output buffer")); + } else if (csp->csp_mode == CSP_MODE_DIGEST) { + KASSERT(!(crp->crp_op & CRYPTO_OP_VERIFY_DIGEST), + ("digest verify with separate output buffer")); + KASSERT(crp->crp_payload_output_start == 0, + ("digest operation with non-zero payload output start")); } else { KASSERT(crp->crp_payload_output_start == 0 || crp->crp_payload_output_start < olen,