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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f39c6829-9371-d4ec-ba13-ecf64f3d2e93@gmail.com>
Date:   Wed, 4 Jan 2017 06:39:10 -0800
From:   Florian Fainelli <f.fainelli@...il.com>
To:     klondike <klondike@...ndike.es>, linux-kernel@...r.kernel.org,
        npiggin@...il.com
Cc:     torvalds@...ux-foundation.org, pebolle@...cali.nl,
        ppandit@...hat.com, mmarek@...e.cz,
        Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH] initramfs: Fix spurious rebuilds



On 01/04/2017 05:34 AM, klondike wrote:
> El 04/01/17 a las 02:37, Florian Fainelli escribió:
>> Commit 35e669e1a254 ("initramfs: select builtin initram
>> compression algorithm on KConfig instead of Makefile") makes suffix_y be
>> a quote variable, which can be illustrated looking at the build output:
>>
>>   GEN     usr/initramfs_data.cpio".gz"
>>
>> Make sure that we do strip off double quotes from
>> CONFIG_INITRAMFS_COMPRESSION, since the Makefile tracks targets with
>> unquoted suffixes.
>>
>> Fixes: 35e669e1a254 ("initramfs: select builtin initram compression algorithm on KConfig instead of Makefile")
>> Signed-off-by: Florian Fainelli <f.fainelli@...il.com>
>> ---
>> This is against v4.10-rc2, thanks!
>>
>>  usr/Makefile | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/usr/Makefile b/usr/Makefile
>> index 17a513268325..a9ae8b493e2b 100644
>> --- a/usr/Makefile
>> +++ b/usr/Makefile
>> @@ -5,7 +5,7 @@
>>  klibcdirs:;
>>  PHONY += klibcdirs
>>  
>> -suffix_y = $(CONFIG_INITRAMFS_COMPRESSION)
>> +suffix_y = $(subst ",,$(CONFIG_INITRAMFS_COMPRESSION))
>>  AFLAGS_initramfs_data.o += -DINITRAMFS_IMAGE="usr/initramfs_data.cpio$(suffix_y)"
>>  
>>  # Generate builtin.o based on initramfs_data.o
> 
> Hello,
> 
> Thanks for the fix, when I tested the patch I checked that the correct
> file was created and embedded but didn't check for spurious rebuilds.
> 
> I'm CCing Nicholas Piggin as he sent another (larger version) of the
> patch which also addresses a few other hacks in the Makefile, see
> "[PATCH] kbuild: Fix dependency checking for initramfs build". I haven't
> had time to check that second patch.

Nick's patch [1] is a more elegant way to solve this, although it
introduces more changes, so may be less suitable for a -rc fix? There
are also some potential things that may or may not be relevant:

+AFLAGS_initramfs_data.o += -DINITRAMFS_IMAGE=usr/$(datafile_y)

INITRAMFS_IMAGE now gets defined without quotes, which may not be a
problem, but does not seem necessary.

-targets := initramfs_data.cpio.gz initramfs_data.cpio.bz2 \
-	initramfs_data.cpio.lzma initramfs_data.cpio.xz \
-	initramfs_data.cpio.lzo initramfs_data.cpio.lz4 \
-	initramfs_data.cpio
+targets := $(datafile_y)

Humm that could actually cause some additional rebuild if you kept your
initramfs image unchanged, but you are switching between compression
algorithms selection, but that may fall under the premature optimization
case.

[1]: https://www.spinics.net/lists/linux-kbuild/msg14078.html
-- 
Florian

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