linux-user: Do not call get_errno() in do_brk()
authorAkihiko Odaki <akihiko.odaki@daynix.com>
Wed, 2 Aug 2023 07:17:49 +0000 (16:17 +0900)
committerRichard Henderson <richard.henderson@linaro.org>
Sun, 6 Aug 2023 23:39:00 +0000 (16:39 -0700)
Later the returned value is compared with -1, and negated errno is not
expected.

Fixes: 00faf08c95 ("linux-user: Don't use MAP_FIXED in do_brk()")
Reviewed-by: Helge Deller <deller@gmx.de>
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20230802071754.14876-4-akihiko.odaki@daynix.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
linux-user/syscall.c

index 95727a816add8e525c65f1a7f6bd1adc0932205f..b08276bdf8f6a929f0fec9171c9188fdfda057a1 100644 (file)
@@ -862,9 +862,9 @@ abi_long do_brk(abi_ulong brk_val)
      */
     if (new_host_brk_page > brk_page) {
         new_alloc_size = new_host_brk_page - brk_page;
-        mapped_addr = get_errno(target_mmap(brk_page, new_alloc_size,
-                                        PROT_READ|PROT_WRITE,
-                                        MAP_ANON|MAP_PRIVATE, 0, 0));
+        mapped_addr = target_mmap(brk_page, new_alloc_size,
+                                  PROT_READ | PROT_WRITE,
+                                  MAP_ANON | MAP_PRIVATE, -1, 0);
     } else {
         new_alloc_size = 0;
         mapped_addr = brk_page;