lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171229181830.GH10431@windriver.com>
Date:   Fri, 29 Dec 2017 13:18:30 -0500
From:   Paul Gortmaker <paul.gortmaker@...driver.com>
To:     Josh Poimboeuf <jpoimboe@...hat.com>
CC:     Randy Dunlap <rdunlap@...radead.org>,
        Ingo Molnar <mingo@...nel.org>,
        Masahiro Yamada <yamada.masahiro@...ionext.com>,
        Michal Marek <michal.lkml@...kovi.net>,
        <linux-kbuild@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [Regression 4.15] Can't kill CONFIG_UNWINDER_ORC with fire or
 plague.

[Re: [Regression 4.15] Can't kill CONFIG_UNWINDER_ORC with fire or plague.] On 29/12/2017 (Fri 10:47) Josh Poimboeuf wrote:

> This seems to be related to a kconfig quirk where only silentoldconfig
> updates the include/config/auto.conf file.  The other config targets
> (oldconfig, defconfig, etc) don't touch it.  It seems intentional, but I
> have no idea why.
> 
> That causes the Makefile to get stale data for 'CONFIG_*' variables when
> it includes auto.conf.  So I don't think this is specific to the ORC
> check.  It seems like it could also cause bugs elsewhere.

OK, good - you agree with my initial diagnosis of stale auto.conf then.
Not sure what Randy was testing when he said he couldn't reproduce it.

> The below (ugly) patch fixes it, though I'm not sure this is the best
> way to do it.  We probably need Masahiro or Michal to chime in here.

Yep, that is why I intentionally put the kbuild folks on the To/Cc of
the original report (and ran away screaming at the prospect of debugging
Makefiles on xmas day).  But with holidays and all, it might not be
until early January before they have a chance to reply.

Paul.
--

> 
> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> index 297c1bf35140..3a0d92040a9c 100644
> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -21,18 +21,23 @@ unexport CONFIG_
>  
>  xconfig: $(obj)/qconf
>  	$< $(silent) $(Kconfig)
> +	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  gconfig: $(obj)/gconf
>  	$< $(silent) $(Kconfig)
> +	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  menuconfig: $(obj)/mconf
>  	$< $(silent) $(Kconfig)
> +	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  config: $(obj)/conf
>  	$< $(silent) --oldaskconfig $(Kconfig)
> +	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  nconfig: $(obj)/nconf
>  	$< $(silent) $(Kconfig)
> +	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  silentoldconfig: $(obj)/conf
>  	$(Q)mkdir -p include/config include/generated
> @@ -85,6 +90,7 @@ PHONY += $(simple-targets)
>  
>  $(simple-targets): $(obj)/conf
>  	$< $(silent) --$@ $(Kconfig)
> +	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  PHONY += oldnoconfig savedefconfig defconfig
>  
> @@ -108,9 +114,11 @@ else
>  	$(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG)
>  endif
>  endif
> +	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  %_defconfig: $(obj)/conf
>  	$(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
> +	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@)
>  
> @@ -118,6 +126,7 @@ configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/c
>  	$(if $(call configfiles),, $(error No configuration exists for this target on this architecture))
>  	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles)
>  	+$(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig
> +	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  PHONY += kvmconfig
>  kvmconfig: kvm_guest.config
> @@ -130,6 +139,7 @@ xenconfig: xen.config
>  PHONY += tinyconfig
>  tinyconfig:
>  	$(Q)$(MAKE) -f $(srctree)/Makefile allnoconfig tiny.config
> +	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>  
>  # Help text used by make help
>  help:

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