From nobody Fri Jul 1 15:31:07 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 2CFF58AA924; Fri, 1 Jul 2022 15:31:08 +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 4LZK0q5HfCz4mkg; Fri, 1 Jul 2022 15:31:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1656689467; 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=803X9GjqwZdBdh7U7qJs8Jpt8qBm/cM6CgL72VkyZtc=; b=TDMGLLiqP5gWLsj4Oo1XlqNwGUj/9ywm9YnF30/1sHRUKljHiqUHuck+cWDMyvpcfLkN1m C2WGqA5xL3q0FRTm7eQIWoO6WCrhsMb8qVzaBdrGQdMK/DgBm+gm5rO01Xj3L1EbwYY6Yn eekS9G8tB/C/g+CSlgScrHrOcL4qVGSbQISGOmcUVrflRYwEsyoQthJ+/EKUsqfES1TfSN fLni1QeLUXKKwpyNsglzujbJq/hgvOQpCwD1ebmCny9SqNZD1xQodqBOrisiAa6ucthF18 CC7rnMkPuuclDZvjGhc5fR697C2tEJOI42iFRat65exKCdZI+5gdFHMKJDjE9Q== 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 7F13E1DA7B; Fri, 1 Jul 2022 15:31:07 +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 261FV7vw011859; Fri, 1 Jul 2022 15:31:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 261FV7rQ011858; Fri, 1 Jul 2022 15:31:07 GMT (envelope-from git) Date: Fri, 1 Jul 2022 15:31:07 GMT Message-Id: <202207011531.261FV7rQ011858@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 99df914899f5 - main - crypto: Validate return values from CRYPTODEV_PROCESS() 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 99df914899f56efe63afd9e0fef79148fa6ca162 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1656689467; 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=803X9GjqwZdBdh7U7qJs8Jpt8qBm/cM6CgL72VkyZtc=; b=OiCpPj1c148nwXrol6w6n7ajWUOB1emrQ1yx4RQhkKgaqA+KRUisW4DvWPferjrWNB2txo Xn7WnY1ViW/+TMJG/qITMIyPHjTMrzUsIBVgWVrsmis+IjC16LSp8RVVrKO2OfqJKtv4Hf aENG27jQpPFKZkyCxibbOVmcNlnhUa/Hg+yoDXJgBrQBYRy/M12+hdcCTD4I1ohgw/3RW5 uPD8WvRtgxhGOSgmbXa0COdFmI+do84F5EdPh2ws9S8m8nfiK3hi+ybT5iMy5BL/5hB84m sWciuDMMwWUHYkKEZX0yrIPQisOsA/2ftuxAgaJIgSIwWr9Hm//V8itQNKSIuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1656689467; a=rsa-sha256; cv=none; b=CVLanQ1i7S6JfFKQelpUNdrEieBlIcZ91oFAapE4SXCCd689a9cV8ltU6ZzANZKW3rBp6n 5exRcJSx1K6fKkfKmDnlWh8ZNak31JsV0chapwaqtoIALtL9XB6AbGN+EZp39aZ9TqZb4S 3QYpAP9w7kfbR+qcvYbbEdQoYeVHOrOrcrxeViH/DHUX9QAr7JQF8cIl214zLl7JYI89XO KtK86Njximy5Iq/za/+8NtrHSHRe9eAQ+uUbra7BlG1+dqkQQYtfeNE0mkD7MCOQ/ZMP1c dKbHJKP9xtbtEMyl1+uo37JEwudVI3l2ab3GjYHQuSGp5q3NELxWWJAAFZboBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=99df914899f56efe63afd9e0fef79148fa6ca162 commit 99df914899f56efe63afd9e0fef79148fa6ca162 Author: Mark Johnston AuthorDate: 2022-07-01 15:09:39 +0000 Commit: Mark Johnston CommitDate: 2022-07-01 15:09:39 +0000 crypto: Validate return values from CRYPTODEV_PROCESS() Errors are always handled by the completion callback, so we should check that they're not also passed back to the caller. No functional change intended. Reviewed by: kp, mav, jhb MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35382 --- sys/opencrypto/crypto.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/sys/opencrypto/crypto.c b/sys/opencrypto/crypto.c index ff7ce0f9b818..7231b390302f 100644 --- a/sys/opencrypto/crypto.c +++ b/sys/opencrypto/crypto.c @@ -1527,6 +1527,7 @@ crypto_task_invoke(void *ctx, int pending) static int crypto_invoke(struct cryptocap *cap, struct cryptop *crp, int hint) { + int error; KASSERT(crp != NULL, ("%s: crp == NULL", __func__)); KASSERT(crp->crp_callback != NULL, @@ -1575,13 +1576,19 @@ crypto_invoke(struct cryptocap *cap, struct cryptop *crp, int hint) crp->crp_etype = EAGAIN; crypto_done(crp); - return 0; + error = 0; } else { /* - * Invoke the driver to process the request. + * Invoke the driver to process the request. Errors are + * signaled by setting crp_etype before invoking the completion + * callback. */ - return CRYPTODEV_PROCESS(cap->cc_dev, crp, hint); + error = CRYPTODEV_PROCESS(cap->cc_dev, crp, hint); + KASSERT(error == 0 || error == ERESTART, + ("%s: invalid error %d from CRYPTODEV_PROCESS", + __func__, error)); } + return (error); } void