TuxML / tuxml

The main repository of the TuxML project contains the scripts for building Linux kernel configurations in the large.
Apache License 2.0
4 stars 2 forks source link

Specialization of SLOB #7

Open acherm opened 5 years ago

acherm commented 5 years ago

based on a strange behavior of randconfig: https://bugzilla.kernel.org/show_bug.cgi?id=202437

it would be nice to launch a campaign with CONFIG_EXPERT=y (in addition to CONFIG_SLOB=y) https://github.com/TuxML/ProjetIrma/blob/dev/compilation/tuxml.config

also check in the database if we have configurations with CONFIG_SLOB='n'

acherm commented 5 years ago

I've came to the same conclusion as you @psaffray ;-) https://github.com/TuxML/ProjetIrma/blob/dev/miscellaneous/csv_kernels/bdd2csv.ipynb

# TODO: issues with these options:
# "CONFIG_SLOB=y" (seems not necessarily active)
## and these one that are apparently sometimes yes (despite being forced to no)
# "CONFIG_FW_LOADER_USER_HELPER"
# "CONFIG_STRICT_MODULE_RWX" 
## see below

# TODO: integrate in check_configuration_file_specialized
def check_spe_capricious_option(cf):
        return all(x in cf for x in ['CONFIG_SLOB=y']) and not any(x in cf for x in ["CONFIG_FW_LOADER_USER_HELPER=y", "CONFIG_STRICT_MODULE_RWX=y"])

For CONFIG_SLOB the trick seems clear: as it depends on CONFIG_EXPERT https://cateee.net/lkddb/web-lkddb/SLOB.html we should set the values to both options. That is, we should add CONFIG_EXPERT=y

In general, with @malocharo with have made a script to "test" the behavior of randconfig when presetting values: https://github.com/TuxML/ProjetIrma/blob/dev/miscellaneous/special-config/kconfig_checker.py (you can use it)

https://github.com/TuxML/ProjetIrma/blob/dev/miscellaneous/special-config/kconfig_checker.py

in particular https://github.com/TuxML/ProjetIrma/blob/dev/miscellaneous/special-config/kconfig_checker.py#L233-L234 https://github.com/TuxML/ProjetIrma/blob/dev/miscellaneous/special-config/kconfig_checker.py#L242-L243

for SLOB

acherm commented 5 years ago

for CONFIG_FW_LOADER_USER_HELPER it is a "blind" option... https://github.com/torvalds/linux/blob/v4.13/drivers/base/Kconfig#L151-L166 what I propose is to deactivate FW_LOADER_USER_HELPER_FALLBACK at the end we would have: FW_LOADER_USER_HELPER_FALLBACK=n FW_LOADER_USER_HELPER=n as preset options' values

acherm commented 5 years ago

for CONFIG_STRICT_MODULE_RWX hum difficult case https://github.com/torvalds/linux/blob/v4.13/arch/Kconfig#L922-L929

I don't know how randconfig specifically works, but it seems that it takes the 'y' value because of default !ARCH_OPTIONAL_KERNEL_RWX || ARCH_OPTIONAL_KERNEL_RWX_DEFAULT

forcing the value of ARCH_OPTIONAL_KERNEL_RWX to n can be a solution, but this option is... blind (and randconfig does not reason about blind options). So we are blocked here.

I propose to let open this issue for this specific option.

A nice objective could be to: