From nobody Wed May 11 00:03:36 2022 X-Original-To: dev-commits-src-all@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 416ED1AE06B9; Wed, 11 May 2022 00:03:37 +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 4KyZr90j8Sz4lGf; Wed, 11 May 2022 00:03:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1652227417; 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=TlQmvW7hF/Wlx/JHoFv3KLqBaYfZ53j106OfcBYAbfs=; b=RWhxZXZCCB1lIzDg3YjtMcm7SGnLFLdEJgtyiYWoekYXCGCilG9gLpoVo1kuuDGt84tDTU o+zMFXmdBPvAbzyhpKvsMFsjvcffRoIHBLiKhYL6OdlcsW0guVLDTbNFM2Y9RlbrilDeMQ S/a6+TepZfrTbXMom3pJVhhTDwbNG/dlqUjikFYmoggCCX8bCMy3htpYoQe2Vx4jWtO24o C51UPiX8QJATwymQ+78ZmyMMsgpaOAYZLJC/gA+g2cJjYgCu2ySJj8krjaEE8Qm9bsJsCS 4ukm+fKsqpJKp3eTc7frCo0VHC1fu+hp0pQL299m+IifYs3ONi69Mxu44nPzwA== 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 EBB9F74B7; Wed, 11 May 2022 00:03:36 +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 24B03aB2026991; Wed, 11 May 2022 00:03:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 24B03aU9026989; Wed, 11 May 2022 00:03:36 GMT (envelope-from git) Date: Wed, 11 May 2022 00:03:36 GMT Message-Id: <202205110003.24B03aU9026989@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: fd46838fdd1b - stable/13 - cryptodev: Use a private malloc type (M_CRYPTODEV) instead of M_XDATA. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@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/stable/13 X-Git-Reftype: branch X-Git-Commit: fd46838fdd1b58ae5b4db281a555e21569834932 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1652227417; 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=TlQmvW7hF/Wlx/JHoFv3KLqBaYfZ53j106OfcBYAbfs=; b=aUNRvwkKMzSPTsKNUY+BvaGCJKTJVAghuoIEKRtsOk5dRkekMA408K7ex9F0eBlXwNgOaw 5tDviULOgwgRd3ln2uWByeNisNKTIM2VQKZ2D/lGi6qZKSQ9kPUZtoOBLZXmHPtX5AjaQ3 Vai64jWVIuEo7DfQm7+K3AmpP7f1sleNdVNaHUe8fSL2Y3AaLZcngeO+4HTgRQ5+WUZm2x fV2Ps7fmegJJFvyz5BViEsyLIk0zb5HTtU72en9SH87SrowHa61gKw8yUISMOgm7aj9UtC 1LxO8aosmXzN5e9KxIwYfYCGBJ8cbhyelt4vDzaUtfYeKIe8kKjysOaDDCq7Ww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1652227417; a=rsa-sha256; cv=none; b=IarmXBxMh74RZ2RsngW8sWa1FIRF2zoLiwNxa2s004XU0iZEwDCTxwk6Qc32sHFEkMSGpL dKSG2iOyGywnuNpzEE2acMBiA+iox+wDRykolMxYW5+j1CvnrV2lAxHjr1OED6GGqqPcU4 m5vGSArolCcFvEofQf7974HJeb+ZH5E0A8uaASD3Z2/nDXbhCDrPUj0z8+pfummdrWBo8W fgzKaJd7zJ0v7fvLYImU8ze07b2VFuS0YMW4M9ctcqo37Dv9ZiNXHypAvLhGiGCM8m21Yr hm9nXvUOCrvHV/Kz2lyzIIcAJmgl3Bq0FgE+R2FnXpWKLntfnSpDndnf2VH7iA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=fd46838fdd1b58ae5b4db281a555e21569834932 commit fd46838fdd1b58ae5b4db281a555e21569834932 Author: John Baldwin AuthorDate: 2022-01-24 23:27:39 +0000 Commit: John Baldwin CommitDate: 2022-05-10 23:46:49 +0000 cryptodev: Use a private malloc type (M_CRYPTODEV) instead of M_XDATA. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33991 (cherry picked from commit 8f3f3fdf73a98e819d5f73c1da3286bd608e8208) --- sys/opencrypto/cryptodev.c | 50 +++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/sys/opencrypto/cryptodev.c b/sys/opencrypto/cryptodev.c index 7e4cecff3980..1c6afdee0913 100644 --- a/sys/opencrypto/cryptodev.c +++ b/sys/opencrypto/cryptodev.c @@ -367,6 +367,8 @@ SYSCTL_TIMEVAL_SEC(_kern, OID_AUTO, cryptodev_warn_interval, CTLFLAG_RW, &warninterval, "Delay in seconds between warnings of deprecated /dev/crypto algorithms"); +static MALLOC_DEFINE(M_CRYPTODEV, "cryptodev", "/dev/crypto data buffers"); + /* * Check a crypto identifier to see if it requested * a software device/driver. This can be done either @@ -627,7 +629,7 @@ cse_create(struct fcrypt *fcr, struct session2_op *sop) goto bail; } - key = malloc(csp.csp_cipher_klen, M_XDATA, M_WAITOK); + key = malloc(csp.csp_cipher_klen, M_CRYPTODEV, M_WAITOK); error = copyin(sop->key, key, csp.csp_cipher_klen); if (error) { CRYPTDEB("invalid key"); @@ -649,7 +651,8 @@ cse_create(struct fcrypt *fcr, struct session2_op *sop) } if (csp.csp_auth_klen != 0) { - mackey = malloc(csp.csp_auth_klen, M_XDATA, M_WAITOK); + mackey = malloc(csp.csp_auth_klen, M_CRYPTODEV, + M_WAITOK); error = copyin(sop->mackey, mackey, csp.csp_auth_klen); if (error) { CRYPTDEB("invalid mac key"); @@ -699,7 +702,7 @@ cse_create(struct fcrypt *fcr, struct session2_op *sop) goto bail; } - cse = malloc(sizeof(struct csession), M_XDATA, M_WAITOK | M_ZERO); + cse = malloc(sizeof(struct csession), M_CRYPTODEV, M_WAITOK | M_ZERO); mtx_init(&cse->lock, "cryptodev", "crypto session lock", MTX_DEF); refcount_init(&cse->refs, 1); cse->key = key; @@ -729,8 +732,8 @@ cse_create(struct fcrypt *fcr, struct session2_op *sop) sop->crid = crypto_ses2hid(cse->cses); bail: if (error) { - free(key, M_XDATA); - free(mackey, M_XDATA); + free(key, M_CRYPTODEV); + free(mackey, M_CRYPTODEV); } return (error); } @@ -761,10 +764,10 @@ cse_free(struct csession *cse) crypto_freesession(cse->cses); mtx_destroy(&cse->lock); if (cse->key) - free(cse->key, M_XDATA); + free(cse->key, M_CRYPTODEV); if (cse->mackey) - free(cse->mackey, M_XDATA); - free(cse, M_XDATA); + free(cse->mackey, M_CRYPTODEV); + free(cse, M_CRYPTODEV); } static bool @@ -790,17 +793,18 @@ cod_alloc(struct csession *cse, size_t aad_len, size_t len) { struct cryptop_data *cod; - cod = malloc(sizeof(struct cryptop_data), M_XDATA, M_WAITOK | M_ZERO); + cod = malloc(sizeof(struct cryptop_data), M_CRYPTODEV, M_WAITOK | + M_ZERO); cod->cse = cse; if (crypto_get_params(cse->cses)->csp_flags & CSP_F_SEPARATE_AAD) { if (aad_len != 0) - cod->aad = malloc(aad_len, M_XDATA, M_WAITOK); - cod->buf = malloc(len, M_XDATA, M_WAITOK); + cod->aad = malloc(aad_len, M_CRYPTODEV, M_WAITOK); + cod->buf = malloc(len, M_CRYPTODEV, M_WAITOK); } else - cod->buf = malloc(aad_len + len, M_XDATA, M_WAITOK); + cod->buf = malloc(aad_len + len, M_CRYPTODEV, M_WAITOK); if (crypto_get_params(cse->cses)->csp_flags & CSP_F_SEPARATE_OUTPUT) - cod->obuf = malloc(len, M_XDATA, M_WAITOK); + cod->obuf = malloc(len, M_CRYPTODEV, M_WAITOK); return (cod); } @@ -808,10 +812,10 @@ static void cod_free(struct cryptop_data *cod) { - free(cod->aad, M_XDATA); - free(cod->obuf, M_XDATA); - free(cod->buf, M_XDATA); - free(cod, M_XDATA); + free(cod->aad, M_CRYPTODEV); + free(cod->obuf, M_CRYPTODEV); + free(cod->buf, M_CRYPTODEV); + free(cod, M_CRYPTODEV); } static int @@ -1313,7 +1317,7 @@ cryptodev_key(struct crypt_kop *kop) return (EINVAL); } - krp = malloc(sizeof(*krp), M_XDATA, M_WAITOK | M_ZERO); + krp = malloc(sizeof(*krp), M_CRYPTODEV, M_WAITOK | M_ZERO); krp->krp_op = kop->crk_op; krp->krp_status = kop->crk_status; krp->krp_iparams = kop->crk_iparams; @@ -1334,7 +1338,7 @@ cryptodev_key(struct crypt_kop *kop) size = (krp->krp_param[i].crp_nbits + 7) / 8; if (size == 0) continue; - krp->krp_param[i].crp_p = malloc(size, M_XDATA, M_WAITOK); + krp->krp_param[i].crp_p = malloc(size, M_CRYPTODEV, M_WAITOK); if (i >= krp->krp_iparams) continue; error = copyin(kop->crk_param[i].crp_p, krp->krp_param[i].crp_p, size); @@ -1379,9 +1383,9 @@ fail: kop->crk_status = krp->krp_status; for (i = 0; i < CRK_MAXPARAM; i++) { if (krp->krp_param[i].crp_p) - free(krp->krp_param[i].crp_p, M_XDATA); + free(krp->krp_param[i].crp_p, M_CRYPTODEV); } - free(krp, M_XDATA); + free(krp, M_CRYPTODEV); } return (error); } @@ -1421,7 +1425,7 @@ fcrypt_dtor(void *data) cse_free(cse); } mtx_destroy(&fcr->lock); - free(fcr, M_XDATA); + free(fcr, M_CRYPTODEV); } static int @@ -1430,7 +1434,7 @@ crypto_open(struct cdev *dev, int oflags, int devtype, struct thread *td) struct fcrypt *fcr; int error; - fcr = malloc(sizeof(struct fcrypt), M_XDATA, M_WAITOK | M_ZERO); + fcr = malloc(sizeof(struct fcrypt), M_CRYPTODEV, M_WAITOK | M_ZERO); TAILQ_INIT(&fcr->csessions); mtx_init(&fcr->lock, "fcrypt", NULL, MTX_DEF); error = devfs_set_cdevpriv(fcr, fcrypt_dtor);