From nobody Fri Dec 29 23:08:53 2023 X-Original-To: dev-commits-src-branches@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 4T21K13xkbz55TCH; Fri, 29 Dec 2023 23:08:53 +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 4T21K135mqz4GwW; Fri, 29 Dec 2023 23:08:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1703891333; 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=YDGzL3ZE6vPTuZ5yOl6HsAIweXtpO7y3rqSxwW1PElA=; b=CyliZ4tGK3EEL2KjNcEiWTg+qMv5dVF37AYVvZgAPET0Ty8HIp+hseFLRgE/NsvbXQXdle TYf0oqsGSrhBIKcd1JaWiKDxJ2r8zBbzVrHgOQNW1FZOFrW59r1bRhDaKeyz49DPf1OKyx 6TLcA0qWCAl37AD69DicxSoQYo4GMMnYdiJUyjtmM28C8OEYj4MHr5+cmLDIqvAHDBqCu8 c9H6PUl7q19Uwpq4gmK9zrix3z/bhn4AzwXr4Obg7tgMBgKehj1jlIPrsiH97150PsIe88 IHHnY4SOg11Hcf8HCTO7+Zy75LT2z/LLxYBx0dMHAjiV6PK+X1uSHkuGCQ2EqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1703891333; a=rsa-sha256; cv=none; b=rWvZ4i5QAQCwc0sCMYGxCFE7bu6JDPN/sWGH3Enccn0TGYQDyxbs62h7yEscQk5ui1cPRw wRi3/VhdTzNeHmry5ppHK2j5qR6sD6rSbmUIudPquPW6xFhNHLTgpYYcxN7fmm+O5OixSt oIfAjUJ8v5QvRE+3Xc9RU50cqq1y54JVGutqRQPoanUBdgHff3miF3KgtMhsUtYSsD/Fwr POkexYaYOZVnAqUiWX5IAbZOsd09N1QltOC4McqY4tcNRTO314z607r8VT9tBdCVKGqgvn SLnCJYd8uI7Q1/F38wEoGni6Abc8C8w0fB7jVhQbMXVXbW41f4SY7NcAKYlxgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1703891333; 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=YDGzL3ZE6vPTuZ5yOl6HsAIweXtpO7y3rqSxwW1PElA=; b=leYqnVfoWW51jyfSdsQ9V991pbVvHCn6eKF5jJygXRVOTmo558T6VBd8hlzgZsDvaPDXNW yzP/wX3C0rqkH2e11SNLT+jiPLcWqblrII6blkbJJRWnxOJjOHfe4IrXPOHbRytjRav6Ck 7u2drl9ZZS0Xd88ns44CgV44nZ3P0xjHl2KrNeEkLuZYZGdFwXIbzB0mpJiUwJQem74c4L STqy8DoksjqhGmKJiyznFTsAj/kzsoTnX+d6/q1TnDrAlOvsvhArEamQZjiJM+uVDqk8H9 duMMycTBGjWB8+TAK+Ib5j+7KKfwaqmndSmHbD/4IA8ncxQepb2OjBVxdo8TKQ== 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 4T21K128dXzBDJ; Fri, 29 Dec 2023 23:08:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3BTN8rMG075441; Fri, 29 Dec 2023 23:08:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3BTN8rG5075438; Fri, 29 Dec 2023 23:08:53 GMT (envelope-from git) Date: Fri, 29 Dec 2023 23:08:53 GMT Message-Id: <202312292308.3BTN8rG5075438@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: 90ac116d5e46 - stable/14 - nehemiah RNG: Switch to using FPU_KERN_NOCTX List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/14 X-Git-Reftype: branch X-Git-Commit: 90ac116d5e466e631fc5b8ee8e9fd16bd10c8f07 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=90ac116d5e466e631fc5b8ee8e9fd16bd10c8f07 commit 90ac116d5e466e631fc5b8ee8e9fd16bd10c8f07 Author: John Baldwin AuthorDate: 2023-08-25 19:34:16 +0000 Commit: John Baldwin CommitDate: 2023-12-29 21:49:41 +0000 nehemiah RNG: Switch to using FPU_KERN_NOCTX Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D41583 (cherry picked from commit 7aec088cbce8381bd5bf730419b8fdcddf43b08d) --- sys/dev/random/nehemiah.c | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/sys/dev/random/nehemiah.c b/sys/dev/random/nehemiah.c index 09c8c32c6d39..e01fdb952108 100644 --- a/sys/dev/random/nehemiah.c +++ b/sys/dev/random/nehemiah.c @@ -43,8 +43,6 @@ #include -static void random_nehemiah_init(void); -static void random_nehemiah_deinit(void); static u_int random_nehemiah_read(void *, u_int); static struct random_source random_nehemiah = { @@ -53,8 +51,6 @@ static struct random_source random_nehemiah = { .rs_read = random_nehemiah_read }; -static struct fpu_kern_ctx *fpu_ctx_save; - /* This H/W source never stores more than 8 bytes in one go */ /* ARGSUSED */ static __inline size_t @@ -75,20 +71,6 @@ VIA_RNG_store(void *buf) return (0); } -static void -random_nehemiah_init(void) -{ - - fpu_ctx_save = fpu_kern_alloc_ctx(FPU_KERN_NORMAL); -} - -static void -random_nehemiah_deinit(void) -{ - - fpu_kern_free_ctx(fpu_ctx_save); -} - /* It is specifically allowed that buf is a multiple of sizeof(long) */ static u_int random_nehemiah_read(void *buf, u_int c) @@ -97,14 +79,14 @@ random_nehemiah_read(void *buf, u_int c) size_t count, ret; uint64_t tmp; - fpu_kern_enter(curthread, fpu_ctx_save, FPU_KERN_NORMAL); + fpu_kern_enter(curthread, NULL, FPU_KERN_NORMAL | FPU_KERN_NOCTX); b = buf; for (count = c; count > 0; count -= ret) { ret = MIN(VIA_RNG_store(&tmp), count); memcpy(b, &tmp, ret); b += ret; } - fpu_kern_leave(curthread, fpu_ctx_save); + fpu_kern_leave(curthread, NULL); return (c); } @@ -119,13 +101,11 @@ nehemiah_modevent(module_t mod, int type, void *unused) if (via_feature_rng & VIA_HAS_RNG) { random_source_register(&random_nehemiah); printf("random: fast provider: \"%s\"\n", random_nehemiah.rs_ident); - random_nehemiah_init(); } break; case MOD_UNLOAD: if (via_feature_rng & VIA_HAS_RNG) { - random_nehemiah_deinit(); random_source_deregister(&random_nehemiah); } break;