On 9/22/20 12:48 PM, James Bottomley wrote: > 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. Got it. That's helpful info IMO. thanks. -- ~Randy