diff options
Diffstat (limited to 'community/qemu/fix-statx-translation.patch')
-rw-r--r-- | community/qemu/fix-statx-translation.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/community/qemu/fix-statx-translation.patch b/community/qemu/fix-statx-translation.patch new file mode 100644 index 0000000000..2f6b3cfc39 --- /dev/null +++ b/community/qemu/fix-statx-translation.patch @@ -0,0 +1,39 @@ +From 5c39af4d742e06eb8af4822f26d5f389df37ce91 Mon Sep 17 00:00:00 2001 +From: Ariadne Conill <ariadne@dereferenced.org> +Date: Fri, 22 Nov 2019 11:13:32 -0600 +Subject: [PATCH] linux-user: fix translation of statx structures + +All timestamps were copied to atime instead of to their respective +fields. + +Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> +--- + linux-user/syscall.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/linux-user/syscall.c b/linux-user/syscall.c +index ce399a55f0..171c0caef3 100644 +--- a/linux-user/syscall.c ++++ b/linux-user/syscall.c +@@ -6743,12 +6743,12 @@ static inline abi_long host_to_target_statx(struct target_statx *host_stx, + __put_user(host_stx->stx_attributes_mask, &target_stx->stx_attributes_mask); + __put_user(host_stx->stx_atime.tv_sec, &target_stx->stx_atime.tv_sec); + __put_user(host_stx->stx_atime.tv_nsec, &target_stx->stx_atime.tv_nsec); +- __put_user(host_stx->stx_btime.tv_sec, &target_stx->stx_atime.tv_sec); +- __put_user(host_stx->stx_btime.tv_nsec, &target_stx->stx_atime.tv_nsec); +- __put_user(host_stx->stx_ctime.tv_sec, &target_stx->stx_atime.tv_sec); +- __put_user(host_stx->stx_ctime.tv_nsec, &target_stx->stx_atime.tv_nsec); +- __put_user(host_stx->stx_mtime.tv_sec, &target_stx->stx_atime.tv_sec); +- __put_user(host_stx->stx_mtime.tv_nsec, &target_stx->stx_atime.tv_nsec); ++ __put_user(host_stx->stx_btime.tv_sec, &target_stx->stx_btime.tv_sec); ++ __put_user(host_stx->stx_btime.tv_nsec, &target_stx->stx_btime.tv_nsec); ++ __put_user(host_stx->stx_ctime.tv_sec, &target_stx->stx_ctime.tv_sec); ++ __put_user(host_stx->stx_ctime.tv_nsec, &target_stx->stx_ctime.tv_nsec); ++ __put_user(host_stx->stx_mtime.tv_sec, &target_stx->stx_mtime.tv_sec); ++ __put_user(host_stx->stx_mtime.tv_nsec, &target_stx->stx_mtime.tv_nsec); + __put_user(host_stx->stx_rdev_major, &target_stx->stx_rdev_major); + __put_user(host_stx->stx_rdev_minor, &target_stx->stx_rdev_minor); + __put_user(host_stx->stx_dev_major, &target_stx->stx_dev_major); +-- +2.24.0 + |