All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] binman: ensure temp filenames don't collide
@ 2018-07-16 22:51 Stephen Warren
  2018-07-19  1:32 ` Simon Glass
  0 siblings, 1 reply; 6+ messages in thread
From: Stephen Warren @ 2018-07-16 22:51 UTC (permalink / raw)
  To: u-boot

From: Stephen Warren <swarren@nvidia.com>

The U-Boot Makefile can invoke binman multiple times in parallel. This
is problematic because binman uses a static hard-coded temporary file
name. If two instances of binman use that filename at the same time, one
writing one reading, they may silently read the wrong content or actively
detect missing signatures and error out the build process. Fix this by
using a PID-specific filename instead.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
 tools/binman/control.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/binman/control.py b/tools/binman/control.py
index a40b300fdacb..515999278949 100644
--- a/tools/binman/control.py
+++ b/tools/binman/control.py
@@ -121,7 +121,7 @@ def Binman(options, args):
             # output into a file in our output directly. Then scan it for use
             # in binman.
             dtb_fname = fdt_util.EnsureCompiled(dtb_fname)
-            fname = tools.GetOutputFilename('u-boot-out.dtb')
+            fname = tools.GetOutputFilename('u-boot-out.dtb') + str(os.getpid())
             with open(dtb_fname) as infd:
                 with open(fname, 'wb') as outfd:
                     outfd.write(infd.read())
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-07-21  1:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-16 22:51 [U-Boot] [PATCH] binman: ensure temp filenames don't collide Stephen Warren
2018-07-19  1:32 ` Simon Glass
2018-07-19 21:14   ` Stephen Warren
2018-07-20  2:17     ` Simon Glass
2018-07-20  4:43       ` Stephen Warren
2018-07-21  1:52         ` Simon Glass

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.