mirror of
https://github.com/void-linux/void-packages.git
synced 2025-04-13 04:37:03 +02:00
33 lines
1.4 KiB
Diff
33 lines
1.4 KiB
Diff
source: https://gitlab.com/qemu-project/qemu/-/issues/2353
|
|
|
|
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
|
|
index be3b9a6..dad29ef 100644
|
|
--- a/linux-user/mmap.c
|
|
+++ b/linux-user/mmap.c
|
|
@@ -559,7 +559,7 @@ static abi_long mmap_h_eq_g(abi_ulong start, abi_ulong len,
|
|
int host_prot, int flags, int page_flags,
|
|
int fd, off_t offset)
|
|
{
|
|
- void *p, *want_p = g2h_untagged(start);
|
|
+ void *p, *want_p = start ? g2h_untagged(start) : 0;
|
|
abi_ulong last;
|
|
|
|
p = mmap(want_p, len, host_prot, flags, fd, offset);
|
|
@@ -609,7 +609,7 @@ static abi_long mmap_h_lt_g(abi_ulong start, abi_ulong len, int host_prot,
|
|
int mmap_flags, int page_flags, int fd,
|
|
off_t offset, int host_page_size)
|
|
{
|
|
- void *p, *want_p = g2h_untagged(start);
|
|
+ void *p, *want_p = start ? g2h_untagged(start) : 0;
|
|
off_t fileend_adj = 0;
|
|
int flags = mmap_flags;
|
|
abi_ulong last, pass_last;
|
|
@@ -739,7 +739,7 @@ static abi_long mmap_h_gt_g(abi_ulong start, abi_ulong len,
|
|
int flags, int page_flags, int fd,
|
|
off_t offset, int host_page_size)
|
|
{
|
|
- void *p, *want_p = g2h_untagged(start);
|
|
+ void *p, *want_p = start ? g2h_untagged(start) : 0;
|
|
off_t host_offset = offset & -host_page_size;
|
|
abi_ulong last, real_start, real_last;
|
|
bool misaligned_offset = false;
|