kbuild: make scripts/adjust_autoksyms.sh robust against timestamp races
authorNicolas Pitre <nicolas.pitre@linaro.org>
Thu, 15 Mar 2018 20:56:20 +0000 (16:56 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 05:52:17 +0000 (07:52 +0200)
commit405544d5f864ae0b8c191a2ff3201c0277bbeb70
tree483106dc66d216f99ee2b34a780ec4e010dab94a
parent0839b0ce6eb667e556f240b83bf429165dd567b6
kbuild: make scripts/adjust_autoksyms.sh robust against timestamp races

[ Upstream commit 825d487583089f9a33d31650c9c41f6474aab7fc ]

Some filesystems have timestamps with coarse precision that may allow
for a recently built object file to have the same timestamp as the
updated time on one of its dependency files. When that happens, the
object file doesn't get rebuilt as it should.

This is especially the case on filesystems that don't have sub-second
time precision, such as ext3 or Ext4 with 128B inodes.

Let's prevent that by making sure updated dependency files have a newer
timestamp than the first file we created (i.e. autoksyms.h.tmpnew).

Reported-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Tested-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
scripts/adjust_autoksyms.sh