On 4/22/20 7:38 AM, Martin Jansa wrote:
> From: Khem Raj <[email protected]>
>
> Signed-off-by: Khem Raj <[email protected]>
> Signed-off-by: Richard Purdie <[email protected]>
> ---
> meta/recipes-devtools/qemu/qemu.inc | 1 +
> ...linux-user-remove-host-stime-syscall.patch | 61 +++++++++++++++++++
> 2 files changed, 62 insertions(+)
> create mode 100644
> meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch
>
> diff --git a/meta/recipes-devtools/qemu/qemu.inc
> b/meta/recipes-devtools/qemu/qemu.inc
> index f451017f6d..ad4ff52892 100644
> --- a/meta/recipes-devtools/qemu/qemu.inc
> +++ b/meta/recipes-devtools/qemu/qemu.inc
> @@ -27,6 +27,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
>
> file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
> file://0009-Fix-webkitgtk-builds.patch \
> file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
> \
> + file://0011-linux-user-remove-host-stime-syscall.patch \
> file://CVE-2019-15890.patch \
> file://CVE-2019-12068.patch \
> file://CVE-2020-1711.patch \
> diff --git
> a/meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch
>
> b/meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch
> new file mode 100644
> index 0000000000..659e6be45d
> --- /dev/null
> +++
> b/meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch
> @@ -0,0 +1,61 @@
> +From 0f1f2d4596aee037d3ccbcf10592466daa54107f Mon Sep 17 00:00:00 2001
> +From: Laurent Vivier <[email protected]>
> +Date: Tue, 12 Nov 2019 15:25:56 +0100
> +Subject: [PATCH] linux-user: remove host stime() syscall
> +
> +stime() has been withdrawn from glibc
> +(12cbde1dae6f "Use clock_settime to implement stime; withdraw stime.")
> +
> +Implement the target stime() syscall using host
> +clock_settime(CLOCK_REALTIME, ...) as it is done internally in glibc.
> +
> +Tested qemu-ppc/x86_64 with:
> +
> + #include <time.h>
> + #include <stdio.h>
> +
> + int main(void)
> + {
> + time_t t;
> + int ret;
> +
> + /* date -u -d"2019-11-12T15:11:00" "+%s" */
> + t = 1573571460;
> + ret = stime(&t);
> + printf("ret %d\n", ret);
> + return 0;
> + }
> +
> + # date; ./stime; date
> + Tue Nov 12 14:18:32 UTC 2019
> + ret 0
> + Tue Nov 12 15:11:00 UTC 2019
> +
> +Upstream-Status: Backport
> [https://git.qemu.org/?p=qemu.git;a=commit;h=0f1f2d4596aee037d3ccbcf10592466daa54107f]
> +Buglink: https://bugs.launchpad.net/qemu/+bug/1852115
> +Reported-by: Cole Robinson <[email protected]>
> +Signed-off-by: Laurent Vivier <[email protected]>
> +Reviewed-by: Peter Maydell <[email protected]>
> +Message-Id: <[email protected]>
Who signed this patch off?
- armin
> +---
> + linux-user/syscall.c | 8 +++++---
> + 1 file changed, 5 insertions(+), 3 deletions(-)
> +
> +--- a/linux-user/syscall.c
> ++++ b/linux-user/syscall.c
> +@@ -7651,10 +7651,12 @@ static abi_long do_syscall1(void *cpu_en
> + #ifdef TARGET_NR_stime /* not on alpha */
> + case TARGET_NR_stime:
> + {
> +- time_t host_time;
> +- if (get_user_sal(host_time, arg1))
> ++ struct timespec ts;
> ++ ts.tv_nsec = 0;
> ++ if (get_user_sal(ts.tv_sec, arg1)) {
> + return -TARGET_EFAULT;
> +- return get_errno(stime(&host_time));
> ++ }
> ++ return get_errno(clock_settime(CLOCK_REALTIME, &ts));
> + }
> + #endif
> + #ifdef TARGET_NR_alarm /* not on alpha */
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#137389):
https://lists.openembedded.org/g/openembedded-core/message/137389
Mute This Topic: https://lists.openembedded.org/mt/73197049/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-