From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88189C43381 for ; Mon, 18 Mar 2019 14:45:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5829D20872 for ; Mon, 18 Mar 2019 14:45:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1552920300; bh=HwXCDnAmAfVpJA6mMpOMq52cSwatbsyVLSlmJQw+e3Q=; h=Date:From:To:cc:Subject:In-Reply-To:References:List-ID:From; b=uxgbF2qlYjySJt63T0gtFfEkdT5ZM9X4lNAi2YC2PPTSmuLp/K7aNEm3WMcizRiMr V78p1FypsqNnT1lRqv8LPXkNqUMGzXX1VlGcFwQG726lTd23rHMsU13q62SQniyOOq SDFExoVqh2pMS+igP1Dxuyq9O0ez2kTYAkeiDp1g= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726906AbfCROo7 (ORCPT ); Mon, 18 Mar 2019 10:44:59 -0400 Received: from mail.kernel.org ([198.145.29.99]:38968 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726846AbfCROo7 (ORCPT ); Mon, 18 Mar 2019 10:44:59 -0400 Received: from pobox.suse.cz (prg-ext-pat.suse.com [213.151.95.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 072C320850; Mon, 18 Mar 2019 14:44:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1552920298; bh=HwXCDnAmAfVpJA6mMpOMq52cSwatbsyVLSlmJQw+e3Q=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=1vNwvI52i00JZparX3X62xkkFJOAFiMQ/5aoQvs+dRDl2mya/UVN7b4oRILrhSBoE o54lnpHIVxD4lUwf9T1bZ4noSmJEPO2VnbCIWY11VcvSnON8vYkgQKfP859l75TkMT zb8EHh6FzCbCDvz0tPb6DMLdW/8Ne//qEaSGPZOE= Date: Mon, 18 Mar 2019 15:44:55 +0100 (CET) From: Jiri Kosina To: Andrej Shadura cc: linux-input@vger.kernel.org, linux-usb@vger.kernel.org, kernel@collabora.com, Theodore Ts'o , Vasily Khoruzhick , Nick Kossifidis , linux-crypto@vger.kernel.org Subject: Re: [PATCH v2] HID: add driver for U2F Zero built-in LED and RNG In-Reply-To: <20190309183213.7598-1-andrew.shadura@collabora.co.uk> Message-ID: References: <20190309183213.7598-1-andrew.shadura@collabora.co.uk> User-Agent: Alpine 2.21 (LSU 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Sat, 9 Mar 2019, Andrej Shadura wrote: > U2F Zero supports custom commands for blinking the LED and getting data > from the internal hardware RNG. Expose the blinking function as a LED > device, and the internal hardware RNG as an HWRNG so that it can be used > to feed the enthropy pool. > > Signed-off-by: Andrej Shadura > --- > > This version of the patch sets the quality to 1. > > --- > drivers/hid/Kconfig | 15 ++ > drivers/hid/Makefile | 1 + > drivers/hid/hid-ids.h | 1 + > drivers/hid/hid-u2fzero.c | 371 ++++++++++++++++++++++++++++++++++++++ > 4 files changed, 388 insertions(+) > create mode 100644 drivers/hid/hid-u2fzero.c > > diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig > index 41e9935fc584..4f1b8939561d 100644 > --- a/drivers/hid/Kconfig > +++ b/drivers/hid/Kconfig > @@ -989,6 +989,21 @@ config HID_UDRAW_PS3 > Say Y here if you want to use the THQ uDraw gaming tablet for > the PS3. > > +config HID_U2FZERO > + tristate "U2F Zero LED and RNG support" > + depends on HID > + depends on LEDS_CLASS > + help > + Support for the LED of the U2F Zero device. > + > + U2F Zero supports custom commands for blinking the LED > + and getting data from the internal hardware RNG. > + The internal hardware can be used to feed the enthropy pool. > + > + U2F Zero only supports blinking its LED, so this driver doesn't > + allow setting the brightness to anything but 1, which will > + trigger a single blink and immediately reset to back 0. > + This driver isn't really a generic (transport-agnostic) one (which also means it's missing USB dependency in Kconfig btw). Is there a reason why it can't be abstracted that way so that it'd fit our principal model in HID subsystem? Also, I've looked at it really briefly, but can't it be easily implemented in userspace? Thanks, -- Jiri Kosina SUSE Labs From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2] HID: add driver for U2F Zero built-in LED and RNG From: Jiri Kosina Message-Id: Date: Mon, 18 Mar 2019 15:44:55 +0100 (CET) To: Andrej Shadura Cc: linux-input@vger.kernel.org, linux-usb@vger.kernel.org, kernel@collabora.com, Theodore Ts'o , Vasily Khoruzhick , Nick Kossifidis , linux-crypto@vger.kernel.org List-ID: T24gU2F0LCA5IE1hciAyMDE5LCBBbmRyZWogU2hhZHVyYSB3cm90ZToKCj4gVTJGIFplcm8gc3Vw cG9ydHMgY3VzdG9tIGNvbW1hbmRzIGZvciBibGlua2luZyB0aGUgTEVEIGFuZCBnZXR0aW5nIGRh dGEKPiBmcm9tIHRoZSBpbnRlcm5hbCBoYXJkd2FyZSBSTkcuIEV4cG9zZSB0aGUgYmxpbmtpbmcg ZnVuY3Rpb24gYXMgYSBMRUQKPiBkZXZpY2UsIGFuZCB0aGUgaW50ZXJuYWwgaGFyZHdhcmUgUk5H IGFzIGFuIEhXUk5HIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQKPiB0byBmZWVkIHRoZSBlbnRocm9w eSBwb29sLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEFuZHJlaiBTaGFkdXJhIDxhbmRyZXcuc2hhZHVy YUBjb2xsYWJvcmEuY28udWs+Cj4gLS0tCj4gCj4gVGhpcyB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBz ZXRzIHRoZSBxdWFsaXR5IHRvIDEuCj4gCj4gLS0tCj4gIGRyaXZlcnMvaGlkL0tjb25maWcgICAg ICAgfCAgMTUgKysKPiAgZHJpdmVycy9oaWQvTWFrZWZpbGUgICAgICB8ICAgMSArCj4gIGRyaXZl cnMvaGlkL2hpZC1pZHMuaCAgICAgfCAgIDEgKwo+ICBkcml2ZXJzL2hpZC9oaWQtdTJmemVyby5j IHwgMzcxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDQgZmlsZXMg Y2hhbmdlZCwgMzg4IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv aGlkL2hpZC11MmZ6ZXJvLmMKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9oaWQvS2NvbmZpZyBi L2RyaXZlcnMvaGlkL0tjb25maWcKPiBpbmRleCA0MWU5OTM1ZmM1ODQuLjRmMWI4OTM5NTYxZCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2hpZC9LY29uZmlnCj4gKysrIGIvZHJpdmVycy9oaWQvS2Nv bmZpZwo+IEBAIC05ODksNiArOTg5LDIxIEBAIGNvbmZpZyBISURfVURSQVdfUFMzCj4gIAkgIFNh eSBZIGhlcmUgaWYgeW91IHdhbnQgdG8gdXNlIHRoZSBUSFEgdURyYXcgZ2FtaW5nIHRhYmxldCBm b3IKPiAgCSAgdGhlIFBTMy4KPiAgCj4gK2NvbmZpZyBISURfVTJGWkVSTwo+ICsJdHJpc3RhdGUg IlUyRiBaZXJvIExFRCBhbmQgUk5HIHN1cHBvcnQiCj4gKwlkZXBlbmRzIG9uIEhJRAo+ICsJZGVw ZW5kcyBvbiBMRURTX0NMQVNTCj4gKwloZWxwCj4gKwkgIFN1cHBvcnQgZm9yIHRoZSBMRUQgb2Yg dGhlIFUyRiBaZXJvIGRldmljZS4KPiArCj4gKwkgIFUyRiBaZXJvIHN1cHBvcnRzIGN1c3RvbSBj b21tYW5kcyBmb3IgYmxpbmtpbmcgdGhlIExFRAo+ICsJICBhbmQgZ2V0dGluZyBkYXRhIGZyb20g dGhlIGludGVybmFsIGhhcmR3YXJlIFJORy4KPiArCSAgVGhlIGludGVybmFsIGhhcmR3YXJlIGNh biBiZSB1c2VkIHRvIGZlZWQgdGhlIGVudGhyb3B5IHBvb2wuCj4gKwo+ICsJICBVMkYgWmVybyBv bmx5IHN1cHBvcnRzIGJsaW5raW5nIGl0cyBMRUQsIHNvIHRoaXMgZHJpdmVyIGRvZXNuJ3QKPiAr CSAgYWxsb3cgc2V0dGluZyB0aGUgYnJpZ2h0bmVzcyB0byBhbnl0aGluZyBidXQgMSwgd2hpY2gg d2lsbAo+ICsJICB0cmlnZ2VyIGEgc2luZ2xlIGJsaW5rIGFuZCBpbW1lZGlhdGVseSByZXNldCB0 byBiYWNrIDAuCj4gKwoKVGhpcyBkcml2ZXIgaXNuJ3QgcmVhbGx5IGEgZ2VuZXJpYyAodHJhbnNw b3J0LWFnbm9zdGljKSBvbmUgKHdoaWNoIGFsc28gCm1lYW5zIGl0J3MgbWlzc2luZyBVU0IgZGVw ZW5kZW5jeSBpbiBLY29uZmlnIGJ0dykuCgpJcyB0aGVyZSBhIHJlYXNvbiB3aHkgaXQgY2FuJ3Qg YmUgYWJzdHJhY3RlZCB0aGF0IHdheSBzbyB0aGF0IGl0J2QgZml0IG91ciAKcHJpbmNpcGFsIG1v ZGVsIGluIEhJRCBzdWJzeXN0ZW0/CgpBbHNvLCBJJ3ZlIGxvb2tlZCBhdCBpdCByZWFsbHkgYnJp ZWZseSwgYnV0IGNhbid0IGl0IGJlIGVhc2lseSBpbXBsZW1lbnRlZCAKaW4gdXNlcnNwYWNlPwoK VGhhbmtzLAo=