make -jN modules_install breakage in next-20230831

From: Chen-Yu Tsai
Date: Thu Aug 31 2023 - 04:59:38 EST


Hi,

I observed some breakage with `make -jN moudles_install`. The scripts produce
some bogus paths, which `cp` then complains it can't find.

I run the following for my workflow.

$ nice -n 10 sh -c "make -j72 Image.lzma dtbs && ./pack-mod.sh && cb/sign.sh"

pack-mod.sh is what fails. It basically does:

make -j72 modules
make -j72 modules_install INSTALL_MOD_PATH=${TMPDIR}
depmod ...
tar ...
cleanup

I get errors like the following:


CALL scripts/checksyscalls.sh
CALL scripts/checksyscalls.sh
INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/arch/arm64/crypto/sha1-ce.ko
INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/arch/arm64/crypto/chacha-neon.ko
INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/arch/arm64/crypto/poly1305-neon.ko
INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/time/test_udelay.ko
INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/configs.ko
INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/fs/nfs_common/grace.ko
cp: cannot create regular file
'tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/time/test_udelay.ko':
No such file or directory
INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/fs/nls/nls_cp437.ko
make[2]: *** [scripts/Makefile.modinst:127:
tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/time/test_udelay.ko]
Error 1
make[2]: *** Waiting for unfinished jobs....
INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/fs/nls/nls_ascii.ko
cp: cannot create regular file
'tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/configs.ko':
No such file or directory
INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/fs/nls/nls_iso8859-1.ko
INSTALL tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/fs/nls/nls_utf8.ko
make[2]: *** [scripts/Makefile.modinst:128:
tmp.7i3QCV3ac8/lib/modules/6.5.0-next-20230831-13697-g09d3bd189478-dirty/kernel/kernel/configs.ko]
Error 1
make[1]: *** [/usr/local/google/home/wenst/linux/mtk/Makefile:1822:
modules_install] Error 2
make: *** [Makefile:234: __sub-make] Error 2


Note the duplicate "kernel/" in the path for test_udelay.ko and configs.ko.

If I revert commit 3ee3181f8721 ("Merge branch 'for-next' of
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git"),
then everything works again. Not sure which commit is to blame though.


Regards
ChenYu