diff mbox series

[kirkstone,16/28] scripts/runqemu: split lock dir creation into a reusable function

Message ID 2ada5f426e71e3873ba8c47dd925d8cfc103524b.1688655871.git.steve@sakoman.com
State New, archived
Headers show
Series [kirkstone,01/28] go: fix CVE-2023-29400 html/template improper handling of empty HTML attributes | expand

Commit Message

Steve Sakoman July 6, 2023, 3:06 p.m. UTC
From: Alexander Kanavin <alex.kanavin@gmail.com>

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 004d6bcb067ecf1d796801fa43a98820c4efd3c7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
 scripts/runqemu | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

Comments

Philippe Mathieu-Daudé July 7, 2023, 8:59 a.m. UTC | #1
On 6/7/23 17:06, Steve Sakoman wrote:
> From: Alexander Kanavin <alex.kanavin@gmail.com>
> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> (cherry picked from commit 004d6bcb067ecf1d796801fa43a98820c4efd3c7)
> Signed-off-by: Steve Sakoman <steve@sakoman.com>
> ---
>   scripts/runqemu | 29 +++++++++++++----------------
>   1 file changed, 13 insertions(+), 16 deletions(-)
> 
> diff --git a/scripts/runqemu b/scripts/runqemu
> index 5a98abfffe..f275cf7813 100755
> --- a/scripts/runqemu
> +++ b/scripts/runqemu
> @@ -1062,6 +1062,17 @@ class BaseConfig(object):
>           self.set('NETWORK_CMD', '-netdev bridge,br=%s,id=net0,helper=%s -device virtio-net-pci,netdev=net0 ' % (
>               self.net_bridge, os.path.join(self.bindir_native, 'qemu-oe-bridge-helper')))
>   
> +    def make_lock_dir(self, lockdir):
> +        if not os.path.exists(lockdir):
> +            # There might be a race issue when multi runqemu processess are
> +            # running at the same time.
> +            try:
> +                os.mkdir(lockdir)
> +                os.chmod(lockdir, 0o777)
> +            except FileExistsError:
> +                pass
> +        return

Since it is now a function, could be rewritten as:

   if os.path.exists(lockdir):
       return
   try:
       ...

Regardless:
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff mbox series

Patch

diff --git a/scripts/runqemu b/scripts/runqemu
index 5a98abfffe..f275cf7813 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1062,6 +1062,17 @@  class BaseConfig(object):
         self.set('NETWORK_CMD', '-netdev bridge,br=%s,id=net0,helper=%s -device virtio-net-pci,netdev=net0 ' % (
             self.net_bridge, os.path.join(self.bindir_native, 'qemu-oe-bridge-helper')))
 
+    def make_lock_dir(self, lockdir):
+        if not os.path.exists(lockdir):
+            # There might be a race issue when multi runqemu processess are
+            # running at the same time.
+            try:
+                os.mkdir(lockdir)
+                os.chmod(lockdir, 0o777)
+            except FileExistsError:
+                pass
+        return
+
     def setup_slirp(self):
         """Setup user networking"""
 
@@ -1080,14 +1091,7 @@  class BaseConfig(object):
         mac = 2
 
         lockdir = "/tmp/qemu-port-locks"
-        if not os.path.exists(lockdir):
-            # There might be a race issue when multi runqemu processess are
-            # running at the same time.
-            try:
-                os.mkdir(lockdir)
-                os.chmod(lockdir, 0o777)
-            except FileExistsError:
-                pass
+        self.make_lock_dir(lockdir)
 
         # Find a free port to avoid conflicts
         for p in ports[:]:
@@ -1127,14 +1131,7 @@  class BaseConfig(object):
             logger.error("ip: %s" % ip)
             raise OEPathError("runqemu-ifup, runqemu-ifdown or ip not found")
 
-        if not os.path.exists(lockdir):
-            # There might be a race issue when multi runqemu processess are
-            # running at the same time.
-            try:
-                os.mkdir(lockdir)
-                os.chmod(lockdir, 0o777)
-            except FileExistsError:
-                pass
+        self.make_lock_dir(lockdir)
 
         cmd = (ip, 'link')
         logger.debug('Running %s...' % str(cmd))