diff options
author | rwatson <rwatson@FreeBSD.org> | 2007-08-06 14:26:03 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2007-08-06 14:26:03 +0000 |
commit | 23574c86734ab5cb088584d30345e698cbbeaef2 (patch) | |
tree | 63e9e0c42ec5669b83e25b5f9cbdcbee7e1be6dc /sys/security/mac | |
parent | 5f4b9d20fc4bf36bf86f78bb1622ee474a93dc56 (diff) | |
download | FreeBSD-src-23574c86734ab5cb088584d30345e698cbbeaef2.zip FreeBSD-src-23574c86734ab5cb088584d30345e698cbbeaef2.tar.gz |
Remove the now-unused NET_{LOCK,UNLOCK,ASSERT}_GIANT() macros, which
previously conditionally acquired Giant based on debug.mpsafenet. As that
has now been removed, they are no longer required. Removing them
significantly simplifies error-handling in the socket layer, eliminated
quite a bit of unwinding of locking in error cases.
While here clean up the now unneeded opt_net.h, which previously was used
for the NET_WITH_GIANT kernel option. Clean up some related gotos for
consistency.
Reviewed by: bz, csjp
Tested by: kris
Approved by: re (kensmith)
Diffstat (limited to 'sys/security/mac')
-rw-r--r-- | sys/security/mac/mac_syscalls.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c index 9b5a39d..cda98c2 100644 --- a/sys/security/mac/mac_syscalls.c +++ b/sys/security/mac/mac_syscalls.c @@ -278,11 +278,9 @@ __mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) case DTYPE_SOCKET: so = fp->f_data; intlabel = mac_socket_label_alloc(M_WAITOK); - NET_LOCK_GIANT(); SOCK_LOCK(so); mac_copy_socket_label(so->so_label, intlabel); SOCK_UNLOCK(so); - NET_UNLOCK_GIANT(); error = mac_externalize_socket_label(intlabel, elements, buffer, mac.m_buflen); mac_socket_label_free(intlabel); @@ -476,10 +474,8 @@ __mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) error = mac_internalize_socket_label(intlabel, buffer); if (error == 0) { so = fp->f_data; - NET_LOCK_GIANT(); error = mac_socket_label_set(td->td_ucred, so, intlabel); - NET_UNLOCK_GIANT(); } mac_socket_label_free(intlabel); break; |