mac_sysv_sem.c (137817) | mac_sysv_sem.c (147091) |
---|---|
1/*- 2 * Copyright (c) 2003-2004 Networks Associates Technology, Inc. 3 * All rights reserved. 4 * 5 * This software was developed for the FreeBSD Project in part by Network 6 * Associates Laboratories, the Security Research Division of Network 7 * Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), 8 * as part of the DARPA CHATS research program. --- 16 unchanged lines hidden (view full) --- 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2003-2004 Networks Associates Technology, Inc. 3 * All rights reserved. 4 * 5 * This software was developed for the FreeBSD Project in part by Network 6 * Associates Laboratories, the Security Research Division of Network 7 * Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), 8 * as part of the DARPA CHATS research program. --- 16 unchanged lines hidden (view full) --- 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 */ 31 32#include <sys/cdefs.h> |
33__FBSDID("$FreeBSD: head/sys/security/mac/mac_sysv_sem.c 137817 2004-11-17 13:14:24Z rwatson $"); | 33__FBSDID("$FreeBSD: head/sys/security/mac/mac_sysv_sem.c 147091 2005-06-07 05:03:28Z rwatson $"); |
34 35#include "opt_mac.h" 36 37#include <sys/param.h> 38#include <sys/kernel.h> 39#include <sys/lock.h> 40#include <sys/malloc.h> 41#include <sys/mutex.h> --- 18 unchanged lines hidden (view full) --- 60 61#ifdef MAC_DEBUG 62static unsigned int nmacipcsemas; 63SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, ipc_semas, CTLFLAG_RD, 64 &nmacipcsemas, 0, "number of sysv ipc semaphore identifiers inuse"); 65#endif 66 67static struct label * | 34 35#include "opt_mac.h" 36 37#include <sys/param.h> 38#include <sys/kernel.h> 39#include <sys/lock.h> 40#include <sys/malloc.h> 41#include <sys/mutex.h> --- 18 unchanged lines hidden (view full) --- 60 61#ifdef MAC_DEBUG 62static unsigned int nmacipcsemas; 63SYSCTL_UINT(_security_mac_debug_counters, OID_AUTO, ipc_semas, CTLFLAG_RD, 64 &nmacipcsemas, 0, "number of sysv ipc semaphore identifiers inuse"); 65#endif 66 67static struct label * |
68mac_sysv_sema_label_alloc(void) | 68mac_sysv_sem_label_alloc(void) |
69{ 70 struct label *label; 71 72 label = mac_labelzone_alloc(M_WAITOK); | 69{ 70 struct label *label; 71 72 label = mac_labelzone_alloc(M_WAITOK); |
73 MAC_PERFORM(init_sysv_sema_label, label); | 73 MAC_PERFORM(init_sysv_sem_label, label); |
74 MAC_DEBUG_COUNTER_INC(&nmacipcsemas); 75 return (label); 76} 77 78void | 74 MAC_DEBUG_COUNTER_INC(&nmacipcsemas); 75 return (label); 76} 77 78void |
79mac_init_sysv_sema(struct semid_kernel *semakptr) | 79mac_init_sysv_sem(struct semid_kernel *semakptr) |
80{ 81 | 80{ 81 |
82 semakptr->label = mac_sysv_sema_label_alloc(); | 82 semakptr->label = mac_sysv_sem_label_alloc(); |
83} 84 85static void | 83} 84 85static void |
86mac_sysv_sema_label_free(struct label *label) | 86mac_sysv_sem_label_free(struct label *label) |
87{ 88 | 87{ 88 |
89 MAC_PERFORM(destroy_sysv_sema_label, label); | 89 MAC_PERFORM(destroy_sysv_sem_label, label); |
90 mac_labelzone_free(label); 91 MAC_DEBUG_COUNTER_DEC(&nmacipcsemas); 92} 93 94void | 90 mac_labelzone_free(label); 91 MAC_DEBUG_COUNTER_DEC(&nmacipcsemas); 92} 93 94void |
95mac_destroy_sysv_sema(struct semid_kernel *semakptr) | 95mac_destroy_sysv_sem(struct semid_kernel *semakptr) |
96{ 97 | 96{ 97 |
98 mac_sysv_sema_label_free(semakptr->label); | 98 mac_sysv_sem_label_free(semakptr->label); |
99 semakptr->label = NULL; 100} 101 102void | 99 semakptr->label = NULL; 100} 101 102void |
103mac_create_sysv_sema(struct ucred *cred, struct semid_kernel *semakptr) | 103mac_create_sysv_sem(struct ucred *cred, struct semid_kernel *semakptr) |
104{ 105 | 104{ 105 |
106 MAC_PERFORM(create_sysv_sema, cred, semakptr, semakptr->label); | 106 MAC_PERFORM(create_sysv_sem, cred, semakptr, semakptr->label); |
107} 108 109void | 107} 108 109void |
110mac_cleanup_sysv_sema(struct semid_kernel *semakptr) | 110mac_cleanup_sysv_sem(struct semid_kernel *semakptr) |
111{ 112 | 111{ 112 |
113 MAC_PERFORM(cleanup_sysv_sema, semakptr->label); | 113 MAC_PERFORM(cleanup_sysv_sem, semakptr->label); |
114} 115 116int 117mac_check_sysv_semctl(struct ucred *cred, struct semid_kernel *semakptr, 118 int cmd) 119{ 120 int error; 121 --- 35 unchanged lines hidden --- | 114} 115 116int 117mac_check_sysv_semctl(struct ucred *cred, struct semid_kernel *semakptr, 118 int cmd) 119{ 120 int error; 121 --- 35 unchanged lines hidden --- |