Received: by 2002:a05:6a10:8395:0:0:0:0 with SMTP id n21csp273243pxh; Wed, 10 Nov 2021 01:26:26 -0800 (PST) X-Google-Smtp-Source: ABdhPJyE74iCSCBgHP+70ac8uiOS57ctEQHGEwwpO7zCf3U9YbX5pANE+JPjNyZlKdB2DyZ7uuzU X-Received: by 2002:a17:907:62a5:: with SMTP id nd37mr19299048ejc.114.1636536386661; Wed, 10 Nov 2021 01:26:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1636536386; cv=none; d=google.com; s=arc-20160816; b=eAALF9FY3KxljfawP2OYrhzA0ZIfIomNFrDZ2RpWOrRuSCAUuIRWckrKKwM3o26G9M 4xC3D2K/ShX/vORbBFbb24w/uwUacoK8Zk129tGIyC7SGFqKJ4SiJp1ivME/zOcMr0ye Npi7jcRfNk2W7wNvhgQjw16VoD9SA1Ll8PYA3pg6cLch2JOEbEkQZO/ewniu8fjHbyq1 ndHPvLYqJW55Ay46WfMWraisp9ujrV8mAZXY/wzLzpIXMQCKf/CaeEe4uvJes7b5bnOC OPUeLVo+B4tC2jOTxOXj+XQylZqPpcUSyPdAmv4IdK0Y2Y1s41ilemTN5qCEulp3wtXb Fd4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:subject:message-id:date:from:mime-version :dkim-signature; bh=BZ0thEzEEgN8Vv8lNiduAKq1NabNeUpqnuyPRupYYmE=; b=EdmgBvZinSKG+d8aOv+fYV5jdwG1wbMtMLD3Oyik0vJ1/B5JA7o1q5U+q7H1LqCsx1 BfEEB0EhBfqC1kjo0dd2lFXR3Zrg9nZYcoXtPC/d9+ifGRGNO8Jn4XRk1sE7MnoGFLvu fsrmiw6tFZi6/Z0cJaHviH8ooUgn5+As3+E1e477XcO4wGdBOD4IUqJhfHfcFljYGmNN mYmBw41/tkFvD/1GlYsqRu8LFZMmu1JegtTg5Sk49X0MKLxL0NiagnDo+wA7P/XXVOow 97fRkoe0B9dbW4Gjjl8q5mBB08UmAboa1SbID/K2xcN/XA8GL0IXjCf7/F94Ke5+nDT9 1TiA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=bAT+hBIH; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id sa40si47876244ejc.226.2021.11.10.01.25.24; Wed, 10 Nov 2021 01:26:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=bAT+hBIH; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230037AbhKJJ2H (ORCPT + 99 others); Wed, 10 Nov 2021 04:28:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56816 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229831AbhKJJ2H (ORCPT ); Wed, 10 Nov 2021 04:28:07 -0500 Received: from mail-yb1-xb2c.google.com (mail-yb1-xb2c.google.com [IPv6:2607:f8b0:4864:20::b2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4FC8EC061764; Wed, 10 Nov 2021 01:25:20 -0800 (PST) Received: by mail-yb1-xb2c.google.com with SMTP id g17so4719199ybe.13; Wed, 10 Nov 2021 01:25:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=BZ0thEzEEgN8Vv8lNiduAKq1NabNeUpqnuyPRupYYmE=; b=bAT+hBIH/pqHIqQbAo5kA+2T8xqHzlSAXrFdaVUp7Z5VS5H1fOzFTB+CIe85zNEVJd FCvaKldm9u/8AMZkdNCbYvAtswCIzrYXb8cucp2oPyYb3EFTiWvGJgybqtq5XHK+wNdu D5z1XA6lcQo0sgN8MnUvmluFeu0kXi2XTUkClRlOfre+FZxyTqhZXHNRXHw/dGAs8ChB aIODKBeGuGA/w/B+qv8HcYhvOV52YQPaVkMzbMkbqAFYhw18EDUZheJjxLH2i87RDUHh J8oRFMBTwkuw9h9SQ1Y4dRZMCtEoeASI2myLB2wauYQDtLT3gVQGzjHigJSlKaUHk1Ca WEGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=BZ0thEzEEgN8Vv8lNiduAKq1NabNeUpqnuyPRupYYmE=; b=QEX8lyRSlRv++VgobU2OMdZ+nkG7oJqwYFVSLlt0gTK2lZMT9TKqWJCchJk/1HFcgJ 6pHwQ5RKZ8571QT+Y8EK9uX/EvjxRdEo4W/9rj3XCZjBdkHv0GuSvHetGZ9N9GOdoID7 VFj6PNqLJxQ+VMOVWj781yxNMXiUamZ1+vYy6mJhhiV1XzKkkzmGk7bfJ1jTwwo1TYMa 9x4vxF2XPuCNltglvrsZnlkaEDZpTKXteHkPDzLfFQjGiGtdK2cJdjqumNPL0DVXKP9o EB71nRHGEol4PuCAm2Mma1BLfybT1z+6i7RsqWkP2dOj3IizC9NKcBAnAhdO1vsjkFAH 8hTA== X-Gm-Message-State: AOAM5300dGBER48P8td1uomk2PcqcX2fV+VBMB925rsAkQIjhgRpvoXO W0YPuSVKbbJLBZERXbjEc06abvgNEyQGAxlinfNMmUvx2rc= X-Received: by 2002:a25:ae07:: with SMTP id a7mr15958073ybj.364.1636536319416; Wed, 10 Nov 2021 01:25:19 -0800 (PST) MIME-Version: 1.0 From: Sandy Harris Date: Wed, 10 Nov 2021 17:25:07 +0800 Message-ID: Subject: [PATCH] random: Use 64 bits from get_random_long() in extract_crng() To: LKML , Linux Crypto Mailing List , "Ted Ts'o" , "Jason A. Donenfeld" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org --- drivers/char/random.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/char/random.c b/drivers/char/random.c index 605969ed0f96..bf644b594fb7 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -989,14 +989,20 @@ static void _extract_crng(struct crng_state *crng, __u8 out[CHACHA_BLOCK_SIZE]) { unsigned long v, flags; + u32 *p, *q ; + p = crng->state ; + q = (u32 *) &v ; if (crng_ready() && (time_after(crng_global_init_time, crng->init_time) || time_after(jiffies, crng->init_time + CRNG_RESEED_INTERVAL))) crng_reseed(crng, crng == &primary_crng ? &input_pool : NULL); spin_lock_irqsave(&crng->lock, flags); - if (arch_get_random_long(&v)) - crng->state[14] ^= v; + if (arch_get_random_long(&v)) { + p[14] ^= q[0]; + if (sizeof(v) == 8) + p[15] ^= q[1]; + } chacha20_block(&crng->state[0], out); if (crng->state[12] == 0) crng->state[13]++; --