summaryrefslogtreecommitdiff
path: root/i386
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2023-12-03 02:05:44 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-12-03 02:05:44 +0100
commit3af20238bf9b834b213f5aa9d0278fe13bd69b3c (patch)
tree13665bcfa28100308ce2e3e58778bec104abfa39 /i386
parentab250d41152edc262ef3783224e51ba8125ebd52 (diff)
Revert "x86_64: Support 8 byte inlined port rights to avoid message resizing."
This reverts commit 29d4bcaafc4c2040df27a6247603c68e7757205c.
Diffstat (limited to 'i386')
-rw-r--r--i386/i386/copy_user.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/i386/i386/copy_user.h b/i386/i386/copy_user.h
index 3d1c7278..5cdbfa80 100644
--- a/i386/i386/copy_user.h
+++ b/i386/i386/copy_user.h
@@ -87,14 +87,16 @@ static inline int copyout_port(const mach_port_t *kaddr, mach_port_name_t *uaddr
#endif /* __x86_64__ */
}
-#if defined(__x86_64__) && defined(USER32)
-/* For 32 bit userland, kernel and user land messages are not the same size. */
-size_t msg_usize(const mach_msg_header_t *kmsg);
-#else
+// XXX we could add another field to kmsg to store the user-side size, but then we
+// should check if we can obtain it for rpc and notifications originating from
+// the kernel
+#ifndef __x86_64__
static inline size_t msg_usize(const mach_msg_header_t *kmsg)
{
return kmsg->msgh_size;
}
-#endif /* __x86_64__ && USER32 */
+#else /* __x86_64__ */
+size_t msg_usize(const mach_msg_header_t *kmsg);
+#endif /* __x86_64__ */
#endif /* COPY_USER_H */