Skip to content

Commit

Permalink
[qemu-usermode] Fix utimensat syscall when used with sb2. JB#48738
Browse files Browse the repository at this point in the history
  • Loading branch information
krnlyng committed Jan 29, 2020
1 parent 74cc7f9 commit 2b40dec
Show file tree
Hide file tree
Showing 15 changed files with 74 additions and 38 deletions.
@@ -1,7 +1,7 @@
From fa54233fe94b9b939ed03059414a2573756fae70 Mon Sep 17 00:00:00 2001
From 8558ab909d1745cec9f092c15315cfe4fc54bfd2 Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Wed, 22 Jan 2020 10:47:20 +0200
Subject: [PATCH 01/13] Revert "linux-user: Use safe_syscall for open and
Subject: [PATCH 01/14] Revert "linux-user: Use safe_syscall for open and
openat system calls"

This reverts commit c10a07387b77b94d8f7233f3b5bb559211d4e49a.
Expand Down
@@ -1,7 +1,7 @@
From 39cd8714c8ec71660eb93f6ffb569966a698a6f6 Mon Sep 17 00:00:00 2001
From 900c53c2d7c7428b5fc5f3fcee5dc66bfcb6ca34 Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Wed, 22 Jan 2020 10:48:18 +0200
Subject: [PATCH 02/13] Revert "linux-user: Use safe_syscall for execve
Subject: [PATCH 02/14] Revert "linux-user: Use safe_syscall for execve
syscall"

This reverts commit ffdcbe223d23461669869e85786145cce65e1e8c.
Expand Down
@@ -1,7 +1,7 @@
From 336b8470e7a7f216b8051fb9105cc0b2d3d9d5c9 Mon Sep 17 00:00:00 2001
From 1335c1cf5e7024463e9b4038a9b514dd4540150f Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Wed, 22 Jan 2020 10:57:53 +0200
Subject: [PATCH 03/13] Revert "linux-user: Use safe_syscall wrapper for send*
Subject: [PATCH 03/14] Revert "linux-user: Use safe_syscall wrapper for send*
and recv* syscalls"

This reverts commit 666875306e03e1f94e1d4c808502585c10abc69a.
Expand Down
@@ -1,7 +1,7 @@
From 1ff2cc6c2b31b08ac97a929cc757598f280cdb42 Mon Sep 17 00:00:00 2001
From 52676ed518694886b89738d558ef4416b2bdbe6f Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Wed, 22 Jan 2020 10:59:47 +0200
Subject: [PATCH 04/13] Revert "linux-user: Use safe_syscall wrapper for accept
Subject: [PATCH 04/14] Revert "linux-user: Use safe_syscall wrapper for accept
and accept4 syscalls"

This reverts commit ff6dc130794bcd5b2033bc50262a7720285a74c7.
Expand Down
@@ -1,7 +1,7 @@
From 7cac60f00d0c38521bb8729bcfeeb9f03e177bdf Mon Sep 17 00:00:00 2001
From 052deb9f022427144dfe425358e80c02c6663492 Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Wed, 22 Jan 2020 11:00:44 +0200
Subject: [PATCH 05/13] Revert "linux-user: Use safe_syscall for wait system
Subject: [PATCH 05/14] Revert "linux-user: Use safe_syscall for wait system
calls"

This reverts commit 4af80a3783950380df85ecca78aea3e3bad2e846.
Expand Down
@@ -1,7 +1,7 @@
From f10f8fc568618c96cb5e9e7518990dabb345168f Mon Sep 17 00:00:00 2001
From 71ffc3ddea51ad5fd8b4c88bdc25454cf326747c Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Wed, 22 Jan 2020 11:13:13 +0200
Subject: [PATCH 06/13] Revert "linux-user: Use safe_syscall wrapper for
Subject: [PATCH 06/14] Revert "linux-user: Use safe_syscall wrapper for
connect syscall"

This reverts commit 2a3c7619288af9cfcc09a233dce911bf80849dfb.
Expand Down
35 changes: 35 additions & 0 deletions rpm/0007-Revert-linux-user-Use-direct-syscall-for-utimensat.patch
@@ -0,0 +1,35 @@
From 5e653a0581d6ae83cebaa15a6f33db4c5b540219 Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Wed, 29 Jan 2020 12:49:43 +0200
Subject: [PATCH 07/14] Revert "linux-user: Use direct syscall for utimensat"

