]> git.pld-linux.org Git - packages/qemu.git/commitdiff
update qemu-user-execve.patch for qemu-2.12.0
authorElan Ruusamäe <glen@pld-linux.org>
Mon, 30 Apr 2018 18:48:11 +0000 (21:48 +0300)
committerElan Ruusamäe <glen@pld-linux.org>
Mon, 30 Apr 2018 18:48:17 +0000 (21:48 +0300)
qemu-user-execve.patch
qemu.spec

index 48e802c425d0122c28291043bd614dd5f35016b2..e567b84438bb664827b49db511b72a216b4d72e0 100644 (file)
@@ -90,10 +90,8 @@ index bd90cc3..0d9b058 100644
  extern unsigned long mmap_min_addr;
  
  /* ??? See if we can avoid exposing so much of the loader internals.  */
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 0cbace4..d0b5442 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
+--- qemu-2.12.0/linux-user/syscall.c~  2018-04-30 21:43:39.000000000 +0300
++++ qemu-2.12.0/linux-user/syscall.c   2018-04-30 21:46:36.362935706 +0300
 @@ -5854,6 +5854,109 @@ static target_timer_t get_timer_id(abi_long arg)
      return timerid;
  }
@@ -198,22 +196,21 @@ index 0cbace4..d0b5442 100644
 +        new_argp[2] = argv[0];
 +    }
 +
-+    return get_errno(execve(qemu_execve_path, new_argp, envp));
++    return get_errno(safe_execve(qemu_execve_path, new_argp, envp));
 +}
 +
  /* do_syscall() should always have a single exit point at the end so
     that actions, such as logging of syscall results, can be performed.
     All errnos that do_syscall() returns must be -TARGET_<errcode>. */
-@@ -6113,7 +6216,13 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
-             if (!(p = lock_user_string(arg1)))
-                 goto execve_efault;
--            ret = get_errno(execve(p, argp, envp));
-+
+@@ -8257,7 +8257,12 @@
+              * before the execve completes and makes it the other
+              * program's problem.
+              */
+-            ret = get_errno(safe_execve(p, argp, envp));
 +            if (qemu_execve_path && *qemu_execve_path) {
 +                ret = get_errno(qemu_execve(p, argp, envp));
 +            } else {
-+                ret = get_errno(execve(p, argp, envp));
++                ret = get_errno(safe_execve(p, argp, envp));
 +            }
 +
              unlock_user(p, arg1, 0);
index 2c3e43e1231fb878070b9c1da34b1d2d921d4850..7f1a209d7a1f5380d6988618ee65c026d043e167 100644 (file)
--- a/qemu.spec
+++ b/qemu.spec
@@ -835,7 +835,7 @@ Moduł QEMU dla urządeń blokowych typu 'ssh'.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p0
-#%%patch3 -p1
+%patch3 -p1
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
This page took 0.046916 seconds and 4 git commands to generate.