diff options
author | Sergey Bugaev <bugaevc@gmail.com> | 2023-04-24 00:55:24 +0300 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-04-24 22:44:53 +0200 |
commit | 35b7bf2fe003d6dbd5726cdf69f3c5d8179590e5 (patch) | |
tree | b61352075d0065833abcd4f9a408b5c24702a8d5 /sysdeps | |
parent | 4c39333050815a33ddf4f3067798ac060eed1e2b (diff) | |
download | glibc-35b7bf2fe003d6dbd5726cdf69f3c5d8179590e5.tar glibc-35b7bf2fe003d6dbd5726cdf69f3c5d8179590e5.tar.gz glibc-35b7bf2fe003d6dbd5726cdf69f3c5d8179590e5.tar.bz2 glibc-35b7bf2fe003d6dbd5726cdf69f3c5d8179590e5.zip |
hurd: Don't attempt to deallocate MACH_PORT_DEAD
...in some more places.
Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
Message-Id: <20230423215526.346009-2-bugaevc@gmail.com>
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/mach/hurd/dl-sysdep.c | 2 | ||||
-rw-r--r-- | sysdeps/mach/hurd/mmap.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c index d7b309e05d..25a1277461 100644 --- a/sysdeps/mach/hurd/dl-sysdep.c +++ b/sysdeps/mach/hurd/dl-sysdep.c @@ -472,7 +472,7 @@ __mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset) err = __io_map ((mach_port_t) fd, &memobj_rd, &memobj_wr); if (err) return __hurd_fail (err), MAP_FAILED; - if (memobj_wr != MACH_PORT_NULL) + if (MACH_PORT_VALID (memobj_wr)) __mach_port_deallocate (__mach_task_self (), memobj_wr); } diff --git a/sysdeps/mach/hurd/mmap.c b/sysdeps/mach/hurd/mmap.c index c3cc18560c..790eb23886 100644 --- a/sysdeps/mach/hurd/mmap.c +++ b/sysdeps/mach/hurd/mmap.c @@ -91,7 +91,7 @@ __mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset) if (wobj == robj) max_vmprot |= VM_PROT_WRITE; memobj = robj; - if (wobj != MACH_PORT_NULL) + if (MACH_PORT_VALID (wobj)) __mach_port_deallocate (__mach_task_self (), wobj); break; case PROT_WRITE: @@ -99,7 +99,7 @@ __mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset) if (robj == wobj) max_vmprot |= VM_PROT_READ|VM_PROT_EXECUTE; memobj = wobj; - if (robj != MACH_PORT_NULL) + if (MACH_PORT_VALID (robj)) __mach_port_deallocate (__mach_task_self (), robj); break; case PROT_READ|PROT_WRITE: @@ -167,7 +167,7 @@ __mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset) copy ? VM_INHERIT_COPY : VM_INHERIT_SHARE); } - if (memobj != MACH_PORT_NULL) + if (MACH_PORT_VALID (memobj)) __mach_port_deallocate (__mach_task_self (), memobj); if (err == KERN_PROTECTION_FAILURE) |