Re: Fw: Arm CryptoCell driver -- default Y, even on machines where it is obviously useless

From: Ard Biesheuvel
Date: Sun Apr 19 2020 - 04:55:21 EST


On Sun, 19 Apr 2020 at 08:33, Gilad Ben-Yossef <gilad@xxxxxxxxxxxxx> wrote:
>
> > > -----Original Message-----
> > > From: Pavel Machek <pavel@xxxxxx>
> > > Sent: Saturday, 18 April 2020 13:44
> > > To: kernel list <linux-kernel@xxxxxxxxxxxxxxx>; Hadar Gat
> > > <Hadar.Gat@xxxxxxx>; herbert@xxxxxxxxxxxxxxxxxxx
> > > Subject: Arm CryptoCell driver -- default Y, even on machines where it is
> > > obviously useless
> > >
> > > Hi!
> > >
> > > I'm configuring kernel for x86, and I get offered HW_RANDOM_CCTRNG with
> > > default=Y, and help text suggesting I should enable it.
> > >
> > > That's... two wrong suggestions, right?
> > >
> > > Best regards,
> > > Pavel
> ...
> > ________________________________________
> > From: Hadar Gat <Hadar.Gat@xxxxxxx>
> > Sent: Saturday, April 18, 2020 11:31 PM
> > To: Pavel Machek; kernel list; herbert@xxxxxxxxxxxxxxxxxxx
> > Cc: Ofir Drang; Gilad Ben Yossef; nd
> > Subject: RE: Arm CryptoCell driver -- default Y, even on machines where it is obviously useless
> >
> > Hi Pavel,
> > I think you got it right..
> > Indeed, Arm CryptoCell CCTRNG driver couldn't be used and obviously useless if the Arm CryptoCell HW does not exist in the system.
>
> There's a delicate point here though - CryptoCell is an independent
> hardware block, it is not tied to a particular CPU architecture.
> There are SoCs with none-Arm architecture CPU using it.
>
> So I would say whatever the answer is, it should be the same for any
> generic embedded style HW block.
>
> And the help text is not architecture specific anyway, is it not..?
>

Both the default y and and the help text are indeed incorrect. This
should be fixed. We don't enable device drivers by default, and
definitely not as as builtins. A conditional default m could be
acceptable if the condition is sufficiently narrow.

While at it, could we add a depends on CONFIG_OF since this code is
definitely unusable on non-DT systems.