1101099Srwatson/*-
2225344Srwatson * Copyright (c) 1999-2002, 2007-2011 Robert N. M. Watson
3140632Srwatson * Copyright (c) 2001-2005 McAfee, Inc.
4172930Srwatson * Copyright (c) 2005-2006 SPARTA, Inc.
5182063Srwatson * Copyright (c) 2008 Apple Inc.
6101099Srwatson * All rights reserved.
7101099Srwatson *
8101099Srwatson * This software was developed by Robert Watson for the TrustedBSD Project.
9101099Srwatson *
10140632Srwatson * This software was developed for the FreeBSD Project in part by McAfee
11140632Srwatson * Research, the Security Research Division of McAfee, Inc. under
12140632Srwatson * DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA
13140632Srwatson * CHATS research program.
14101099Srwatson *
15147784Srwatson * This software was enhanced by SPARTA ISSO under SPAWAR contract
16147784Srwatson * N66001-04-C-6019 ("SEFOS").
17147784Srwatson *
18189529Srwatson * This software was developed at the University of Cambridge Computer
19189529Srwatson * Laboratory with support from a grant from Google, Inc.
20189529Srwatson *
21101099Srwatson * Redistribution and use in source and binary forms, with or without
22101099Srwatson * modification, are permitted provided that the following conditions
23101099Srwatson * are met:
24101099Srwatson * 1. Redistributions of source code must retain the above copyright
25101099Srwatson *    notice, this list of conditions and the following disclaimer.
26101099Srwatson * 2. Redistributions in binary form must reproduce the above copyright
27101099Srwatson *    notice, this list of conditions and the following disclaimer in the
28101099Srwatson *    documentation and/or other materials provided with the distribution.
29101099Srwatson *
30101099Srwatson * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
31101099Srwatson * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
32101099Srwatson * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
33101099Srwatson * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
34101099Srwatson * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
35101099Srwatson * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
36101099Srwatson * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
37101099Srwatson * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
38101099Srwatson * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
39101099Srwatson * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
40101099Srwatson * SUCH DAMAGE.
41101099Srwatson *
42101099Srwatson * $FreeBSD$
43101099Srwatson */
44101099Srwatson
45101099Srwatson/*
46101099Srwatson * Developed by the TrustedBSD Project.
47119211Srwatson *
48119211Srwatson * Stub module that implements a NOOP for most (if not all) MAC Framework
49119211Srwatson * policy entry points.
50101099Srwatson */
51101099Srwatson
52101099Srwatson#include <sys/types.h>
53101099Srwatson#include <sys/param.h>
54101099Srwatson#include <sys/acl.h>
55101099Srwatson#include <sys/conf.h>
56105988Srwatson#include <sys/extattr.h>
57101099Srwatson#include <sys/kernel.h>
58164184Strhodes#include <sys/ksem.h>
59101099Srwatson#include <sys/mount.h>
60101099Srwatson#include <sys/proc.h>
61101099Srwatson#include <sys/systm.h>
62101099Srwatson#include <sys/sysproto.h>
63101099Srwatson#include <sys/sysent.h>
64101099Srwatson#include <sys/vnode.h>
65101099Srwatson#include <sys/file.h>
66101099Srwatson#include <sys/socket.h>
67101099Srwatson#include <sys/socketvar.h>
68101099Srwatson#include <sys/pipe.h>
69150340Sphk#include <sys/sx.h>
70101099Srwatson#include <sys/sysctl.h>
71140632Srwatson#include <sys/msg.h>
72140632Srwatson#include <sys/sem.h>
73140632Srwatson#include <sys/shm.h>
74101099Srwatson
75101099Srwatson#include <fs/devfs/devfs.h>
76101099Srwatson
77101099Srwatson#include <net/bpfdesc.h>
78101099Srwatson#include <net/if.h>
79101099Srwatson#include <net/if_types.h>
80101099Srwatson#include <net/if_var.h>
81101099Srwatson
82101099Srwatson#include <netinet/in.h>
83122875Srwatson#include <netinet/in_pcb.h>
84101099Srwatson#include <netinet/ip_var.h>
85101099Srwatson
86101099Srwatson#include <vm/vm.h>
87101099Srwatson
88165469Srwatson#include <security/mac/mac_policy.h>
89101099Srwatson
90101099SrwatsonSYSCTL_DECL(_security_mac);
91101099Srwatson
92227309Sedstatic SYSCTL_NODE(_security_mac, OID_AUTO, stub, CTLFLAG_RW, 0,
93119211Srwatson    "TrustedBSD mac_stub policy controls");
94101099Srwatson
95119211Srwatsonstatic int	stub_enabled = 1;
96119211SrwatsonSYSCTL_INT(_security_mac_stub, OID_AUTO, enabled, CTLFLAG_RW,
97119211Srwatson    &stub_enabled, 0, "Enforce mac_stub policy");
98101099Srwatson
99101099Srwatson/*
100101099Srwatson * Policy module operations.
101101099Srwatson */
102101099Srwatsonstatic void
103119211Srwatsonstub_destroy(struct mac_policy_conf *conf)
104101099Srwatson{
105101099Srwatson
106101099Srwatson}
107101099Srwatson
108101099Srwatsonstatic void
109119211Srwatsonstub_init(struct mac_policy_conf *conf)
110101099Srwatson{
111101099Srwatson
112101099Srwatson}
113101099Srwatson
114102162Srwatsonstatic int
115119211Srwatsonstub_syscall(struct thread *td, int call, void *arg)
116102162Srwatson{
117102162Srwatson
118102162Srwatson	return (0);
119102162Srwatson}
120102162Srwatson
121101099Srwatson/*
122101099Srwatson * Label operations.
123101099Srwatson */
124101099Srwatsonstatic void
125119211Srwatsonstub_init_label(struct label *label)
126101099Srwatson{
127101099Srwatson
128101099Srwatson}
129101099Srwatson
130101099Srwatsonstatic int
131119211Srwatsonstub_init_label_waitcheck(struct label *label, int flag)
132101099Srwatson{
133101099Srwatson
134101099Srwatson	return (0);
135101099Srwatson}
136101099Srwatson
137101099Srwatsonstatic void
138119211Srwatsonstub_destroy_label(struct label *label)
139101099Srwatson{
140101099Srwatson
141101099Srwatson}
142101099Srwatson
143122808Srwatsonstatic void
144122808Srwatsonstub_copy_label(struct label *src, struct label *dest)
145122808Srwatson{
146122808Srwatson
147122808Srwatson}
148122808Srwatson
149101099Srwatsonstatic int
150119211Srwatsonstub_externalize_label(struct label *label, char *element_name,
151116701Srwatson    struct sbuf *sb, int *claimed)
152101099Srwatson{
153101099Srwatson
154101099Srwatson	return (0);
155101099Srwatson}
156101099Srwatson
157101099Srwatsonstatic int
158119211Srwatsonstub_internalize_label(struct label *label, char *element_name,
159105696Srwatson    char *element_data, int *claimed)
160105696Srwatson{
161105696Srwatson
162105696Srwatson	return (0);
163105696Srwatson}
164105696Srwatson
165101099Srwatson/*
166173138Srwatson * Object-specific entry point imeplementations are sorted alphabetically by
167173138Srwatson * object type name and then by operation.
168101099Srwatson */
169105988Srwatsonstatic int
170173138Srwatsonstub_bpfdesc_check_receive(struct bpf_d *d, struct label *dlabel,
171173138Srwatson    struct ifnet *ifp, struct label *ifplabel)
172105988Srwatson{
173105988Srwatson
174173138Srwatson        return (0);
175105988Srwatson}
176105988Srwatson
177105988Srwatsonstatic void
178173138Srwatsonstub_bpfdesc_create(struct ucred *cred, struct bpf_d *d,
179173138Srwatson    struct label *dlabel)
180105988Srwatson{
181105988Srwatson
182105988Srwatson}
183105988Srwatson
184105988Srwatsonstatic void
185173138Srwatsonstub_bpfdesc_create_mbuf(struct bpf_d *d, struct label *dlabel,
186173138Srwatson    struct mbuf *m, struct label *mlabel)
187101099Srwatson{
188101099Srwatson
189101099Srwatson}
190101099Srwatson
191184407Srwatsonstatic void
192184407Srwatsonstub_cred_associate_nfsd(struct ucred *cred)
193184407Srwatson{
194184407Srwatson
195184407Srwatson}
196184407Srwatson
197173138Srwatsonstatic int
198173138Srwatsonstub_cred_check_relabel(struct ucred *cred, struct label *newlabel)
199104535Srwatson{
200104535Srwatson
201173138Srwatson	return (0);
202104535Srwatson}
203104535Srwatson
204105988Srwatsonstatic int
205189529Srwatsonstub_cred_check_setaudit(struct ucred *cred, struct auditinfo *ai)
206189529Srwatson{
207189529Srwatson
208189529Srwatson	return (0);
209189529Srwatson}
210189529Srwatson
211189529Srwatsonstatic int
212189529Srwatsonstub_cred_check_setaudit_addr(struct ucred *cred, struct auditinfo_addr *aia)
213189529Srwatson{
214189529Srwatson
215189529Srwatson	return (0);
216189529Srwatson}
217189529Srwatson
218189529Srwatsonstatic int
219189529Srwatsonstub_cred_check_setauid(struct ucred *cred, uid_t auid)
220189529Srwatson{
221189529Srwatson
222189529Srwatson	return (0);
223189529Srwatson}
224189529Srwatson
225189529Srwatsonstatic int
226189529Srwatsonstub_cred_check_setegid(struct ucred *cred, gid_t egid)
227189529Srwatson{
228189529Srwatson
229189529Srwatson	return (0);
230189529Srwatson}
231189529Srwatson
232189529Srwatsonstatic int
233189529Srwatsonstub_cred_check_seteuid(struct ucred *cred, uid_t euid)
234189529Srwatson{
235189529Srwatson
236189529Srwatson	return (0);
237189529Srwatson}
238189529Srwatson
239189529Srwatsonstatic int
240189529Srwatsonstub_cred_check_setgid(struct ucred *cred, gid_t gid)
241189529Srwatson{
242189529Srwatson
243189529Srwatson	return (0);
244189529Srwatson}
245189529Srwatson
246189529Srwatsonstatic int
247189529Srwatsonstub_cred_check_setgroups(struct ucred *cred, int ngroups,
248189529Srwatson	gid_t *gidset)
249189529Srwatson{
250189529Srwatson
251189529Srwatson	return (0);
252189529Srwatson}
253189529Srwatson
254189529Srwatsonstatic int
255189529Srwatsonstub_cred_check_setregid(struct ucred *cred, gid_t rgid, gid_t egid)
256189529Srwatson{
257189529Srwatson
258189529Srwatson	return (0);
259189529Srwatson}
260189529Srwatson
261189529Srwatsonstatic int
262189529Srwatsonstub_cred_check_setresgid(struct ucred *cred, gid_t rgid, gid_t egid,
263189529Srwatson	gid_t sgid)
264189529Srwatson{
265189529Srwatson
266189529Srwatson	return (0);
267189529Srwatson}
268189529Srwatson
269189529Srwatsonstatic int
270189529Srwatsonstub_cred_check_setresuid(struct ucred *cred, uid_t ruid, uid_t euid,
271189529Srwatson	uid_t suid)
272189529Srwatson{
273189529Srwatson
274189529Srwatson	return (0);
275189529Srwatson}
276189529Srwatson
277189529Srwatsonstatic int
278189529Srwatsonstub_cred_check_setreuid(struct ucred *cred, uid_t ruid, uid_t euid)
279189529Srwatson{
280189529Srwatson
281189529Srwatson	return (0);
282189529Srwatson}
283189529Srwatson
284189529Srwatsonstatic int
285189529Srwatsonstub_cred_check_setuid(struct ucred *cred, uid_t uid)
286189529Srwatson{
287189529Srwatson
288189529Srwatson	return (0);
289189529Srwatson}
290189529Srwatson
291189529Srwatsonstatic int
292173138Srwatsonstub_cred_check_visible(struct ucred *cr1, struct ucred *cr2)
293101099Srwatson{
294101099Srwatson
295105988Srwatson	return (0);
296101099Srwatson}
297101099Srwatson
298101099Srwatsonstatic void
299184407Srwatsonstub_cred_create_init(struct ucred *cred)
300184407Srwatson{
301184407Srwatson
302184407Srwatson}
303184407Srwatson
304184407Srwatsonstatic void
305184407Srwatsonstub_cred_create_swapper(struct ucred *cred)
306184407Srwatson{
307184407Srwatson
308184407Srwatson}
309184407Srwatson
310184407Srwatsonstatic void
311173138Srwatsonstub_cred_relabel(struct ucred *cred, struct label *newlabel)
312101099Srwatson{
313101099Srwatson
314101099Srwatson}
315101099Srwatson
316101099Srwatsonstatic void
317173138Srwatsonstub_devfs_create_device(struct ucred *cred, struct mount *mp,
318173138Srwatson    struct cdev *dev, struct devfs_dirent *de, struct label *delabel)
319101099Srwatson{
320101099Srwatson
321101099Srwatson}
322101099Srwatson
323101099Srwatsonstatic void
324173138Srwatsonstub_devfs_create_directory(struct mount *mp, char *dirname,
325173138Srwatson    int dirnamelen, struct devfs_dirent *de, struct label *delabel)
326101099Srwatson{
327101099Srwatson
328101099Srwatson}
329101099Srwatson
330101099Srwatsonstatic void
331173138Srwatsonstub_devfs_create_symlink(struct ucred *cred, struct mount *mp,
332173138Srwatson    struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de,
333173138Srwatson    struct label *delabel)
334101099Srwatson{
335101099Srwatson
336101099Srwatson}
337101099Srwatson
338101099Srwatsonstatic void
339173138Srwatsonstub_devfs_update(struct mount *mp, struct devfs_dirent *de,
340173138Srwatson    struct label *delabel, struct vnode *vp, struct label *vplabel)
341101099Srwatson{
342101099Srwatson
343101099Srwatson}
344101099Srwatson
345101099Srwatsonstatic void
346173138Srwatsonstub_devfs_vnode_associate(struct mount *mp, struct label *mplabel,
347173138Srwatson    struct devfs_dirent *de, struct label *delabel, struct vnode *vp,
348173138Srwatson    struct label *vplabel)
349101099Srwatson{
350101099Srwatson
351101099Srwatson}
352101099Srwatson
353173138Srwatsonstatic int
354173138Srwatsonstub_ifnet_check_relabel(struct ucred *cred, struct ifnet *ifp,
355173138Srwatson    struct label *ifplabel, struct label *newlabel)
356145855Srwatson{
357145855Srwatson
358173138Srwatson	return (0);
359145855Srwatson}
360145855Srwatson
361173138Srwatsonstatic int
362173138Srwatsonstub_ifnet_check_transmit(struct ifnet *ifp, struct label *ifplabel,
363173138Srwatson    struct mbuf *m, struct label *mlabel)
364101099Srwatson{
365101099Srwatson
366173138Srwatson	return (0);
367101099Srwatson}
368101099Srwatson
369101099Srwatsonstatic void
370173138Srwatsonstub_ifnet_create(struct ifnet *ifp, struct label *ifplabel)
371101099Srwatson{
372101099Srwatson
373101099Srwatson}
374101099Srwatson
375101099Srwatsonstatic void
376173138Srwatsonstub_ifnet_create_mbuf(struct ifnet *ifp, struct label *ifplabel,
377173138Srwatson    struct mbuf *m, struct label *mlabel)
378101099Srwatson{
379101099Srwatson
380101099Srwatson}
381101099Srwatson
382101099Srwatsonstatic void
383173138Srwatsonstub_ifnet_relabel(struct ucred *cred, struct ifnet *ifp,
384173138Srwatson    struct label *ifplabel, struct label *newlabel)
385101099Srwatson{
386101099Srwatson
387101099Srwatson}
388101099Srwatson
389173138Srwatsonstatic int
390173138Srwatsonstub_inpcb_check_deliver(struct inpcb *inp, struct label *inplabel,
391173138Srwatson    struct mbuf *m, struct label *mlabel)
392101099Srwatson{
393101099Srwatson
394173138Srwatson	return (0);
395101099Srwatson}
396101099Srwatson
397101099Srwatsonstatic void
398173138Srwatsonstub_inpcb_create(struct socket *so, struct label *solabel,
399173138Srwatson    struct inpcb *inp, struct label *inplabel)
400101099Srwatson{
401101099Srwatson
402101099Srwatson}
403101099Srwatson
404101099Srwatsonstatic void
405173138Srwatsonstub_inpcb_create_mbuf(struct inpcb *inp, struct label *inplabel,
406168976Srwatson    struct mbuf *m, struct label *mlabel)
407101099Srwatson{
408101099Srwatson
409101099Srwatson}
410101099Srwatson
411101099Srwatsonstatic void
412173138Srwatsonstub_inpcb_sosetlabel(struct socket *so, struct label *solabel,
413173138Srwatson    struct inpcb *inp, struct label *inplabel)
414101099Srwatson{
415101099Srwatson
416193391Srwatson	SOCK_LOCK_ASSERT(so);
417193391Srwatson
418101099Srwatson}
419101099Srwatson
420101099Srwatsonstatic void
421184308Srwatsonstub_ip6q_create(struct mbuf *m, struct label *mlabel, struct ip6q *q6,
422184308Srwatson    struct label *q6label)
423184308Srwatson{
424184308Srwatson
425184308Srwatson}
426184308Srwatson
427184308Srwatsonstatic int
428184308Srwatsonstub_ip6q_match(struct mbuf *m, struct label *mlabel, struct ip6q *q6,
429184308Srwatson    struct label *q6label)
430184308Srwatson{
431184308Srwatson
432184308Srwatson	return (1);
433184308Srwatson}
434184308Srwatson
435184308Srwatsonstatic void
436184308Srwatsonstub_ip6q_reassemble(struct ip6q *q6, struct label *q6label, struct mbuf *m,
437184308Srwatson    struct label *mlabel)
438184308Srwatson{
439184308Srwatson
440184308Srwatson}
441184308Srwatson
442184308Srwatsonstatic void
443184308Srwatsonstub_ip6q_update(struct mbuf *m, struct label *mlabel, struct ip6q *q6,
444184308Srwatson    struct label *q6label)
445184308Srwatson{
446184308Srwatson
447184308Srwatson}
448184308Srwatson
449184308Srwatsonstatic void
450179781Srwatsonstub_ipq_create(struct mbuf *m, struct label *mlabel, struct ipq *q,
451179781Srwatson    struct label *qlabel)
452101099Srwatson{
453101099Srwatson
454101099Srwatson}
455101099Srwatson
456173138Srwatsonstatic int
457179781Srwatsonstub_ipq_match(struct mbuf *m, struct label *mlabel, struct ipq *q,
458179781Srwatson    struct label *qlabel)
459122875Srwatson{
460122875Srwatson
461173138Srwatson	return (1);
462122875Srwatson}
463122875Srwatson
464122875Srwatsonstatic void
465179781Srwatsonstub_ipq_reassemble(struct ipq *q, struct label *qlabel, struct mbuf *m,
466179781Srwatson    struct label *mlabel)
467165715Scsjp{
468165715Scsjp
469165715Scsjp}
470165715Scsjp
471165715Scsjpstatic void
472179781Srwatsonstub_ipq_update(struct mbuf *m, struct label *mlabel, struct ipq *q,
473179781Srwatson    struct label *qlabel)
474140632Srwatson{
475140632Srwatson
476140632Srwatson}
477140632Srwatson
478173138Srwatsonstatic int
479173138Srwatsonstub_kenv_check_dump(struct ucred *cred)
480140632Srwatson{
481140632Srwatson
482173138Srwatson	return (0);
483140632Srwatson}
484140632Srwatson
485173138Srwatsonstatic int
486173138Srwatsonstub_kenv_check_get(struct ucred *cred, char *name)
487140632Srwatson{
488140632Srwatson
489173138Srwatson	return (0);
490140632Srwatson}
491140632Srwatson
492173138Srwatsonstatic int
493173138Srwatsonstub_kenv_check_set(struct ucred *cred, char *name, char *value)
494140632Srwatson{
495140632Srwatson
496173138Srwatson	return (0);
497140632Srwatson}
498140632Srwatson
499173138Srwatsonstatic int
500173138Srwatsonstub_kenv_check_unset(struct ucred *cred, char *name)
501101099Srwatson{
502101099Srwatson
503173138Srwatson	return (0);
504101099Srwatson}
505101099Srwatson
506173138Srwatsonstatic int
507173138Srwatsonstub_kld_check_load(struct ucred *cred, struct vnode *vp,
508173138Srwatson    struct label *vplabel)
509123607Srwatson{
510123607Srwatson
511173138Srwatson	return (0);
512123607Srwatson}
513123607Srwatson
514173138Srwatsonstatic int
515173138Srwatsonstub_kld_check_stat(struct ucred *cred)
516165715Scsjp{
517165715Scsjp
518173138Srwatson	return (0);
519165715Scsjp}
520165715Scsjp
521173138Srwatsonstatic int
522173138Srwatsonstub_mount_check_stat(struct ucred *cred, struct mount *mp,
523173138Srwatson    struct label *mplabel)
524101099Srwatson{
525101099Srwatson
526173138Srwatson	return (0);
527101099Srwatson}
528101099Srwatson
529101099Srwatsonstatic void
530173138Srwatsonstub_mount_create(struct ucred *cred, struct mount *mp,
531173138Srwatson    struct label *mplabel)
532101099Srwatson{
533101099Srwatson
534101099Srwatson}
535101099Srwatson
536101099Srwatsonstatic void
537173102Srwatsonstub_netatalk_aarp_send(struct ifnet *ifp, struct label *iflpabel,
538173102Srwatson    struct mbuf *m, struct label *mlabel)
539101099Srwatson{
540101099Srwatson
541101099Srwatson}
542101099Srwatson
543165715Scsjpstatic void
544173102Srwatsonstub_netinet_arp_send(struct ifnet *ifp, struct label *iflpabel,
545173095Srwatson    struct mbuf *m, struct label *mlabel)
546173095Srwatson{
547173095Srwatson
548173095Srwatson}
549173095Srwatson
550173095Srwatsonstatic void
551173102Srwatsonstub_netinet_firewall_reply(struct mbuf *mrecv, struct label *mrecvlabel,
552173102Srwatson    struct mbuf *msend, struct label *msendlabel)
553173095Srwatson{
554173095Srwatson
555173095Srwatson}
556173095Srwatson
557173095Srwatsonstatic void
558173018Srwatsonstub_netinet_firewall_send(struct mbuf *m, struct label *mlabel)
559165715Scsjp{
560165715Scsjp
561165715Scsjp}
562165715Scsjp
563173095Srwatsonstatic void
564173138Srwatsonstub_netinet_fragment(struct mbuf *m, struct label *mlabel, struct mbuf *frag,
565173138Srwatson    struct label *fraglabel)
566173138Srwatson{
567173138Srwatson
568173138Srwatson}
569173138Srwatson
570173138Srwatsonstatic void
571173102Srwatsonstub_netinet_icmp_reply(struct mbuf *mrecv, struct label *mrecvlabel,
572173102Srwatson    struct mbuf *msend, struct label *msendlabel)
573173102Srwatson{
574173102Srwatson
575173102Srwatson}
576173102Srwatson
577173102Srwatsonstatic void
578173102Srwatsonstub_netinet_icmp_replyinplace(struct mbuf *m, struct label *mlabel)
579173102Srwatson{
580173102Srwatson
581173102Srwatson}
582173102Srwatson
583173102Srwatsonstatic void
584173095Srwatsonstub_netinet_igmp_send(struct ifnet *ifp, struct label *iflpabel,
585173095Srwatson    struct mbuf *m, struct label *mlabel)
586173095Srwatson{
587173095Srwatson
588173095Srwatson}
589173095Srwatson
590173095Srwatsonstatic void
591173138Srwatsonstub_netinet_tcp_reply(struct mbuf *m, struct label *mlabel)
592173095Srwatson{
593173095Srwatson
594173095Srwatson}
595173095Srwatson
596173138Srwatsonstatic void
597173138Srwatsonstub_netinet6_nd6_send(struct ifnet *ifp, struct label *iflpabel,
598173138Srwatson    struct mbuf *m, struct label *mlabel)
599101099Srwatson{
600101099Srwatson
601101099Srwatson}
602101099Srwatson
603173138Srwatsonstatic int
604173138Srwatsonstub_pipe_check_ioctl(struct ucred *cred, struct pipepair *pp,
605173138Srwatson    struct label *pplabel, unsigned long cmd, void /* caddr_t */ *data)
606119223Srwatson{
607119223Srwatson
608173138Srwatson	return (0);
609119223Srwatson}
610119223Srwatson
611173138Srwatsonstatic int
612173138Srwatsonstub_pipe_check_poll(struct ucred *cred, struct pipepair *pp,
613173138Srwatson    struct label *pplabel)
614101099Srwatson{
615101099Srwatson
616173138Srwatson	return (0);
617101099Srwatson}
618101099Srwatson
619173138Srwatsonstatic int
620173138Srwatsonstub_pipe_check_read(struct ucred *cred, struct pipepair *pp,
621173138Srwatson    struct label *pplabel)
622101099Srwatson{
623101099Srwatson
624173138Srwatson	return (0);
625101099Srwatson}
626101099Srwatson
627173138Srwatsonstatic int
628173138Srwatsonstub_pipe_check_relabel(struct ucred *cred, struct pipepair *pp,
629173138Srwatson    struct label *pplabel, struct label *newlabel)
630122875Srwatson{
631122875Srwatson
632173138Srwatson	return (0);
633122875Srwatson}
634122875Srwatson
635173138Srwatsonstatic int
636173138Srwatsonstub_pipe_check_stat(struct ucred *cred, struct pipepair *pp,
637173138Srwatson    struct label *pplabel)
638101099Srwatson{
639101099Srwatson
640173138Srwatson	return (0);
641101099Srwatson}
642101099Srwatson
643101099Srwatsonstatic int
644173138Srwatsonstub_pipe_check_write(struct ucred *cred, struct pipepair *pp,
645173138Srwatson    struct label *pplabel)
646101099Srwatson{
647101099Srwatson
648101099Srwatson	return (0);
649101099Srwatson}
650101099Srwatson
651101099Srwatsonstatic void
652173138Srwatsonstub_pipe_create(struct ucred *cred, struct pipepair *pp,
653173138Srwatson    struct label *pplabel)
654101099Srwatson{
655101099Srwatson
656101099Srwatson}
657101099Srwatson
658101099Srwatsonstatic void
659173138Srwatsonstub_pipe_relabel(struct ucred *cred, struct pipepair *pp,
660173138Srwatson    struct label *pplabel, struct label *newlabel)
661101099Srwatson{
662101099Srwatson
663101099Srwatson}
664101099Srwatson
665173138Srwatsonstatic int
666180059Sjhbstub_posixsem_check_getvalue(struct ucred *active_cred, struct ucred *file_cred,
667180059Sjhb    struct ksem *ks, struct label *kslabel)
668101099Srwatson{
669101099Srwatson
670173138Srwatson	return (0);
671101099Srwatson}
672101099Srwatson
673173138Srwatsonstatic int
674173138Srwatsonstub_posixsem_check_open(struct ucred *cred, struct ksem *ks,
675173138Srwatson    struct label *kslabel)
676112577Srwatson{
677112577Srwatson
678173138Srwatson	return (0);
679112577Srwatson}
680112577Srwatson
681173138Srwatsonstatic int
682180059Sjhbstub_posixsem_check_post(struct ucred *active_cred, struct ucred *file_cred,
683180059Sjhb    struct ksem *ks, struct label *kslabel)
684140632Srwatson{
685140632Srwatson
686173138Srwatson	return (0);
687140632Srwatson}
688140632Srwatson
689173138Srwatsonstatic int
690224914Skibstub_posixsem_check_setmode(struct ucred *cred, struct ksem *ks,
691224914Skib    struct label *kslabel, mode_t mode)
692224914Skib{
693224914Skib
694224914Skib	return (0);
695224914Skib}
696224914Skib
697224914Skibstatic int
698224914Skibstub_posixsem_check_setowner(struct ucred *cred, struct ksem *ks,
699224914Skib    struct label *kslabel, uid_t uid, gid_t gid)
700224914Skib{
701224914Skib
702224914Skib	return (0);
703224914Skib}
704224914Skib
705224914Skibstatic int
706180059Sjhbstub_posixsem_check_stat(struct ucred *active_cred, struct ucred *file_cred,
707180059Sjhb    struct ksem *ks, struct label *kslabel)
708180059Sjhb{
709180059Sjhb
710180059Sjhb	return (0);
711180059Sjhb}
712180059Sjhb
713180059Sjhbstatic int
714173138Srwatsonstub_posixsem_check_unlink(struct ucred *cred, struct ksem *ks,
715173138Srwatson    struct label *kslabel)
716140632Srwatson{
717140632Srwatson
718173138Srwatson	return (0);
719140632Srwatson}
720140632Srwatson
721173138Srwatsonstatic int
722180059Sjhbstub_posixsem_check_wait(struct ucred *active_cred, struct ucred *file_cred,
723180059Sjhb    struct ksem *ks, struct label *kslabel)
724140632Srwatson{
725140632Srwatson
726173138Srwatson	return (0);
727140632Srwatson}
728140632Srwatson
729140632Srwatsonstatic void
730173138Srwatsonstub_posixsem_create(struct ucred *cred, struct ksem *ks,
731173138Srwatson    struct label *kslabel)
732140632Srwatson{
733140632Srwatson
734140632Srwatson}
735140632Srwatson
736101099Srwatsonstatic int
737225344Srwatsonstub_posixshm_check_create(struct ucred *cred, const char *path)
738225344Srwatson{
739225344Srwatson
740225344Srwatson	return (0);
741225344Srwatson}
742225344Srwatson
743225344Srwatsonstatic int
744175164Sjhbstub_posixshm_check_mmap(struct ucred *cred, struct shmfd *shmfd,
745175164Sjhb    struct label *shmlabel, int prot, int flags)
746175164Sjhb{
747175164Sjhb
748175164Sjhb	return (0);
749175164Sjhb}
750175164Sjhb
751175164Sjhbstatic int
752175164Sjhbstub_posixshm_check_open(struct ucred *cred, struct shmfd *shmfd,
753225344Srwatson    struct label *shmlabel, accmode_t accmode)
754175164Sjhb{
755175164Sjhb
756175164Sjhb	return (0);
757175164Sjhb}
758175164Sjhb
759175164Sjhbstatic int
760254603Skibstub_posixshm_check_read(struct ucred *active_cred, struct ucred *file_cred,
761254603Skib    struct shmfd *shm, struct label *shmlabel)
762254603Skib{
763254603Skib
764254603Skib	return (0);
765254603Skib}
766254603Skib
767254603Skibstatic int
768224914Skibstub_posixshm_check_setmode(struct ucred *cred, struct shmfd *shmfd,
769224914Skib    struct label *shmlabel, mode_t mode)
770224914Skib{
771224914Skib
772224914Skib	return (0);
773224914Skib}
774224914Skib
775224914Skibstatic int
776224914Skibstub_posixshm_check_setowner(struct ucred *cred, struct shmfd *shmfd,
777224914Skib    struct label *shmlabel, uid_t uid, gid_t gid)
778224914Skib{
779224914Skib
780224914Skib	return (0);
781224914Skib}
782224914Skib
783224914Skibstatic int
784175164Sjhbstub_posixshm_check_stat(struct ucred *active_cred, struct ucred *file_cred,
785175164Sjhb    struct shmfd *shmfd, struct label *shmlabel)
786175164Sjhb{
787175164Sjhb
788175164Sjhb	return (0);
789175164Sjhb}
790175164Sjhb
791175164Sjhbstatic int
792175164Sjhbstub_posixshm_check_truncate(struct ucred *active_cred,
793175164Sjhb    struct ucred *file_cred, struct shmfd *shmfd, struct label *shmlabel)
794175164Sjhb{
795175164Sjhb
796175164Sjhb	return (0);
797175164Sjhb}
798175164Sjhb
799175164Sjhbstatic int
800175164Sjhbstub_posixshm_check_unlink(struct ucred *cred, struct shmfd *shmfd,
801175164Sjhb    struct label *shmlabel)
802175164Sjhb{
803175164Sjhb
804175164Sjhb	return (0);
805175164Sjhb}
806175164Sjhb
807254603Skibstatic int
808254603Skibstub_posixshm_check_write(struct ucred *active_cred, struct ucred *file_cred,
809254603Skib    struct shmfd *shm, struct label *shmlabel)
810254603Skib{
811254603Skib
812254603Skib	return (0);
813254603Skib}
814254603Skib
815175164Sjhbstatic void
816175164Sjhbstub_posixshm_create(struct ucred *cred, struct shmfd *shmfd,
817175164Sjhb    struct label *shmlabel)
818175164Sjhb{
819175164Sjhb
820175164Sjhb}
821175164Sjhb
822175164Sjhbstatic int
823173138Srwatsonstub_priv_check(struct ucred *cred, int priv)
824101099Srwatson{
825101099Srwatson
826173138Srwatson	return (0);
827101099Srwatson}
828101099Srwatson
829101099Srwatsonstatic int
830173138Srwatsonstub_priv_grant(struct ucred *cred, int priv)
831101099Srwatson{
832101099Srwatson
833173138Srwatson	return (EPERM);
834101099Srwatson}
835101099Srwatson
836101099Srwatsonstatic int
837173138Srwatsonstub_proc_check_debug(struct ucred *cred, struct proc *p)
838101099Srwatson{
839101099Srwatson
840101099Srwatson	return (0);
841101099Srwatson}
842101099Srwatson
843101099Srwatsonstatic int
844173138Srwatsonstub_proc_check_sched(struct ucred *cred, struct proc *p)
845101099Srwatson{
846101099Srwatson
847101099Srwatson	return (0);
848101099Srwatson}
849101099Srwatson
850101099Srwatsonstatic int
851173138Srwatsonstub_proc_check_signal(struct ucred *cred, struct proc *p, int signum)
852140632Srwatson{
853140632Srwatson
854140632Srwatson	return (0);
855140632Srwatson}
856140632Srwatson
857140632Srwatsonstatic int
858173138Srwatsonstub_proc_check_wait(struct ucred *cred, struct proc *p)
859140632Srwatson{
860140632Srwatson
861140632Srwatson	return (0);
862140632Srwatson}
863140632Srwatson
864112577Srwatsonstatic int
865173138Srwatsonstub_socket_check_accept(struct ucred *cred, struct socket *so,
866173138Srwatson    struct label *solabel)
867112577Srwatson{
868112577Srwatson
869193391Srwatson#if 0
870193391Srwatson	SOCK_LOCK(so);
871193391Srwatson	SOCK_UNLOCK(so);
872193391Srwatson#endif
873193391Srwatson
874112577Srwatson	return (0);
875112577Srwatson}
876112577Srwatson
877112577Srwatsonstatic int
878173138Srwatsonstub_socket_check_bind(struct ucred *cred, struct socket *so,
879173138Srwatson    struct label *solabel, struct sockaddr *sa)
880112577Srwatson{
881112577Srwatson
882193391Srwatson#if 0
883193391Srwatson	SOCK_LOCK(so);
884193391Srwatson	SOCK_UNLOCK(so);
885193391Srwatson#endif
886193391Srwatson
887112577Srwatson	return (0);
888112577Srwatson}
889112577Srwatson
890112577Srwatsonstatic int
891173138Srwatsonstub_socket_check_connect(struct ucred *cred, struct socket *so,
892173138Srwatson    struct label *solabel, struct sockaddr *sa)
893112577Srwatson{
894112577Srwatson
895193391Srwatson#if 0
896193391Srwatson	SOCK_LOCK(so);
897193391Srwatson	SOCK_UNLOCK(so);
898193391Srwatson#endif
899193391Srwatson
900112577Srwatson	return (0);
901112577Srwatson}
902112577Srwatson
903112577Srwatsonstatic int
904173138Srwatsonstub_socket_check_create(struct ucred *cred, int domain, int type, int proto)
905112577Srwatson{
906112577Srwatson
907112577Srwatson	return (0);
908112577Srwatson}
909112577Srwatson
910112577Srwatsonstatic int
911173138Srwatsonstub_socket_check_deliver(struct socket *so, struct label *solabel,
912173138Srwatson    struct mbuf *m, struct label *mlabel)
913112577Srwatson{
914112577Srwatson
915193391Srwatson#if 0
916193391Srwatson	SOCK_LOCK(so);
917193391Srwatson	SOCK_UNLOCK(so);
918193391Srwatson#endif
919193391Srwatson
920112577Srwatson	return (0);
921112577Srwatson}
922112577Srwatson
923112577Srwatsonstatic int
924173138Srwatsonstub_socket_check_listen(struct ucred *cred, struct socket *so,
925173138Srwatson    struct label *solabel)
926101099Srwatson{
927101099Srwatson
928193391Srwatson#if 0
929193391Srwatson	SOCK_LOCK(so);
930193391Srwatson	SOCK_UNLOCK(so);
931193391Srwatson#endif
932193391Srwatson
933101099Srwatson	return (0);
934101099Srwatson}
935101099Srwatson
936101099Srwatsonstatic int
937173138Srwatsonstub_socket_check_poll(struct ucred *cred, struct socket *so,
938173138Srwatson    struct label *solabel)
939101099Srwatson{
940101099Srwatson
941193391Srwatson#if 0
942193391Srwatson	SOCK_LOCK(so);
943193391Srwatson	SOCK_UNLOCK(so);
944193391Srwatson#endif
945193391Srwatson
946101099Srwatson	return (0);
947101099Srwatson}
948101099Srwatson
949101099Srwatsonstatic int
950173138Srwatsonstub_socket_check_receive(struct ucred *cred, struct socket *so,
951173138Srwatson    struct label *solabel)
952101099Srwatson{
953101099Srwatson
954193391Srwatson#if 0
955193391Srwatson	SOCK_LOCK(so);
956193391Srwatson	SOCK_UNLOCK(so);
957193391Srwatson#endif
958193391Srwatson
959101099Srwatson	return (0);
960101099Srwatson}
961101099Srwatson
962101099Srwatsonstatic int
963173138Srwatsonstub_socket_check_relabel(struct ucred *cred, struct socket *so,
964173138Srwatson    struct label *solabel, struct label *newlabel)
965102115Srwatson{
966102115Srwatson
967193391Srwatson	SOCK_LOCK_ASSERT(so);
968193391Srwatson
969102115Srwatson	return (0);
970102115Srwatson}
971102115Srwatsonstatic int
972173138Srwatsonstub_socket_check_send(struct ucred *cred, struct socket *so,
973173138Srwatson    struct label *solabel)
974101099Srwatson{
975101099Srwatson
976193391Srwatson#if 0
977193391Srwatson	SOCK_LOCK(so);
978193391Srwatson	SOCK_UNLOCK(so);
979193391Srwatson#endif
980193391Srwatson
981101099Srwatson	return (0);
982101099Srwatson}
983101099Srwatson
984101099Srwatsonstatic int
985173138Srwatsonstub_socket_check_stat(struct ucred *cred, struct socket *so,
986173138Srwatson    struct label *solabel)
987102115Srwatson{
988102115Srwatson
989193391Srwatson#if 0
990193391Srwatson	SOCK_LOCK(so);
991193391Srwatson	SOCK_UNLOCK(so);
992193391Srwatson#endif
993193391Srwatson
994102115Srwatson	return (0);
995102115Srwatson}
996102115Srwatson
997102115Srwatsonstatic int
998183980Sbzstub_inpcb_check_visible(struct ucred *cred, struct inpcb *inp,
999183980Sbz   struct label *inplabel)
1000183980Sbz{
1001183980Sbz
1002183980Sbz	return (0);
1003183980Sbz}
1004183980Sbz
1005183980Sbzstatic int
1006173138Srwatsonstub_socket_check_visible(struct ucred *cred, struct socket *so,
1007173138Srwatson   struct label *solabel)
1008102115Srwatson{
1009102115Srwatson
1010193391Srwatson#if 0
1011193391Srwatson	SOCK_LOCK(so);
1012193391Srwatson	SOCK_UNLOCK(so);
1013193391Srwatson#endif
1014193391Srwatson
1015102115Srwatson	return (0);
1016102115Srwatson}
1017102115Srwatson
1018173138Srwatsonstatic void
1019173138Srwatsonstub_socket_create(struct ucred *cred, struct socket *so,
1020173138Srwatson    struct label *solabel)
1021145855Srwatson{
1022145855Srwatson
1023145855Srwatson}
1024145855Srwatson
1025173138Srwatsonstatic void
1026173138Srwatsonstub_socket_create_mbuf(struct socket *so, struct label *solabel,
1027173138Srwatson    struct mbuf *m, struct label *mlabel)
1028145855Srwatson{
1029145855Srwatson
1030193391Srwatson#if 0
1031193391Srwatson	SOCK_LOCK(so);
1032193391Srwatson	SOCK_UNLOCK(so);
1033193391Srwatson#endif
1034145855Srwatson}
1035145855Srwatson
1036173138Srwatsonstatic void
1037173138Srwatsonstub_socket_newconn(struct socket *oldso, struct label *oldsolabel,
1038173138Srwatson    struct socket *newso, struct label *newsolabel)
1039145855Srwatson{
1040145855Srwatson
1041193391Srwatson#if 0
1042193391Srwatson	SOCK_LOCK(oldso);
1043193391Srwatson	SOCK_UNLOCK(oldso);
1044193391Srwatson#endif
1045193391Srwatson#if 0
1046193391Srwatson	SOCK_LOCK(newso);
1047193391Srwatson	SOCK_UNLOCK(newso);
1048193391Srwatson#endif
1049145855Srwatson}
1050145855Srwatson
1051173138Srwatsonstatic void
1052173138Srwatsonstub_socket_relabel(struct ucred *cred, struct socket *so,
1053173138Srwatson    struct label *solabel, struct label *newlabel)
1054145855Srwatson{
1055145855Srwatson
1056193391Srwatson	SOCK_LOCK_ASSERT(so);
1057145855Srwatson}
1058145855Srwatson
1059173138Srwatsonstatic void
1060173138Srwatsonstub_socketpeer_set_from_mbuf(struct mbuf *m, struct label *mlabel,
1061173138Srwatson    struct socket *so, struct label *sopeerlabel)
1062145855Srwatson{
1063145855Srwatson
1064193391Srwatson#if 0
1065193391Srwatson	SOCK_LOCK(so);
1066193391Srwatson	SOCK_UNLOCK(so);
1067193391Srwatson#endif
1068145855Srwatson}
1069145855Srwatson
1070173138Srwatsonstatic void
1071173138Srwatsonstub_socketpeer_set_from_socket(struct socket *oldso,
1072173138Srwatson    struct label *oldsolabel, struct socket *newso,
1073173138Srwatson    struct label *newsopeerlabel)
1074145855Srwatson{
1075145855Srwatson
1076193391Srwatson#if 0
1077193391Srwatson	SOCK_LOCK(oldso);
1078193391Srwatson	SOCK_UNLOCK(oldso);
1079193391Srwatson#endif
1080193391Srwatson#if 0
1081193391Srwatson	SOCK_LOCK(newso);
1082193391Srwatson	SOCK_UNLOCK(newso);
1083193391Srwatson#endif
1084145855Srwatson}
1085145855Srwatson
1086173138Srwatsonstatic void
1087173138Srwatsonstub_syncache_create(struct label *label, struct inpcb *inp)
1088101099Srwatson{
1089101099Srwatson
1090101099Srwatson}
1091101099Srwatson
1092173138Srwatsonstatic void
1093173138Srwatsonstub_syncache_create_mbuf(struct label *sc_label, struct mbuf *m,
1094173138Srwatson    struct label *mlabel)
1095101099Srwatson{
1096101099Srwatson
1097101099Srwatson}
1098101099Srwatson
1099101099Srwatsonstatic int
1100173138Srwatsonstub_system_check_acct(struct ucred *cred, struct vnode *vp,
1101173138Srwatson    struct label *vplabel)
1102101099Srwatson{
1103101099Srwatson
1104101099Srwatson	return (0);
1105101099Srwatson}
1106101099Srwatson
1107101099Srwatsonstatic int
1108173138Srwatsonstub_system_check_audit(struct ucred *cred, void *record, int length)
1109145234Srwatson{
1110145234Srwatson
1111145234Srwatson	return (0);
1112145234Srwatson}
1113145234Srwatson
1114145234Srwatsonstatic int
1115173138Srwatsonstub_system_check_auditctl(struct ucred *cred, struct vnode *vp,
1116173138Srwatson    struct label *vplabel)
1117168933Srwatson{
1118168933Srwatson
1119168933Srwatson	return (0);
1120168933Srwatson}
1121168933Srwatson
1122168933Srwatsonstatic int
1123173138Srwatsonstub_system_check_auditon(struct ucred *cred, int cmd)
1124171047Srwatson{
1125171047Srwatson
1126171047Srwatson	return (0);
1127171047Srwatson}
1128171047Srwatson
1129171047Srwatsonstatic int
1130173138Srwatsonstub_system_check_reboot(struct ucred *cred, int how)
1131168933Srwatson{
1132168933Srwatson
1133168933Srwatson	return (0);
1134168933Srwatson}
1135168933Srwatson
1136168933Srwatsonstatic int
1137173138Srwatsonstub_system_check_swapoff(struct ucred *cred, struct vnode *vp,
1138173138Srwatson    struct label *vplabel)
1139145147Srwatson{
1140145147Srwatson
1141145147Srwatson	return (0);
1142145147Srwatson}
1143145147Srwatson
1144145147Srwatsonstatic int
1145173138Srwatsonstub_system_check_swapon(struct ucred *cred, struct vnode *vp,
1146173138Srwatson    struct label *vplabel)
1147145147Srwatson{
1148145147Srwatson
1149145147Srwatson	return (0);
1150145147Srwatson}
1151145147Srwatson
1152145147Srwatsonstatic int
1153173138Srwatsonstub_system_check_sysctl(struct ucred *cred, struct sysctl_oid *oidp,
1154173138Srwatson    void *arg1, int arg2, struct sysctl_req *req)
1155145147Srwatson{
1156145147Srwatson
1157145147Srwatson	return (0);
1158145147Srwatson}
1159145147Srwatson
1160173138Srwatsonstatic void
1161173138Srwatsonstub_sysvmsg_cleanup(struct label *msglabel)
1162145147Srwatson{
1163145147Srwatson
1164145147Srwatson}
1165145147Srwatson
1166173138Srwatsonstatic void
1167173138Srwatsonstub_sysvmsg_create(struct ucred *cred, struct msqid_kernel *msqkptr,
1168173138Srwatson    struct label *msqlabel, struct msg *msgptr, struct label *msglabel)
1169145147Srwatson{
1170145147Srwatson
1171145147Srwatson}
1172145147Srwatson
1173145147Srwatsonstatic int
1174173138Srwatsonstub_sysvmsq_check_msgmsq(struct ucred *cred, struct msg *msgptr,
1175173138Srwatson    struct label *msglabel, struct msqid_kernel *msqkptr,
1176173138Srwatson    struct label *msqklabel)
1177145167Srwatson{
1178145167Srwatson
1179145167Srwatson	return (0);
1180145167Srwatson}
1181145167Srwatson
1182145167Srwatsonstatic int
1183173138Srwatsonstub_sysvmsq_check_msgrcv(struct ucred *cred, struct msg *msgptr,
1184173138Srwatson    struct label *msglabel)
1185101099Srwatson{
1186101099Srwatson
1187101099Srwatson	return (0);
1188101099Srwatson}
1189101099Srwatson
1190173138Srwatson
1191101099Srwatsonstatic int
1192173138Srwatsonstub_sysvmsq_check_msgrmid(struct ucred *cred, struct msg *msgptr,
1193173138Srwatson    struct label *msglabel)
1194101099Srwatson{
1195101099Srwatson
1196101099Srwatson	return (0);
1197101099Srwatson}
1198101099Srwatson
1199173138Srwatson
1200101099Srwatsonstatic int
1201173138Srwatsonstub_sysvmsq_check_msqget(struct ucred *cred, struct msqid_kernel *msqkptr,
1202173138Srwatson    struct label *msqklabel)
1203147784Srwatson{
1204147784Srwatson
1205147784Srwatson	return (0);
1206147784Srwatson}
1207147784Srwatson
1208173138Srwatson
1209147784Srwatsonstatic int
1210173138Srwatsonstub_sysvmsq_check_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr,
1211173138Srwatson    struct label *msqklabel)
1212101099Srwatson{
1213101099Srwatson
1214101099Srwatson	return (0);
1215101099Srwatson}
1216101099Srwatson
1217101099Srwatsonstatic int
1218173138Srwatsonstub_sysvmsq_check_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr,
1219173138Srwatson    struct label *msqklabel)
1220101099Srwatson{
1221101099Srwatson
1222101099Srwatson	return (0);
1223101099Srwatson}
1224101099Srwatson
1225173138Srwatson
1226101099Srwatsonstatic int
1227173138Srwatsonstub_sysvmsq_check_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr,
1228173138Srwatson    struct label *msqklabel, int cmd)
1229145167Srwatson{
1230145167Srwatson
1231145167Srwatson	return (0);
1232145167Srwatson}
1233145167Srwatson
1234173138Srwatson
1235173138Srwatsonstatic void
1236173138Srwatsonstub_sysvmsq_cleanup(struct label *msqlabel)
1237145167Srwatson{
1238145167Srwatson
1239145167Srwatson}
1240145167Srwatson
1241173138Srwatsonstatic void
1242173138Srwatsonstub_sysvmsq_create(struct ucred *cred, struct msqid_kernel *msqkptr,
1243173138Srwatson    struct label *msqlabel)
1244101099Srwatson{
1245101099Srwatson
1246101099Srwatson}
1247173138Srwatson
1248145167Srwatsonstatic int
1249173138Srwatsonstub_sysvsem_check_semctl(struct ucred *cred, struct semid_kernel *semakptr,
1250173138Srwatson    struct label *semaklabel, int cmd)
1251145167Srwatson{
1252101099Srwatson
1253145167Srwatson	return (0);
1254145167Srwatson}
1255145167Srwatson
1256101099Srwatsonstatic int
1257173138Srwatsonstub_sysvsem_check_semget(struct ucred *cred, struct semid_kernel *semakptr,
1258173138Srwatson    struct label *semaklabel)
1259145167Srwatson{
1260145167Srwatson
1261145167Srwatson	return (0);
1262145167Srwatson}
1263145167Srwatson
1264173138Srwatson
1265145167Srwatsonstatic int
1266173138Srwatsonstub_sysvsem_check_semop(struct ucred *cred, struct semid_kernel *semakptr,
1267173138Srwatson    struct label *semaklabel, size_t accesstype)
1268101099Srwatson{
1269101099Srwatson
1270101099Srwatson	return (0);
1271101099Srwatson}
1272101099Srwatson
1273173138Srwatsonstatic void
1274173138Srwatsonstub_sysvsem_cleanup(struct label *semalabel)
1275112577Srwatson{
1276112577Srwatson
1277112577Srwatson}
1278112577Srwatson
1279173138Srwatsonstatic void
1280173138Srwatsonstub_sysvsem_create(struct ucred *cred, struct semid_kernel *semakptr,
1281173138Srwatson    struct label *semalabel)
1282168933Srwatson{
1283168933Srwatson
1284168933Srwatson}
1285168933Srwatson
1286168933Srwatsonstatic int
1287173138Srwatsonstub_sysvshm_check_shmat(struct ucred *cred, struct shmid_kernel *shmsegptr,
1288173138Srwatson    struct label *shmseglabel, int shmflg)
1289168933Srwatson{
1290168933Srwatson
1291168933Srwatson	return (0);
1292168933Srwatson}
1293168933Srwatson
1294168933Srwatsonstatic int
1295173138Srwatsonstub_sysvshm_check_shmctl(struct ucred *cred, struct shmid_kernel *shmsegptr,
1296173138Srwatson    struct label *shmseglabel, int cmd)
1297168933Srwatson{
1298168933Srwatson
1299168933Srwatson	return (0);
1300168933Srwatson}
1301168933Srwatson
1302168933Srwatsonstatic int
1303173138Srwatsonstub_sysvshm_check_shmdt(struct ucred *cred, struct shmid_kernel *shmsegptr,
1304173138Srwatson    struct label *shmseglabel)
1305106162Srwatson{
1306106162Srwatson
1307106162Srwatson	return (0);
1308106162Srwatson}
1309106162Srwatson
1310106162Srwatson
1311106162Srwatsonstatic int
1312173138Srwatsonstub_sysvshm_check_shmget(struct ucred *cred, struct shmid_kernel *shmsegptr,
1313173138Srwatson    struct label *shmseglabel, int shmflg)
1314112577Srwatson{
1315112577Srwatson
1316112577Srwatson	return (0);
1317112577Srwatson}
1318112577Srwatson
1319173138Srwatsonstatic void
1320173138Srwatsonstub_sysvshm_cleanup(struct label *shmlabel)
1321106162Srwatson{
1322106162Srwatson
1323106162Srwatson}
1324106162Srwatson
1325173138Srwatsonstatic void
1326173138Srwatsonstub_sysvshm_create(struct ucred *cred, struct shmid_kernel *shmsegptr,
1327173138Srwatson    struct label *shmalabel)
1328101099Srwatson{
1329101099Srwatson
1330101099Srwatson}
1331101099Srwatson
1332173138Srwatsonstatic void
1333173138Srwatsonstub_thread_userret(struct thread *td)
1334101099Srwatson{
1335101099Srwatson
1336101099Srwatson}
1337101099Srwatson
1338101099Srwatsonstatic int
1339173138Srwatsonstub_vnode_associate_extattr(struct mount *mp, struct label *mplabel,
1340173138Srwatson    struct vnode *vp, struct label *vplabel)
1341101099Srwatson{
1342101099Srwatson
1343101099Srwatson	return (0);
1344101099Srwatson}
1345101099Srwatson
1346173138Srwatsonstatic void
1347173138Srwatsonstub_vnode_associate_singlelabel(struct mount *mp, struct label *mplabel,
1348173138Srwatson    struct vnode *vp, struct label *vplabel)
1349101099Srwatson{
1350101099Srwatson
1351101099Srwatson}
1352101099Srwatson
1353101099Srwatsonstatic int
1354184400Srwatsonstub_vnode_check_access(struct ucred *cred, struct vnode *vp,
1355184426Strasz    struct label *vplabel, accmode_t accmode)
1356184400Srwatson{
1357184400Srwatson
1358184400Srwatson	return (0);
1359184400Srwatson}
1360184400Srwatson
1361184400Srwatsonstatic int
1362184400Srwatsonstub_vnode_check_chdir(struct ucred *cred, struct vnode *dvp,
1363184400Srwatson    struct label *dvplabel)
1364184400Srwatson{
1365184400Srwatson
1366184400Srwatson	return (0);
1367184400Srwatson}
1368184400Srwatson
1369184400Srwatsonstatic int
1370184400Srwatsonstub_vnode_check_chroot(struct ucred *cred, struct vnode *dvp,
1371184400Srwatson    struct label *dvplabel)
1372184400Srwatson{
1373184400Srwatson
1374184400Srwatson	return (0);
1375184400Srwatson}
1376184400Srwatson
1377184400Srwatsonstatic int
1378184400Srwatsonstub_vnode_check_create(struct ucred *cred, struct vnode *dvp,
1379184400Srwatson    struct label *dvplabel, struct componentname *cnp, struct vattr *vap)
1380184400Srwatson{
1381184400Srwatson
1382184400Srwatson	return (0);
1383184400Srwatson}
1384184400Srwatson
1385184400Srwatsonstatic int
1386172930Srwatsonstub_vnode_check_deleteacl(struct ucred *cred, struct vnode *vp,
1387168976Srwatson    struct label *vplabel, acl_type_t type)
1388101099Srwatson{
1389101099Srwatson
1390101099Srwatson	return (0);
1391101099Srwatson}
1392101099Srwatson
1393101099Srwatsonstatic int
1394172930Srwatsonstub_vnode_check_deleteextattr(struct ucred *cred, struct vnode *vp,
1395168976Srwatson    struct label *vplabel, int attrnamespace, const char *name)
1396119223Srwatson{
1397119223Srwatson
1398119223Srwatson	return (0);
1399119223Srwatson}
1400119223Srwatson
1401119223Srwatsonstatic int
1402172930Srwatsonstub_vnode_check_exec(struct ucred *cred, struct vnode *vp,
1403168976Srwatson    struct label *vplabel, struct image_params *imgp,
1404106648Srwatson    struct label *execlabel)
1405101099Srwatson{
1406101099Srwatson
1407101099Srwatson	return (0);
1408101099Srwatson}
1409101099Srwatson
1410101099Srwatsonstatic int
1411172930Srwatsonstub_vnode_check_getacl(struct ucred *cred, struct vnode *vp,
1412168976Srwatson    struct label *vplabel, acl_type_t type)
1413101099Srwatson{
1414101099Srwatson
1415101099Srwatson	return (0);
1416101099Srwatson}
1417101099Srwatson
1418101099Srwatsonstatic int
1419172930Srwatsonstub_vnode_check_getextattr(struct ucred *cred, struct vnode *vp,
1420189533Srwatson    struct label *vplabel, int attrnamespace, const char *name)
1421101099Srwatson{
1422101099Srwatson
1423101099Srwatson	return (0);
1424101099Srwatson}
1425101099Srwatson
1426105664Srwatsonstatic int
1427172930Srwatsonstub_vnode_check_link(struct ucred *cred, struct vnode *dvp,
1428168976Srwatson    struct label *dvplabel, struct vnode *vp, struct label *vplabel,
1429104530Srwatson    struct componentname *cnp)
1430104530Srwatson{
1431104530Srwatson
1432104530Srwatson	return (0);
1433104530Srwatson}
1434104530Srwatson
1435101099Srwatsonstatic int
1436172930Srwatsonstub_vnode_check_listextattr(struct ucred *cred, struct vnode *vp,
1437168976Srwatson    struct label *vplabel, int attrnamespace)
1438119223Srwatson{
1439119223Srwatson
1440119223Srwatson	return (0);
1441119223Srwatson}
1442119223Srwatson
1443119223Srwatsonstatic int
1444172930Srwatsonstub_vnode_check_lookup(struct ucred *cred, struct vnode *dvp,
1445168976Srwatson    struct label *dvplabel, struct componentname *cnp)
1446101099Srwatson{
1447104546Srwatson
1448101099Srwatson	return (0);
1449104546Srwatson}
1450101099Srwatson
1451101099Srwatsonstatic int
1452172930Srwatsonstub_vnode_check_mmap(struct ucred *cred, struct vnode *vp,
1453168976Srwatson    struct label *vplabel, int prot, int flags)
1454104546Srwatson{
1455104546Srwatson
1456104546Srwatson	return (0);
1457104546Srwatson}
1458104546Srwatson
1459165715Scsjpstatic void
1460172930Srwatsonstub_vnode_check_mmap_downgrade(struct ucred *cred, struct vnode *vp,
1461168976Srwatson    struct label *vplabel, int *prot)
1462165715Scsjp{
1463165715Scsjp
1464165715Scsjp}
1465165715Scsjp
1466104546Srwatsonstatic int
1467172930Srwatsonstub_vnode_check_mprotect(struct ucred *cred, struct vnode *vp,
1468168976Srwatson    struct label *vplabel, int prot)
1469165715Scsjp{
1470165715Scsjp
1471165715Scsjp	return (0);
1472165715Scsjp}
1473165715Scsjp
1474165715Scsjpstatic int
1475172930Srwatsonstub_vnode_check_open(struct ucred *cred, struct vnode *vp,
1476184413Strasz    struct label *vplabel, accmode_t accmode)
1477101099Srwatson{
1478101099Srwatson
1479101099Srwatson	return (0);
1480101099Srwatson}
1481101099Srwatson
1482101099Srwatsonstatic int
1483172930Srwatsonstub_vnode_check_poll(struct ucred *active_cred, struct ucred *file_cred,
1484168976Srwatson    struct vnode *vp, struct label *vplabel)
1485102112Srwatson{
1486102112Srwatson
1487102112Srwatson	return (0);
1488102112Srwatson}
1489102112Srwatson
1490102112Srwatsonstatic int
1491172930Srwatsonstub_vnode_check_read(struct ucred *active_cred, struct ucred *file_cred,
1492168976Srwatson    struct vnode *vp, struct label *vplabel)
1493102112Srwatson{
1494102112Srwatson
1495102112Srwatson	return (0);
1496102112Srwatson}
1497102112Srwatson
1498102112Srwatsonstatic int
1499172930Srwatsonstub_vnode_check_readdir(struct ucred *cred, struct vnode *vp,
1500168976Srwatson    struct label *dvplabel)
1501101099Srwatson{
1502101099Srwatson
1503101099Srwatson	return (0);
1504101099Srwatson}
1505101099Srwatson
1506101099Srwatsonstatic int
1507172930Srwatsonstub_vnode_check_readlink(struct ucred *cred, struct vnode *vp,
1508168976Srwatson    struct label *vplabel)
1509101099Srwatson{
1510101099Srwatson
1511101099Srwatson	return (0);
1512101099Srwatson}
1513101099Srwatson
1514101099Srwatsonstatic int
1515172930Srwatsonstub_vnode_check_relabel(struct ucred *cred, struct vnode *vp,
1516168976Srwatson    struct label *vplabel, struct label *newlabel)
1517101099Srwatson{
1518101099Srwatson
1519101099Srwatson	return (0);
1520101099Srwatson}
1521101099Srwatson
1522101099Srwatsonstatic int
1523172930Srwatsonstub_vnode_check_rename_from(struct ucred *cred, struct vnode *dvp,
1524168976Srwatson    struct label *dvplabel, struct vnode *vp, struct label *vplabel,
1525101099Srwatson    struct componentname *cnp)
1526101099Srwatson{
1527101099Srwatson
1528101099Srwatson	return (0);
1529101099Srwatson}
1530101099Srwatson
1531101099Srwatsonstatic int
1532172930Srwatsonstub_vnode_check_rename_to(struct ucred *cred, struct vnode *dvp,
1533168976Srwatson    struct label *dvplabel, struct vnode *vp, struct label *vplabel,
1534168976Srwatson    int samedir, struct componentname *cnp)
1535101099Srwatson{
1536101099Srwatson
1537101099Srwatson	return (0);
1538101099Srwatson}
1539101099Srwatson
1540101099Srwatsonstatic int
1541172930Srwatsonstub_vnode_check_revoke(struct ucred *cred, struct vnode *vp,
1542168976Srwatson    struct label *vplabel)
1543101099Srwatson{
1544101099Srwatson
1545101099Srwatson	return (0);
1546101099Srwatson}
1547101099Srwatson
1548101099Srwatsonstatic int
1549172930Srwatsonstub_vnode_check_setacl(struct ucred *cred, struct vnode *vp,
1550168976Srwatson    struct label *vplabel, acl_type_t type, struct acl *acl)
1551101099Srwatson{
1552101099Srwatson
1553101099Srwatson	return (0);
1554101099Srwatson}
1555101099Srwatson
1556101099Srwatsonstatic int
1557172930Srwatsonstub_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
1558189533Srwatson    struct label *vplabel, int attrnamespace, const char *name)
1559101099Srwatson{
1560101099Srwatson
1561101099Srwatson	return (0);
1562101099Srwatson}
1563101099Srwatson
1564101099Srwatsonstatic int
1565172930Srwatsonstub_vnode_check_setflags(struct ucred *cred, struct vnode *vp,
1566168976Srwatson    struct label *vplabel, u_long flags)
1567101099Srwatson{
1568101099Srwatson
1569101099Srwatson	return (0);
1570101099Srwatson}
1571101099Srwatson
1572101099Srwatsonstatic int
1573172930Srwatsonstub_vnode_check_setmode(struct ucred *cred, struct vnode *vp,
1574168976Srwatson    struct label *vplabel, mode_t mode)
1575101099Srwatson{
1576101099Srwatson
1577101099Srwatson	return (0);
1578101099Srwatson}
1579101099Srwatson
1580101099Srwatsonstatic int
1581172930Srwatsonstub_vnode_check_setowner(struct ucred *cred, struct vnode *vp,
1582168976Srwatson    struct label *vplabel, uid_t uid, gid_t gid)
1583101099Srwatson{
1584101099Srwatson
1585101099Srwatson	return (0);
1586101099Srwatson}
1587101099Srwatson
1588101099Srwatsonstatic int
1589172930Srwatsonstub_vnode_check_setutimes(struct ucred *cred, struct vnode *vp,
1590168976Srwatson    struct label *vplabel, struct timespec atime, struct timespec mtime)
1591101099Srwatson{
1592101099Srwatson
1593101099Srwatson	return (0);
1594101099Srwatson}
1595101099Srwatson
1596101099Srwatsonstatic int
1597172930Srwatsonstub_vnode_check_stat(struct ucred *active_cred, struct ucred *file_cred,
1598168976Srwatson    struct vnode *vp, struct label *vplabel)
1599101099Srwatson{
1600101099Srwatson
1601101099Srwatson	return (0);
1602101099Srwatson}
1603101099Srwatson
1604102112Srwatsonstatic int
1605172930Srwatsonstub_vnode_check_unlink(struct ucred *cred, struct vnode *dvp,
1606172107Srwatson    struct label *dvplabel, struct vnode *vp, struct label *vplabel,
1607172107Srwatson    struct componentname *cnp)
1608172107Srwatson{
1609172107Srwatson
1610172107Srwatson	return (0);
1611172107Srwatson}
1612172107Srwatson
1613172107Srwatsonstatic int
1614172930Srwatsonstub_vnode_check_write(struct ucred *active_cred, struct ucred *file_cred,
1615168976Srwatson    struct vnode *vp, struct label *vplabel)
1616102112Srwatson{
1617102112Srwatson
1618102112Srwatson	return (0);
1619102112Srwatson}
1620102112Srwatson
1621164034Srwatsonstatic int
1622173138Srwatsonstub_vnode_create_extattr(struct ucred *cred, struct mount *mp,
1623173138Srwatson    struct label *mntlabel, struct vnode *dvp, struct label *dvplabel,
1624173138Srwatson    struct vnode *vp, struct label *vplabel, struct componentname *cnp)
1625164034Srwatson{
1626164034Srwatson
1627164034Srwatson	return (0);
1628164034Srwatson}
1629164034Srwatson
1630173138Srwatsonstatic void
1631173138Srwatsonstub_vnode_execve_transition(struct ucred *old, struct ucred *new,
1632173138Srwatson    struct vnode *vp, struct label *vplabel, struct label *interpvplabel,
1633173138Srwatson    struct image_params *imgp, struct label *execlabel)
1634173138Srwatson{
1635173138Srwatson
1636173138Srwatson}
1637173138Srwatson
1638164034Srwatsonstatic int
1639173138Srwatsonstub_vnode_execve_will_transition(struct ucred *old, struct vnode *vp,
1640173138Srwatson    struct label *vplabel, struct label *interpvplabel,
1641173138Srwatson    struct image_params *imgp, struct label *execlabel)
1642164034Srwatson{
1643164034Srwatson
1644173138Srwatson	return (0);
1645164034Srwatson}
1646164034Srwatson
1647173138Srwatsonstatic void
1648173138Srwatsonstub_vnode_relabel(struct ucred *cred, struct vnode *vp,
1649173138Srwatson    struct label *vplabel, struct label *label)
1650173138Srwatson{
1651173138Srwatson
1652173138Srwatson}
1653173138Srwatson
1654173138Srwatsonstatic int
1655173138Srwatsonstub_vnode_setlabel_extattr(struct ucred *cred, struct vnode *vp,
1656173138Srwatson    struct label *vplabel, struct label *intlabel)
1657173138Srwatson{
1658173138Srwatson
1659173138Srwatson	return (0);
1660173138Srwatson}
1661173138Srwatson
1662173138Srwatson/*
1663173138Srwatson * Register functions with MAC Framework policy entry points.
1664173138Srwatson */
1665172955Srwatsonstatic struct mac_policy_ops stub_ops =
1666101099Srwatson{
1667119211Srwatson	.mpo_destroy = stub_destroy,
1668119211Srwatson	.mpo_init = stub_init,
1669119211Srwatson	.mpo_syscall = stub_syscall,
1670173138Srwatson
1671173138Srwatson	.mpo_bpfdesc_check_receive = stub_bpfdesc_check_receive,
1672173138Srwatson	.mpo_bpfdesc_create = stub_bpfdesc_create,
1673173138Srwatson	.mpo_bpfdesc_create_mbuf = stub_bpfdesc_create_mbuf,
1674173138Srwatson	.mpo_bpfdesc_destroy_label = stub_destroy_label,
1675172930Srwatson	.mpo_bpfdesc_init_label = stub_init_label,
1676173138Srwatson
1677184407Srwatson	.mpo_cred_associate_nfsd = stub_cred_associate_nfsd,
1678173138Srwatson	.mpo_cred_check_relabel = stub_cred_check_relabel,
1679189529Srwatson	.mpo_cred_check_setaudit = stub_cred_check_setaudit,
1680189529Srwatson	.mpo_cred_check_setaudit_addr = stub_cred_check_setaudit_addr,
1681189529Srwatson	.mpo_cred_check_setauid = stub_cred_check_setauid,
1682189529Srwatson	.mpo_cred_check_setegid = stub_cred_check_setegid,
1683189529Srwatson	.mpo_cred_check_seteuid = stub_cred_check_seteuid,
1684189529Srwatson	.mpo_cred_check_setgid = stub_cred_check_setgid,
1685189529Srwatson	.mpo_cred_check_setgroups = stub_cred_check_setgroups,
1686189529Srwatson	.mpo_cred_check_setregid = stub_cred_check_setregid,
1687189529Srwatson	.mpo_cred_check_setresgid = stub_cred_check_setresgid,
1688189529Srwatson	.mpo_cred_check_setresuid = stub_cred_check_setresuid,
1689189529Srwatson	.mpo_cred_check_setreuid = stub_cred_check_setreuid,
1690189529Srwatson	.mpo_cred_check_setuid = stub_cred_check_setuid,
1691173138Srwatson	.mpo_cred_check_visible = stub_cred_check_visible,
1692173138Srwatson	.mpo_cred_copy_label = stub_copy_label,
1693184407Srwatson	.mpo_cred_create_init = stub_cred_create_init,
1694184407Srwatson	.mpo_cred_create_swapper = stub_cred_create_swapper,
1695172930Srwatson	.mpo_cred_destroy_label = stub_destroy_label,
1696172930Srwatson	.mpo_cred_externalize_label = stub_externalize_label,
1697173138Srwatson	.mpo_cred_init_label = stub_init_label,
1698172930Srwatson	.mpo_cred_internalize_label = stub_internalize_label,
1699173138Srwatson	.mpo_cred_relabel= stub_cred_relabel,
1700173138Srwatson
1701172930Srwatson	.mpo_devfs_create_device = stub_devfs_create_device,
1702172930Srwatson	.mpo_devfs_create_directory = stub_devfs_create_directory,
1703172930Srwatson	.mpo_devfs_create_symlink = stub_devfs_create_symlink,
1704173138Srwatson	.mpo_devfs_destroy_label = stub_destroy_label,
1705173138Srwatson	.mpo_devfs_init_label = stub_init_label,
1706172930Srwatson	.mpo_devfs_update = stub_devfs_update,
1707173138Srwatson	.mpo_devfs_vnode_associate = stub_devfs_vnode_associate,
1708173138Srwatson
1709173138Srwatson	.mpo_ifnet_check_relabel = stub_ifnet_check_relabel,
1710173138Srwatson	.mpo_ifnet_check_transmit = stub_ifnet_check_transmit,
1711173138Srwatson	.mpo_ifnet_copy_label = stub_copy_label,
1712172930Srwatson	.mpo_ifnet_create = stub_ifnet_create,
1713173138Srwatson	.mpo_ifnet_create_mbuf = stub_ifnet_create_mbuf,
1714173138Srwatson	.mpo_ifnet_destroy_label = stub_destroy_label,
1715173138Srwatson	.mpo_ifnet_externalize_label = stub_externalize_label,
1716173138Srwatson	.mpo_ifnet_init_label = stub_init_label,
1717173138Srwatson	.mpo_ifnet_internalize_label = stub_internalize_label,
1718173138Srwatson	.mpo_ifnet_relabel = stub_ifnet_relabel,
1719173138Srwatson
1720173138Srwatson	.mpo_inpcb_check_deliver = stub_inpcb_check_deliver,
1721183980Sbz	.mpo_inpcb_check_visible = stub_inpcb_check_visible,
1722172930Srwatson	.mpo_inpcb_create = stub_inpcb_create,
1723173138Srwatson	.mpo_inpcb_create_mbuf = stub_inpcb_create_mbuf,
1724173138Srwatson	.mpo_inpcb_destroy_label = stub_destroy_label,
1725173138Srwatson	.mpo_inpcb_init_label = stub_init_label_waitcheck,
1726173138Srwatson	.mpo_inpcb_sosetlabel = stub_inpcb_sosetlabel,
1727173138Srwatson
1728184308Srwatson	.mpo_ip6q_create = stub_ip6q_create,
1729184308Srwatson	.mpo_ip6q_destroy_label = stub_destroy_label,
1730184308Srwatson	.mpo_ip6q_init_label = stub_init_label_waitcheck,
1731184308Srwatson	.mpo_ip6q_match = stub_ip6q_match,
1732184308Srwatson	.mpo_ip6q_update = stub_ip6q_update,
1733184308Srwatson	.mpo_ip6q_reassemble = stub_ip6q_reassemble,
1734184308Srwatson
1735172930Srwatson	.mpo_ipq_create = stub_ipq_create,
1736173138Srwatson	.mpo_ipq_destroy_label = stub_destroy_label,
1737173138Srwatson	.mpo_ipq_init_label = stub_init_label_waitcheck,
1738173138Srwatson	.mpo_ipq_match = stub_ipq_match,
1739173138Srwatson	.mpo_ipq_update = stub_ipq_update,
1740172930Srwatson	.mpo_ipq_reassemble = stub_ipq_reassemble,
1741173138Srwatson
1742173138Srwatson	.mpo_kenv_check_dump = stub_kenv_check_dump,
1743173138Srwatson	.mpo_kenv_check_get = stub_kenv_check_get,
1744173138Srwatson	.mpo_kenv_check_set = stub_kenv_check_set,
1745173138Srwatson	.mpo_kenv_check_unset = stub_kenv_check_unset,
1746173138Srwatson
1747173138Srwatson	.mpo_kld_check_load = stub_kld_check_load,
1748173138Srwatson	.mpo_kld_check_stat = stub_kld_check_stat,
1749173138Srwatson
1750173138Srwatson	.mpo_mbuf_copy_label = stub_copy_label,
1751173138Srwatson	.mpo_mbuf_destroy_label = stub_destroy_label,
1752173138Srwatson	.mpo_mbuf_init_label = stub_init_label_waitcheck,
1753173138Srwatson
1754173138Srwatson	.mpo_mount_check_stat = stub_mount_check_stat,
1755173138Srwatson	.mpo_mount_create = stub_mount_create,
1756173138Srwatson	.mpo_mount_destroy_label = stub_destroy_label,
1757173138Srwatson	.mpo_mount_init_label = stub_init_label,
1758173138Srwatson
1759173095Srwatson	.mpo_netatalk_aarp_send = stub_netatalk_aarp_send,
1760173138Srwatson
1761173095Srwatson	.mpo_netinet_arp_send = stub_netinet_arp_send,
1762173102Srwatson	.mpo_netinet_firewall_reply = stub_netinet_firewall_reply,
1763173018Srwatson	.mpo_netinet_firewall_send = stub_netinet_firewall_send,
1764173138Srwatson	.mpo_netinet_fragment = stub_netinet_fragment,
1765173102Srwatson	.mpo_netinet_icmp_reply = stub_netinet_icmp_reply,
1766173102Srwatson	.mpo_netinet_icmp_replyinplace = stub_netinet_icmp_replyinplace,
1767173138Srwatson	.mpo_netinet_tcp_reply = stub_netinet_tcp_reply,
1768173095Srwatson	.mpo_netinet_igmp_send = stub_netinet_igmp_send,
1769173138Srwatson
1770173095Srwatson	.mpo_netinet6_nd6_send = stub_netinet6_nd6_send,
1771173138Srwatson
1772172930Srwatson	.mpo_pipe_check_ioctl = stub_pipe_check_ioctl,
1773172930Srwatson	.mpo_pipe_check_poll = stub_pipe_check_poll,
1774172930Srwatson	.mpo_pipe_check_read = stub_pipe_check_read,
1775172930Srwatson	.mpo_pipe_check_relabel = stub_pipe_check_relabel,
1776172930Srwatson	.mpo_pipe_check_stat = stub_pipe_check_stat,
1777172930Srwatson	.mpo_pipe_check_write = stub_pipe_check_write,
1778173138Srwatson	.mpo_pipe_copy_label = stub_copy_label,
1779173138Srwatson	.mpo_pipe_create = stub_pipe_create,
1780173138Srwatson	.mpo_pipe_destroy_label = stub_destroy_label,
1781173138Srwatson	.mpo_pipe_externalize_label = stub_externalize_label,
1782173138Srwatson	.mpo_pipe_init_label = stub_init_label,
1783173138Srwatson	.mpo_pipe_internalize_label = stub_internalize_label,
1784173138Srwatson	.mpo_pipe_relabel = stub_pipe_relabel,
1785173138Srwatson
1786172930Srwatson	.mpo_posixsem_check_getvalue = stub_posixsem_check_getvalue,
1787172930Srwatson	.mpo_posixsem_check_open = stub_posixsem_check_open,
1788172930Srwatson	.mpo_posixsem_check_post = stub_posixsem_check_post,
1789224914Skib	.mpo_posixsem_check_setmode = stub_posixsem_check_setmode,
1790224914Skib	.mpo_posixsem_check_setowner = stub_posixsem_check_setowner,
1791180059Sjhb	.mpo_posixsem_check_stat = stub_posixsem_check_stat,
1792172930Srwatson	.mpo_posixsem_check_unlink = stub_posixsem_check_unlink,
1793172930Srwatson	.mpo_posixsem_check_wait = stub_posixsem_check_wait,
1794173138Srwatson	.mpo_posixsem_create = stub_posixsem_create,
1795173138Srwatson	.mpo_posixsem_destroy_label = stub_destroy_label,
1796173138Srwatson	.mpo_posixsem_init_label = stub_init_label,
1797173138Srwatson
1798225344Srwatson	.mpo_posixshm_check_create = stub_posixshm_check_create,
1799175164Sjhb	.mpo_posixshm_check_mmap = stub_posixshm_check_mmap,
1800175164Sjhb	.mpo_posixshm_check_open = stub_posixshm_check_open,
1801254603Skib	.mpo_posixshm_check_read = stub_posixshm_check_read,
1802224914Skib	.mpo_posixshm_check_setmode = stub_posixshm_check_setmode,
1803224914Skib	.mpo_posixshm_check_setowner = stub_posixshm_check_setowner,
1804175164Sjhb	.mpo_posixshm_check_stat = stub_posixshm_check_stat,
1805175164Sjhb	.mpo_posixshm_check_truncate = stub_posixshm_check_truncate,
1806175164Sjhb	.mpo_posixshm_check_unlink = stub_posixshm_check_unlink,
1807254603Skib	.mpo_posixshm_check_write = stub_posixshm_check_write,
1808175164Sjhb	.mpo_posixshm_create = stub_posixshm_create,
1809175164Sjhb	.mpo_posixshm_destroy_label = stub_destroy_label,
1810175164Sjhb	.mpo_posixshm_init_label = stub_init_label,
1811175164Sjhb
1812173138Srwatson	.mpo_priv_check = stub_priv_check,
1813173138Srwatson	.mpo_priv_grant = stub_priv_grant,
1814173138Srwatson
1815172930Srwatson	.mpo_proc_check_debug = stub_proc_check_debug,
1816172930Srwatson	.mpo_proc_check_sched = stub_proc_check_sched,
1817172930Srwatson	.mpo_proc_check_signal = stub_proc_check_signal,
1818172930Srwatson	.mpo_proc_check_wait = stub_proc_check_wait,
1819173138Srwatson
1820172930Srwatson	.mpo_socket_check_accept = stub_socket_check_accept,
1821172930Srwatson	.mpo_socket_check_bind = stub_socket_check_bind,
1822172930Srwatson	.mpo_socket_check_connect = stub_socket_check_connect,
1823172930Srwatson	.mpo_socket_check_create = stub_socket_check_create,
1824172930Srwatson	.mpo_socket_check_deliver = stub_socket_check_deliver,
1825172930Srwatson	.mpo_socket_check_listen = stub_socket_check_listen,
1826172930Srwatson	.mpo_socket_check_poll = stub_socket_check_poll,
1827172930Srwatson	.mpo_socket_check_receive = stub_socket_check_receive,
1828172930Srwatson	.mpo_socket_check_relabel = stub_socket_check_relabel,
1829172930Srwatson	.mpo_socket_check_send = stub_socket_check_send,
1830172930Srwatson	.mpo_socket_check_stat = stub_socket_check_stat,
1831172930Srwatson	.mpo_socket_check_visible = stub_socket_check_visible,
1832173138Srwatson	.mpo_socket_copy_label = stub_copy_label,
1833173138Srwatson	.mpo_socket_create = stub_socket_create,
1834173138Srwatson	.mpo_socket_create_mbuf = stub_socket_create_mbuf,
1835173138Srwatson	.mpo_socket_destroy_label = stub_destroy_label,
1836173138Srwatson	.mpo_socket_externalize_label = stub_externalize_label,
1837173138Srwatson	.mpo_socket_init_label = stub_init_label_waitcheck,
1838173138Srwatson	.mpo_socket_internalize_label = stub_internalize_label,
1839173138Srwatson	.mpo_socket_newconn = stub_socket_newconn,
1840173138Srwatson	.mpo_socket_relabel = stub_socket_relabel,
1841173138Srwatson
1842173138Srwatson	.mpo_socketpeer_destroy_label = stub_destroy_label,
1843173138Srwatson	.mpo_socketpeer_externalize_label = stub_externalize_label,
1844173138Srwatson	.mpo_socketpeer_init_label = stub_init_label_waitcheck,
1845173138Srwatson	.mpo_socketpeer_set_from_mbuf = stub_socketpeer_set_from_mbuf,
1846173138Srwatson	.mpo_socketpeer_set_from_socket = stub_socketpeer_set_from_socket,
1847173138Srwatson
1848173138Srwatson	.mpo_syncache_init_label = stub_init_label_waitcheck,
1849173138Srwatson	.mpo_syncache_destroy_label = stub_destroy_label,
1850173138Srwatson	.mpo_syncache_create = stub_syncache_create,
1851173138Srwatson	.mpo_syncache_create_mbuf= stub_syncache_create_mbuf,
1852173138Srwatson
1853173138Srwatson	.mpo_sysvmsg_cleanup = stub_sysvmsg_cleanup,
1854173138Srwatson	.mpo_sysvmsg_create = stub_sysvmsg_create,
1855173138Srwatson	.mpo_sysvmsg_destroy_label = stub_destroy_label,
1856173138Srwatson	.mpo_sysvmsg_init_label = stub_init_label,
1857173138Srwatson
1858173138Srwatson	.mpo_sysvmsq_check_msgmsq = stub_sysvmsq_check_msgmsq,
1859173138Srwatson	.mpo_sysvmsq_check_msgrcv = stub_sysvmsq_check_msgrcv,
1860173138Srwatson	.mpo_sysvmsq_check_msgrmid = stub_sysvmsq_check_msgrmid,
1861173138Srwatson	.mpo_sysvmsq_check_msqget = stub_sysvmsq_check_msqget,
1862173138Srwatson	.mpo_sysvmsq_check_msqsnd = stub_sysvmsq_check_msqsnd,
1863173138Srwatson	.mpo_sysvmsq_check_msqrcv = stub_sysvmsq_check_msqrcv,
1864173138Srwatson	.mpo_sysvmsq_check_msqctl = stub_sysvmsq_check_msqctl,
1865173138Srwatson	.mpo_sysvmsq_cleanup = stub_sysvmsq_cleanup,
1866173138Srwatson	.mpo_sysvmsq_create = stub_sysvmsq_create,
1867173138Srwatson	.mpo_sysvmsq_destroy_label = stub_destroy_label,
1868173138Srwatson	.mpo_sysvmsq_init_label = stub_init_label,
1869173138Srwatson
1870173138Srwatson	.mpo_sysvsem_check_semctl = stub_sysvsem_check_semctl,
1871173138Srwatson	.mpo_sysvsem_check_semget = stub_sysvsem_check_semget,
1872173138Srwatson	.mpo_sysvsem_check_semop = stub_sysvsem_check_semop,
1873173138Srwatson	.mpo_sysvsem_cleanup = stub_sysvsem_cleanup,
1874173138Srwatson	.mpo_sysvsem_create = stub_sysvsem_create,
1875173138Srwatson	.mpo_sysvsem_destroy_label = stub_destroy_label,
1876173138Srwatson	.mpo_sysvsem_init_label = stub_init_label,
1877173138Srwatson
1878173138Srwatson	.mpo_sysvshm_check_shmat = stub_sysvshm_check_shmat,
1879173138Srwatson	.mpo_sysvshm_check_shmctl = stub_sysvshm_check_shmctl,
1880173138Srwatson	.mpo_sysvshm_check_shmdt = stub_sysvshm_check_shmdt,
1881173138Srwatson	.mpo_sysvshm_check_shmget = stub_sysvshm_check_shmget,
1882173138Srwatson	.mpo_sysvshm_cleanup = stub_sysvshm_cleanup,
1883173138Srwatson	.mpo_sysvshm_create = stub_sysvshm_create,
1884173138Srwatson	.mpo_sysvshm_destroy_label = stub_destroy_label,
1885173138Srwatson	.mpo_sysvshm_init_label = stub_init_label,
1886173138Srwatson
1887172930Srwatson	.mpo_system_check_acct = stub_system_check_acct,
1888172930Srwatson	.mpo_system_check_audit = stub_system_check_audit,
1889172930Srwatson	.mpo_system_check_auditctl = stub_system_check_auditctl,
1890172930Srwatson	.mpo_system_check_auditon = stub_system_check_auditon,
1891172930Srwatson	.mpo_system_check_reboot = stub_system_check_reboot,
1892172930Srwatson	.mpo_system_check_swapoff = stub_system_check_swapoff,
1893172930Srwatson	.mpo_system_check_swapon = stub_system_check_swapon,
1894172930Srwatson	.mpo_system_check_sysctl = stub_system_check_sysctl,
1895173138Srwatson
1896173138Srwatson	.mpo_thread_userret = stub_thread_userret,
1897173138Srwatson
1898173138Srwatson	.mpo_vnode_associate_extattr = stub_vnode_associate_extattr,
1899173138Srwatson	.mpo_vnode_associate_singlelabel = stub_vnode_associate_singlelabel,
1900172930Srwatson	.mpo_vnode_check_access = stub_vnode_check_access,
1901172930Srwatson	.mpo_vnode_check_chdir = stub_vnode_check_chdir,
1902172930Srwatson	.mpo_vnode_check_chroot = stub_vnode_check_chroot,
1903172930Srwatson	.mpo_vnode_check_create = stub_vnode_check_create,
1904172930Srwatson	.mpo_vnode_check_deleteacl = stub_vnode_check_deleteacl,
1905172930Srwatson	.mpo_vnode_check_deleteextattr = stub_vnode_check_deleteextattr,
1906172930Srwatson	.mpo_vnode_check_exec = stub_vnode_check_exec,
1907172930Srwatson	.mpo_vnode_check_getacl = stub_vnode_check_getacl,
1908172930Srwatson	.mpo_vnode_check_getextattr = stub_vnode_check_getextattr,
1909172930Srwatson	.mpo_vnode_check_link = stub_vnode_check_link,
1910172930Srwatson	.mpo_vnode_check_listextattr = stub_vnode_check_listextattr,
1911172930Srwatson	.mpo_vnode_check_lookup = stub_vnode_check_lookup,
1912172930Srwatson	.mpo_vnode_check_mmap = stub_vnode_check_mmap,
1913172930Srwatson	.mpo_vnode_check_mmap_downgrade = stub_vnode_check_mmap_downgrade,
1914172930Srwatson	.mpo_vnode_check_mprotect = stub_vnode_check_mprotect,
1915172930Srwatson	.mpo_vnode_check_open = stub_vnode_check_open,
1916172930Srwatson	.mpo_vnode_check_poll = stub_vnode_check_poll,
1917172930Srwatson	.mpo_vnode_check_read = stub_vnode_check_read,
1918172930Srwatson	.mpo_vnode_check_readdir = stub_vnode_check_readdir,
1919172930Srwatson	.mpo_vnode_check_readlink = stub_vnode_check_readlink,
1920172930Srwatson	.mpo_vnode_check_relabel = stub_vnode_check_relabel,
1921172930Srwatson	.mpo_vnode_check_rename_from = stub_vnode_check_rename_from,
1922172930Srwatson	.mpo_vnode_check_rename_to = stub_vnode_check_rename_to,
1923172930Srwatson	.mpo_vnode_check_revoke = stub_vnode_check_revoke,
1924172930Srwatson	.mpo_vnode_check_setacl = stub_vnode_check_setacl,
1925172930Srwatson	.mpo_vnode_check_setextattr = stub_vnode_check_setextattr,
1926172930Srwatson	.mpo_vnode_check_setflags = stub_vnode_check_setflags,
1927172930Srwatson	.mpo_vnode_check_setmode = stub_vnode_check_setmode,
1928172930Srwatson	.mpo_vnode_check_setowner = stub_vnode_check_setowner,
1929172930Srwatson	.mpo_vnode_check_setutimes = stub_vnode_check_setutimes,
1930172930Srwatson	.mpo_vnode_check_stat = stub_vnode_check_stat,
1931172930Srwatson	.mpo_vnode_check_unlink = stub_vnode_check_unlink,
1932172930Srwatson	.mpo_vnode_check_write = stub_vnode_check_write,
1933173138Srwatson	.mpo_vnode_copy_label = stub_copy_label,
1934173138Srwatson	.mpo_vnode_create_extattr = stub_vnode_create_extattr,
1935173138Srwatson	.mpo_vnode_destroy_label = stub_destroy_label,
1936173138Srwatson	.mpo_vnode_execve_transition = stub_vnode_execve_transition,
1937173138Srwatson	.mpo_vnode_execve_will_transition = stub_vnode_execve_will_transition,
1938173138Srwatson	.mpo_vnode_externalize_label = stub_externalize_label,
1939173138Srwatson	.mpo_vnode_init_label = stub_init_label,
1940173138Srwatson	.mpo_vnode_internalize_label = stub_internalize_label,
1941173138Srwatson	.mpo_vnode_relabel = stub_vnode_relabel,
1942173138Srwatson	.mpo_vnode_setlabel_extattr = stub_vnode_setlabel_extattr,
1943101099Srwatson};
1944101099Srwatson
1945172955SrwatsonMAC_POLICY_SET(&stub_ops, mac_stub, "TrustedBSD MAC/Stub",
1946187016Srwatson    MPC_LOADTIME_FLAG_UNLOADOK, NULL);
1947