bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 2/4] hurd: Don't attempt to deallocate MACH_PORT_DEAD


From: Sergey Bugaev
Subject: [PATCH 2/4] hurd: Don't attempt to deallocate MACH_PORT_DEAD
Date: Mon, 24 Apr 2023 00:55:24 +0300

...in some more places.

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
---
 sysdeps/mach/hurd/dl-sysdep.c | 2 +-
 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 d7b309e0..25a12774 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 c3cc1856..790eb238 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)
-- 
2.40.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]