Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp986632ybc; Sat, 23 Nov 2019 12:40:54 -0800 (PST) X-Google-Smtp-Source: APXvYqxs1XXGYF2vpiHpV+fBDbMjl2kt9MqFdfs7FocHQhT9bzNQ1DX87tu4AGStrxODGD5aWk5h X-Received: by 2002:aa7:d7c5:: with SMTP id e5mr5367650eds.233.1574541654630; Sat, 23 Nov 2019 12:40:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574541654; cv=none; d=google.com; s=arc-20160816; b=LmkORdFvYNBTqkY+BDqn+Z3UBgBryIC+BVIkso9FHjq6PMNZ5wJkcs32FtoHJJcKno dolDxVD76ii2/mtO7tChWuEoc8bcCsnAFjac3U5dIAlUaUcM5Bfb5QM8HnHIZn8ttrst LfIly7/FY1QsykAbqpIaOfJi8ve4xP6i55ghn+Angh8akzGOSTJQjB7FvlHdmmmSzXlj 3C5RUt1As1myaqaserM8r32+CayGEg6AsqblstT0SZdG4OMMLX4MtGfFRcyRqMsA5svC s15HjITKNNxUvLXjuuQxTwVn1QHB0geshJG3FDzGJcNvEJYI+xRRZAf0sxk1mf3blyKG 04dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=aPZ/5dq1Q5Q0xxxZcch63UgLnu9JOzeEUdd+tUFCBSE=; b=WNUezOaXC5yTvccdfCYHJO3R8ncOue0EMt6v4BeLaLwta81cTDz/LZ7huojaUabqgU bJWDBX011/YegHsPz8hfIUVpj5106EfLYcnTMVpg48SUEyfJ89hkbM9XerS5OvSislDC j5+aIJgot7mLjWAC6vf7QymM92YK3oIhEULly/J1NB102EMp0sz1sK+NWQa0zJukRAcv Urm7Ul7wmbrijROTRCGJArvuwNRbBnY0MnGtzVBBwVyl+9mxqaSQRGZgj7CHEdp3ScKy cKJFe6kCrTfRqJs3vgkqgv5GqnVoOVHLQXyvT0OxJMoYd4DwOkYwTrVw5rHslA2NLGTm BazQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@chronox.de header.s=strato-dkim-0002 header.b=m5FCiOrd; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d21si1533992edb.180.2019.11.23.12.40.30; Sat, 23 Nov 2019 12:40:54 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@chronox.de header.s=strato-dkim-0002 header.b=m5FCiOrd; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727209AbfKWUjz (ORCPT + 99 others); Sat, 23 Nov 2019 15:39:55 -0500 Received: from mo4-p03-ob.smtp.rzone.de ([85.215.255.102]:15647 "EHLO mo4-p03-ob.smtp.rzone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727158AbfKWUjy (ORCPT ); Sat, 23 Nov 2019 15:39:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1574541589; s=strato-dkim-0002; d=chronox.de; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=aPZ/5dq1Q5Q0xxxZcch63UgLnu9JOzeEUdd+tUFCBSE=; b=m5FCiOrd+1HcbMsPyyy5r4OOv4EEYG9atE6ZNxb6aSbsA6cjHT8TbpwwpJ6GSTWOIl rgvFOJCfL+lNuN1V0WljP4SBQUB+OxAJdSrSJBo6ysfUWI419uNg0tyIMjqYfibxOOoo HUNap8Ioq9Lu05bi+0j63pzkir3Me0Y/l6R6ZHmXOkGKp8SQy0cf0XTsmW1XujoaMKpg Ji13Z+Wm2O3JN3zkk8CozajkBeXjnn1YpY+5B02zlrRzxoSeiC7hDtplL1rN+Eqw2PWa lmfnGhbrhGvxPCGh9xT/L68Hcu3y7Du0wO8/8BVMmeUz4Cy8Y8sszpC/S4KYZZikqkg5 JHXA== X-RZG-AUTH: ":P2ERcEykfu11Y98lp/T7+hdri+uKZK8TKWEqNyiHySGSa9k9xmwdNnzHHXDaJfSfWrhX" X-RZG-CLASS-ID: mo00 Received: from positron.chronox.de by smtp.strato.de (RZmta 44.29.0 DYNA|AUTH) with ESMTPSA id N09a57vANKcW3yT (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA)) (Client did not present a certificate); Sat, 23 Nov 2019 21:38:32 +0100 (CET) From: Stephan =?ISO-8859-1?Q?M=FCller?= To: Arnd Bergmann Cc: Greg Kroah-Hartman , linux-crypto@vger.kernel.org, LKML , linux-api@vger.kernel.org, "Eric W. Biederman" , "Alexander E. Patrakov" , "Ahmed S. Darwish" , "Theodore Y. Ts'o" , Willy Tarreau , Matthew Garrett , Vito Caputo , Andreas Dilger , Jan Kara , Ray Strode , William Jon McCann , zhangjs , Andy Lutomirski , Florian Weimer , Lennart Poettering , Nicolai Stange , "Peter, Matthias" , Marcelo Henrique Cerri , Roman Drahtmueller , Neil Horman , Randy Dunlap Subject: [PATCH v26 08/12] crypto: provide access to a static Jitter RNG state Date: Sat, 23 Nov 2019 21:33:24 +0100 Message-ID: <2834718.39UZt9kXIA@positron.chronox.de> In-Reply-To: <2722222.P16TYeLAVu@positron.chronox.de> References: <6157374.ptSnyUpaCn@positron.chronox.de> <2787174.DQlWHN5GGo@positron.chronox.de> <2722222.P16TYeLAVu@positron.chronox.de> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org To support the LRNG operation which uses the Jitter RNG separately from the kernel crypto API, at a time where potentially the regular memory management is not yet initialized, the Jitter RNG needs to provide a state whose memory is defined at compile time. As only once instance will ever be needed by the LRNG, define once static memory block which is solely to be used by the LRNG. CC: "Eric W. Biederman" CC: "Alexander E. Patrakov" CC: "Ahmed S. Darwish" CC: "Theodore Y. Ts'o" CC: Willy Tarreau CC: Matthew Garrett CC: Vito Caputo CC: Andreas Dilger CC: Jan Kara CC: Ray Strode CC: William Jon McCann CC: zhangjs CC: Andy Lutomirski CC: Florian Weimer CC: Lennart Poettering CC: Nicolai Stange Reviewed-by: Roman Drahtmueller Tested-by: Roman Drahtm=FCller Tested-by: Marcelo Henrique Cerri Tested-by: Neil Horman Signed-off-by: Stephan Mueller =2D-- crypto/jitterentropy.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/crypto/jitterentropy.c b/crypto/jitterentropy.c index 77fa2120fe0c..3a815495f778 100644 =2D-- a/crypto/jitterentropy.c +++ b/crypto/jitterentropy.c @@ -644,3 +644,26 @@ int jent_entropy_init(void) =20 return 0; } + +struct rand_data *jent_lrng_entropy_collector(void) +{ + static unsigned char lrng_jent_mem[JENT_MEMORY_SIZE]; + static struct rand_data lrng_jent_state =3D { + .data =3D 0, + .old_data =3D 0, + .prev_time =3D 0, + .last_delta =3D 0, + .last_delta2 =3D 0, + .osr =3D 1, + .mem =3D lrng_jent_mem, + .memlocation =3D 0, + .memblocks =3D JENT_MEMORY_BLOCKSIZE, + .memblocksize =3D JENT_MEMORY_BLOCKS, + .memaccessloops =3D JENT_MEMORY_ACCESSLOOPS, + }; + + if (jent_entropy_init()) + return NULL; + + return &lrng_jent_state; +} =2D-=20 2.23.0