diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-08-18 11:32:15 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-08-20 18:59:44 +0200 |
commit | 803f226e749138713b5c767b1a108544ce5e0baf (patch) | |
tree | 1871c1ae3c86bc896a3cae7880403feb7ea04bc0 /ipc/ipc_port.h | |
parent | 85ec6f573feb5f2564e1b1ce0064f829c9790d6f (diff) |
ipc: fix locking issues
* ipc/ipc_port.h (struct ipc_port): Document locking exception.
* ipc/ipc_port.c (ipc_port_destroy): Avoid accessing `port's fields
without the lock.
(ipc_port_alloc_special): Lock `port'.
* ipc/mach_msg.c (mach_msg_trap): Avoid using
`ipc_port_flag_protected_payload' on unlocked port.
* ipc/ipc_kmsg.c (ipc_kmsg_copyout_header): Likewise.
Diffstat (limited to 'ipc/ipc_port.h')
-rw-r--r-- | ipc/ipc_port.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ipc/ipc_port.h b/ipc/ipc_port.h index ade6967..de43b42 100644 --- a/ipc/ipc_port.h +++ b/ipc/ipc_port.h @@ -82,6 +82,8 @@ struct ipc_port { ipc_port_timestamp_t timestamp; } data; + /* Note: For pagers (IKOT_PAGER), this field is protected by + vm_object_cache_lock. */ ipc_kobject_t ip_kobject; mach_port_mscount_t ip_mscount; |