From 92fad38a043b75ed6b435b3efa574ede91dbe9ee Mon Sep 17 00:00:00 2001 From: Flavio Cruz Date: Wed, 11 Jan 2023 23:22:53 -0500 Subject: Use rpc_uintptr_t for protected payloads. Not only is uintptr_t more accurate for what protected payloads are but we also provide compatibility for 64 + 32 bits. Also the use of natural_t in the RPC definition is wrong since it is always 32 bits. Message-Id: --- ipc/ipc_kmsg.c | 8 ++++---- ipc/ipc_port.c | 2 +- ipc/ipc_port.h | 4 ++-- ipc/mach_msg.c | 6 +++--- ipc/mach_port.c | 2 +- ipc/mach_port.h | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) (limited to 'ipc') diff --git a/ipc/ipc_kmsg.c b/ipc/ipc_kmsg.c index 73041703..62e138c7 100644 --- a/ipc/ipc_kmsg.c +++ b/ipc/ipc_kmsg.c @@ -1727,7 +1727,7 @@ ipc_kmsg_copyout_header( case MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND, 0): { mach_port_name_t dest_name; ipc_port_t nsrequest; - unsigned long payload; + rpc_uintptr_t payload; /* receiving an asynchronous message */ @@ -1780,7 +1780,7 @@ ipc_kmsg_copyout_header( ipc_port_t reply = (ipc_port_t) msg->msgh_local_port; mach_port_name_t dest_name, reply_name; ipc_port_t nsrequest; - unsigned long payload; + rpc_uintptr_t payload; /* receiving a request message */ @@ -1882,7 +1882,7 @@ ipc_kmsg_copyout_header( case MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, 0): { mach_port_name_t dest_name; - unsigned long payload; + rpc_uintptr_t payload; /* receiving a reply message */ @@ -1936,7 +1936,7 @@ ipc_kmsg_copyout_header( 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_name_t dest_name, reply_name; - unsigned long payload; + rpc_uintptr_t payload; if (IP_VALID(reply)) { ipc_port_t notify_port; diff --git a/ipc/ipc_port.c b/ipc/ipc_port.c index a0006cf4..c593e8b3 100644 --- a/ipc/ipc_port.c +++ b/ipc/ipc_port.c @@ -431,7 +431,7 @@ ipc_port_set_seqno( */ void -ipc_port_set_protected_payload(ipc_port_t port, unsigned long payload) +ipc_port_set_protected_payload(ipc_port_t port, rpc_uintptr_t payload) { ipc_mqueue_t mqueue; diff --git a/ipc/ipc_port.h b/ipc/ipc_port.h index b0433876..022921f7 100644 --- a/ipc/ipc_port.h +++ b/ipc/ipc_port.h @@ -97,7 +97,7 @@ struct ipc_port { mach_port_msgcount_t ip_msgcount; mach_port_msgcount_t ip_qlimit; struct ipc_thread_queue ip_blocked; - unsigned long ip_protected_payload; + rpc_uintptr_t ip_protected_payload; }; #define ip_object ip_target.ipt_object @@ -264,7 +264,7 @@ extern void ipc_port_set_seqno(ipc_port_t, mach_port_seqno_t); extern void -ipc_port_set_protected_payload(ipc_port_t, unsigned long); +ipc_port_set_protected_payload(ipc_port_t, rpc_uintptr_t); extern void ipc_port_clear_protected_payload(ipc_port_t); diff --git a/ipc/mach_msg.c b/ipc/mach_msg.c index 420e2a26..f15164a3 100644 --- a/ipc/mach_msg.c +++ b/ipc/mach_msg.c @@ -951,7 +951,7 @@ mach_msg_trap( ipc_port_t reply_port = (ipc_port_t) kmsg->ikm_header.msgh_local_port; mach_port_name_t dest_name, reply_name; - unsigned long payload; + rpc_uintptr_t payload; /* receiving a request message */ @@ -1056,7 +1056,7 @@ mach_msg_trap( case MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, 0): { mach_port_name_t dest_name; - unsigned long payload; + rpc_uintptr_t payload; /* receiving a reply message */ @@ -1101,7 +1101,7 @@ mach_msg_trap( case MACH_MSGH_BITS_COMPLEX| MACH_MSGH_BITS(MACH_MSG_TYPE_PORT_SEND_ONCE, 0): { mach_port_name_t dest_name; - unsigned long payload; + rpc_uintptr_t payload; /* receiving a complex reply message */ diff --git a/ipc/mach_port.c b/ipc/mach_port.c index 1c9cdc97..6edf9f88 100644 --- a/ipc/mach_port.c +++ b/ipc/mach_port.c @@ -1511,7 +1511,7 @@ kern_return_t mach_port_set_protected_payload( ipc_space_t space, mach_port_name_t name, - unsigned long payload) + rpc_uintptr_t payload) { ipc_port_t port; kern_return_t kr; diff --git a/ipc/mach_port.h b/ipc/mach_port.h index c93c48df..ec260b31 100644 --- a/ipc/mach_port.h +++ b/ipc/mach_port.h @@ -157,7 +157,7 @@ kern_return_t mach_port_set_protected_payload( ipc_space_t space, mach_port_name_t name, - unsigned long payload); + rpc_uintptr_t payload); kern_return_t mach_port_clear_protected_payload( -- cgit v1.2.3