mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-06 20:58:33 +01:00
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:
parent
4c39333050
commit
35b7bf2fe0
2 changed files with 4 additions and 4 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue