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>
This commit is contained in:
Sergey Bugaev 2023-04-24 00:55:24 +03:00 committed by Samuel Thibault
parent 4c39333050
commit 35b7bf2fe0
2 changed files with 4 additions and 4 deletions

View file

@ -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);
}

View file

@ -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)