This reverts commit 700fa58e4b9100d6bd77df06d2e5d1f457720c4d.
---
linux-user/syscall.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index d5bc5b8cbc..12ea40138e 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -388,7 +388,16 @@ static int sys_openat(int dirfd, const char *pathname, int flags, mode_t mode)
}

#ifdef TARGET_NR_utimensat
-#if defined(__NR_utimensat)
+#ifdef CONFIG_UTIMENSAT
+static int sys_utimensat(int dirfd, const char *pathname,
+ const struct timespec times[2], int flags)
+{
+ if (pathname == NULL)
+ return futimens(dirfd, times);
+ else
+ return utimensat(dirfd, pathname, times, flags);
+}
+#elif defined(__NR_utimensat)
#define __NR_sys_utimensat __NR_utimensat
_syscall4(int,sys_utimensat,int,dirfd,const char *,pathname,
const struct timespec *,tsp,int,flags)
--
2.20.1

@@ -1,7 +1,7 @@
From eb545aff3c6db801201fea5403bb0b14af8340f3 Mon Sep 17 00:00:00 2001
From 7c35eba18a667b2359f28108ed298465d2826e6e Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Wed, 22 Jan 2020 23:59:11 +0200
Subject: [PATCH 07/13] Revert "target/arm: Use vector operations for
Subject: [PATCH 08/14] Revert "target/arm: Use vector operations for
saturation"

This reverts commit 89e68b575e138d0af1435f11a8ffcd8779c237bd.
Expand Down
@@ -1,7 +1,7 @@
From 0078bc953e58a7630e18017f1a1c6ba06106f72c Mon Sep 17 00:00:00 2001
From ed878106c358d11220c39e61c566e343527b0e17 Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Thu, 23 Jan 2020 00:13:32 +0000
Subject: [PATCH 08/13] linux-user: Also ignore attempts to block SIGTERM,
Subject: [PATCH 09/14] linux-user: Also ignore attempts to block SIGTERM,
SIGINT and SIGHUP

---
Expand Down
@@ -1,7 +1,7 @@
From 118f0c508d5c80a8ca59e17698937ea9169a2a8d Mon Sep 17 00:00:00 2001
From 452dedfc8a975e8c12fa1ee5b53716e5c842481f Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Thu, 23 Jan 2020 14:28:06 +0000
Subject: [PATCH 09/13] Revert "tcg/i386: Fix dupi/dupm for avx1 and 32-bit
Subject: [PATCH 10/14] Revert "tcg/i386: Fix dupi/dupm for avx1 and 32-bit
hosts"

This reverts commit 7b60ef3264e9627ac6efb34e9a6130647e9b55c0.
Expand Down
@@ -1,7 +1,7 @@
From 0262c48832c50b6339590e2fc8464e63db32dbfc Mon Sep 17 00:00:00 2001
From 517aaf4b6653d75461dc91366119b67d6a89fafe Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Thu, 23 Jan 2020 14:29:04 +0000
Subject: [PATCH 10/13] Revert "tcg/i386: Implement tcg_out_dupm_vec"
Subject: [PATCH 11/14] Revert "tcg/i386: Implement tcg_out_dupm_vec"

This reverts commit 1e262b49b5331441f697461e4305fe06719758a7.
---
Expand Down
@@ -1,7 +1,7 @@
From 5afeb3606ec1806e23aca4da9b0e57afbe3a5ce3 Mon Sep 17 00:00:00 2001
From 0a9c4955bb2f03c16c2c417e0065f6ebc1534ec4 Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Thu, 23 Jan 2020 14:46:53 +0000
Subject: [PATCH 11/13] Revert "target/arm: Use gvec for VSRI, VSLI"
Subject: [PATCH 12/14] Revert "target/arm: Use gvec for VSRI, VSLI"

This reverts commit f3cd8218d1d3e534877ce3f3cb61c6757d10f9df.

Expand Down
@@ -1,7 +1,7 @@
From 903bc24d99cf90269f2ec87d43a67c6a54a58b74 Mon Sep 17 00:00:00 2001
From cb7fc3366c2657a2b756d3f9ccae739cbef99310 Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Mon, 27 Jan 2020 20:34:21 +0200
Subject: [PATCH 12/13] crypto: check if getrandom is available properly
Subject: [PATCH 13/14] crypto: check if getrandom is available properly

