From d98b25173b497c1c1bdd4d3b8ce84f057431d98d Mon Sep 17 00:00:00 2001 From: Alexandr Morozov Date: Thu, 11 Dec 2014 17:22:59 -0800 Subject: [PATCH] Fix race condition between parseSecurityOpt and container.Mount Signed-off-by: Alexandr Morozov Upstream-commit: 862952c8d4d3df69f35535af5ce5a079b5fe739e Component: engine --- components/engine/daemon/start.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/engine/daemon/start.go b/components/engine/daemon/start.go index f72407e3f3..286ee58a34 100644 --- a/components/engine/daemon/start.go +++ b/components/engine/daemon/start.go @@ -44,6 +44,8 @@ func (daemon *Daemon) ContainerStart(job *engine.Job) engine.Status { } func (daemon *Daemon) setHostConfig(container *Container, hostConfig *runconfig.HostConfig) error { + container.Lock() + defer container.Unlock() if err := parseSecurityOpt(container, hostConfig); err != nil { return err } @@ -66,8 +68,8 @@ func (daemon *Daemon) setHostConfig(container *Container, hostConfig *runconfig. if err := daemon.RegisterLinks(container, hostConfig); err != nil { return err } - container.SetHostConfig(hostConfig) - container.ToDisk() + container.hostConfig = hostConfig + container.toDisk() return nil }