summaryrefslogtreecommitdiff
path: root/kernel/gen_kheaders.sh
diff options
context:
space:
mode:
authorMatthias Maennich <maennich@google.com>2024-05-28 11:32:43 +0000
committerMasahiro Yamada <masahiroy@kernel.org>2024-05-30 01:13:20 +0900
commit3bd27a847a3a4827a948387cc8f0dbc9fa5931d5 (patch)
tree53ddde051f763304464e8c9dda0be5c100275fe9 /kernel/gen_kheaders.sh
parente06a698ae62b9ee5ca98e65be2c90a61464192e6 (diff)
kheaders: explicitly define file modes for archived headers
Build environments might be running with different umask settings resulting in indeterministic file modes for the files contained in kheaders.tar.xz. The file itself is served with 444, i.e. world readable. Archive the files explicitly with 744,a+X to improve reproducibility across build environments. --mode=0444 is not suitable as directories need to be executable. Also, 444 makes it hard to delete all the readonly files after extraction. Cc: stable@vger.kernel.org Signed-off-by: Matthias Maennich <maennich@google.com> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Diffstat (limited to 'kernel/gen_kheaders.sh')
-rwxr-xr-xkernel/gen_kheaders.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/gen_kheaders.sh b/kernel/gen_kheaders.sh
index 6d443ea22bb7..8b6e0c2bc0df 100755
--- a/kernel/gen_kheaders.sh
+++ b/kernel/gen_kheaders.sh
@@ -84,7 +84,7 @@ find $cpio_dir -type f -print0 |
# Create archive and try to normalize metadata for reproducibility.
tar "${KBUILD_BUILD_TIMESTAMP:+--mtime=$KBUILD_BUILD_TIMESTAMP}" \
- --owner=0 --group=0 --sort=name --numeric-owner \
+ --owner=0 --group=0 --sort=name --numeric-owner --mode=u=rw,go=r,a+X \
-I $XZ -cf $tarfile -C $cpio_dir/ . > /dev/null
echo $headers_md5 > kernel/kheaders.md5