diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-04-05 15:13:56 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-04-05 15:13:56 +0200 |
commit | 1a082bcdb70868c22a23120aeb2b0fbfee1e2240 (patch) | |
tree | 87262eec3c1f1ab1cfd317237ce96323aabc58e2 /debian/patches | |
parent | 62545ca89c4ea5a64b7bf1d17b7e6c404606f47e (diff) |
refresh protected_payload.patch
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/protected_payload.patch | 73 |
1 files changed, 55 insertions, 18 deletions
diff --git a/debian/patches/protected_payload.patch b/debian/patches/protected_payload.patch index 71f6b1e..f3bb45d 100644 --- a/debian/patches/protected_payload.patch +++ b/debian/patches/protected_payload.patch @@ -218,11 +218,48 @@ index f78e978..0a7297e 100644 /* * A dummy value. Mostly used to indicate that the actual value +diff --git a/include/mach/notify.defs b/include/mach/notify.defs +index e06f6b4..37229a4 100644 +--- a/include/mach/notify.defs ++++ b/include/mach/notify.defs +@@ -28,6 +28,10 @@ subsystem notify 64; + + #include <mach/std_types.defs> + ++#ifdef NOTIFY_IMPORTS ++NOTIFY_IMPORTS ++#endif ++ + #if SEQNOS + serverprefix do_seqnos_; + serverdemux seqnos_notify_server; +@@ -37,7 +41,20 @@ serverdemux notify_server; + #endif SEQNOS + + type notify_port_t = MACH_MSG_TYPE_MOVE_SEND_ONCE +- ctype: mach_port_t; ++ ctype: mach_port_t ++#ifdef NOTIFY_INTRAN ++ intran: NOTIFY_INTRAN ++#endif ++#ifdef NOTIFY_INTRAN_PAYLOAD ++ intranpayload: NOTIFY_INTRAN_PAYLOAD ++#endif ++#ifdef NOTIFY_OUTTRAN ++ outtran: NOTIFY_OUTTRAN ++#endif ++#ifdef NOTIFY_DESTRUCTOR ++ destructor: NOTIFY_DESTRUCTOR ++#endif ++; + + /* MACH_NOTIFY_FIRST: 0100 */ + skip; diff --git a/ipc/ipc_kmsg.c b/ipc/ipc_kmsg.c -index 0e43410..2190e30 100644 +index 06cec72..71a0d74 100644 --- a/ipc/ipc_kmsg.c +++ b/ipc/ipc_kmsg.c -@@ -1802,9 +1802,17 @@ ipc_kmsg_copyout_header(msg, space, notify) +@@ -1799,9 +1799,17 @@ ipc_kmsg_copyout_header( } else ip_unlock(dest); @@ -243,7 +280,7 @@ index 0e43410..2190e30 100644 msg->msgh_remote_port = MACH_PORT_NULL; return MACH_MSG_SUCCESS; } -@@ -1900,10 +1908,18 @@ ipc_kmsg_copyout_header(msg, space, notify) +@@ -1897,10 +1905,18 @@ ipc_kmsg_copyout_header( } else ip_unlock(dest); @@ -266,7 +303,7 @@ index 0e43410..2190e30 100644 msg->msgh_remote_port = reply_name; return MACH_MSG_SUCCESS; } -@@ -1935,9 +1951,18 @@ ipc_kmsg_copyout_header(msg, space, notify) +@@ -1932,9 +1948,18 @@ ipc_kmsg_copyout_header( dest_name = MACH_PORT_NULL; } @@ -288,7 +325,7 @@ index 0e43410..2190e30 100644 msg->msgh_remote_port = MACH_PORT_NULL; return MACH_MSG_SUCCESS; } -@@ -2227,9 +2252,16 @@ ipc_kmsg_copyout_header(msg, space, notify) +@@ -2224,9 +2249,16 @@ ipc_kmsg_copyout_header( if (IP_VALID(reply)) ipc_port_release(reply); @@ -336,10 +373,10 @@ index adf5bca..b83bb5a 100644 #define io_active(io) ((int)(io)->io_bits < 0) /* hack */ diff --git a/ipc/ipc_port.c b/ipc/ipc_port.c -index d4ade8e..7ddbd1b 100644 +index 78211e6..89a5d67 100644 --- a/ipc/ipc_port.c +++ b/ipc/ipc_port.c -@@ -425,6 +425,44 @@ ipc_port_set_seqno(port, seqno) +@@ -423,6 +423,44 @@ ipc_port_set_seqno( } /* @@ -384,7 +421,7 @@ index d4ade8e..7ddbd1b 100644 * Routine: ipc_port_clear_receiver * Purpose: * Prepares a receive right for transmission/destruction. -@@ -493,6 +531,8 @@ ipc_port_init( +@@ -491,6 +529,8 @@ ipc_port_init( port->ip_seqno = 0; port->ip_msgcount = 0; port->ip_qlimit = MACH_PORT_QLIMIT_DEFAULT; @@ -393,7 +430,7 @@ index d4ade8e..7ddbd1b 100644 ipc_mqueue_init(&port->ip_messages); ipc_thread_queue_init(&port->ip_blocked); -@@ -615,6 +655,7 @@ ipc_port_destroy( +@@ -613,6 +653,7 @@ ipc_port_destroy( /* make port be in limbo */ port->ip_receiver_name = MACH_PORT_NULL; port->ip_destination = IP_NULL; @@ -401,7 +438,7 @@ index d4ade8e..7ddbd1b 100644 ip_unlock(port); if (!ipc_port_check_circularity(port, pdrequest)) { -@@ -1218,6 +1259,11 @@ ipc_port_print(port) +@@ -1215,6 +1256,11 @@ ipc_port_print(port) indent += 2; @@ -413,7 +450,7 @@ index d4ade8e..7ddbd1b 100644 ipc_object_print(&port->ip_object); iprintf("receiver=0x%x", port->ip_receiver); printf(", receiver_name=0x%x\n", port->ip_receiver_name); -@@ -1240,6 +1286,8 @@ ipc_port_print(port) +@@ -1237,6 +1283,8 @@ ipc_port_print(port) printf(", sndrs=0x%x", port->ip_blocked.ithq_base); printf(", kobj=0x%x\n", port->ip_kobject); @@ -480,7 +517,7 @@ index 27d2e49..125fefc 100644 + #endif /* _IPC_IPC_PORT_H_ */ diff --git a/ipc/ipc_right.c b/ipc/ipc_right.c -index 41fe3de..dbeacff 100644 +index 77a68ce..503eb1f 100644 --- a/ipc/ipc_right.c +++ b/ipc/ipc_right.c @@ -1432,6 +1432,12 @@ ipc_right_copyin( @@ -510,10 +547,10 @@ index 41fe3de..dbeacff 100644 if (bits & MACH_PORT_TYPE_SEND) { diff --git a/ipc/mach_msg.c b/ipc/mach_msg.c -index 78247a4..783b2b4 100644 +index 01d974b..1e122c7 100644 --- a/ipc/mach_msg.c +++ b/ipc/mach_msg.c -@@ -1132,11 +1132,19 @@ mach_msg_trap(msg, option, send_size, rcv_size, rcv_name, time_out, notify) +@@ -1132,11 +1132,19 @@ mach_msg_trap( } else ip_unlock(dest_port); @@ -537,7 +574,7 @@ index 78247a4..783b2b4 100644 goto fast_put; abort_request_copyout: -@@ -1170,11 +1178,19 @@ mach_msg_trap(msg, option, send_size, rcv_size, rcv_name, time_out, notify) +@@ -1170,11 +1178,19 @@ mach_msg_trap( dest_name = MACH_PORT_NULL; } @@ -561,7 +598,7 @@ index 78247a4..783b2b4 100644 goto fast_put; } -@@ -1204,12 +1220,23 @@ mach_msg_trap(msg, option, send_size, rcv_size, rcv_name, time_out, notify) +@@ -1204,12 +1220,23 @@ mach_msg_trap( dest_name = MACH_PORT_NULL; } @@ -591,10 +628,10 @@ index 78247a4..783b2b4 100644 mr = ipc_kmsg_copyout_body( (vm_offset_t) (&kmsg->ikm_header + 1), diff --git a/ipc/mach_port.c b/ipc/mach_port.c -index 13572a1..057278b 100644 +index 4a4efcc..4ff39f2 100644 --- a/ipc/mach_port.c +++ b/ipc/mach_port.c -@@ -1564,3 +1564,76 @@ mach_port_set_syscall_right(task, name) +@@ -1564,3 +1564,76 @@ mach_port_set_syscall_right( } #endif #endif /* MIGRATING_THREADS */ |