Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp1684928ybc; Wed, 20 Nov 2019 02:28:01 -0800 (PST) X-Google-Smtp-Source: APXvYqx4ivJkZh3yoctFuoTOGc716ZzZGqDqRnzzPleP86s0h0tqYVVd9zllijQBYXOIhFrJrNqS X-Received: by 2002:a17:907:110f:: with SMTP id qu15mr4420297ejb.179.1574245681080; Wed, 20 Nov 2019 02:28:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574245681; cv=none; d=google.com; s=arc-20160816; b=rFnRkpjFr/hnzDnN1atqagcLEXRS5Q+5geU61kyqYQ8O6E2Z2IfLdVaZ19eATMPDoy 9qdz4VuQNGtRHwrwnSiySI2mQgPcWIQVv5okIkWVeV17kmhsMlLSScMXI7M2Dlmg2WCD OcqmMqHo5McrLaJPk1qw3FeEHGjZoNJO1gpWOaE3RX99XuZOSia33AL8weRLldfI9PVB O+RyMs5nk/8TJ/CK1L9z595b/21lo+N25Ihyo/rHGqAjobhEfY+f4rZiMGOPcgRHLnZC vWOCRNMQigZG9Tbh/lB0T1kINBBU6WeQoAez8xEIlfxpKjlw/2bV/1dBz+bVKD8i1BgX sTaw== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=+hNiuBFTxFlT0Gn7HpVHOGwMsYYl+Y2vlqsxw0K/O/0=; b=DkWL5mDsz8SY5bnZaW4E6qPHf1Za5HPJITChrMA01LlL78I8yvqXMYn2GwlZWQ2/nU vgPVPTaYm/ja1C1ZcwCpZRtvSeQhDhyA7miTMbRbRpIyutaobbwLI7LMBf3ogipZa182 8IueGZPaLsZFmwqtGjUujrlbHu9h3avVoOBqFire2jXPwOwj+PK2QNXkoki6BMRD5+Ax Wnd7mHsN23a5DvotxfdLiuocvcki9IFeJYsGUqIr0BVdl50K/jtzFPivlQQ4YRhBPqiN ploV1+woStBFtu4clbfGfx7yvnLwM5wrPgrBHTUW5yR73YPLPoJ7yI0HdlQELyXSrszl phLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="iK5N/l9n"; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f21si17910801edf.277.2019.11.20.02.27.26; Wed, 20 Nov 2019 02:28:01 -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=pass header.i=@gmail.com header.s=20161025 header.b="iK5N/l9n"; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728343AbfKTJzy (ORCPT + 99 others); Wed, 20 Nov 2019 04:55:54 -0500 Received: from mail-lj1-f194.google.com ([209.85.208.194]:33206 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728329AbfKTJzy (ORCPT ); Wed, 20 Nov 2019 04:55:54 -0500 Received: by mail-lj1-f194.google.com with SMTP id t5so26809633ljk.0; Wed, 20 Nov 2019 01:55:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=+hNiuBFTxFlT0Gn7HpVHOGwMsYYl+Y2vlqsxw0K/O/0=; b=iK5N/l9nxKs5b5R2Kn8vtngSjrarNyucoYFtwE5updxFTIhfNTxuPZEjTBx1DMBc72 CbTnVTg2uWK7akJGoClK0xS1L8NxevemktiXSgWMpQ5J7UUQTjYPmCCjWdNGRWU3Cadz Pdmt3jZ0qChONxCupdToTTRaYZirP/yxm2djAZfZo5eVMSKN+AwzhHKN4cE0aPp9BKG8 iqFmW4N2bTlFKmflYhlWdVoSV8sxSe5cmNNw0IrPxSwNhDm4OmdpZJsnM1eHl8YyWauN 7WMRKfzD2V/C7Wjz3ab8UwQraDl0RFveJ5yDlB5r+xpXX+EEeK7Dd97PyQoIpV1LCGxA Hd8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=+hNiuBFTxFlT0Gn7HpVHOGwMsYYl+Y2vlqsxw0K/O/0=; b=C0ElHSwlNRj8cnd96RTc37hmUG3AjSXSstIw8e3qlgWmgtdx8/L7QdHeSgWw55zt4t 8UJ+Fhps70mXn6WVbF3W+aYGv6ELjHE0JzEFyz8ztv5W8mFX1LZWnPD4Hm1dmAlwp809 Q/fSzX/Qdw8WUvzXIj+QvudI8gTax5w+MMhshCl/wvbcjauhQ41YOyZR2luQ+mQFGtYt 2TYDt5LuukqD3Un3n2JNjiCoh+7YR4WyyvRJskiwgBiQ1FVmFxuLymdOg0WnWeFaohpF R+oBpCoyV74B6uaHYpKIo2gR8iSlg9qa7l/ZxrYjRUzPKxBlhN7F6TaoLkzSpryEAezS jRUA== X-Gm-Message-State: APjAAAW0/u1W+c74Q5Aec95CnpH8iODmfMBv1mUQWf1UMaa54XZM/pGl Rc8uMBWWTW2caFUcdpvcgs0= X-Received: by 2002:a2e:b5d0:: with SMTP id g16mr1909572ljn.88.1574243750093; Wed, 20 Nov 2019 01:55:50 -0800 (PST) Received: from ?IPv6:2a02:17d0:4a6:5700:d63d:7eff:fed9:a39? ([2a02:17d0:4a6:5700:d63d:7eff:fed9:a39]) by smtp.googlemail.com with ESMTPSA id f3sm1481438lfl.58.2019.11.20.01.55.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 20 Nov 2019 01:55:49 -0800 (PST) Subject: Re: [PATCH v25 10/12] LRNG - add TRNG support To: =?UTF-8?Q?Stephan_M=c3=bcller?= , Greg Kroah-Hartman Cc: Andy Lutomirski , Arnd Bergmann , Linux Crypto Mailing List , LKML , Linux API , "Eric W. Biederman" , "Ahmed S. Darwish" , "Theodore Y. Ts'o" , Willy Tarreau , Matthew Garrett , Vito Caputo , Andreas Dilger , Jan Kara , Ray Strode , William Jon McCann , zhangjs , Florian Weimer , Lennart Poettering , Nicolai Stange , "Peter, Matthias" , Marcelo Henrique Cerri , Roman Drahtmueller , Neil Horman References: <5390778.VeFRgus4bQ@positron.chronox.de> <20191119124150.GB1975017@kroah.com> <19681012.svDddlc5pN@positron.chronox.de> From: "Alexander E. Patrakov" Message-ID: Date: Wed, 20 Nov 2019 14:55:46 +0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: <19681012.svDddlc5pN@positron.chronox.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-PH Content-Transfer-Encoding: 8bit Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org 20.11.2019 13:58, Stephan Müller пишет: > Or another idea and apologies if I restart this conversation as there was > already a discussion around it: what about extending the getrandom(2) call > instead of adding a device file? > > What about adding yet another flag to getrandom: GRND_TRUERANDOM and process > it as follows: > > if (flags & ~(GRND_NONBLOCK|GRND_RANDOM|GRND_INSECURE| > GRND_TRUERANDOM)) > return -EINVAL; > > //From Andy's tree > /* > * Requesting insecure and blocking randomness at the same time makes > * no sense. > */ > if ((flags & (GRND_INSECURE|GRND_RANDOM)) == (GRND_INSECURE| > GRND_RANDOM)) > return -EINVAL; > > /* We only allow GRND_TRUERANDOM by itself or with NONBLOCK */ > if (! ((flags & GRND_TRUERANDOM) && > ((flags == GRND_TRUERANDOM) || > (flags == GRND_TRUERANDOM | GRND_NONBLOCK)))) > return -EINVAL; > > if (flags & GRND_TRUERANDOM) { > ... do the TRNG processing ... > ... may return -ENOPNOTSUPP if no TRNG available ... > } This would totally miss the point of adding a device node: UNIX permissions that don't allow "others" to read and deplete "true" random numbers. -- Alexander E. Patrakov