On Tue, 2020-09-22 at 12:46 -0700, Randy Dunlap wrote:
> On 9/22/20 12:44 PM, James Bottomley wrote:
> > On Tue, 2020-09-22 at 12:38 -0700, Randy Dunlap wrote:
> > > On 9/22/20 12:19 PM, James Bottomley wrote:
> > > > On Tue, 2020-09-22 at 11:54 -0700, Randy Dunlap wrote:
> > > > > On 9/22/20 8:53 AM, James Bottomley wrote:
> > > > > > I recently ran into this as an error from 0day.  On x86
> > > > > > it's
> > > > > > pretty
> > > > > > much impossible to build a configuration where CONFIG_ASN1
> > > > > > isn't
> > > > > > set, so you rarely notice a problem using the ASN.1
> > > > > > compiler
> > > > > > because something else has selected it.  However, this
> > > > > > compiler
> > > > > > is
> > > > > > never built if CONFIG_ASN1 isn't set and the error you get
> > > > > > from
> > > > > > kbuild is particularly unhelpful:
> > > > > > 
> > > > > >    make[4]: *** No rule to make target
> > > > > > 'security/keys/trusted-
> > > > > > keys/tpm2key.asn1.o', needed by 'security/keys/trusted-
> > > > > > keys/built-
> > > > > > in.a'.
> > > > > >    make[4]: *** [scripts/Makefile.build:283:
> > > > > > security/keys/trusted-
> > > > > > keys/trusted_tpm2.o] Error 1
> > > > > >    make[4]: Target '__build' not remade because of errors.
> > > > > > 
> > > > > > This patch changes the above error to the much easier to
> > > > > > diagnose:
> > > > > > 
> > > > > >    scripts/Makefile.build:387: *** CONFIG_ASN1 must be
> > > > > > defined
> > > > > > for
> > > > > > the asn1_compiler.  Stop.
> > > > > >    make[3]: *** [scripts/Makefile.build:505:
> > > > > > security/keys/trusted-
> > > > > > keys] Error 2
> > > > > > 
> > > > > > James
> > > > > > 
> > > > > > ---
> > > > > > 
> > > > > > James Bottomley (1):
> > > > > >   Makefile.build: Add an explicit error for missing ASN.1
> > > > > > compiler
> > > > > > 
> > > > > >  scripts/Makefile.build | 5 +++++
> > > > > >  1 file changed, 5 insertions(+)
> > > > > 
> > > > > Is there a missing
> > > > >       select ASN1
> > > > > somewhere?
> > > > 
> > > > You mean in the build used to produce the errors above?  Yes,
> > > > so the patch is to make the problem more explicit.
> > > 
> > > I appreciate that the message can be improved, but it seems
> > > possible that some Kconfig could also be improved.
> > 
> > I don't really see how.  To find the problem you have to identify a
> > conditional build in the Makefile that requires the asn1 compiler
> > but for which the config option doesn't have a select ASN1.  We
> > don't currently preserve the "what selected this symbol"
> > information in kconfig, which is what we'd need.
> 
> Well, if you have a failing .config file, I would be glad to take a
> look at it...

The original problem is already fixed.  The point of this patch is to
make 0day explicitly identify it if it ever occurs again.

James


Reply via email to