---
crypto/random-platform.c | 16 ++++++++++++----
Expand Down
@@ -1,7 +1,7 @@
From ac910f8a07dcb01618f84cd984540297bcc8b586 Mon Sep 17 00:00:00 2001
From e7acff7ab039990b4242900c382f3ec0024ba65b Mon Sep 17 00:00:00 2001
From: Frajo Haider <f_haider@gmx.at>
Date: Tue, 28 Jan 2020 13:39:19 +0000
Subject: [PATCH 13/13] Revert "tcg: Add INDEX_op_dupm_vec"
Subject: [PATCH 14/14] Revert "tcg: Add INDEX_op_dupm_vec"

This reverts commit 37ee55a081b7863ffab2151068dd1b2f11376914.

Expand Down
25 changes: 13 additions & 12 deletions rpm/qemu-usermode.spec
Expand Up @@ -13,24 +13,25 @@ Source1: qemu-binfmt-conf.sh

# fix for sb2 (sb2 needs to hook open, openat):
Patch0: 0001-Revert-linux-user-Use-safe_syscall-for-open-and-open.patch
Patch3: 0002-Revert-linux-user-Use-safe_syscall-for-execve-syscal.patch
Patch4: 0003-Revert-linux-user-Use-safe_syscall-wrapper-for-send-.patch
Patch5: 0004-Revert-linux-user-Use-safe_syscall-wrapper-for-accep.patch
Patch6: 0005-Revert-linux-user-Use-safe_syscall-for-wait-system-c.patch
Patch7: 0006-Revert-linux-user-Use-safe_syscall-wrapper-for-conne.patch
Patch1: 0002-Revert-linux-user-Use-safe_syscall-for-execve-syscal.patch
Patch2: 0003-Revert-linux-user-Use-safe_syscall-wrapper-for-send-.patch
Patch3: 0004-Revert-linux-user-Use-safe_syscall-wrapper-for-accep.patch
Patch4: 0005-Revert-linux-user-Use-safe_syscall-for-wait-system-c.patch
Patch5: 0006-Revert-linux-user-Use-safe_syscall-wrapper-for-conne.patch
Patch6: 0007-Revert-linux-user-Use-direct-syscall-for-utimensat.patch
# Fix opus tests:
Patch1: 0007-Revert-target-arm-Use-vector-operations-for-saturati.patch
Patch7: 0008-Revert-target-arm-Use-vector-operations-for-saturati.patch
# fix for "kill -INT", etc. on qemu emulated binaries, e.g. ninja_test
Patch2: 0008-linux-user-Also-ignore-attempts-to-block-SIGTERM-SIG.patch
Patch8: 0009-linux-user-Also-ignore-attempts-to-block-SIGTERM-SIG.patch
# crash fixes for qemu 4.2.0
Patch8: 0009-Revert-tcg-i386-Fix-dupi-dupm-for-avx1-and-32-bit-ho.patch
Patch9: 0010-Revert-tcg-i386-Implement-tcg_out_dupm_vec.patch
Patch9: 0010-Revert-tcg-i386-Fix-dupi-dupm-for-avx1-and-32-bit-ho.patch
Patch10: 0011-Revert-tcg-i386-Implement-tcg_out_dupm_vec.patch
# Fix libgcrypt tests:
Patch10: 0011-Revert-target-arm-Use-gvec-for-VSRI-VSLI.patch
Patch11: 0012-Revert-target-arm-Use-gvec-for-VSRI-VSLI.patch
# For obs getting stuck in getrandom
Patch11: 0012-crypto-check-if-getrandom-is-available-properly.patch
Patch12: 0013-crypto-check-if-getrandom-is-available-properly.patch
# fix libgcyrpt basic test with 4.2.0 (and probably other failures)
Patch12: 0013-Revert-tcg-Add-INDEX_op_dupm_vec.patch
Patch13: 0014-Revert-tcg-Add-INDEX_op_dupm_vec.patch

BuildRequires: pkgconfig(ext2fs)
BuildRequires: pkgconfig(glib-2.0)
Expand Down

0 comments on commit 2b40dec

Please sign in to comment.