[PATCH 0/5] Config Enforcer

Nigel Cunningham nigel at tuxonice.net
Thu Dec 10 20:55:39 UTC 2009


Hi.

Andy Whitcroft wrote:
> It was proposed that we add a config enforcer build check to the kernel
> build process.  This checker reviews the configuration at build time to
> confirm that specific options have specific values.  This allows us to
> confirm and enforce the values of cirtain values.  Where those values

s/cirtain/certain/

> are not set the build will fail.

Is there a way for the builder to disable the checks? (They might want
non-standard options occasionally).

> This patch set adds a new check phase 'prepare-checks' which is triggered
> when the prepare phase is running.  It then adds a new config-prepare-check
> which looks at the newly generated config and checks the specified options.
> 
> The config option checks are specified debian.master/configs/enforce.
> This contains a predicate based language.  Each line represents one
> check, if the the line evaluates false then the check is deemed failed.
> Each line is made up of one or more predicates which are assertions.
> The primary assertions relate to the existance and values of parameters:

s/existance/existence/

> 
>   value CONFIG_SYN_COOKIES y
>   exists CONFIG_SYN_COOKIES
> 
> The rest of the assertions check environmentatal factors such as architecture

s/environmentatal/environmental/

> and flavour names:
> 
>   arch armel
>   flavour generic
> 
> These may be combined using and/or and parentheses, the resulting formular

s/forumular/forula/

> is then executed and if the overall result is true the line is ok.  This allows us to ensure options are set to different values based on architecture:
> 
>   (( arch armel | arch sparc ) & value CONFIG_DEFAULT_MMAP_MIN_ADDR 32768 ) | \
>        ( value CONFIG_DEFAULT_MMAP_MIN_ADDR 65536)
> 
> Following this email are 5 patches.  The first brings the new checker
> and some basic rules.  The remainder fix up the various violations.

What's the point? Is it an attempt to pick up bugs in vanilla and/or
patches that mess up configuration, or typos in Ubuntu's own changes, or
something else again? ("It was proposed" doesn't say why this patch
series is needed).

Regards,

Nigel




More information about the kernel-team mailing list