[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Update ipc/ directory to use mach_port_name_t
From: |
Samuel Thibault |
Subject: |
Re: [PATCH] Update ipc/ directory to use mach_port_name_t |
Date: |
Wed, 30 Nov 2022 22:28:31 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Hello,
Thanks for this!
Flavio Cruz, le mer. 30 nov. 2022 02:14:20 -0500, a ecrit:
> Make it explicit where we use port names versus actual ports. For the 64
> bit kernel, port names and ports are of different size so this corrects
> the syscall arguments and internal structs to have the right size.
Also, this makes the code more explicit as to when we have a name that
needs to be looked-up, or a port that can be cast.
> This patch also uncovered several issues we need to solve to make
> GNUMach work well on 64 bits. First, the mach_msg call will receive 4
> byte port names while the kernel "thinks" they are 8 bytes, which will
> be a problem. Also, when we send a message, the kernel translates the
> port names into port pointers in the message copied from user space.
> This also won't work on 64 bits. In this patch, I added several TODOs to fix
> the issues later.
Just to make sure: have you noticed Luca Dariz' work? (last patch series
sent on the list on Tue, 28 Jun 2022 12:10:39 +0200)
Samuel
> ---
> include/mach/message.h | 8 ++--
> include/mach/mig_support.h | 2 +-
> ipc/ipc_entry.c | 11 +++---
> ipc/ipc_entry.h | 10 ++---
> ipc/ipc_kmsg.c | 58 +++++++++++++++++-----------
> ipc/ipc_kmsg.h | 10 ++---
> ipc/ipc_marequest.c | 18 ++++-----
> ipc/ipc_marequest.h | 8 ++--
> ipc/ipc_mqueue.c | 2 +-
> ipc/ipc_mqueue.h | 2 +-
> ipc/ipc_notify.c | 18 ++++-----
> ipc/ipc_notify.h | 6 +--
> ipc/ipc_object.c | 28 +++++++-------
> ipc/ipc_object.h | 20 +++++-----
> ipc/ipc_port.c | 28 +++++++-------
> ipc/ipc_port.h | 16 ++++----
> ipc/ipc_pset.c | 7 ++--
> ipc/ipc_pset.h | 4 +-
> ipc/ipc_right.c | 74 ++++++++++++++++++------------------
> ipc/ipc_right.h | 36 +++++++++---------
> ipc/ipc_space.c | 2 +-
> ipc/ipc_space.h | 8 ++--
> ipc/ipc_target.c | 2 +-
> ipc/ipc_target.h | 4 +-
> ipc/mach_debug.c | 4 +-
> ipc/mach_msg.c | 24 ++++++------
> ipc/mach_msg.h | 6 +--
> ipc/mach_port.c | 74 ++++++++++++++++++------------------
> ipc/mach_port.h | 12 +++---
> ipc/mach_rpc.c | 4 +-
> kern/exception.c | 8 ++--
> kern/ipc_mig.c | 77 +++++++++++++++++++-------------------
> kern/ipc_mig.h | 62 +++++++++++++++---------------
> kern/ipc_tt.c | 4 +-
> kern/ipc_tt.h | 2 +-
> kern/thread.h | 4 +-
> 36 files changed, 339 insertions(+), 324 deletions(-)
>
> diff --git a/include/mach/message.h b/include/mach/message.h
> index 30c07296..e6d26f58 100644
> --- a/include/mach/message.h
> +++ b/include/mach/message.h
> @@ -393,9 +393,9 @@ mach_msg_trap
> mach_msg_option_t option,
> mach_msg_size_t send_size,
> mach_msg_size_t rcv_size,
> - mach_port_t rcv_name,
> + mach_port_name_t rcv_name,
> mach_msg_timeout_t timeout,
> - mach_port_t notify);
> + mach_port_name_t notify);
>
> extern mach_msg_return_t
> mach_msg
> @@ -403,9 +403,9 @@ mach_msg
> mach_msg_option_t option,
> mach_msg_size_t send_size,
> mach_msg_size_t rcv_size,
> - mach_port_t rcv_name,
> + mach_port_name_t rcv_name,
> mach_msg_timeout_t timeout,
> - mach_port_t notify);
> + mach_port_name_t notify);
>
> extern __typeof (mach_msg) __mach_msg;
> extern __typeof (mach_msg_trap) __mach_msg_trap;
> diff --git a/include/mach/mig_support.h b/include/mach/mig_support.h
> index 865bdc5f..0794a5fb 100644
> --- a/include/mach/mig_support.h
> +++ b/include/mach/mig_support.h
> @@ -47,7 +47,7 @@ extern void mig_dealloc_reply_port(mach_port_t);
>
> extern void mig_put_reply_port(mach_port_t);
>
> -extern mach_port_t mig_get_reply_port(void);
> +extern mach_port_name_t mig_get_reply_port(void);
>
> extern void mig_reply_setup(const mach_msg_header_t *_request,
> mach_msg_header_t *reply);
> diff --git a/ipc/ipc_entry.c b/ipc/ipc_entry.c
> index 0414ba5f..c24ea46c 100644
> --- a/ipc/ipc_entry.c
> +++ b/ipc/ipc_entry.c
> @@ -67,7 +67,7 @@ struct kmem_cache ipc_entry_cache;
> kern_return_t
> ipc_entry_alloc(
> ipc_space_t space,
> - mach_port_t *namep,
> + mach_port_name_t *namep,
> ipc_entry_t *entryp)
> {
> kern_return_t kr;
> @@ -97,10 +97,10 @@ ipc_entry_alloc(
> entry->ie_bits = 0;
> entry->ie_object = IO_NULL;
> entry->ie_request = 0;
> - entry->ie_name = (mach_port_t) key;
> + entry->ie_name = (mach_port_name_t) key;
>
> *entryp = entry;
> - *namep = (mach_port_t) key;
> + *namep = (mach_port_name_t) key;
> return KERN_SUCCESS;
> }
>
> @@ -121,7 +121,7 @@ ipc_entry_alloc(
> kern_return_t
> ipc_entry_alloc_name(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t *entryp)
> {
> kern_return_t kr;
> @@ -198,12 +198,11 @@ ipc_entry_alloc_name(
> ipc_entry_t
> db_ipc_object_by_name(
> const task_t task,
> - mach_port_t name)
> + mach_port_name_t name)
> {
> ipc_space_t space = task->itk_space;
> ipc_entry_t entry;
>
> -
> entry = ipc_entry_lookup(space, name);
> if(entry != IE_NULL) {
> iprintf("(task 0x%x, name 0x%x) ==> object 0x%x",
> diff --git a/ipc/ipc_entry.h b/ipc/ipc_entry.h
> index b429984b..9f7b593e 100644
> --- a/ipc/ipc_entry.h
> +++ b/ipc/ipc_entry.h
> @@ -55,7 +55,7 @@ typedef unsigned int ipc_entry_bits_t;
> typedef ipc_table_elems_t ipc_entry_num_t; /* number of entries */
>
> typedef struct ipc_entry {
> - mach_port_t ie_name;
> + mach_port_name_t ie_name;
> ipc_entry_bits_t ie_bits;
> struct ipc_object *ie_object;
> union {
> @@ -97,14 +97,14 @@ extern struct kmem_cache ipc_entry_cache;
> #define ie_free(e) kmem_cache_free(&ipc_entry_cache, (vm_offset_t)
> (e))
>
> extern kern_return_t
> -ipc_entry_alloc(ipc_space_t space, mach_port_t *namep, ipc_entry_t *entryp);
> +ipc_entry_alloc(ipc_space_t space, mach_port_name_t *namep, ipc_entry_t
> *entryp);
>
> extern kern_return_t
> -ipc_entry_alloc_name(ipc_space_t space, mach_port_t name, ipc_entry_t
> *entryp);
> +ipc_entry_alloc_name(ipc_space_t space, mach_port_name_t name, ipc_entry_t
> *entryp);
>
> ipc_entry_t
> db_ipc_object_by_name(
> - task_t task,
> - mach_port_t name);
> + task_t task,
> + mach_port_name_t name);
>
> #endif /* _IPC_IPC_ENTRY_H_ */
> diff --git a/ipc/ipc_kmsg.c b/ipc/ipc_kmsg.c
> index 4f5ffb5f..1e00b355 100644
> --- a/ipc/ipc_kmsg.c
> +++ b/ipc/ipc_kmsg.c
> @@ -674,11 +674,21 @@ mach_msg_return_t
> ipc_kmsg_copyin_header(
> mach_msg_header_t *msg,
> ipc_space_t space,
> - mach_port_t notify)
> + mach_port_name_t notify)
> {
> mach_msg_bits_t mbits = msg->msgh_bits &~ MACH_MSGH_BITS_CIRCULAR;
> - mach_port_t dest_name = msg->msgh_remote_port;
> - mach_port_t reply_name = msg->msgh_local_port;
> + /*
> + * TODO: For 64 bits, msgh_remote_port as written by user space
> + * is 4 bytes long but here we assume it is the same size as a pointer.
> + * When copying the message to the kernel, we need to perform the
> + * conversion so that port names are parsed correctly.
> + *
> + * When copying the message out of the kernel to user space, we also
> need
> + * to be careful with the reverse translation.
> + */
> +
> + mach_port_name_t dest_name = (mach_port_name_t)msg->msgh_remote_port;
> + mach_port_name_t reply_name = (mach_port_name_t)msg->msgh_local_port;
> kern_return_t kr;
>
> #ifndef MIGRATING_THREADS
> @@ -916,7 +926,7 @@ ipc_kmsg_copyin_header(
>
> if (dest_name == reply_name) {
> ipc_entry_t entry;
> - mach_port_t name = dest_name;
> + mach_port_name_t name = dest_name;
>
> /*
> * Destination and reply ports are the same!
> @@ -1443,7 +1453,7 @@ ipc_kmsg_copyin_body(
> ((mach_msg_type_t*)type)->msgt_name = newname;
>
> for (i = 0; i < number; i++) {
> - mach_port_t port = (mach_port_t) objects[i];
> + mach_port_name_t port = (mach_port_name_t)
> objects[i];
> ipc_object_t object;
>
> if (!MACH_PORT_VALID(port))
> @@ -1464,6 +1474,9 @@ ipc_kmsg_copyin_body(
> kmsg->ikm_header.msgh_bits |=
> MACH_MSGH_BITS_CIRCULAR;
>
> + /* TODO: revisit this for 64 bits since the
> size of
> + * mach_port_name_t is not the same as a
> pointer size.
> + */
> objects[i] = object;
> }
>
> @@ -1507,7 +1520,7 @@ ipc_kmsg_copyin(
> ipc_kmsg_t kmsg,
> ipc_space_t space,
> vm_map_t map,
> - mach_port_t notify)
> + mach_port_name_t notify)
> {
> mach_msg_return_t mr;
>
> @@ -1700,7 +1713,7 @@ mach_msg_return_t
> ipc_kmsg_copyout_header(
> mach_msg_header_t *msg,
> ipc_space_t space,
> - mach_port_t notify)
> + mach_port_name_t notify)
> {
> mach_msg_bits_t mbits = msg->msgh_bits;
> ipc_port_t dest = (ipc_port_t) msg->msgh_remote_port;
> @@ -1712,7 +1725,7 @@ ipc_kmsg_copyout_header(
>
> if (notify == MACH_PORT_NULL) switch (MACH_MSGH_BITS_PORTS(mbits)) {
> case MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND, 0): {
> - mach_port_t dest_name;
> + mach_port_name_t dest_name;
> ipc_port_t nsrequest;
> unsigned long payload;
>
> @@ -1765,7 +1778,7 @@ ipc_kmsg_copyout_header(
> MACH_MSG_TYPE_PORT_SEND_ONCE): {
> ipc_entry_t entry;
> ipc_port_t reply = (ipc_port_t) msg->msgh_local_port;
> - mach_port_t dest_name, reply_name;
> + mach_port_name_t dest_name, reply_name;
> ipc_port_t nsrequest;
> unsigned long payload;
>
> @@ -1868,7 +1881,7 @@ ipc_kmsg_copyout_header(
> }
>
> case MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, 0): {
> - mach_port_t dest_name;
> + mach_port_name_t dest_name;
> unsigned long payload;
>
> /* receiving a reply message */
> @@ -1922,7 +1935,7 @@ ipc_kmsg_copyout_header(
> mach_msg_type_name_t dest_type = MACH_MSGH_BITS_REMOTE(mbits);
> mach_msg_type_name_t reply_type = MACH_MSGH_BITS_LOCAL(mbits);
> ipc_port_t reply = (ipc_port_t) msg->msgh_local_port;
> - mach_port_t dest_name, reply_name;
> + mach_port_name_t dest_name, reply_name;
> unsigned long payload;
>
> if (IP_VALID(reply)) {
> @@ -2111,7 +2124,7 @@ ipc_kmsg_copyout_header(
> ip_lock(dest);
> is_read_unlock(space);
>
> - reply_name = (mach_port_t) reply;
> + reply_name = (mach_port_name_t) reply;
> }
>
> /*
> @@ -2230,10 +2243,10 @@ ipc_kmsg_copyout_object(
> ipc_space_t space,
> ipc_object_t object,
> mach_msg_type_name_t msgt_name,
> - mach_port_t *namep)
> + mach_port_name_t *namep)
> {
> if (!IO_VALID(object)) {
> - *namep = (mach_port_t) object;
> + *namep = (mach_port_name_t) object;
> return MACH_MSG_SUCCESS;
> }
>
> @@ -2393,7 +2406,7 @@ ipc_kmsg_copyout_body(
> is_port = MACH_MSG_TYPE_PORT_ANY(name);
>
> if (is_port) {
> - mach_port_t *objects;
> + ipc_object_t *objects;
> mach_msg_type_number_t i;
>
> if (!is_inline && (length != 0)) {
> @@ -2406,7 +2419,7 @@ ipc_kmsg_copyout_body(
> }
> }
>
> - objects = (mach_port_t *)
> + objects = (ipc_object_t *)
> (is_inline ? saddr : * (vm_offset_t *) saddr);
>
> /* copyout port rights carried in the message */
> @@ -2415,8 +2428,11 @@ ipc_kmsg_copyout_body(
> ipc_object_t object =
> (ipc_object_t) objects[i];
>
> + /* TODO: revisit this for 64 bits since the
> size of
> + * mach_port_name_t is not the same as a
> pointer size.
> + */
> mr |= ipc_kmsg_copyout_object(space, object,
> - name, &objects[i]);
> + name, (mach_port_name_t
> *)&objects[i]);
> }
> }
>
> @@ -2498,7 +2514,7 @@ ipc_kmsg_copyout(
> ipc_kmsg_t kmsg,
> ipc_space_t space,
> vm_map_t map,
> - mach_port_t notify)
> + mach_port_name_t notify)
> {
> mach_msg_bits_t mbits = kmsg->ikm_header.msgh_bits;
> mach_msg_return_t mr;
> @@ -2547,7 +2563,7 @@ ipc_kmsg_copyout_pseudo(
> ipc_object_t reply = (ipc_object_t) kmsg->ikm_header.msgh_local_port;
> mach_msg_type_name_t dest_type = MACH_MSGH_BITS_REMOTE(mbits);
> mach_msg_type_name_t reply_type = MACH_MSGH_BITS_LOCAL(mbits);
> - mach_port_t dest_name, reply_name;
> + mach_port_name_t dest_name, reply_name;
> mach_msg_return_t mr;
>
> assert(IO_VALID(dest));
> @@ -2585,7 +2601,7 @@ ipc_kmsg_copyout_dest(
> ipc_object_t reply = (ipc_object_t) kmsg->ikm_header.msgh_local_port;
> mach_msg_type_name_t dest_type = MACH_MSGH_BITS_REMOTE(mbits);
> mach_msg_type_name_t reply_type = MACH_MSGH_BITS_LOCAL(mbits);
> - mach_port_t dest_name, reply_name;
> + mach_port_name_t dest_name, reply_name;
>
> assert(IO_VALID(dest));
>
> @@ -2603,7 +2619,7 @@ ipc_kmsg_copyout_dest(
> ipc_object_destroy(reply, reply_type);
> reply_name = MACH_PORT_NULL;
> } else
> - reply_name = (mach_port_t) reply;
> + reply_name = (mach_port_name_t) reply;
>
> kmsg->ikm_header.msgh_bits = (MACH_MSGH_BITS_OTHER(mbits) |
> MACH_MSGH_BITS(reply_type, dest_type));
> diff --git a/ipc/ipc_kmsg.h b/ipc/ipc_kmsg.h
> index 2d75b173..ffda9b5e 100644
> --- a/ipc/ipc_kmsg.h
> +++ b/ipc/ipc_kmsg.h
> @@ -254,26 +254,26 @@ extern void
> ipc_kmsg_put_to_kernel(mach_msg_header_t *, ipc_kmsg_t, mach_msg_size_t);
>
> extern mach_msg_return_t
> -ipc_kmsg_copyin_header(mach_msg_header_t *, ipc_space_t, mach_port_t);
> +ipc_kmsg_copyin_header(mach_msg_header_t *, ipc_space_t, mach_port_name_t);
>
> extern mach_msg_return_t
> -ipc_kmsg_copyin(ipc_kmsg_t, ipc_space_t, vm_map_t, mach_port_t);
> +ipc_kmsg_copyin(ipc_kmsg_t, ipc_space_t, vm_map_t, mach_port_name_t);
>
> extern void
> ipc_kmsg_copyin_from_kernel(ipc_kmsg_t);
>
> extern mach_msg_return_t
> -ipc_kmsg_copyout_header(mach_msg_header_t *, ipc_space_t, mach_port_t);
> +ipc_kmsg_copyout_header(mach_msg_header_t *, ipc_space_t, mach_port_name_t);
>
> extern mach_msg_return_t
> ipc_kmsg_copyout_object(ipc_space_t, ipc_object_t,
> - mach_msg_type_name_t, mach_port_t *);
> + mach_msg_type_name_t, mach_port_name_t *);
>
> extern mach_msg_return_t
> ipc_kmsg_copyout_body(ipc_kmsg_t, ipc_space_t, vm_map_t);
>
> extern mach_msg_return_t
> -ipc_kmsg_copyout(ipc_kmsg_t, ipc_space_t, vm_map_t, mach_port_t);
> +ipc_kmsg_copyout(ipc_kmsg_t, ipc_space_t, vm_map_t, mach_port_name_t);
>
> extern mach_msg_return_t
> ipc_kmsg_copyout_pseudo(ipc_kmsg_t, ipc_space_t, vm_map_t);
> diff --git a/ipc/ipc_marequest.c b/ipc/ipc_marequest.c
> index 736db838..526e4722 100644
> --- a/ipc/ipc_marequest.c
> +++ b/ipc/ipc_marequest.c
> @@ -161,12 +161,12 @@ ipc_marequest_init(void)
>
> mach_msg_return_t
> ipc_marequest_create(
> - ipc_space_t space,
> - ipc_port_t port,
> - mach_port_t notify,
> - ipc_marequest_t *marequestp)
> + ipc_space_t space,
> + ipc_port_t port,
> + mach_port_name_t notify,
> + ipc_marequest_t *marequestp)
> {
> - mach_port_t name;
> + mach_port_name_t name;
> ipc_entry_t entry;
> ipc_port_t soright;
> ipc_marequest_t marequest;
> @@ -258,7 +258,7 @@ ipc_marequest_create(
> void
> ipc_marequest_cancel(
> ipc_space_t space,
> - mach_port_t name)
> + mach_port_name_t name)
> {
> ipc_marequest_bucket_t bucket;
> ipc_marequest_t marequest, *last;
> @@ -294,8 +294,8 @@ ipc_marequest_cancel(
> void
> ipc_marequest_rename(
> ipc_space_t space,
> - mach_port_t old,
> - mach_port_t new)
> + mach_port_name_t old,
> + mach_port_name_t new)
> {
> ipc_marequest_bucket_t bucket;
> ipc_marequest_t marequest, *last;
> @@ -340,7 +340,7 @@ void
> ipc_marequest_destroy(ipc_marequest_t marequest)
> {
> ipc_space_t space = marequest->imar_space;
> - mach_port_t name;
> + mach_port_name_t name;
> ipc_port_t soright;
>
> is_write_lock(space);
> diff --git a/ipc/ipc_marequest.h b/ipc/ipc_marequest.h
> index 4f6f7584..a55d4e23 100644
> --- a/ipc/ipc_marequest.h
> +++ b/ipc/ipc_marequest.h
> @@ -63,7 +63,7 @@
>
> typedef struct ipc_marequest {
> struct ipc_space *imar_space;
> - mach_port_t imar_name;
> + mach_port_name_t imar_name;
> struct ipc_port *imar_soright;
> struct ipc_marequest *imar_next;
> } *ipc_marequest_t;
> @@ -84,14 +84,14 @@ ipc_marequest_info(unsigned int *, hash_info_bucket_t *,
> unsigned int);
>
> extern mach_msg_return_t
> ipc_marequest_create(ipc_space_t space, ipc_port_t port,
> - mach_port_t notify, ipc_marequest_t *marequestp);
> + mach_port_name_t notify, ipc_marequest_t *marequestp);
>
> extern void
> -ipc_marequest_cancel(ipc_space_t space, mach_port_t name);
> +ipc_marequest_cancel(ipc_space_t space, mach_port_name_t name);
>
> extern void
> ipc_marequest_rename(ipc_space_t space,
> - mach_port_t old, mach_port_t new);
> + mach_port_name_t old, mach_port_name_t new);
>
> extern void
> ipc_marequest_destroy(ipc_marequest_t marequest);
> diff --git a/ipc/ipc_mqueue.c b/ipc/ipc_mqueue.c
> index 9138aec4..a371a625 100644
> --- a/ipc/ipc_mqueue.c
> +++ b/ipc/ipc_mqueue.c
> @@ -399,7 +399,7 @@ ipc_mqueue_send(
> mach_msg_return_t
> ipc_mqueue_copyin(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_mqueue_t *mqueuep,
> ipc_object_t *objectp)
> {
> diff --git a/ipc/ipc_mqueue.h b/ipc/ipc_mqueue.h
> index 2af5e02e..efca6817 100644
> --- a/ipc/ipc_mqueue.h
> +++ b/ipc/ipc_mqueue.h
> @@ -68,7 +68,7 @@ extern mach_msg_return_t
> ipc_mqueue_send(ipc_kmsg_t, mach_msg_option_t, mach_msg_timeout_t);
>
> extern mach_msg_return_t
> -ipc_mqueue_copyin(ipc_space_t, mach_port_t, ipc_mqueue_t *, ipc_object_t *);
> +ipc_mqueue_copyin(ipc_space_t, mach_port_name_t, ipc_mqueue_t *,
> ipc_object_t *);
>
> #define IMQ_NULL_CONTINUE ((void (*)()) 0)
>
> diff --git a/ipc/ipc_notify.c b/ipc/ipc_notify.c
> index df5f68bc..1fff8ead 100644
> --- a/ipc/ipc_notify.c
> +++ b/ipc/ipc_notify.c
> @@ -253,15 +253,15 @@ ipc_notify_init(void)
>
> void
> ipc_notify_port_deleted(
> - ipc_port_t port,
> - mach_port_t name)
> + ipc_port_t port,
> + mach_port_name_t name)
> {
> ipc_kmsg_t kmsg;
> mach_port_deleted_notification_t *n;
>
> kmsg = ikm_alloc(sizeof *n);
> if (kmsg == IKM_NULL) {
> - printf("dropped port-deleted (0x%p, 0x%lx)\n", port, name);
> + printf("dropped port-deleted (0x%p, 0x%x)\n", port, name);
> ipc_port_release_sonce(port);
> return;
> }
> @@ -287,15 +287,15 @@ ipc_notify_port_deleted(
>
> void
> ipc_notify_msg_accepted(
> - ipc_port_t port,
> - mach_port_t name)
> + ipc_port_t port,
> + mach_port_name_t name)
> {
> ipc_kmsg_t kmsg;
> mach_msg_accepted_notification_t *n;
>
> kmsg = ikm_alloc(sizeof *n);
> if (kmsg == IKM_NULL) {
> - printf("dropped msg-accepted (0x%p, 0x%lx)\n", port, name);
> + printf("dropped msg-accepted (0x%p, 0x%x)\n", port, name);
> ipc_port_release_sonce(port);
> return;
> }
> @@ -425,15 +425,15 @@ ipc_notify_send_once(ipc_port_t port)
>
> void
> ipc_notify_dead_name(
> - ipc_port_t port,
> - mach_port_t name)
> + ipc_port_t port,
> + mach_port_name_t name)
> {
> ipc_kmsg_t kmsg;
> mach_dead_name_notification_t *n;
>
> kmsg = ikm_alloc(sizeof *n);
> if (kmsg == IKM_NULL) {
> - printf("dropped dead-name (0x%p, 0x%lx)\n", port, name);
> + printf("dropped dead-name (0x%p, 0x%x)\n", port, name);
> ipc_port_release_sonce(port);
> return;
> }
> diff --git a/ipc/ipc_notify.h b/ipc/ipc_notify.h
> index 789bd23c..8940f382 100644
> --- a/ipc/ipc_notify.h
> +++ b/ipc/ipc_notify.h
> @@ -38,10 +38,10 @@ extern void
> ipc_notify_init(void);
>
> extern void
> -ipc_notify_port_deleted(ipc_port_t, mach_port_t);
> +ipc_notify_port_deleted(ipc_port_t, mach_port_name_t);
>
> extern void
> -ipc_notify_msg_accepted(ipc_port_t, mach_port_t);
> +ipc_notify_msg_accepted(ipc_port_t, mach_port_name_t);
>
> extern void
> ipc_notify_port_destroyed(ipc_port_t, ipc_port_t);
> @@ -53,6 +53,6 @@ extern void
> ipc_notify_send_once(ipc_port_t);
>
> extern void
> -ipc_notify_dead_name(ipc_port_t, mach_port_t);
> +ipc_notify_dead_name(ipc_port_t, mach_port_name_t);
>
> #endif /* _IPC_IPC_NOTIFY_H_ */
> diff --git a/ipc/ipc_object.c b/ipc/ipc_object.c
> index a6457c37..ebe11492 100644
> --- a/ipc/ipc_object.c
> +++ b/ipc/ipc_object.c
> @@ -106,7 +106,7 @@ ipc_object_release(
> kern_return_t
> ipc_object_translate(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_port_right_t right,
> ipc_object_t *objectp)
> {
> @@ -150,7 +150,7 @@ ipc_object_translate(
> kern_return_t
> ipc_object_alloc_dead(
> ipc_space_t space,
> - mach_port_t *namep)
> + mach_port_name_t *namep)
> {
> ipc_entry_t entry;
> kern_return_t kr;
> @@ -187,7 +187,7 @@ ipc_object_alloc_dead(
> kern_return_t
> ipc_object_alloc_dead_name(
> ipc_space_t space,
> - mach_port_t name)
> + mach_port_name_t name)
> {
> ipc_entry_t entry;
> kern_return_t kr;
> @@ -231,7 +231,7 @@ ipc_object_alloc(
> ipc_object_type_t otype,
> mach_port_type_t type,
> mach_port_urefs_t urefs,
> - mach_port_t *namep,
> + mach_port_name_t *namep,
> ipc_object_t *objectp)
> {
> ipc_object_t object;
> @@ -298,7 +298,7 @@ ipc_object_alloc_name(
> ipc_object_type_t otype,
> mach_port_type_t type,
> mach_port_urefs_t urefs,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_object_t *objectp)
> {
> ipc_object_t object;
> @@ -405,7 +405,7 @@ ipc_object_copyin_type(
> kern_return_t
> ipc_object_copyin(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_msg_type_name_t msgt_name,
> ipc_object_t *objectp)
> {
> @@ -608,9 +608,9 @@ ipc_object_copyout(
> ipc_object_t object,
> mach_msg_type_name_t msgt_name,
> boolean_t overflow,
> - mach_port_t *namep)
> + mach_port_name_t *namep)
> {
> - mach_port_t name;
> + mach_port_name_t name;
> ipc_entry_t entry;
> kern_return_t kr;
>
> @@ -747,9 +747,9 @@ ipc_object_copyout_name(
> ipc_object_t object,
> mach_msg_type_name_t msgt_name,
> boolean_t overflow,
> - mach_port_t name)
> + mach_port_name_t name)
> {
> - mach_port_t oname;
> + mach_port_name_t oname;
> ipc_entry_t oentry;
> ipc_entry_t entry;
> kern_return_t kr;
> @@ -826,9 +826,9 @@ ipc_object_copyout_dest(
> ipc_space_t space,
> ipc_object_t object,
> mach_msg_type_name_t msgt_name,
> - mach_port_t *namep)
> + mach_port_name_t *namep)
> {
> - mach_port_t name;
> + mach_port_name_t name;
>
> assert(IO_VALID(object));
> assert(io_active(object));
> @@ -930,8 +930,8 @@ ipc_object_copyout_dest(
> kern_return_t
> ipc_object_rename(
> ipc_space_t space,
> - mach_port_t oname,
> - mach_port_t nname)
> + mach_port_name_t oname,
> + mach_port_name_t nname)
> {
> ipc_entry_t oentry, nentry;
> kern_return_t kr;
> diff --git a/ipc/ipc_object.h b/ipc/ipc_object.h
> index be5bea71..209fae18 100644
> --- a/ipc/ipc_object.h
> +++ b/ipc/ipc_object.h
> @@ -116,30 +116,30 @@ extern void
> ipc_object_release(ipc_object_t);
>
> extern kern_return_t
> -ipc_object_translate(ipc_space_t, mach_port_t,
> +ipc_object_translate(ipc_space_t, mach_port_name_t,
> mach_port_right_t, ipc_object_t *);
>
> extern kern_return_t
> -ipc_object_alloc_dead(ipc_space_t, mach_port_t *);
> +ipc_object_alloc_dead(ipc_space_t, mach_port_name_t *);
>
> extern kern_return_t
> -ipc_object_alloc_dead_name(ipc_space_t, mach_port_t);
> +ipc_object_alloc_dead_name(ipc_space_t, mach_port_name_t);
>
> extern kern_return_t
> ipc_object_alloc(ipc_space_t, ipc_object_type_t,
> mach_port_type_t, mach_port_urefs_t,
> - mach_port_t *, ipc_object_t *);
> + mach_port_name_t *, ipc_object_t *);
>
> extern kern_return_t
> ipc_object_alloc_name(ipc_space_t, ipc_object_type_t,
> mach_port_type_t, mach_port_urefs_t,
> - mach_port_t, ipc_object_t *);
> + mach_port_name_t, ipc_object_t *);
>
> extern mach_msg_type_name_t
> ipc_object_copyin_type(mach_msg_type_name_t);
>
> extern kern_return_t
> -ipc_object_copyin(ipc_space_t, mach_port_t,
> +ipc_object_copyin(ipc_space_t, mach_port_name_t,
> mach_msg_type_name_t, ipc_object_t *);
>
> extern void
> @@ -150,18 +150,18 @@ ipc_object_destroy(ipc_object_t, mach_msg_type_name_t);
>
> extern kern_return_t
> ipc_object_copyout(ipc_space_t, ipc_object_t,
> - mach_msg_type_name_t, boolean_t, mach_port_t *);
> + mach_msg_type_name_t, boolean_t, mach_port_name_t *);
>
> extern kern_return_t
> ipc_object_copyout_name(ipc_space_t, ipc_object_t,
> - mach_msg_type_name_t, boolean_t, mach_port_t);
> + mach_msg_type_name_t, boolean_t, mach_port_name_t);
>
> extern void
> ipc_object_copyout_dest(ipc_space_t, ipc_object_t,
> - mach_msg_type_name_t, mach_port_t *);
> + mach_msg_type_name_t, mach_port_name_t *);
>
> extern kern_return_t
> -ipc_object_rename(ipc_space_t, mach_port_t, mach_port_t);
> +ipc_object_rename(ipc_space_t, mach_port_name_t, mach_port_name_t);
>
> extern void
> ipc_object_print(ipc_object_t);
> diff --git a/ipc/ipc_port.c b/ipc/ipc_port.c
> index 86a4ee2a..a0006cf4 100644
> --- a/ipc/ipc_port.c
> +++ b/ipc/ipc_port.c
> @@ -96,7 +96,7 @@ ipc_port_timestamp(void)
> kern_return_t
> ipc_port_dnrequest(
> ipc_port_t port,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_port_t soright,
> ipc_port_request_index_t *indexp)
> {
> @@ -234,7 +234,7 @@ ipc_port_dngrow(ipc_port_t port)
> ipc_port_t
> ipc_port_dncancel(
> ipc_port_t port,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_port_request_index_t index)
> {
> ipc_port_request_t ipr, table;
> @@ -506,9 +506,9 @@ ipc_port_clear_receiver(
>
> void
> ipc_port_init(
> - ipc_port_t port,
> - ipc_space_t space,
> - mach_port_t name)
> + ipc_port_t port,
> + ipc_space_t space,
> + mach_port_name_t name)
> {
> /* port->ip_kobject doesn't have to be initialized */
>
> @@ -553,11 +553,11 @@ ipc_port_init(
> kern_return_t
> ipc_port_alloc(
> ipc_space_t space,
> - mach_port_t *namep,
> + mach_port_name_t *namep,
> ipc_port_t *portp)
> {
> ipc_port_t port;
> - mach_port_t name;
> + mach_port_name_t name;
> kern_return_t kr;
>
> kr = ipc_object_alloc(space, IOT_PORT,
> @@ -593,7 +593,7 @@ ipc_port_alloc(
> kern_return_t
> ipc_port_alloc_name(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_port_t *portp)
> {
> ipc_port_t port;
> @@ -734,7 +734,7 @@ ipc_port_destroy(
>
> for (index = 1; index < size; index++) {
> ipc_port_request_t ipr = &dnrequests[index];
> - mach_port_t name = ipr->ipr_name;
> + mach_port_name_t name = ipr->ipr_name;
> ipc_port_t soright;
>
> if (name == MACH_PORT_NULL)
> @@ -911,7 +911,7 @@ ipc_port_check_circularity(
> ipc_port_t
> ipc_port_lookup_notify(
> ipc_space_t space,
> - mach_port_t name)
> + mach_port_name_t name)
> {
> ipc_port_t port;
> ipc_entry_t entry;
> @@ -1008,12 +1008,12 @@ ipc_port_copy_send(
> * Nothing locked.
> */
>
> -mach_port_t
> +mach_port_name_t
> ipc_port_copyout_send(
> ipc_port_t sright,
> ipc_space_t space)
> {
> - mach_port_t name;
> + mach_port_name_t name;
>
> if (IP_VALID(sright)) {
> kern_return_t kr;
> @@ -1029,7 +1029,7 @@ ipc_port_copyout_send(
> name = MACH_PORT_NULL;
> }
> } else
> - name = (mach_port_t) sright;
> + name = (mach_port_name_t) sright;
>
> return name;
> }
> @@ -1197,7 +1197,7 @@ ipc_port_alloc_special(ipc_space_t space)
> * the fast rpc path).
> */
>
> - ipc_port_init(port, space, (mach_port_t)port);
> + ipc_port_init(port, space, (mach_port_name_t)port);
>
> return port;
> }
> diff --git a/ipc/ipc_port.h b/ipc/ipc_port.h
> index ade69679..b0433876 100644
> --- a/ipc/ipc_port.h
> +++ b/ipc/ipc_port.h
> @@ -137,7 +137,7 @@ typedef struct ipc_port_request {
> } notify;
>
> union {
> - mach_port_t name;
> + mach_port_name_t name;
> struct ipc_table_size *size;
> } name;
> } *ipc_port_request_t;
> @@ -208,14 +208,14 @@ ipc_port_timestamp(void);
> (ipc_object_t *) (portp))
>
> extern kern_return_t
> -ipc_port_dnrequest(ipc_port_t, mach_port_t, ipc_port_t,
> +ipc_port_dnrequest(ipc_port_t, mach_port_name_t, ipc_port_t,
> ipc_port_request_index_t *);
>
> extern kern_return_t
> ipc_port_dngrow(ipc_port_t);
>
> extern ipc_port_t
> -ipc_port_dncancel(ipc_port_t, mach_port_t, ipc_port_request_index_t);
> +ipc_port_dncancel(ipc_port_t, mach_port_name_t, ipc_port_request_index_t);
>
> #define ipc_port_dnrename(port, index, oname, nname)
> \
> MACRO_BEGIN \
> @@ -273,13 +273,13 @@ extern void
> ipc_port_clear_receiver(ipc_port_t);
>
> extern void
> -ipc_port_init(ipc_port_t, ipc_space_t, mach_port_t);
> +ipc_port_init(ipc_port_t, ipc_space_t, mach_port_name_t);
>
> extern kern_return_t
> -ipc_port_alloc(ipc_space_t, mach_port_t *, ipc_port_t *);
> +ipc_port_alloc(ipc_space_t, mach_port_name_t *, ipc_port_t *);
>
> extern kern_return_t
> -ipc_port_alloc_name(ipc_space_t, mach_port_t, ipc_port_t *);
> +ipc_port_alloc_name(ipc_space_t, mach_port_name_t, ipc_port_t *);
>
> extern void
> ipc_port_destroy(ipc_port_t);
> @@ -288,7 +288,7 @@ extern boolean_t
> ipc_port_check_circularity(ipc_port_t, ipc_port_t);
>
> extern ipc_port_t
> -ipc_port_lookup_notify(ipc_space_t, mach_port_t);
> +ipc_port_lookup_notify(ipc_space_t, mach_port_name_t);
>
> extern ipc_port_t
> ipc_port_make_send(ipc_port_t);
> @@ -296,7 +296,7 @@ ipc_port_make_send(ipc_port_t);
> extern ipc_port_t
> ipc_port_copy_send(ipc_port_t);
>
> -extern mach_port_t
> +extern mach_port_name_t
> ipc_port_copyout_send(ipc_port_t, ipc_space_t);
>
> extern void
> diff --git a/ipc/ipc_pset.c b/ipc/ipc_pset.c
> index 884e8972..30c12a2b 100644
> --- a/ipc/ipc_pset.c
> +++ b/ipc/ipc_pset.c
> @@ -69,11 +69,11 @@
> kern_return_t
> ipc_pset_alloc(
> ipc_space_t space,
> - mach_port_t *namep,
> + mach_port_name_t *namep,
> ipc_pset_t *psetp)
> {
> ipc_pset_t pset;
> - mach_port_t name;
> + mach_port_name_t name;
> kern_return_t kr;
>
> kr = ipc_object_alloc(space, IOT_PORT_SET,
> @@ -107,13 +107,12 @@ ipc_pset_alloc(
> kern_return_t
> ipc_pset_alloc_name(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_pset_t *psetp)
> {
> ipc_pset_t pset;
> kern_return_t kr;
>
> -
> kr = ipc_object_alloc_name(space, IOT_PORT_SET,
> MACH_PORT_TYPE_PORT_SET, 0,
> name, (ipc_object_t *) &pset);
> diff --git a/ipc/ipc_pset.h b/ipc/ipc_pset.h
> index e9936fef..3f94be53 100644
> --- a/ipc/ipc_pset.h
> +++ b/ipc/ipc_pset.h
> @@ -66,10 +66,10 @@ typedef struct ipc_pset {
> #define ips_release(pset) io_release(&(pset)->ips_object)
>
> extern kern_return_t
> -ipc_pset_alloc(ipc_space_t, mach_port_t *, ipc_pset_t *);
> +ipc_pset_alloc(ipc_space_t, mach_port_name_t *, ipc_pset_t *);
>
> extern kern_return_t
> -ipc_pset_alloc_name(ipc_space_t, mach_port_t, ipc_pset_t *);
> +ipc_pset_alloc_name(ipc_space_t, mach_port_name_t, ipc_pset_t *);
>
> extern void
> ipc_pset_add(ipc_pset_t, ipc_port_t);
> diff --git a/ipc/ipc_right.c b/ipc/ipc_right.c
> index 773b3b10..b62c9314 100644
> --- a/ipc/ipc_right.c
> +++ b/ipc/ipc_right.c
> @@ -65,9 +65,9 @@
>
> kern_return_t
> ipc_right_lookup_write(
> - ipc_space_t space,
> - mach_port_t name,
> - ipc_entry_t *entryp)
> + ipc_space_t space,
> + mach_port_name_t name,
> + ipc_entry_t *entryp)
> {
> ipc_entry_t entry;
>
> @@ -105,11 +105,11 @@ boolean_t
> ipc_right_reverse(
> ipc_space_t space,
> ipc_object_t object,
> - mach_port_t *namep,
> + mach_port_name_t *namep,
> ipc_entry_t *entryp)
> {
> ipc_port_t port;
> - mach_port_t name;
> + mach_port_name_t name;
> ipc_entry_t entry;
>
> /* would switch on io_otype to handle multiple types of object */
> @@ -184,11 +184,11 @@ ipc_right_reverse(
>
> kern_return_t
> ipc_right_dnrequest(
> - ipc_space_t space,
> - mach_port_t name,
> - boolean_t immediate,
> - ipc_port_t notify,
> - ipc_port_t *previousp)
> + ipc_space_t space,
> + mach_port_name_t name,
> + boolean_t immediate,
> + ipc_port_t notify,
> + ipc_port_t *previousp)
> {
> ipc_port_t previous;
>
> @@ -304,10 +304,10 @@ ipc_right_dnrequest(
>
> ipc_port_t
> ipc_right_dncancel(
> - ipc_space_t space,
> - ipc_port_t port,
> - mach_port_t name,
> - ipc_entry_t entry)
> + ipc_space_t space,
> + ipc_port_t port,
> + mach_port_name_t name,
> + ipc_entry_t entry)
> {
> ipc_port_t dnrequest;
>
> @@ -333,7 +333,7 @@ ipc_right_dncancel(
> boolean_t
> ipc_right_inuse(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry)
> {
> ipc_entry_bits_t bits = entry->ie_bits;
> @@ -362,7 +362,7 @@ boolean_t
> ipc_right_check(
> ipc_space_t space,
> ipc_port_t port,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry)
> {
> ipc_entry_bits_t bits;
> @@ -431,7 +431,7 @@ ipc_right_check(
> void
> ipc_right_clean(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry)
> {
> ipc_entry_bits_t bits = entry->ie_bits;
> @@ -555,9 +555,9 @@ ipc_right_clean(
>
> kern_return_t
> ipc_right_destroy(
> - ipc_space_t space,
> - mach_port_t name,
> - ipc_entry_t entry)
> + ipc_space_t space,
> + mach_port_name_t name,
> + ipc_entry_t entry)
> {
> ipc_entry_bits_t bits = entry->ie_bits;
> mach_port_type_t type = IE_BITS_TYPE(bits);
> @@ -698,7 +698,7 @@ ipc_right_destroy(
> kern_return_t
> ipc_right_dealloc(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry)
> {
> ipc_entry_bits_t bits = entry->ie_bits;
> @@ -874,7 +874,7 @@ ipc_right_dealloc(
> kern_return_t
> ipc_right_delta(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry,
> mach_port_right_t right,
> mach_port_delta_t delta)
> @@ -1196,7 +1196,7 @@ ipc_right_delta(
> kern_return_t
> ipc_right_info(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry,
> mach_port_type_t *typep,
> mach_port_urefs_t *urefsp)
> @@ -1239,7 +1239,7 @@ ipc_right_info(
> boolean_t
> ipc_right_copyin_check(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry,
> mach_msg_type_name_t msgt_name)
> {
> @@ -1327,7 +1327,7 @@ ipc_right_copyin_check(
> kern_return_t
> ipc_right_copyin(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry,
> mach_msg_type_name_t msgt_name,
> boolean_t deadok,
> @@ -1660,7 +1660,7 @@ ipc_right_copyin(
> void
> ipc_right_copyin_undo(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry,
> mach_msg_type_name_t msgt_name,
> ipc_object_t object,
> @@ -1746,11 +1746,11 @@ ipc_right_copyin_undo(
>
> kern_return_t
> ipc_right_copyin_two(
> - ipc_space_t space,
> - mach_port_t name,
> - ipc_entry_t entry,
> - ipc_object_t *objectp,
> - ipc_port_t *sorightp)
> + ipc_space_t space,
> + mach_port_name_t name,
> + ipc_entry_t entry,
> + ipc_object_t *objectp,
> + ipc_port_t *sorightp)
> {
> ipc_entry_bits_t bits = entry->ie_bits;
> mach_port_urefs_t urefs;
> @@ -1846,7 +1846,7 @@ ipc_right_copyin_two(
> kern_return_t
> ipc_right_copyout(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry,
> mach_msg_type_name_t msgt_name,
> boolean_t overflow,
> @@ -2028,11 +2028,11 @@ ipc_right_copyout_multiname(space, name, entry,
> object)
>
> kern_return_t
> ipc_right_rename(
> - ipc_space_t space,
> - mach_port_t oname,
> - ipc_entry_t oentry,
> - mach_port_t nname,
> - ipc_entry_t nentry)
> + ipc_space_t space,
> + mach_port_name_t oname,
> + ipc_entry_t oentry,
> + mach_port_name_t nname,
> + ipc_entry_t nentry)
> {
> ipc_entry_bits_t bits = oentry->ie_bits;
> ipc_port_request_index_t request = oentry->ie_request;
> diff --git a/ipc/ipc_right.h b/ipc/ipc_right.h
> index 03642f86..6802abb6 100644
> --- a/ipc/ipc_right.h
> +++ b/ipc/ipc_right.h
> @@ -44,69 +44,69 @@
> #define ipc_right_lookup_read ipc_right_lookup_write
>
> extern kern_return_t
> -ipc_right_lookup_write(ipc_space_t, mach_port_t, ipc_entry_t *);
> +ipc_right_lookup_write(ipc_space_t, mach_port_name_t, ipc_entry_t *);
>
> extern boolean_t
> ipc_right_reverse(ipc_space_t, ipc_object_t,
> - mach_port_t *, ipc_entry_t *);
> + mach_port_name_t *, ipc_entry_t *);
>
> extern kern_return_t
> -ipc_right_dnrequest(ipc_space_t, mach_port_t, boolean_t,
> +ipc_right_dnrequest(ipc_space_t, mach_port_name_t, boolean_t,
> ipc_port_t, ipc_port_t *);
>
> extern ipc_port_t
> -ipc_right_dncancel(ipc_space_t, ipc_port_t, mach_port_t, ipc_entry_t);
> +ipc_right_dncancel(ipc_space_t, ipc_port_t, mach_port_name_t, ipc_entry_t);
>
> #define ipc_right_dncancel_macro(space, port, name, entry)
> \
> (((entry)->ie_request == 0) ? IP_NULL : \
> ipc_right_dncancel((space), (port), (name), (entry)))
>
> extern boolean_t
> -ipc_right_inuse(ipc_space_t, mach_port_t, ipc_entry_t);
> +ipc_right_inuse(ipc_space_t, mach_port_name_t, ipc_entry_t);
>
> extern boolean_t
> -ipc_right_check(ipc_space_t, ipc_port_t, mach_port_t, ipc_entry_t);
> +ipc_right_check(ipc_space_t, ipc_port_t, mach_port_name_t, ipc_entry_t);
>
> extern void
> -ipc_right_clean(ipc_space_t, mach_port_t, ipc_entry_t);
> +ipc_right_clean(ipc_space_t, mach_port_name_t, ipc_entry_t);
>
> extern kern_return_t
> -ipc_right_destroy(ipc_space_t, mach_port_t, ipc_entry_t);
> +ipc_right_destroy(ipc_space_t, mach_port_name_t, ipc_entry_t);
>
> extern kern_return_t
> -ipc_right_dealloc(ipc_space_t, mach_port_t, ipc_entry_t);
> +ipc_right_dealloc(ipc_space_t, mach_port_name_t, ipc_entry_t);
>
> extern kern_return_t
> -ipc_right_delta(ipc_space_t, mach_port_t, ipc_entry_t,
> +ipc_right_delta(ipc_space_t, mach_port_name_t, ipc_entry_t,
> mach_port_right_t, mach_port_delta_t);
>
> extern kern_return_t
> -ipc_right_info(ipc_space_t, mach_port_t, ipc_entry_t,
> +ipc_right_info(ipc_space_t, mach_port_name_t, ipc_entry_t,
> mach_port_type_t *, mach_port_urefs_t *);
>
> extern boolean_t
> -ipc_right_copyin_check(ipc_space_t, mach_port_t, ipc_entry_t,
> +ipc_right_copyin_check(ipc_space_t, mach_port_name_t, ipc_entry_t,
> mach_msg_type_name_t);
>
> extern kern_return_t
> -ipc_right_copyin(ipc_space_t, mach_port_t, ipc_entry_t,
> +ipc_right_copyin(ipc_space_t, mach_port_name_t, ipc_entry_t,
> mach_msg_type_name_t, boolean_t,
> ipc_object_t *, ipc_port_t *);
>
> extern void
> -ipc_right_copyin_undo(ipc_space_t, mach_port_t, ipc_entry_t,
> +ipc_right_copyin_undo(ipc_space_t, mach_port_name_t, ipc_entry_t,
> mach_msg_type_name_t, ipc_object_t, ipc_port_t);
>
> extern kern_return_t
> -ipc_right_copyin_two(ipc_space_t, mach_port_t, ipc_entry_t,
> +ipc_right_copyin_two(ipc_space_t, mach_port_name_t, ipc_entry_t,
> ipc_object_t *, ipc_port_t *);
>
> extern kern_return_t
> -ipc_right_copyout(ipc_space_t, mach_port_t, ipc_entry_t,
> +ipc_right_copyout(ipc_space_t, mach_port_name_t, ipc_entry_t,
> mach_msg_type_name_t, boolean_t, ipc_object_t);
>
> extern kern_return_t
> -ipc_right_rename(ipc_space_t, mach_port_t, ipc_entry_t,
> - mach_port_t, ipc_entry_t);
> +ipc_right_rename(ipc_space_t, mach_port_name_t, ipc_entry_t,
> + mach_port_name_t, ipc_entry_t);
>
> #endif /* _IPC_IPC_RIGHT_H_ */
> diff --git a/ipc/ipc_space.c b/ipc/ipc_space.c
> index 894cf58e..77040d13 100644
> --- a/ipc/ipc_space.c
> +++ b/ipc/ipc_space.c
> @@ -194,7 +194,7 @@ ipc_space_destroy(
> mach_port_type_t type = IE_BITS_TYPE(entry->ie_bits);
>
> if (type != MACH_PORT_TYPE_NONE) {
> - mach_port_t name =
> + mach_port_name_t name =
> MACH_PORT_MAKEB(entry->ie_name, entry->ie_bits);
>
> ipc_right_clean(space, name, entry);
> diff --git a/ipc/ipc_space.h b/ipc/ipc_space.h
> index a2aac40a..84923e7a 100644
> --- a/ipc/ipc_space.h
> +++ b/ipc/ipc_space.h
> @@ -142,7 +142,7 @@ void ipc_space_destroy(struct ipc_space *);
> static inline ipc_entry_t
> ipc_entry_lookup(
> ipc_space_t space,
> - mach_port_t name)
> + mach_port_name_t name)
> {
> ipc_entry_t entry;
>
> @@ -170,10 +170,10 @@ ipc_entry_lookup(
> static inline kern_return_t
> ipc_entry_get(
> ipc_space_t space,
> - mach_port_t *namep,
> + mach_port_name_t *namep,
> ipc_entry_t *entryp)
> {
> - mach_port_t new_name;
> + mach_port_name_t new_name;
> ipc_entry_t free_entry;
>
> assert(space->is_active);
> @@ -229,7 +229,7 @@ ipc_entry_get(
> static inline void
> ipc_entry_dealloc(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_entry_t entry)
> {
> assert(space->is_active);
> diff --git a/ipc/ipc_target.c b/ipc/ipc_target.c
> index aa35a595..94c5d407 100644
> --- a/ipc/ipc_target.c
> +++ b/ipc/ipc_target.c
> @@ -26,7 +26,7 @@
> #include "ipc_target.h"
>
> void
> -ipc_target_init(struct ipc_target *ipt, mach_port_t name)
> +ipc_target_init(struct ipc_target *ipt, mach_port_name_t name)
> {
> ipt->ipt_name = name;
> ipc_mqueue_init(&ipt->ipt_messages);
> diff --git a/ipc/ipc_target.h b/ipc/ipc_target.h
> index a66e6875..86a0e44b 100644
> --- a/ipc/ipc_target.h
> +++ b/ipc/ipc_target.h
> @@ -33,7 +33,7 @@ typedef struct ipc_target {
>
> struct ipc_object ipt_object;
>
> - mach_port_t ipt_name;
> + mach_port_name_t ipt_name;
> struct ipc_mqueue ipt_messages;
>
> #ifdef MIGRATING_THREADS
> @@ -56,7 +56,7 @@ typedef struct ipc_target {
> #define IPT_TYPE_MESSAGE_RPC 1
> #define IPT_TYPE_MIGRATE_RPC 2
>
> -void ipc_target_init(struct ipc_target *ipt, mach_port_t name);
> +void ipc_target_init(struct ipc_target *ipt, mach_port_name_t name);
> void ipc_target_terminate(struct ipc_target *ipt);
>
> #define ipt_lock(ipt) io_lock(&(ipt)->ipt_object)
> diff --git a/ipc/mach_debug.c b/ipc/mach_debug.c
> index aadd9066..1f3865bc 100644
> --- a/ipc/mach_debug.c
> +++ b/ipc/mach_debug.c
> @@ -189,7 +189,7 @@ host_ipc_marequest_info(
> kern_return_t
> mach_port_dnrequest_info(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> unsigned int *totalp,
> unsigned int *usedp)
> {
> @@ -248,7 +248,7 @@ mach_port_dnrequest_info(
> kern_return_t
> mach_port_kernel_object(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> unsigned int *typep,
> vm_offset_t *addrp)
> {
> diff --git a/ipc/mach_msg.c b/ipc/mach_msg.c
> index 3a75fef6..c4b1fed6 100644
> --- a/ipc/mach_msg.c
> +++ b/ipc/mach_msg.c
> @@ -93,7 +93,7 @@ mach_msg_send(
> mach_msg_option_t option,
> mach_msg_size_t send_size,
> mach_msg_timeout_t time_out,
> - mach_port_t notify)
> + mach_port_name_t notify)
> {
> ipc_space_t space = current_space();
> vm_map_t map = current_map();
> @@ -174,9 +174,9 @@ mach_msg_receive(
> mach_msg_header_t *msg,
> mach_msg_option_t option,
> mach_msg_size_t rcv_size,
> - mach_port_t rcv_name,
> + mach_port_name_t rcv_name,
> mach_msg_timeout_t time_out,
> - mach_port_t notify)
> + mach_port_name_t notify)
> {
> ipc_thread_t self = current_thread();
> ipc_space_t space = current_space();
> @@ -384,9 +384,9 @@ mach_msg_trap(
> mach_msg_option_t option,
> mach_msg_size_t send_size,
> mach_msg_size_t rcv_size,
> - mach_port_t rcv_name,
> + mach_port_name_t rcv_name,
> mach_msg_timeout_t time_out,
> - mach_port_t notify)
> + mach_port_name_t notify)
> {
> mach_msg_return_t mr;
>
> @@ -482,7 +482,7 @@ mach_msg_trap(
> MACH_MSG_TYPE_MAKE_SEND_ONCE): {
> ipc_port_t reply_port;
> {
> - mach_port_t reply_name =
> + mach_port_name_t reply_name =
> kmsg->ikm_header.msgh_local_port;
>
> if (reply_name != rcv_name)
> @@ -500,7 +500,7 @@ mach_msg_trap(
> }
>
> {
> - mach_port_t dest_name =
> + mach_port_name_t dest_name =
> kmsg->ikm_header.msgh_remote_port;
>
> ipc_entry_t entry;
> @@ -602,7 +602,7 @@ mach_msg_trap(
> /* sending a reply message */
>
> {
> - mach_port_t reply_name =
> + mach_port_name_t reply_name =
> kmsg->ikm_header.msgh_local_port;
>
> if (reply_name != MACH_PORT_NULL)
> @@ -614,7 +614,7 @@ mach_msg_trap(
>
> {
> ipc_entry_t entry;
> - mach_port_t dest_name =
> + mach_port_name_t dest_name =
> kmsg->ikm_header.msgh_remote_port;
>
> entry = ipc_entry_lookup (space, dest_name);
> @@ -950,7 +950,7 @@ mach_msg_trap(
> MACH_MSG_TYPE_PORT_SEND_ONCE): {
> ipc_port_t reply_port =
> (ipc_port_t) kmsg->ikm_header.msgh_local_port;
> - mach_port_t dest_name, reply_name;
> + mach_port_name_t dest_name, reply_name;
> unsigned long payload;
>
> /* receiving a request message */
> @@ -1055,7 +1055,7 @@ mach_msg_trap(
> }
>
> case MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, 0): {
> - mach_port_t dest_name;
> + mach_port_name_t dest_name;
> unsigned long payload;
>
> /* receiving a reply message */
> @@ -1100,7 +1100,7 @@ mach_msg_trap(
>
> case MACH_MSGH_BITS_COMPLEX|
> MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, 0): {
> - mach_port_t dest_name;
> + mach_port_name_t dest_name;
> unsigned long payload;
>
> /* receiving a complex reply message */
> diff --git a/ipc/mach_msg.h b/ipc/mach_msg.h
> index ce0fe4d4..ee093f8d 100644
> --- a/ipc/mach_msg.h
> +++ b/ipc/mach_msg.h
> @@ -41,12 +41,12 @@
>
> extern mach_msg_return_t
> mach_msg_send(mach_msg_header_t *, mach_msg_option_t,
> - mach_msg_size_t, mach_msg_timeout_t, mach_port_t);
> + mach_msg_size_t, mach_msg_timeout_t, mach_port_name_t);
>
> extern mach_msg_return_t
> mach_msg_receive(mach_msg_header_t *, mach_msg_option_t,
> - mach_msg_size_t, mach_port_t,
> - mach_msg_timeout_t, mach_port_t);
> + mach_msg_size_t, mach_port_name_t,
> + mach_msg_timeout_t, mach_port_name_t);
>
> extern void
> mach_msg_receive_continue(void);
> diff --git a/ipc/mach_port.c b/ipc/mach_port.c
> index 54e2e09f..dbd24ae7 100644
> --- a/ipc/mach_port.c
> +++ b/ipc/mach_port.c
> @@ -73,7 +73,7 @@ void
> mach_port_names_helper(
> ipc_port_timestamp_t timestamp,
> ipc_entry_t entry,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_port_name_t *names,
> mach_port_type_t *types,
> ipc_entry_num_t *actualp)
> @@ -187,7 +187,7 @@ mach_port_names(
> /* upper bound on number of names in the space */
>
> bound = space->is_size;
> - size_needed = round_page(bound * sizeof(mach_port_t));
> + size_needed = round_page(bound * sizeof(mach_port_name_t));
>
> if (size_needed <= size)
> break;
> @@ -254,7 +254,7 @@ mach_port_names(
> } else {
> vm_size_t size_used;
>
> - size_used = round_page(actual * sizeof(mach_port_t));
> + size_used = round_page(actual * sizeof(mach_port_name_t));
>
> /*
> * Make used memory pageable and get it into
> @@ -327,7 +327,7 @@ mach_port_names(
> kern_return_t
> mach_port_type(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_port_type_t *typep)
> {
> mach_port_urefs_t urefs;
> @@ -368,9 +368,9 @@ mach_port_type(
>
> kern_return_t
> mach_port_rename(
> - ipc_space_t space,
> - mach_port_t oname,
> - mach_port_t nname)
> + ipc_space_t space,
> + mach_port_name_t oname,
> + mach_port_name_t nname)
> {
> if (space == IS_NULL)
> return KERN_INVALID_TASK;
> @@ -416,7 +416,7 @@ kern_return_t
> mach_port_allocate_name(
> ipc_space_t space,
> mach_port_right_t right,
> - mach_port_t name)
> + mach_port_name_t name)
> {
> kern_return_t kr;
>
> @@ -479,7 +479,7 @@ kern_return_t
> mach_port_allocate(
> ipc_space_t space,
> mach_port_right_t right,
> - mach_port_t *namep)
> + mach_port_name_t *namep)
> {
> kern_return_t kr;
>
> @@ -538,8 +538,8 @@ static volatile boolean_t mach_port_deallocate_debug =
> FALSE;
>
> kern_return_t
> mach_port_destroy(
> - ipc_space_t space,
> - mach_port_t name)
> + ipc_space_t space,
> + mach_port_name_t name)
> {
> ipc_entry_t entry;
> kern_return_t kr;
> @@ -582,8 +582,8 @@ mach_port_destroy(
>
> kern_return_t
> mach_port_deallocate(
> - ipc_space_t space,
> - mach_port_t name)
> + ipc_space_t space,
> + mach_port_name_t name)
> {
> ipc_entry_t entry;
> kern_return_t kr;
> @@ -626,7 +626,7 @@ mach_port_deallocate(
> kern_return_t
> mach_port_get_refs(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_port_right_t right,
> mach_port_urefs_t *urefsp)
> {
> @@ -700,7 +700,7 @@ mach_port_get_refs(
> kern_return_t
> mach_port_mod_refs(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_port_right_t right,
> mach_port_delta_t delta)
> {
> @@ -717,7 +717,7 @@ mach_port_mod_refs(
> if (kr != KERN_SUCCESS) {
> if (MACH_PORT_VALID (name) && space == current_space()) {
> printf("task %.*s %screasing a bogus port "
> - "%lu by %d, most probably a bug.\n",
> + "%u by %d, most probably a bug.\n",
> (int) (sizeof current_task()->name),
> current_task()->name,
> delta < 0 ? "de" : "in", name,
> @@ -753,7 +753,7 @@ mach_port_mod_refs(
> kern_return_t
> mach_port_set_qlimit(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_port_msgcount_t qlimit)
> {
> ipc_port_t port;
> @@ -793,7 +793,7 @@ mach_port_set_qlimit(
> kern_return_t
> mach_port_set_mscount(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_port_mscount_t mscount)
> {
> ipc_port_t port;
> @@ -830,7 +830,7 @@ mach_port_set_mscount(
> kern_return_t
> mach_port_set_seqno(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_port_seqno_t seqno)
> {
> ipc_port_t port;
> @@ -861,11 +861,11 @@ mach_port_gst_helper(
> ipc_pset_t pset,
> ipc_port_t port,
> ipc_entry_num_t maxnames,
> - mach_port_t *names,
> + mach_port_name_t *names,
> ipc_entry_num_t *actualp)
> {
> ipc_pset_t ip_pset;
> - mach_port_t name;
> + mach_port_name_t name;
>
> assert(port != IP_NULL);
>
> @@ -907,8 +907,8 @@ mach_port_gst_helper(
> kern_return_t
> mach_port_get_set_status(
> ipc_space_t space,
> - mach_port_t name,
> - mach_port_t **members,
> + mach_port_name_t name,
> + mach_port_name_t **members,
> mach_msg_type_number_t *membersCnt)
> {
> ipc_entry_num_t actual; /* this many members */
> @@ -926,7 +926,7 @@ mach_port_get_set_status(
>
> for (;;) {
> ipc_entry_t entry;
> - mach_port_t *names;
> + mach_port_name_t *names;
> ipc_pset_t pset;
>
> kr = vm_allocate(ipc_kernel_map, &addr, size, TRUE);
> @@ -958,7 +958,7 @@ mach_port_get_set_status(
> assert(pset != IPS_NULL);
> /* the port set must be active */
>
> - names = (mach_port_t *) addr;
> + names = (mach_port_name_t *) addr;
> maxnames = size / sizeof(mach_port_t);
> actual = 0;
>
> @@ -984,7 +984,7 @@ mach_port_get_set_status(
> /* didn't have enough memory; allocate more */
>
> kmem_free(ipc_kernel_map, addr, size);
> - size = round_page(actual * sizeof(mach_port_t)) + PAGE_SIZE;
> + size = round_page(actual * sizeof(mach_port_name_t)) +
> PAGE_SIZE;
> }
>
> if (actual == 0) {
> @@ -994,7 +994,7 @@ mach_port_get_set_status(
> } else {
> vm_size_t size_used;
>
> - size_used = round_page(actual * sizeof(mach_port_t));
> + size_used = round_page(actual * sizeof(mach_port_name_t));
>
> /*
> * Make used memory pageable and get it into
> @@ -1015,7 +1015,7 @@ mach_port_get_set_status(
> addr + size_used, size - size_used);
> }
>
> - *members = (mach_port_t *) memory;
> + *members = (mach_port_name_t *) memory;
> *membersCnt = actual;
> return KERN_SUCCESS;
> }
> @@ -1044,7 +1044,7 @@ mach_port_get_set_status(
> kern_return_t
> mach_port_move_member(
> ipc_space_t space,
> - mach_port_t member,
> + mach_port_name_t member,
> mach_port_t after)
> {
> ipc_entry_t entry;
> @@ -1138,7 +1138,7 @@ mach_port_move_member(
> kern_return_t
> mach_port_request_notification(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_msg_id_t id,
> mach_port_mscount_t sync,
> ipc_port_t notify,
> @@ -1222,7 +1222,7 @@ mach_port_request_notification(
> kern_return_t
> mach_port_insert_right(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_port_t poly,
> mach_msg_type_name_t polyPoly)
> {
> @@ -1296,7 +1296,7 @@ mach_port_extract_right(
> kern_return_t
> mach_port_get_receive_status(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_port_status_t *statusp)
> {
> ipc_port_t port;
> @@ -1350,7 +1350,7 @@ mach_port_get_receive_status(
> kern_return_t
> mach_port_set_rpcinfo(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> void *rpc_info,
> unsigned int rpc_info_count)
> {
> @@ -1394,7 +1394,7 @@ void sact_count(void)
> kern_return_t
> mach_port_create_act(
> task_t task,
> - mach_port_t name,
> + mach_port_name_t name,
> vm_offset_t user_stack,
> vm_offset_t user_rbuf,
> vm_size_t user_rbuf_size,
> @@ -1467,7 +1467,7 @@ mach_port_create_act(
> kern_return_t
> mach_port_set_syscall_right(
> task_t task,
> - mach_port_t name)
> + mach_port_name_t name)
> {
> ipc_entry_t entry;
> kern_return_t kr;
> @@ -1511,7 +1511,7 @@ mach_port_set_syscall_right(
> kern_return_t
> mach_port_set_protected_payload(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> unsigned long payload)
> {
> ipc_port_t port;
> @@ -1548,7 +1548,7 @@ mach_port_set_protected_payload(
> kern_return_t
> mach_port_clear_protected_payload(
> ipc_space_t space,
> - mach_port_t name)
> + mach_port_name_t name)
> {
> ipc_port_t port;
> kern_return_t kr;
> diff --git a/ipc/mach_port.h b/ipc/mach_port.h
> index 073f7946..83641ae6 100644
> --- a/ipc/mach_port.h
> +++ b/ipc/mach_port.h
> @@ -34,35 +34,35 @@ extern kern_return_t
> mach_port_allocate_name (
> ipc_space_t space,
> mach_port_right_t right,
> - mach_port_t name);
> + mach_port_name_t name);
>
> extern kern_return_t
> mach_port_allocate (
> ipc_space_t space,
> mach_port_right_t right,
> - mach_port_t *namep);
> + mach_port_name_t *namep);
>
> extern kern_return_t
> mach_port_destroy(
> ipc_space_t space,
> - mach_port_t name);
> + mach_port_name_t name);
>
> extern kern_return_t
> mach_port_deallocate(
> ipc_space_t space,
> - mach_port_t name);
> + mach_port_name_t name);
>
> extern kern_return_t
> mach_port_insert_right(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> ipc_port_t poly,
> mach_msg_type_name_t polyPoly);
>
> kern_return_t
> mach_port_get_receive_status(
> ipc_space_t space,
> - mach_port_t name,
> + mach_port_name_t name,
> mach_port_status_t *statusp);
>
> #if MACH_KDB
> diff --git a/ipc/mach_rpc.c b/ipc/mach_rpc.c
> index 6ca46cc9..7b747f79 100644
> --- a/ipc/mach_rpc.c
> +++ b/ipc/mach_rpc.c
> @@ -105,7 +105,7 @@ mach_port_rpc_copy(
>
> tname = ipc_object_copyin_type(portp->msgt_name);
> if (!IO_VALID(iname)) {
> - portp->name = (mach_port_t) iname;
> + portp->name = (mach_port_name_t) iname;
> portp->msgt_name = tname;
> #ifdef DEBUG_MPRC
> printf("iport %x invalid\n", iname);
> @@ -114,7 +114,7 @@ mach_port_rpc_copy(
> }
>
> if (ISKERNELACT(dact)) {
> - portp->name = (mach_port_t) iname;
> + portp->name = (mach_port_name_t) iname;
> kr = KERN_SUCCESS;
> } else {
> kr = ipc_object_copyout(dspace, iname, tname, TRUE,
> diff --git a/kern/exception.c b/kern/exception.c
> index 6a812490..2ff122f2 100644
> --- a/kern/exception.c
> +++ b/kern/exception.c
> @@ -269,9 +269,9 @@ exception_no_server(void)
> struct mach_exception {
> mach_msg_header_t Head;
> mach_msg_type_t threadType;
> - mach_port_t thread;
> + mach_port_name_t thread;
> mach_msg_type_t taskType;
> - mach_port_t task;
> + mach_port_name_t task;
> mach_msg_type_t exceptionType;
> integer_t exception;
> mach_msg_type_t codeType;
> @@ -607,10 +607,12 @@ exception_raise(
> {
> kern_return_t kr;
> ipc_entry_t entry;
> + mach_port_name_t port_name;
>
> - kr = ipc_entry_get (space, &exc->Head.msgh_remote_port, &entry);
> + kr = ipc_entry_get (space, &port_name, &entry);
> if (kr)
> goto abort_copyout;
> + exc->Head.msgh_remote_port = (mach_port_t) port_name;
> {
> mach_port_gen_t gen;
>
> diff --git a/kern/ipc_mig.c b/kern/ipc_mig.c
> index 22dac420..611ccee9 100644
> --- a/kern/ipc_mig.c
> +++ b/kern/ipc_mig.c
> @@ -145,9 +145,9 @@ mach_msg(
> mach_msg_option_t option,
> mach_msg_size_t send_size,
> mach_msg_size_t rcv_size,
> - mach_port_t rcv_name,
> + mach_port_name_t rcv_name,
> mach_msg_timeout_t time_out,
> - mach_port_t notify)
> + mach_port_name_t notify)
> {
> ipc_space_t space = current_space();
> vm_map_t map = current_map();
> @@ -230,7 +230,7 @@ mach_msg(
> * mach_msg() calls which are kernel calls.
> */
>
> -mach_port_t
> +mach_port_name_t
> mig_get_reply_port(void)
> {
> ipc_thread_t self = current_thread();
> @@ -334,7 +334,7 @@ MACRO_BEGIN
> \
> MACRO_END
>
> device_t
> -port_name_to_device(mach_port_t name)
> +port_name_to_device(mach_port_name_t name)
> {
> ipc_port_t port;
> device_t device;
> @@ -377,7 +377,7 @@ port_name_to_device(mach_port_t name)
> }
>
> thread_t
> -port_name_to_thread(mach_port_t name)
> +port_name_to_thread(mach_port_name_t name)
> {
> ipc_port_t port;
>
> @@ -422,7 +422,7 @@ port_name_to_thread(mach_port_t name)
> }
>
> task_t
> -port_name_to_task(mach_port_t name)
> +port_name_to_task(mach_port_name_t name)
> {
> ipc_port_t port;
>
> @@ -470,7 +470,7 @@ port_name_to_task(mach_port_t name)
>
> vm_map_t
> port_name_to_map(
> - mach_port_t name)
> + mach_port_name_t name)
> {
> ipc_port_t port;
>
> @@ -517,7 +517,7 @@ port_name_to_map(
> }
>
> ipc_space_t
> -port_name_to_space(mach_port_t name)
> +port_name_to_space(mach_port_name_t name)
> {
> ipc_port_t port;
>
> @@ -573,7 +573,7 @@ port_name_to_space(mach_port_t name)
> */
>
> kern_return_t thread_get_state_KERNEL(
> - mach_port_t thread_port, /* port right for thread */
> + mach_port_name_t thread_port, /* port right for thread */
> int flavor,
> thread_state_t old_state, /* pointer to OUT array */
> natural_t *old_state_count) /* IN/OUT */
> @@ -619,12 +619,12 @@ kern_return_t thread_set_state_KERNEL(
>
> kern_return_t
> syscall_vm_map(
> - mach_port_t target_map,
> + mach_port_name_t target_map,
> vm_offset_t *address,
> vm_size_t size,
> vm_offset_t mask,
> boolean_t anywhere,
> - mach_port_t memory_object,
> + mach_port_name_t memory_object,
> vm_offset_t offset,
> boolean_t copy,
> vm_prot_t cur_protection,
> @@ -665,7 +665,7 @@ syscall_vm_map(
> }
>
> kern_return_t syscall_vm_allocate(
> - mach_port_t target_map,
> + mach_port_name_t target_map,
> vm_offset_t *address,
> vm_size_t size,
> boolean_t anywhere)
> @@ -688,7 +688,7 @@ kern_return_t syscall_vm_allocate(
> }
>
> kern_return_t syscall_vm_deallocate(
> - mach_port_t target_map,
> + mach_port_name_t target_map,
> vm_offset_t start,
> vm_size_t size)
> {
> @@ -706,13 +706,13 @@ kern_return_t syscall_vm_deallocate(
> }
>
> kern_return_t syscall_task_create(
> - mach_port_t parent_task,
> - boolean_t inherit_memory,
> - mach_port_t *child_task) /* OUT */
> + mach_port_name_t parent_task,
> + boolean_t inherit_memory,
> + mach_port_name_t *child_task) /* OUT */
> {
> task_t t, c;
> ipc_port_t port;
> - mach_port_t name;
> + mach_port_name_t name;
> kern_return_t result;
>
> t = port_name_to_task(parent_task);
> @@ -726,15 +726,14 @@ kern_return_t syscall_task_create(
> (void) ipc_kmsg_copyout_object(current_space(),
> (ipc_object_t) port,
> MACH_MSG_TYPE_PORT_SEND, &name);
> - copyout(&name, child_task,
> - sizeof(mach_port_t));
> + copyout(&name, child_task, sizeof(mach_port_name_t));
> }
> task_deallocate(t);
>
> return result;
> }
>
> -kern_return_t syscall_task_terminate(mach_port_t task)
> +kern_return_t syscall_task_terminate(mach_port_name_t task)
> {
> task_t t;
> kern_return_t result;
> @@ -749,7 +748,7 @@ kern_return_t syscall_task_terminate(mach_port_t task)
> return result;
> }
>
> -kern_return_t syscall_task_suspend(mach_port_t task)
> +kern_return_t syscall_task_suspend(mach_port_name_t task)
> {
> task_t t;
> kern_return_t result;
> @@ -765,9 +764,9 @@ kern_return_t syscall_task_suspend(mach_port_t task)
> }
>
> kern_return_t syscall_task_set_special_port(
> - mach_port_t task,
> + mach_port_name_t task,
> int which_port,
> - mach_port_t port_name)
> + mach_port_name_t port_name)
> {
> task_t t;
> ipc_port_t port;
> @@ -798,12 +797,12 @@ kern_return_t syscall_task_set_special_port(
>
> kern_return_t
> syscall_mach_port_allocate(
> - mach_port_t task,
> + mach_port_name_t task,
> mach_port_right_t right,
> - mach_port_t *namep)
> + mach_port_name_t *namep)
> {
> ipc_space_t space;
> - mach_port_t name;
> + mach_port_name_t name;
> kern_return_t kr;
>
> space = port_name_to_space(task);
> @@ -812,7 +811,7 @@ syscall_mach_port_allocate(
>
> kr = mach_port_allocate(space, right, &name);
> if (kr == KERN_SUCCESS)
> - copyout(&name, namep, sizeof(mach_port_t));
> + copyout(&name, namep, sizeof(mach_port_name_t));
> is_release(space);
>
> return kr;
> @@ -820,9 +819,9 @@ syscall_mach_port_allocate(
>
> kern_return_t
> syscall_mach_port_allocate_name(
> - mach_port_t task,
> + mach_port_name_t task,
> mach_port_right_t right,
> - mach_port_t name)
> + mach_port_name_t name)
> {
> ipc_space_t space;
> kern_return_t kr;
> @@ -839,8 +838,8 @@ syscall_mach_port_allocate_name(
>
> kern_return_t
> syscall_mach_port_deallocate(
> - mach_port_t task,
> - mach_port_t name)
> + mach_port_name_t task,
> + mach_port_name_t name)
> {
> ipc_space_t space;
> kern_return_t kr;
> @@ -857,9 +856,9 @@ syscall_mach_port_deallocate(
>
> kern_return_t
> syscall_mach_port_insert_right(
> - mach_port_t task,
> - mach_port_t name,
> - mach_port_t right,
> + mach_port_name_t task,
> + mach_port_name_t name,
> + mach_port_name_t right,
> mach_msg_type_name_t rightType)
> {
> ipc_space_t space;
> @@ -895,7 +894,7 @@ syscall_mach_port_insert_right(
> return kr;
> }
>
> -kern_return_t syscall_thread_depress_abort(mach_port_t thread)
> +kern_return_t syscall_thread_depress_abort(mach_port_name_t thread)
> {
> thread_t t;
> kern_return_t result;
> @@ -914,8 +913,8 @@ kern_return_t syscall_thread_depress_abort(mach_port_t
> thread)
> * Device traps -- these are way experimental.
> */
> io_return_t
> -syscall_device_write_request(mach_port_t device_name,
> - mach_port_t reply_name,
> +syscall_device_write_request(mach_port_name_t device_name,
> + mach_port_name_t reply_name,
> dev_mode_t mode,
> recnum_t recnum,
> vm_offset_t data,
> @@ -965,8 +964,8 @@ syscall_device_write_request(mach_port_t device_name,
> }
>
> io_return_t
> -syscall_device_writev_request(mach_port_t device_name,
> - mach_port_t reply_name,
> +syscall_device_writev_request(mach_port_name_t device_name,
> + mach_port_name_t reply_name,
> dev_mode_t mode,
> recnum_t recnum,
> io_buf_vec_t *iovec,
> diff --git a/kern/ipc_mig.h b/kern/ipc_mig.h
> index 6f063eca..469f629c 100644
> --- a/kern/ipc_mig.h
> +++ b/kern/ipc_mig.h
> @@ -64,12 +64,12 @@ extern mach_msg_return_t mach_msg_rpc_from_kernel(
> mach_msg_size_t reply_size);
>
> extern kern_return_t syscall_vm_map(
> - mach_port_t target_map,
> + mach_port_name_t target_map,
> vm_offset_t *address,
> vm_size_t size,
> vm_offset_t mask,
> boolean_t anywhere,
> - mach_port_t memory_object,
> + mach_port_name_t memory_object,
> vm_offset_t offset,
> boolean_t copy,
> vm_prot_t cur_protection,
> @@ -77,63 +77,63 @@ extern kern_return_t syscall_vm_map(
> vm_inherit_t inheritance);
>
> extern kern_return_t syscall_vm_allocate(
> - mach_port_t target_map,
> + mach_port_name_t target_map,
> vm_offset_t *address,
> vm_size_t size,
> boolean_t anywhere);
>
> extern kern_return_t syscall_vm_deallocate(
> - mach_port_t target_map,
> + mach_port_name_t target_map,
> vm_offset_t start,
> vm_size_t size);
>
> extern kern_return_t syscall_task_create(
> - mach_port_t parent_task,
> - boolean_t inherit_memory,
> - mach_port_t *child_task);
> + mach_port_name_t parent_task,
> + boolean_t inherit_memory,
> + mach_port_name_t *child_task);
>
> -extern kern_return_t syscall_task_terminate(mach_port_t task);
> +extern kern_return_t syscall_task_terminate(mach_port_name_t task);
>
> -extern kern_return_t syscall_task_suspend(mach_port_t task);
> +extern kern_return_t syscall_task_suspend(mach_port_name_t task);
>
> extern kern_return_t syscall_task_set_special_port(
> - mach_port_t task,
> + mach_port_name_t task,
> int which_port,
> - mach_port_t port_name);
> + mach_port_name_t port_name);
>
> extern kern_return_t syscall_mach_port_allocate(
> - mach_port_t task,
> - mach_port_right_t right,
> - mach_port_t *namep);
> + mach_port_name_t task,
> + mach_port_right_t right,
> + mach_port_name_t *namep);
>
> extern kern_return_t syscall_mach_port_deallocate(
> - mach_port_t task,
> - mach_port_t name);
> + mach_port_name_t task,
> + mach_port_name_t name);
>
> extern kern_return_t syscall_mach_port_insert_right(
> - mach_port_t task,
> - mach_port_t name,
> - mach_port_t right,
> + mach_port_name_t task,
> + mach_port_name_t name,
> + mach_port_name_t right,
> mach_msg_type_name_t rightType);
>
> extern kern_return_t syscall_mach_port_allocate_name(
> - mach_port_t task,
> - mach_port_right_t right,
> - mach_port_t name);
> + mach_port_name_t task,
> + mach_port_right_t right,
> + mach_port_name_t name);
>
> -extern kern_return_t syscall_thread_depress_abort(mach_port_t thread);
> +extern kern_return_t syscall_thread_depress_abort(mach_port_name_t thread);
>
> extern io_return_t syscall_device_write_request(
> - mach_port_t device_name,
> - mach_port_t reply_name,
> - dev_mode_t mode,
> - recnum_t recnum,
> - vm_offset_t data,
> - vm_size_t data_count);
> + mach_port_name_t device_name,
> + mach_port_name_t reply_name,
> + dev_mode_t mode,
> + recnum_t recnum,
> + vm_offset_t data,
> + vm_size_t data_count);
>
> io_return_t syscall_device_writev_request(
> - mach_port_t device_name,
> - mach_port_t reply_name,
> + mach_port_name_t device_name,
> + mach_port_name_t reply_name,
> dev_mode_t mode,
> recnum_t recnum,
> io_buf_vec_t *iovec,
> diff --git a/kern/ipc_tt.c b/kern/ipc_tt.c
> index 04a5a92f..0b10204c 100644
> --- a/kern/ipc_tt.c
> +++ b/kern/ipc_tt.c
> @@ -554,11 +554,11 @@ mach_thread_self(void)
> * or other errors.
> */
>
> -mach_port_t
> +mach_port_name_t
> mach_reply_port(void)
> {
> ipc_port_t port;
> - mach_port_t name;
> + mach_port_name_t name;
> kern_return_t kr;
>
> kr = ipc_port_alloc(current_task()->itk_space, &name, &port);
> diff --git a/kern/ipc_tt.h b/kern/ipc_tt.h
> index 78cb43ad..5c667387 100644
> --- a/kern/ipc_tt.h
> +++ b/kern/ipc_tt.h
> @@ -86,7 +86,7 @@ convert_port_to_space(struct ipc_port *);
> extern void
> space_deallocate(ipc_space_t);
>
> -mach_port_t
> +mach_port_name_t
> mach_reply_port (void);
>
> #endif /* _KERN_IPC_TT_H_ */
> diff --git a/kern/thread.h b/kern/thread.h
> index ddf4e1da..da8bd2ed 100644
> --- a/kern/thread.h
> +++ b/kern/thread.h
> @@ -172,7 +172,7 @@ struct thread {
> struct ipc_port *ith_sself; /* a send right */
> struct ipc_port *ith_exception; /* a send right */
>
> - mach_port_t ith_mig_reply; /* reply port for mig */
> + mach_port_name_t ith_mig_reply; /* reply port for mig */
> struct ipc_port *ith_rpc_reply; /* reply port for kernel RPCs */
>
> /* State saved when thread's stack is discarded */
> @@ -182,7 +182,7 @@ struct thread {
> mach_msg_option_t option;
> mach_msg_size_t rcv_size;
> mach_msg_timeout_t timeout;
> - mach_port_t notify;
> + mach_port_name_t notify;
> struct ipc_object *object;
> struct ipc_mqueue *mqueue;
> } receive;
> --
> 2.37.2
>
>
--
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.