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_netinet_arp_send(struct ifnet *ifp, struct label *iflpabel,
538173095Srwatson    struct mbuf *m, struct label *mlabel)
539173095Srwatson{
540173095Srwatson
541173095Srwatson}
542173095Srwatson
543173095Srwatsonstatic void
544173102Srwatsonstub_netinet_firewall_reply(struct mbuf *mrecv, struct label *mrecvlabel,
545173102Srwatson    struct mbuf *msend, struct label *msendlabel)
546173095Srwatson{
547173095Srwatson
548173095Srwatson}
549173095Srwatson
550173095Srwatsonstatic void
551173018Srwatsonstub_netinet_firewall_send(struct mbuf *m, struct label *mlabel)
552165715Scsjp{
553165715Scsjp
554165715Scsjp}
555165715Scsjp
556173095Srwatsonstatic void
557173138Srwatsonstub_netinet_fragment(struct mbuf *m, struct label *mlabel, struct mbuf *frag,
558173138Srwatson    struct label *fraglabel)
559173138Srwatson{
560173138Srwatson
561173138Srwatson}
562173138Srwatson
563173138Srwatsonstatic void
564173102Srwatsonstub_netinet_icmp_reply(struct mbuf *mrecv, struct label *mrecvlabel,
565173102Srwatson    struct mbuf *msend, struct label *msendlabel)
566173102Srwatson{
567173102Srwatson
568173102Srwatson}
569173102Srwatson
570173102Srwatsonstatic void
571173102Srwatsonstub_netinet_icmp_replyinplace(struct mbuf *m, struct label *mlabel)
572173102Srwatson{
573173102Srwatson
574173102Srwatson}
575173102Srwatson
576173102Srwatsonstatic void
577173095Srwatsonstub_netinet_igmp_send(struct ifnet *ifp, struct label *iflpabel,
578173095Srwatson    struct mbuf *m, struct label *mlabel)
579173095Srwatson{
580173095Srwatson
581173095Srwatson}
582173095Srwatson
583173095Srwatsonstatic void
584173138Srwatsonstub_netinet_tcp_reply(struct mbuf *m, struct label *mlabel)
585173095Srwatson{
586173095Srwatson
587173095Srwatson}
588173095Srwatson
589173138Srwatsonstatic void
590173138Srwatsonstub_netinet6_nd6_send(struct ifnet *ifp, struct label *iflpabel,
591173138Srwatson    struct mbuf *m, struct label *mlabel)
592101099Srwatson{
593101099Srwatson
594101099Srwatson}
595101099Srwatson
596173138Srwatsonstatic int
597173138Srwatsonstub_pipe_check_ioctl(struct ucred *cred, struct pipepair *pp,
598173138Srwatson    struct label *pplabel, unsigned long cmd, void /* caddr_t */ *data)
599119223Srwatson{
600119223Srwatson
601173138Srwatson	return (0);
602119223Srwatson}
603119223Srwatson
604173138Srwatsonstatic int
605173138Srwatsonstub_pipe_check_poll(struct ucred *cred, struct pipepair *pp,
606173138Srwatson    struct label *pplabel)
607101099Srwatson{
608101099Srwatson
609173138Srwatson	return (0);
610101099Srwatson}
611101099Srwatson
612173138Srwatsonstatic int
613173138Srwatsonstub_pipe_check_read(struct ucred *cred, struct pipepair *pp,
614173138Srwatson    struct label *pplabel)
615101099Srwatson{
616101099Srwatson
617173138Srwatson	return (0);
618101099Srwatson}
619101099Srwatson
620173138Srwatsonstatic int
621173138Srwatsonstub_pipe_check_relabel(struct ucred *cred, struct pipepair *pp,
622173138Srwatson    struct label *pplabel, struct label *newlabel)
623122875Srwatson{
624122875Srwatson
625173138Srwatson	return (0);
626122875Srwatson}
627122875Srwatson
628173138Srwatsonstatic int
629173138Srwatsonstub_pipe_check_stat(struct ucred *cred, struct pipepair *pp,
630173138Srwatson    struct label *pplabel)
631101099Srwatson{
632101099Srwatson
633173138Srwatson	return (0);
634101099Srwatson}
635101099Srwatson
636101099Srwatsonstatic int
637173138Srwatsonstub_pipe_check_write(struct ucred *cred, struct pipepair *pp,
638173138Srwatson    struct label *pplabel)
639101099Srwatson{
640101099Srwatson
641101099Srwatson	return (0);
642101099Srwatson}
643101099Srwatson
644101099Srwatsonstatic void
645173138Srwatsonstub_pipe_create(struct ucred *cred, struct pipepair *pp,
646173138Srwatson    struct label *pplabel)
647101099Srwatson{
648101099Srwatson
649101099Srwatson}
650101099Srwatson
651101099Srwatsonstatic void
652173138Srwatsonstub_pipe_relabel(struct ucred *cred, struct pipepair *pp,
653173138Srwatson    struct label *pplabel, struct label *newlabel)
654101099Srwatson{
655101099Srwatson
656101099Srwatson}
657101099Srwatson
658173138Srwatsonstatic int
659180059Sjhbstub_posixsem_check_getvalue(struct ucred *active_cred, struct ucred *file_cred,
660180059Sjhb    struct ksem *ks, struct label *kslabel)
661101099Srwatson{
662101099Srwatson
663173138Srwatson	return (0);
664101099Srwatson}
665101099Srwatson
666173138Srwatsonstatic int
667173138Srwatsonstub_posixsem_check_open(struct ucred *cred, struct ksem *ks,
668173138Srwatson    struct label *kslabel)
669112577Srwatson{
670112577Srwatson
671173138Srwatson	return (0);
672112577Srwatson}
673112577Srwatson
674173138Srwatsonstatic int
675180059Sjhbstub_posixsem_check_post(struct ucred *active_cred, struct ucred *file_cred,
676180059Sjhb    struct ksem *ks, struct label *kslabel)
677140632Srwatson{
678140632Srwatson
679173138Srwatson	return (0);
680140632Srwatson}
681140632Srwatson
682173138Srwatsonstatic int
683224914Skibstub_posixsem_check_setmode(struct ucred *cred, struct ksem *ks,
684224914Skib    struct label *kslabel, mode_t mode)
685224914Skib{
686224914Skib
687224914Skib	return (0);
688224914Skib}
689224914Skib
690224914Skibstatic int
691224914Skibstub_posixsem_check_setowner(struct ucred *cred, struct ksem *ks,
692224914Skib    struct label *kslabel, uid_t uid, gid_t gid)
693224914Skib{
694224914Skib
695224914Skib	return (0);
696224914Skib}
697224914Skib
698224914Skibstatic int
699180059Sjhbstub_posixsem_check_stat(struct ucred *active_cred, struct ucred *file_cred,
700180059Sjhb    struct ksem *ks, struct label *kslabel)
701180059Sjhb{
702180059Sjhb
703180059Sjhb	return (0);
704180059Sjhb}
705180059Sjhb
706180059Sjhbstatic int
707173138Srwatsonstub_posixsem_check_unlink(struct ucred *cred, struct ksem *ks,
708173138Srwatson    struct label *kslabel)
709140632Srwatson{
710140632Srwatson
711173138Srwatson	return (0);
712140632Srwatson}
713140632Srwatson
714173138Srwatsonstatic int
715180059Sjhbstub_posixsem_check_wait(struct ucred *active_cred, struct ucred *file_cred,
716180059Sjhb    struct ksem *ks, struct label *kslabel)
717140632Srwatson{
718140632Srwatson
719173138Srwatson	return (0);
720140632Srwatson}
721140632Srwatson
722140632Srwatsonstatic void
723173138Srwatsonstub_posixsem_create(struct ucred *cred, struct ksem *ks,
724173138Srwatson    struct label *kslabel)
725140632Srwatson{
726140632Srwatson
727140632Srwatson}
728140632Srwatson
729101099Srwatsonstatic int
730225344Srwatsonstub_posixshm_check_create(struct ucred *cred, const char *path)
731225344Srwatson{
732225344Srwatson
733225344Srwatson	return (0);
734225344Srwatson}
735225344Srwatson
736225344Srwatsonstatic int
737175164Sjhbstub_posixshm_check_mmap(struct ucred *cred, struct shmfd *shmfd,
738175164Sjhb    struct label *shmlabel, int prot, int flags)
739175164Sjhb{
740175164Sjhb
741175164Sjhb	return (0);
742175164Sjhb}
743175164Sjhb
744175164Sjhbstatic int
745175164Sjhbstub_posixshm_check_open(struct ucred *cred, struct shmfd *shmfd,
746225344Srwatson    struct label *shmlabel, accmode_t accmode)
747175164Sjhb{
748175164Sjhb
749175164Sjhb	return (0);
750175164Sjhb}
751175164Sjhb
752175164Sjhbstatic int
753254603Skibstub_posixshm_check_read(struct ucred *active_cred, struct ucred *file_cred,
754254603Skib    struct shmfd *shm, struct label *shmlabel)
755254603Skib{
756254603Skib
757254603Skib	return (0);
758254603Skib}
759254603Skib
760254603Skibstatic int
761224914Skibstub_posixshm_check_setmode(struct ucred *cred, struct shmfd *shmfd,
762224914Skib    struct label *shmlabel, mode_t mode)
763224914Skib{
764224914Skib
765224914Skib	return (0);
766224914Skib}
767224914Skib
768224914Skibstatic int
769224914Skibstub_posixshm_check_setowner(struct ucred *cred, struct shmfd *shmfd,
770224914Skib    struct label *shmlabel, uid_t uid, gid_t gid)
771224914Skib{
772224914Skib
773224914Skib	return (0);
774224914Skib}
775224914Skib
776224914Skibstatic int
777175164Sjhbstub_posixshm_check_stat(struct ucred *active_cred, struct ucred *file_cred,
778175164Sjhb    struct shmfd *shmfd, struct label *shmlabel)
779175164Sjhb{
780175164Sjhb
781175164Sjhb	return (0);
782175164Sjhb}
783175164Sjhb
784175164Sjhbstatic int
785175164Sjhbstub_posixshm_check_truncate(struct ucred *active_cred,
786175164Sjhb    struct ucred *file_cred, struct shmfd *shmfd, struct label *shmlabel)
787175164Sjhb{
788175164Sjhb
789175164Sjhb	return (0);
790175164Sjhb}
791175164Sjhb
792175164Sjhbstatic int
793175164Sjhbstub_posixshm_check_unlink(struct ucred *cred, struct shmfd *shmfd,
794175164Sjhb    struct label *shmlabel)
795175164Sjhb{
796175164Sjhb
797175164Sjhb	return (0);
798175164Sjhb}
799175164Sjhb
800254603Skibstatic int
801254603Skibstub_posixshm_check_write(struct ucred *active_cred, struct ucred *file_cred,
802254603Skib    struct shmfd *shm, struct label *shmlabel)
803254603Skib{
804254603Skib
805254603Skib	return (0);
806254603Skib}
807254603Skib
808175164Sjhbstatic void
809175164Sjhbstub_posixshm_create(struct ucred *cred, struct shmfd *shmfd,
810175164Sjhb    struct label *shmlabel)
811175164Sjhb{
812175164Sjhb
813175164Sjhb}
814175164Sjhb
815175164Sjhbstatic int
816173138Srwatsonstub_priv_check(struct ucred *cred, int priv)
817101099Srwatson{
818101099Srwatson
819173138Srwatson	return (0);
820101099Srwatson}
821101099Srwatson
822101099Srwatsonstatic int
823173138Srwatsonstub_priv_grant(struct ucred *cred, int priv)
824101099Srwatson{
825101099Srwatson
826173138Srwatson	return (EPERM);
827101099Srwatson}
828101099Srwatson
829101099Srwatsonstatic int
830173138Srwatsonstub_proc_check_debug(struct ucred *cred, struct proc *p)
831101099Srwatson{
832101099Srwatson
833101099Srwatson	return (0);
834101099Srwatson}
835101099Srwatson
836101099Srwatsonstatic int
837173138Srwatsonstub_proc_check_sched(struct ucred *cred, struct proc *p)
838101099Srwatson{
839101099Srwatson
840101099Srwatson	return (0);
841101099Srwatson}
842101099Srwatson
843101099Srwatsonstatic int
844173138Srwatsonstub_proc_check_signal(struct ucred *cred, struct proc *p, int signum)
845140632Srwatson{
846140632Srwatson
847140632Srwatson	return (0);
848140632Srwatson}
849140632Srwatson
850140632Srwatsonstatic int
851173138Srwatsonstub_proc_check_wait(struct ucred *cred, struct proc *p)
852140632Srwatson{
853140632Srwatson
854140632Srwatson	return (0);
855140632Srwatson}
856140632Srwatson
857112577Srwatsonstatic int
858173138Srwatsonstub_socket_check_accept(struct ucred *cred, struct socket *so,
859173138Srwatson    struct label *solabel)
860112577Srwatson{
861112577Srwatson
862193391Srwatson#if 0
863193391Srwatson	SOCK_LOCK(so);
864193391Srwatson	SOCK_UNLOCK(so);
865193391Srwatson#endif
866193391Srwatson
867112577Srwatson	return (0);
868112577Srwatson}
869112577Srwatson
870112577Srwatsonstatic int
871173138Srwatsonstub_socket_check_bind(struct ucred *cred, struct socket *so,
872173138Srwatson    struct label *solabel, struct sockaddr *sa)
873112577Srwatson{
874112577Srwatson
875193391Srwatson#if 0
876193391Srwatson	SOCK_LOCK(so);
877193391Srwatson	SOCK_UNLOCK(so);
878193391Srwatson#endif
879193391Srwatson
880112577Srwatson	return (0);
881112577Srwatson}
882112577Srwatson
883112577Srwatsonstatic int
884173138Srwatsonstub_socket_check_connect(struct ucred *cred, struct socket *so,
885173138Srwatson    struct label *solabel, struct sockaddr *sa)
886112577Srwatson{
887112577Srwatson
888193391Srwatson#if 0
889193391Srwatson	SOCK_LOCK(so);
890193391Srwatson	SOCK_UNLOCK(so);
891193391Srwatson#endif
892193391Srwatson
893112577Srwatson	return (0);
894112577Srwatson}
895112577Srwatson
896112577Srwatsonstatic int
897173138Srwatsonstub_socket_check_create(struct ucred *cred, int domain, int type, int proto)
898112577Srwatson{
899112577Srwatson
900112577Srwatson	return (0);
901112577Srwatson}
902112577Srwatson
903112577Srwatsonstatic int
904173138Srwatsonstub_socket_check_deliver(struct socket *so, struct label *solabel,
905173138Srwatson    struct mbuf *m, struct label *mlabel)
906112577Srwatson{
907112577Srwatson
908193391Srwatson#if 0
909193391Srwatson	SOCK_LOCK(so);
910193391Srwatson	SOCK_UNLOCK(so);
911193391Srwatson#endif
912193391Srwatson
913112577Srwatson	return (0);
914112577Srwatson}
915112577Srwatson
916112577Srwatsonstatic int
917173138Srwatsonstub_socket_check_listen(struct ucred *cred, struct socket *so,
918173138Srwatson    struct label *solabel)
919101099Srwatson{
920101099Srwatson
921193391Srwatson#if 0
922193391Srwatson	SOCK_LOCK(so);
923193391Srwatson	SOCK_UNLOCK(so);
924193391Srwatson#endif
925193391Srwatson
926101099Srwatson	return (0);
927101099Srwatson}
928101099Srwatson
929101099Srwatsonstatic int
930173138Srwatsonstub_socket_check_poll(struct ucred *cred, struct socket *so,
931173138Srwatson    struct label *solabel)
932101099Srwatson{
933101099Srwatson
934193391Srwatson#if 0
935193391Srwatson	SOCK_LOCK(so);
936193391Srwatson	SOCK_UNLOCK(so);
937193391Srwatson#endif
938193391Srwatson
939101099Srwatson	return (0);
940101099Srwatson}
941101099Srwatson
942101099Srwatsonstatic int
943173138Srwatsonstub_socket_check_receive(struct ucred *cred, struct socket *so,
944173138Srwatson    struct label *solabel)
945101099Srwatson{
946101099Srwatson
947193391Srwatson#if 0
948193391Srwatson	SOCK_LOCK(so);
949193391Srwatson	SOCK_UNLOCK(so);
950193391Srwatson#endif
951193391Srwatson
952101099Srwatson	return (0);
953101099Srwatson}
954101099Srwatson
955101099Srwatsonstatic int
956173138Srwatsonstub_socket_check_relabel(struct ucred *cred, struct socket *so,
957173138Srwatson    struct label *solabel, struct label *newlabel)
958102115Srwatson{
959102115Srwatson
960193391Srwatson	SOCK_LOCK_ASSERT(so);
961193391Srwatson
962102115Srwatson	return (0);
963102115Srwatson}
964102115Srwatsonstatic int
965173138Srwatsonstub_socket_check_send(struct ucred *cred, struct socket *so,
966173138Srwatson    struct label *solabel)
967101099Srwatson{
968101099Srwatson
969193391Srwatson#if 0
970193391Srwatson	SOCK_LOCK(so);
971193391Srwatson	SOCK_UNLOCK(so);
972193391Srwatson#endif
973193391Srwatson
974101099Srwatson	return (0);
975101099Srwatson}
976101099Srwatson
977101099Srwatsonstatic int
978173138Srwatsonstub_socket_check_stat(struct ucred *cred, struct socket *so,
979173138Srwatson    struct label *solabel)
980102115Srwatson{
981102115Srwatson
982193391Srwatson#if 0
983193391Srwatson	SOCK_LOCK(so);
984193391Srwatson	SOCK_UNLOCK(so);
985193391Srwatson#endif
986193391Srwatson
987102115Srwatson	return (0);
988102115Srwatson}
989102115Srwatson
990102115Srwatsonstatic int
991183980Sbzstub_inpcb_check_visible(struct ucred *cred, struct inpcb *inp,
992183980Sbz   struct label *inplabel)
993183980Sbz{
994183980Sbz
995183980Sbz	return (0);
996183980Sbz}
997183980Sbz
998183980Sbzstatic int
999173138Srwatsonstub_socket_check_visible(struct ucred *cred, struct socket *so,
1000173138Srwatson   struct label *solabel)
1001102115Srwatson{
1002102115Srwatson
1003193391Srwatson#if 0
1004193391Srwatson	SOCK_LOCK(so);
1005193391Srwatson	SOCK_UNLOCK(so);
1006193391Srwatson#endif
1007193391Srwatson
1008102115Srwatson	return (0);
1009102115Srwatson}
1010102115Srwatson
1011173138Srwatsonstatic void
1012173138Srwatsonstub_socket_create(struct ucred *cred, struct socket *so,
1013173138Srwatson    struct label *solabel)
1014145855Srwatson{
1015145855Srwatson
1016145855Srwatson}
1017145855Srwatson
1018173138Srwatsonstatic void
1019173138Srwatsonstub_socket_create_mbuf(struct socket *so, struct label *solabel,
1020173138Srwatson    struct mbuf *m, struct label *mlabel)
1021145855Srwatson{
1022145855Srwatson
1023193391Srwatson#if 0
1024193391Srwatson	SOCK_LOCK(so);
1025193391Srwatson	SOCK_UNLOCK(so);
1026193391Srwatson#endif
1027145855Srwatson}
1028145855Srwatson
1029173138Srwatsonstatic void
1030173138Srwatsonstub_socket_newconn(struct socket *oldso, struct label *oldsolabel,
1031173138Srwatson    struct socket *newso, struct label *newsolabel)
1032145855Srwatson{
1033145855Srwatson
1034193391Srwatson#if 0
1035193391Srwatson	SOCK_LOCK(oldso);
1036193391Srwatson	SOCK_UNLOCK(oldso);
1037193391Srwatson#endif
1038193391Srwatson#if 0
1039193391Srwatson	SOCK_LOCK(newso);
1040193391Srwatson	SOCK_UNLOCK(newso);
1041193391Srwatson#endif
1042145855Srwatson}
1043145855Srwatson
1044173138Srwatsonstatic void
1045173138Srwatsonstub_socket_relabel(struct ucred *cred, struct socket *so,
1046173138Srwatson    struct label *solabel, struct label *newlabel)
1047145855Srwatson{
1048145855Srwatson
1049193391Srwatson	SOCK_LOCK_ASSERT(so);
1050145855Srwatson}
1051145855Srwatson
1052173138Srwatsonstatic void
1053173138Srwatsonstub_socketpeer_set_from_mbuf(struct mbuf *m, struct label *mlabel,
1054173138Srwatson    struct socket *so, struct label *sopeerlabel)
1055145855Srwatson{
1056145855Srwatson
1057193391Srwatson#if 0
1058193391Srwatson	SOCK_LOCK(so);
1059193391Srwatson	SOCK_UNLOCK(so);
1060193391Srwatson#endif
1061145855Srwatson}
1062145855Srwatson
1063173138Srwatsonstatic void
1064173138Srwatsonstub_socketpeer_set_from_socket(struct socket *oldso,
1065173138Srwatson    struct label *oldsolabel, struct socket *newso,
1066173138Srwatson    struct label *newsopeerlabel)
1067145855Srwatson{
1068145855Srwatson
1069193391Srwatson#if 0
1070193391Srwatson	SOCK_LOCK(oldso);
1071193391Srwatson	SOCK_UNLOCK(oldso);
1072193391Srwatson#endif
1073193391Srwatson#if 0
1074193391Srwatson	SOCK_LOCK(newso);
1075193391Srwatson	SOCK_UNLOCK(newso);
1076193391Srwatson#endif
1077145855Srwatson}
1078145855Srwatson
1079173138Srwatsonstatic void
1080173138Srwatsonstub_syncache_create(struct label *label, struct inpcb *inp)
1081101099Srwatson{
1082101099Srwatson
1083101099Srwatson}
1084101099Srwatson
1085173138Srwatsonstatic void
1086173138Srwatsonstub_syncache_create_mbuf(struct label *sc_label, struct mbuf *m,
1087173138Srwatson    struct label *mlabel)
1088101099Srwatson{
1089101099Srwatson
1090101099Srwatson}
1091101099Srwatson
1092101099Srwatsonstatic int
1093173138Srwatsonstub_system_check_acct(struct ucred *cred, struct vnode *vp,
1094173138Srwatson    struct label *vplabel)
1095101099Srwatson{
1096101099Srwatson
1097101099Srwatson	return (0);
1098101099Srwatson}
1099101099Srwatson
1100101099Srwatsonstatic int
1101173138Srwatsonstub_system_check_audit(struct ucred *cred, void *record, int length)
1102145234Srwatson{
1103145234Srwatson
1104145234Srwatson	return (0);
1105145234Srwatson}
1106145234Srwatson
1107145234Srwatsonstatic int
1108173138Srwatsonstub_system_check_auditctl(struct ucred *cred, struct vnode *vp,
1109173138Srwatson    struct label *vplabel)
1110168933Srwatson{
1111168933Srwatson
1112168933Srwatson	return (0);
1113168933Srwatson}
1114168933Srwatson
1115168933Srwatsonstatic int
1116173138Srwatsonstub_system_check_auditon(struct ucred *cred, int cmd)
1117171047Srwatson{
1118171047Srwatson
1119171047Srwatson	return (0);
1120171047Srwatson}
1121171047Srwatson
1122171047Srwatsonstatic int
1123173138Srwatsonstub_system_check_reboot(struct ucred *cred, int how)
1124168933Srwatson{
1125168933Srwatson
1126168933Srwatson	return (0);
1127168933Srwatson}
1128168933Srwatson
1129168933Srwatsonstatic int
1130173138Srwatsonstub_system_check_swapoff(struct ucred *cred, struct vnode *vp,
1131173138Srwatson    struct label *vplabel)
1132145147Srwatson{
1133145147Srwatson
1134145147Srwatson	return (0);
1135145147Srwatson}
1136145147Srwatson
1137145147Srwatsonstatic int
1138173138Srwatsonstub_system_check_swapon(struct ucred *cred, struct vnode *vp,
1139173138Srwatson    struct label *vplabel)
1140145147Srwatson{
1141145147Srwatson
1142145147Srwatson	return (0);
1143145147Srwatson}
1144145147Srwatson
1145145147Srwatsonstatic int
1146173138Srwatsonstub_system_check_sysctl(struct ucred *cred, struct sysctl_oid *oidp,
1147173138Srwatson    void *arg1, int arg2, struct sysctl_req *req)
1148145147Srwatson{
1149145147Srwatson
1150145147Srwatson	return (0);
1151145147Srwatson}
1152145147Srwatson
1153173138Srwatsonstatic void
1154173138Srwatsonstub_sysvmsg_cleanup(struct label *msglabel)
1155145147Srwatson{
1156145147Srwatson
1157145147Srwatson}
1158145147Srwatson
1159173138Srwatsonstatic void
1160173138Srwatsonstub_sysvmsg_create(struct ucred *cred, struct msqid_kernel *msqkptr,
1161173138Srwatson    struct label *msqlabel, struct msg *msgptr, struct label *msglabel)
1162145147Srwatson{
1163145147Srwatson
1164145147Srwatson}
1165145147Srwatson
1166145147Srwatsonstatic int
1167173138Srwatsonstub_sysvmsq_check_msgmsq(struct ucred *cred, struct msg *msgptr,
1168173138Srwatson    struct label *msglabel, struct msqid_kernel *msqkptr,
1169173138Srwatson    struct label *msqklabel)
1170145167Srwatson{
1171145167Srwatson
1172145167Srwatson	return (0);
1173145167Srwatson}
1174145167Srwatson
1175145167Srwatsonstatic int
1176173138Srwatsonstub_sysvmsq_check_msgrcv(struct ucred *cred, struct msg *msgptr,
1177173138Srwatson    struct label *msglabel)
1178101099Srwatson{
1179101099Srwatson
1180101099Srwatson	return (0);
1181101099Srwatson}
1182101099Srwatson
1183173138Srwatson
1184101099Srwatsonstatic int
1185173138Srwatsonstub_sysvmsq_check_msgrmid(struct ucred *cred, struct msg *msgptr,
1186173138Srwatson    struct label *msglabel)
1187101099Srwatson{
1188101099Srwatson
1189101099Srwatson	return (0);
1190101099Srwatson}
1191101099Srwatson
1192173138Srwatson
1193101099Srwatsonstatic int
1194173138Srwatsonstub_sysvmsq_check_msqget(struct ucred *cred, struct msqid_kernel *msqkptr,
1195173138Srwatson    struct label *msqklabel)
1196147784Srwatson{
1197147784Srwatson
1198147784Srwatson	return (0);
1199147784Srwatson}
1200147784Srwatson
1201173138Srwatson
1202147784Srwatsonstatic int
1203173138Srwatsonstub_sysvmsq_check_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr,
1204173138Srwatson    struct label *msqklabel)
1205101099Srwatson{
1206101099Srwatson
1207101099Srwatson	return (0);
1208101099Srwatson}
1209101099Srwatson
1210101099Srwatsonstatic int
1211173138Srwatsonstub_sysvmsq_check_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr,
1212173138Srwatson    struct label *msqklabel)
1213101099Srwatson{
1214101099Srwatson
1215101099Srwatson	return (0);
1216101099Srwatson}
1217101099Srwatson
1218173138Srwatson
1219101099Srwatsonstatic int
1220173138Srwatsonstub_sysvmsq_check_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr,
1221173138Srwatson    struct label *msqklabel, int cmd)
1222145167Srwatson{
1223145167Srwatson
1224145167Srwatson	return (0);
1225145167Srwatson}
1226145167Srwatson
1227173138Srwatson
1228173138Srwatsonstatic void
1229173138Srwatsonstub_sysvmsq_cleanup(struct label *msqlabel)
1230145167Srwatson{
1231145167Srwatson
1232145167Srwatson}
1233145167Srwatson
1234173138Srwatsonstatic void
1235173138Srwatsonstub_sysvmsq_create(struct ucred *cred, struct msqid_kernel *msqkptr,
1236173138Srwatson    struct label *msqlabel)
1237101099Srwatson{
1238101099Srwatson
1239101099Srwatson}
1240173138Srwatson
1241145167Srwatsonstatic int
1242173138Srwatsonstub_sysvsem_check_semctl(struct ucred *cred, struct semid_kernel *semakptr,
1243173138Srwatson    struct label *semaklabel, int cmd)
1244145167Srwatson{
1245101099Srwatson
1246145167Srwatson	return (0);
1247145167Srwatson}
1248145167Srwatson
1249101099Srwatsonstatic int
1250173138Srwatsonstub_sysvsem_check_semget(struct ucred *cred, struct semid_kernel *semakptr,
1251173138Srwatson    struct label *semaklabel)
1252145167Srwatson{
1253145167Srwatson
1254145167Srwatson	return (0);
1255145167Srwatson}
1256145167Srwatson
1257173138Srwatson
1258145167Srwatsonstatic int
1259173138Srwatsonstub_sysvsem_check_semop(struct ucred *cred, struct semid_kernel *semakptr,
1260173138Srwatson    struct label *semaklabel, size_t accesstype)
1261101099Srwatson{
1262101099Srwatson
1263101099Srwatson	return (0);
1264101099Srwatson}
1265101099Srwatson
1266173138Srwatsonstatic void
1267173138Srwatsonstub_sysvsem_cleanup(struct label *semalabel)
1268112577Srwatson{
1269112577Srwatson
1270112577Srwatson}
1271112577Srwatson
1272173138Srwatsonstatic void
1273173138Srwatsonstub_sysvsem_create(struct ucred *cred, struct semid_kernel *semakptr,
1274173138Srwatson    struct label *semalabel)
1275168933Srwatson{
1276168933Srwatson
1277168933Srwatson}
1278168933Srwatson
1279168933Srwatsonstatic int
1280173138Srwatsonstub_sysvshm_check_shmat(struct ucred *cred, struct shmid_kernel *shmsegptr,
1281173138Srwatson    struct label *shmseglabel, int shmflg)
1282168933Srwatson{
1283168933Srwatson
1284168933Srwatson	return (0);
1285168933Srwatson}
1286168933Srwatson
1287168933Srwatsonstatic int
1288173138Srwatsonstub_sysvshm_check_shmctl(struct ucred *cred, struct shmid_kernel *shmsegptr,
1289173138Srwatson    struct label *shmseglabel, int cmd)
1290168933Srwatson{
1291168933Srwatson
1292168933Srwatson	return (0);
1293168933Srwatson}
1294168933Srwatson
1295168933Srwatsonstatic int
1296173138Srwatsonstub_sysvshm_check_shmdt(struct ucred *cred, struct shmid_kernel *shmsegptr,
1297173138Srwatson    struct label *shmseglabel)
1298106162Srwatson{
1299106162Srwatson
1300106162Srwatson	return (0);
1301106162Srwatson}
1302106162Srwatson
1303106162Srwatson
1304106162Srwatsonstatic int
1305173138Srwatsonstub_sysvshm_check_shmget(struct ucred *cred, struct shmid_kernel *shmsegptr,
1306173138Srwatson    struct label *shmseglabel, int shmflg)
1307112577Srwatson{
1308112577Srwatson
1309112577Srwatson	return (0);
1310112577Srwatson}
1311112577Srwatson
1312173138Srwatsonstatic void
1313173138Srwatsonstub_sysvshm_cleanup(struct label *shmlabel)
1314106162Srwatson{
1315106162Srwatson
1316106162Srwatson}
1317106162Srwatson
1318173138Srwatsonstatic void
1319173138Srwatsonstub_sysvshm_create(struct ucred *cred, struct shmid_kernel *shmsegptr,
1320173138Srwatson    struct label *shmalabel)
1321101099Srwatson{
1322101099Srwatson
1323101099Srwatson}
1324101099Srwatson
1325173138Srwatsonstatic void
1326173138Srwatsonstub_thread_userret(struct thread *td)
1327101099Srwatson{
1328101099Srwatson
1329101099Srwatson}
1330101099Srwatson
1331101099Srwatsonstatic int
1332173138Srwatsonstub_vnode_associate_extattr(struct mount *mp, struct label *mplabel,
1333173138Srwatson    struct vnode *vp, struct label *vplabel)
1334101099Srwatson{
1335101099Srwatson
1336101099Srwatson	return (0);
1337101099Srwatson}
1338101099Srwatson
1339173138Srwatsonstatic void
1340173138Srwatsonstub_vnode_associate_singlelabel(struct mount *mp, struct label *mplabel,
1341173138Srwatson    struct vnode *vp, struct label *vplabel)
1342101099Srwatson{
1343101099Srwatson
1344101099Srwatson}
1345101099Srwatson
1346101099Srwatsonstatic int
1347184400Srwatsonstub_vnode_check_access(struct ucred *cred, struct vnode *vp,
1348184426Strasz    struct label *vplabel, accmode_t accmode)
1349184400Srwatson{
1350184400Srwatson
1351184400Srwatson	return (0);
1352184400Srwatson}
1353184400Srwatson
1354184400Srwatsonstatic int
1355184400Srwatsonstub_vnode_check_chdir(struct ucred *cred, struct vnode *dvp,
1356184400Srwatson    struct label *dvplabel)
1357184400Srwatson{
1358184400Srwatson
1359184400Srwatson	return (0);
1360184400Srwatson}
1361184400Srwatson
1362184400Srwatsonstatic int
1363184400Srwatsonstub_vnode_check_chroot(struct ucred *cred, struct vnode *dvp,
1364184400Srwatson    struct label *dvplabel)
1365184400Srwatson{
1366184400Srwatson
1367184400Srwatson	return (0);
1368184400Srwatson}
1369184400Srwatson
1370184400Srwatsonstatic int
1371184400Srwatsonstub_vnode_check_create(struct ucred *cred, struct vnode *dvp,
1372184400Srwatson    struct label *dvplabel, struct componentname *cnp, struct vattr *vap)
1373184400Srwatson{
1374184400Srwatson
1375184400Srwatson	return (0);
1376184400Srwatson}
1377184400Srwatson
1378184400Srwatsonstatic int
1379172930Srwatsonstub_vnode_check_deleteacl(struct ucred *cred, struct vnode *vp,
1380168976Srwatson    struct label *vplabel, acl_type_t type)
1381101099Srwatson{
1382101099Srwatson
1383101099Srwatson	return (0);
1384101099Srwatson}
1385101099Srwatson
1386101099Srwatsonstatic int
1387172930Srwatsonstub_vnode_check_deleteextattr(struct ucred *cred, struct vnode *vp,
1388168976Srwatson    struct label *vplabel, int attrnamespace, const char *name)
1389119223Srwatson{
1390119223Srwatson
1391119223Srwatson	return (0);
1392119223Srwatson}
1393119223Srwatson
1394119223Srwatsonstatic int
1395172930Srwatsonstub_vnode_check_exec(struct ucred *cred, struct vnode *vp,
1396168976Srwatson    struct label *vplabel, struct image_params *imgp,
1397106648Srwatson    struct label *execlabel)
1398101099Srwatson{
1399101099Srwatson
1400101099Srwatson	return (0);
1401101099Srwatson}
1402101099Srwatson
1403101099Srwatsonstatic int
1404172930Srwatsonstub_vnode_check_getacl(struct ucred *cred, struct vnode *vp,
1405168976Srwatson    struct label *vplabel, acl_type_t type)
1406101099Srwatson{
1407101099Srwatson
1408101099Srwatson	return (0);
1409101099Srwatson}
1410101099Srwatson
1411101099Srwatsonstatic int
1412172930Srwatsonstub_vnode_check_getextattr(struct ucred *cred, struct vnode *vp,
1413189533Srwatson    struct label *vplabel, int attrnamespace, const char *name)
1414101099Srwatson{
1415101099Srwatson
1416101099Srwatson	return (0);
1417101099Srwatson}
1418101099Srwatson
1419105664Srwatsonstatic int
1420172930Srwatsonstub_vnode_check_link(struct ucred *cred, struct vnode *dvp,
1421168976Srwatson    struct label *dvplabel, struct vnode *vp, struct label *vplabel,
1422104530Srwatson    struct componentname *cnp)
1423104530Srwatson{
1424104530Srwatson
1425104530Srwatson	return (0);
1426104530Srwatson}
1427104530Srwatson
1428101099Srwatsonstatic int
1429172930Srwatsonstub_vnode_check_listextattr(struct ucred *cred, struct vnode *vp,
1430168976Srwatson    struct label *vplabel, int attrnamespace)
1431119223Srwatson{
1432119223Srwatson
1433119223Srwatson	return (0);
1434119223Srwatson}
1435119223Srwatson
1436119223Srwatsonstatic int
1437172930Srwatsonstub_vnode_check_lookup(struct ucred *cred, struct vnode *dvp,
1438168976Srwatson    struct label *dvplabel, struct componentname *cnp)
1439101099Srwatson{
1440104546Srwatson
1441101099Srwatson	return (0);
1442104546Srwatson}
1443101099Srwatson
1444101099Srwatsonstatic int
1445172930Srwatsonstub_vnode_check_mmap(struct ucred *cred, struct vnode *vp,
1446168976Srwatson    struct label *vplabel, int prot, int flags)
1447104546Srwatson{
1448104546Srwatson
1449104546Srwatson	return (0);
1450104546Srwatson}
1451104546Srwatson
1452165715Scsjpstatic void
1453172930Srwatsonstub_vnode_check_mmap_downgrade(struct ucred *cred, struct vnode *vp,
1454168976Srwatson    struct label *vplabel, int *prot)
1455165715Scsjp{
1456165715Scsjp
1457165715Scsjp}
1458165715Scsjp
1459104546Srwatsonstatic int
1460172930Srwatsonstub_vnode_check_mprotect(struct ucred *cred, struct vnode *vp,
1461168976Srwatson    struct label *vplabel, int prot)
1462165715Scsjp{
1463165715Scsjp
1464165715Scsjp	return (0);
1465165715Scsjp}
1466165715Scsjp
1467165715Scsjpstatic int
1468172930Srwatsonstub_vnode_check_open(struct ucred *cred, struct vnode *vp,
1469184413Strasz    struct label *vplabel, accmode_t accmode)
1470101099Srwatson{
1471101099Srwatson
1472101099Srwatson	return (0);
1473101099Srwatson}
1474101099Srwatson
1475101099Srwatsonstatic int
1476172930Srwatsonstub_vnode_check_poll(struct ucred *active_cred, struct ucred *file_cred,
1477168976Srwatson    struct vnode *vp, struct label *vplabel)
1478102112Srwatson{
1479102112Srwatson
1480102112Srwatson	return (0);
1481102112Srwatson}
1482102112Srwatson
1483102112Srwatsonstatic int
1484172930Srwatsonstub_vnode_check_read(struct ucred *active_cred, struct ucred *file_cred,
1485168976Srwatson    struct vnode *vp, struct label *vplabel)
1486102112Srwatson{
1487102112Srwatson
1488102112Srwatson	return (0);
1489102112Srwatson}
1490102112Srwatson
1491102112Srwatsonstatic int
1492172930Srwatsonstub_vnode_check_readdir(struct ucred *cred, struct vnode *vp,
1493168976Srwatson    struct label *dvplabel)
1494101099Srwatson{
1495101099Srwatson
1496101099Srwatson	return (0);
1497101099Srwatson}
1498101099Srwatson
1499101099Srwatsonstatic int
1500172930Srwatsonstub_vnode_check_readlink(struct ucred *cred, struct vnode *vp,
1501168976Srwatson    struct label *vplabel)
1502101099Srwatson{
1503101099Srwatson
1504101099Srwatson	return (0);
1505101099Srwatson}
1506101099Srwatson
1507101099Srwatsonstatic int
1508172930Srwatsonstub_vnode_check_relabel(struct ucred *cred, struct vnode *vp,
1509168976Srwatson    struct label *vplabel, struct label *newlabel)
1510101099Srwatson{
1511101099Srwatson
1512101099Srwatson	return (0);
1513101099Srwatson}
1514101099Srwatson
1515101099Srwatsonstatic int
1516172930Srwatsonstub_vnode_check_rename_from(struct ucred *cred, struct vnode *dvp,
1517168976Srwatson    struct label *dvplabel, struct vnode *vp, struct label *vplabel,
1518101099Srwatson    struct componentname *cnp)
1519101099Srwatson{
1520101099Srwatson
1521101099Srwatson	return (0);
1522101099Srwatson}
1523101099Srwatson
1524101099Srwatsonstatic int
1525172930Srwatsonstub_vnode_check_rename_to(struct ucred *cred, struct vnode *dvp,
1526168976Srwatson    struct label *dvplabel, struct vnode *vp, struct label *vplabel,
1527168976Srwatson    int samedir, struct componentname *cnp)
1528101099Srwatson{
1529101099Srwatson
1530101099Srwatson	return (0);
1531101099Srwatson}
1532101099Srwatson
1533101099Srwatsonstatic int
1534172930Srwatsonstub_vnode_check_revoke(struct ucred *cred, struct vnode *vp,
1535168976Srwatson    struct label *vplabel)
1536101099Srwatson{
1537101099Srwatson
1538101099Srwatson	return (0);
1539101099Srwatson}
1540101099Srwatson
1541101099Srwatsonstatic int
1542172930Srwatsonstub_vnode_check_setacl(struct ucred *cred, struct vnode *vp,
1543168976Srwatson    struct label *vplabel, acl_type_t type, struct acl *acl)
1544101099Srwatson{
1545101099Srwatson
1546101099Srwatson	return (0);
1547101099Srwatson}
1548101099Srwatson
1549101099Srwatsonstatic int
1550172930Srwatsonstub_vnode_check_setextattr(struct ucred *cred, struct vnode *vp,
1551189533Srwatson    struct label *vplabel, int attrnamespace, const char *name)
1552101099Srwatson{
1553101099Srwatson
1554101099Srwatson	return (0);
1555101099Srwatson}
1556101099Srwatson
1557101099Srwatsonstatic int
1558172930Srwatsonstub_vnode_check_setflags(struct ucred *cred, struct vnode *vp,
1559168976Srwatson    struct label *vplabel, u_long flags)
1560101099Srwatson{
1561101099Srwatson
1562101099Srwatson	return (0);
1563101099Srwatson}
1564101099Srwatson
1565101099Srwatsonstatic int
1566172930Srwatsonstub_vnode_check_setmode(struct ucred *cred, struct vnode *vp,
1567168976Srwatson    struct label *vplabel, mode_t mode)
1568101099Srwatson{
1569101099Srwatson
1570101099Srwatson	return (0);
1571101099Srwatson}
1572101099Srwatson
1573101099Srwatsonstatic int
1574172930Srwatsonstub_vnode_check_setowner(struct ucred *cred, struct vnode *vp,
1575168976Srwatson    struct label *vplabel, uid_t uid, gid_t gid)
1576101099Srwatson{
1577101099Srwatson
1578101099Srwatson	return (0);
1579101099Srwatson}
1580101099Srwatson
1581101099Srwatsonstatic int
1582172930Srwatsonstub_vnode_check_setutimes(struct ucred *cred, struct vnode *vp,
1583168976Srwatson    struct label *vplabel, struct timespec atime, struct timespec mtime)
1584101099Srwatson{
1585101099Srwatson
1586101099Srwatson	return (0);
1587101099Srwatson}
1588101099Srwatson
1589101099Srwatsonstatic int
1590172930Srwatsonstub_vnode_check_stat(struct ucred *active_cred, struct ucred *file_cred,
1591168976Srwatson    struct vnode *vp, struct label *vplabel)
1592101099Srwatson{
1593101099Srwatson
1594101099Srwatson	return (0);
1595101099Srwatson}
1596101099Srwatson
1597102112Srwatsonstatic int
1598172930Srwatsonstub_vnode_check_unlink(struct ucred *cred, struct vnode *dvp,
1599172107Srwatson    struct label *dvplabel, struct vnode *vp, struct label *vplabel,
1600172107Srwatson    struct componentname *cnp)
1601172107Srwatson{
1602172107Srwatson
1603172107Srwatson	return (0);
1604172107Srwatson}
1605172107Srwatson
1606172107Srwatsonstatic int
1607172930Srwatsonstub_vnode_check_write(struct ucred *active_cred, struct ucred *file_cred,
1608168976Srwatson    struct vnode *vp, struct label *vplabel)
1609102112Srwatson{
1610102112Srwatson
1611102112Srwatson	return (0);
1612102112Srwatson}
1613102112Srwatson
1614164034Srwatsonstatic int
1615173138Srwatsonstub_vnode_create_extattr(struct ucred *cred, struct mount *mp,
1616173138Srwatson    struct label *mntlabel, struct vnode *dvp, struct label *dvplabel,
1617173138Srwatson    struct vnode *vp, struct label *vplabel, struct componentname *cnp)
1618164034Srwatson{
1619164034Srwatson
1620164034Srwatson	return (0);
1621164034Srwatson}
1622164034Srwatson
1623173138Srwatsonstatic void
1624173138Srwatsonstub_vnode_execve_transition(struct ucred *old, struct ucred *new,
1625173138Srwatson    struct vnode *vp, struct label *vplabel, struct label *interpvplabel,
1626173138Srwatson    struct image_params *imgp, struct label *execlabel)
1627173138Srwatson{
1628173138Srwatson
1629173138Srwatson}
1630173138Srwatson
1631164034Srwatsonstatic int
1632173138Srwatsonstub_vnode_execve_will_transition(struct ucred *old, struct vnode *vp,
1633173138Srwatson    struct label *vplabel, struct label *interpvplabel,
1634173138Srwatson    struct image_params *imgp, struct label *execlabel)
1635164034Srwatson{
1636164034Srwatson
1637173138Srwatson	return (0);
1638164034Srwatson}
1639164034Srwatson
1640173138Srwatsonstatic void
1641173138Srwatsonstub_vnode_relabel(struct ucred *cred, struct vnode *vp,
1642173138Srwatson    struct label *vplabel, struct label *label)
1643173138Srwatson{
1644173138Srwatson
1645173138Srwatson}
1646173138Srwatson
1647173138Srwatsonstatic int
1648173138Srwatsonstub_vnode_setlabel_extattr(struct ucred *cred, struct vnode *vp,
1649173138Srwatson    struct label *vplabel, struct label *intlabel)
1650173138Srwatson{
1651173138Srwatson
1652173138Srwatson	return (0);
1653173138Srwatson}
1654173138Srwatson
1655173138Srwatson/*
1656173138Srwatson * Register functions with MAC Framework policy entry points.
1657173138Srwatson */
1658172955Srwatsonstatic struct mac_policy_ops stub_ops =
1659101099Srwatson{
1660119211Srwatson	.mpo_destroy = stub_destroy,
1661119211Srwatson	.mpo_init = stub_init,
1662119211Srwatson	.mpo_syscall = stub_syscall,
1663173138Srwatson
1664173138Srwatson	.mpo_bpfdesc_check_receive = stub_bpfdesc_check_receive,
1665173138Srwatson	.mpo_bpfdesc_create = stub_bpfdesc_create,
1666173138Srwatson	.mpo_bpfdesc_create_mbuf = stub_bpfdesc_create_mbuf,
1667173138Srwatson	.mpo_bpfdesc_destroy_label = stub_destroy_label,
1668172930Srwatson	.mpo_bpfdesc_init_label = stub_init_label,
1669173138Srwatson
1670184407Srwatson	.mpo_cred_associate_nfsd = stub_cred_associate_nfsd,
1671173138Srwatson	.mpo_cred_check_relabel = stub_cred_check_relabel,
1672189529Srwatson	.mpo_cred_check_setaudit = stub_cred_check_setaudit,
1673189529Srwatson	.mpo_cred_check_setaudit_addr = stub_cred_check_setaudit_addr,
1674189529Srwatson	.mpo_cred_check_setauid = stub_cred_check_setauid,
1675189529Srwatson	.mpo_cred_check_setegid = stub_cred_check_setegid,
1676189529Srwatson	.mpo_cred_check_seteuid = stub_cred_check_seteuid,
1677189529Srwatson	.mpo_cred_check_setgid = stub_cred_check_setgid,
1678189529Srwatson	.mpo_cred_check_setgroups = stub_cred_check_setgroups,
1679189529Srwatson	.mpo_cred_check_setregid = stub_cred_check_setregid,
1680189529Srwatson	.mpo_cred_check_setresgid = stub_cred_check_setresgid,
1681189529Srwatson	.mpo_cred_check_setresuid = stub_cred_check_setresuid,
1682189529Srwatson	.mpo_cred_check_setreuid = stub_cred_check_setreuid,
1683189529Srwatson	.mpo_cred_check_setuid = stub_cred_check_setuid,
1684173138Srwatson	.mpo_cred_check_visible = stub_cred_check_visible,
1685173138Srwatson	.mpo_cred_copy_label = stub_copy_label,
1686184407Srwatson	.mpo_cred_create_init = stub_cred_create_init,
1687184407Srwatson	.mpo_cred_create_swapper = stub_cred_create_swapper,
1688172930Srwatson	.mpo_cred_destroy_label = stub_destroy_label,
1689172930Srwatson	.mpo_cred_externalize_label = stub_externalize_label,
1690173138Srwatson	.mpo_cred_init_label = stub_init_label,
1691172930Srwatson	.mpo_cred_internalize_label = stub_internalize_label,
1692173138Srwatson	.mpo_cred_relabel= stub_cred_relabel,
1693173138Srwatson
1694172930Srwatson	.mpo_devfs_create_device = stub_devfs_create_device,
1695172930Srwatson	.mpo_devfs_create_directory = stub_devfs_create_directory,
1696172930Srwatson	.mpo_devfs_create_symlink = stub_devfs_create_symlink,
1697173138Srwatson	.mpo_devfs_destroy_label = stub_destroy_label,
1698173138Srwatson	.mpo_devfs_init_label = stub_init_label,
1699172930Srwatson	.mpo_devfs_update = stub_devfs_update,
1700173138Srwatson	.mpo_devfs_vnode_associate = stub_devfs_vnode_associate,
1701173138Srwatson
1702173138Srwatson	.mpo_ifnet_check_relabel = stub_ifnet_check_relabel,
1703173138Srwatson	.mpo_ifnet_check_transmit = stub_ifnet_check_transmit,
1704173138Srwatson	.mpo_ifnet_copy_label = stub_copy_label,
1705172930Srwatson	.mpo_ifnet_create = stub_ifnet_create,
1706173138Srwatson	.mpo_ifnet_create_mbuf = stub_ifnet_create_mbuf,
1707173138Srwatson	.mpo_ifnet_destroy_label = stub_destroy_label,
1708173138Srwatson	.mpo_ifnet_externalize_label = stub_externalize_label,
1709173138Srwatson	.mpo_ifnet_init_label = stub_init_label,
1710173138Srwatson	.mpo_ifnet_internalize_label = stub_internalize_label,
1711173138Srwatson	.mpo_ifnet_relabel = stub_ifnet_relabel,
1712173138Srwatson
1713173138Srwatson	.mpo_inpcb_check_deliver = stub_inpcb_check_deliver,
1714183980Sbz	.mpo_inpcb_check_visible = stub_inpcb_check_visible,
1715172930Srwatson	.mpo_inpcb_create = stub_inpcb_create,
1716173138Srwatson	.mpo_inpcb_create_mbuf = stub_inpcb_create_mbuf,
1717173138Srwatson	.mpo_inpcb_destroy_label = stub_destroy_label,
1718173138Srwatson	.mpo_inpcb_init_label = stub_init_label_waitcheck,
1719173138Srwatson	.mpo_inpcb_sosetlabel = stub_inpcb_sosetlabel,
1720173138Srwatson
1721184308Srwatson	.mpo_ip6q_create = stub_ip6q_create,
1722184308Srwatson	.mpo_ip6q_destroy_label = stub_destroy_label,
1723184308Srwatson	.mpo_ip6q_init_label = stub_init_label_waitcheck,
1724184308Srwatson	.mpo_ip6q_match = stub_ip6q_match,
1725184308Srwatson	.mpo_ip6q_update = stub_ip6q_update,
1726184308Srwatson	.mpo_ip6q_reassemble = stub_ip6q_reassemble,
1727184308Srwatson
1728172930Srwatson	.mpo_ipq_create = stub_ipq_create,
1729173138Srwatson	.mpo_ipq_destroy_label = stub_destroy_label,
1730173138Srwatson	.mpo_ipq_init_label = stub_init_label_waitcheck,
1731173138Srwatson	.mpo_ipq_match = stub_ipq_match,
1732173138Srwatson	.mpo_ipq_update = stub_ipq_update,
1733172930Srwatson	.mpo_ipq_reassemble = stub_ipq_reassemble,
1734173138Srwatson
1735173138Srwatson	.mpo_kenv_check_dump = stub_kenv_check_dump,
1736173138Srwatson	.mpo_kenv_check_get = stub_kenv_check_get,
1737173138Srwatson	.mpo_kenv_check_set = stub_kenv_check_set,
1738173138Srwatson	.mpo_kenv_check_unset = stub_kenv_check_unset,
1739173138Srwatson
1740173138Srwatson	.mpo_kld_check_load = stub_kld_check_load,
1741173138Srwatson	.mpo_kld_check_stat = stub_kld_check_stat,
1742173138Srwatson
1743173138Srwatson	.mpo_mbuf_copy_label = stub_copy_label,
1744173138Srwatson	.mpo_mbuf_destroy_label = stub_destroy_label,
1745173138Srwatson	.mpo_mbuf_init_label = stub_init_label_waitcheck,
1746173138Srwatson
1747173138Srwatson	.mpo_mount_check_stat = stub_mount_check_stat,
1748173138Srwatson	.mpo_mount_create = stub_mount_create,
1749173138Srwatson	.mpo_mount_destroy_label = stub_destroy_label,
1750173138Srwatson	.mpo_mount_init_label = stub_init_label,
1751173138Srwatson
1752173095Srwatson	.mpo_netinet_arp_send = stub_netinet_arp_send,
1753173102Srwatson	.mpo_netinet_firewall_reply = stub_netinet_firewall_reply,
1754173018Srwatson	.mpo_netinet_firewall_send = stub_netinet_firewall_send,
1755173138Srwatson	.mpo_netinet_fragment = stub_netinet_fragment,
1756173102Srwatson	.mpo_netinet_icmp_reply = stub_netinet_icmp_reply,
1757173102Srwatson	.mpo_netinet_icmp_replyinplace = stub_netinet_icmp_replyinplace,
1758173138Srwatson	.mpo_netinet_tcp_reply = stub_netinet_tcp_reply,
1759173095Srwatson	.mpo_netinet_igmp_send = stub_netinet_igmp_send,
1760173138Srwatson
1761173095Srwatson	.mpo_netinet6_nd6_send = stub_netinet6_nd6_send,
1762173138Srwatson
1763172930Srwatson	.mpo_pipe_check_ioctl = stub_pipe_check_ioctl,
1764172930Srwatson	.mpo_pipe_check_poll = stub_pipe_check_poll,
1765172930Srwatson	.mpo_pipe_check_read = stub_pipe_check_read,
1766172930Srwatson	.mpo_pipe_check_relabel = stub_pipe_check_relabel,
1767172930Srwatson	.mpo_pipe_check_stat = stub_pipe_check_stat,
1768172930Srwatson	.mpo_pipe_check_write = stub_pipe_check_write,
1769173138Srwatson	.mpo_pipe_copy_label = stub_copy_label,
1770173138Srwatson	.mpo_pipe_create = stub_pipe_create,
1771173138Srwatson	.mpo_pipe_destroy_label = stub_destroy_label,
1772173138Srwatson	.mpo_pipe_externalize_label = stub_externalize_label,
1773173138Srwatson	.mpo_pipe_init_label = stub_init_label,
1774173138Srwatson	.mpo_pipe_internalize_label = stub_internalize_label,
1775173138Srwatson	.mpo_pipe_relabel = stub_pipe_relabel,
1776173138Srwatson
1777172930Srwatson	.mpo_posixsem_check_getvalue = stub_posixsem_check_getvalue,
1778172930Srwatson	.mpo_posixsem_check_open = stub_posixsem_check_open,
1779172930Srwatson	.mpo_posixsem_check_post = stub_posixsem_check_post,
1780224914Skib	.mpo_posixsem_check_setmode = stub_posixsem_check_setmode,
1781224914Skib	.mpo_posixsem_check_setowner = stub_posixsem_check_setowner,
1782180059Sjhb	.mpo_posixsem_check_stat = stub_posixsem_check_stat,
1783172930Srwatson	.mpo_posixsem_check_unlink = stub_posixsem_check_unlink,
1784172930Srwatson	.mpo_posixsem_check_wait = stub_posixsem_check_wait,
1785173138Srwatson	.mpo_posixsem_create = stub_posixsem_create,
1786173138Srwatson	.mpo_posixsem_destroy_label = stub_destroy_label,
1787173138Srwatson	.mpo_posixsem_init_label = stub_init_label,
1788173138Srwatson
1789225344Srwatson	.mpo_posixshm_check_create = stub_posixshm_check_create,
1790175164Sjhb	.mpo_posixshm_check_mmap = stub_posixshm_check_mmap,
1791175164Sjhb	.mpo_posixshm_check_open = stub_posixshm_check_open,
1792254603Skib	.mpo_posixshm_check_read = stub_posixshm_check_read,
1793224914Skib	.mpo_posixshm_check_setmode = stub_posixshm_check_setmode,
1794224914Skib	.mpo_posixshm_check_setowner = stub_posixshm_check_setowner,
1795175164Sjhb	.mpo_posixshm_check_stat = stub_posixshm_check_stat,
1796175164Sjhb	.mpo_posixshm_check_truncate = stub_posixshm_check_truncate,
1797175164Sjhb	.mpo_posixshm_check_unlink = stub_posixshm_check_unlink,
1798254603Skib	.mpo_posixshm_check_write = stub_posixshm_check_write,
1799175164Sjhb	.mpo_posixshm_create = stub_posixshm_create,
1800175164Sjhb	.mpo_posixshm_destroy_label = stub_destroy_label,
1801175164Sjhb	.mpo_posixshm_init_label = stub_init_label,
1802175164Sjhb
1803173138Srwatson	.mpo_priv_check = stub_priv_check,
1804173138Srwatson	.mpo_priv_grant = stub_priv_grant,
1805173138Srwatson
1806172930Srwatson	.mpo_proc_check_debug = stub_proc_check_debug,
1807172930Srwatson	.mpo_proc_check_sched = stub_proc_check_sched,
1808172930Srwatson	.mpo_proc_check_signal = stub_proc_check_signal,
1809172930Srwatson	.mpo_proc_check_wait = stub_proc_check_wait,
1810173138Srwatson
1811172930Srwatson	.mpo_socket_check_accept = stub_socket_check_accept,
1812172930Srwatson	.mpo_socket_check_bind = stub_socket_check_bind,
1813172930Srwatson	.mpo_socket_check_connect = stub_socket_check_connect,
1814172930Srwatson	.mpo_socket_check_create = stub_socket_check_create,
1815172930Srwatson	.mpo_socket_check_deliver = stub_socket_check_deliver,
1816172930Srwatson	.mpo_socket_check_listen = stub_socket_check_listen,
1817172930Srwatson	.mpo_socket_check_poll = stub_socket_check_poll,
1818172930Srwatson	.mpo_socket_check_receive = stub_socket_check_receive,
1819172930Srwatson	.mpo_socket_check_relabel = stub_socket_check_relabel,
1820172930Srwatson	.mpo_socket_check_send = stub_socket_check_send,
1821172930Srwatson	.mpo_socket_check_stat = stub_socket_check_stat,
1822172930Srwatson	.mpo_socket_check_visible = stub_socket_check_visible,
1823173138Srwatson	.mpo_socket_copy_label = stub_copy_label,
1824173138Srwatson	.mpo_socket_create = stub_socket_create,
1825173138Srwatson	.mpo_socket_create_mbuf = stub_socket_create_mbuf,
1826173138Srwatson	.mpo_socket_destroy_label = stub_destroy_label,
1827173138Srwatson	.mpo_socket_externalize_label = stub_externalize_label,
1828173138Srwatson	.mpo_socket_init_label = stub_init_label_waitcheck,
1829173138Srwatson	.mpo_socket_internalize_label = stub_internalize_label,
1830173138Srwatson	.mpo_socket_newconn = stub_socket_newconn,
1831173138Srwatson	.mpo_socket_relabel = stub_socket_relabel,
1832173138Srwatson
1833173138Srwatson	.mpo_socketpeer_destroy_label = stub_destroy_label,
1834173138Srwatson	.mpo_socketpeer_externalize_label = stub_externalize_label,
1835173138Srwatson	.mpo_socketpeer_init_label = stub_init_label_waitcheck,
1836173138Srwatson	.mpo_socketpeer_set_from_mbuf = stub_socketpeer_set_from_mbuf,
1837173138Srwatson	.mpo_socketpeer_set_from_socket = stub_socketpeer_set_from_socket,
1838173138Srwatson
1839173138Srwatson	.mpo_syncache_init_label = stub_init_label_waitcheck,
1840173138Srwatson	.mpo_syncache_destroy_label = stub_destroy_label,
1841173138Srwatson	.mpo_syncache_create = stub_syncache_create,
1842173138Srwatson	.mpo_syncache_create_mbuf= stub_syncache_create_mbuf,
1843173138Srwatson
1844173138Srwatson	.mpo_sysvmsg_cleanup = stub_sysvmsg_cleanup,
1845173138Srwatson	.mpo_sysvmsg_create = stub_sysvmsg_create,
1846173138Srwatson	.mpo_sysvmsg_destroy_label = stub_destroy_label,
1847173138Srwatson	.mpo_sysvmsg_init_label = stub_init_label,
1848173138Srwatson
1849173138Srwatson	.mpo_sysvmsq_check_msgmsq = stub_sysvmsq_check_msgmsq,
1850173138Srwatson	.mpo_sysvmsq_check_msgrcv = stub_sysvmsq_check_msgrcv,
1851173138Srwatson	.mpo_sysvmsq_check_msgrmid = stub_sysvmsq_check_msgrmid,
1852173138Srwatson	.mpo_sysvmsq_check_msqget = stub_sysvmsq_check_msqget,
1853173138Srwatson	.mpo_sysvmsq_check_msqsnd = stub_sysvmsq_check_msqsnd,
1854173138Srwatson	.mpo_sysvmsq_check_msqrcv = stub_sysvmsq_check_msqrcv,
1855173138Srwatson	.mpo_sysvmsq_check_msqctl = stub_sysvmsq_check_msqctl,
1856173138Srwatson	.mpo_sysvmsq_cleanup = stub_sysvmsq_cleanup,
1857173138Srwatson	.mpo_sysvmsq_create = stub_sysvmsq_create,
1858173138Srwatson	.mpo_sysvmsq_destroy_label = stub_destroy_label,
1859173138Srwatson	.mpo_sysvmsq_init_label = stub_init_label,
1860173138Srwatson
1861173138Srwatson	.mpo_sysvsem_check_semctl = stub_sysvsem_check_semctl,
1862173138Srwatson	.mpo_sysvsem_check_semget = stub_sysvsem_check_semget,
1863173138Srwatson	.mpo_sysvsem_check_semop = stub_sysvsem_check_semop,
1864173138Srwatson	.mpo_sysvsem_cleanup = stub_sysvsem_cleanup,
1865173138Srwatson	.mpo_sysvsem_create = stub_sysvsem_create,
1866173138Srwatson	.mpo_sysvsem_destroy_label = stub_destroy_label,
1867173138Srwatson	.mpo_sysvsem_init_label = stub_init_label,
1868173138Srwatson
1869173138Srwatson	.mpo_sysvshm_check_shmat = stub_sysvshm_check_shmat,
1870173138Srwatson	.mpo_sysvshm_check_shmctl = stub_sysvshm_check_shmctl,
1871173138Srwatson	.mpo_sysvshm_check_shmdt = stub_sysvshm_check_shmdt,
1872173138Srwatson	.mpo_sysvshm_check_shmget = stub_sysvshm_check_shmget,
1873173138Srwatson	.mpo_sysvshm_cleanup = stub_sysvshm_cleanup,
1874173138Srwatson	.mpo_sysvshm_create = stub_sysvshm_create,
1875173138Srwatson	.mpo_sysvshm_destroy_label = stub_destroy_label,
1876173138Srwatson	.mpo_sysvshm_init_label = stub_init_label,
1877173138Srwatson
1878172930Srwatson	.mpo_system_check_acct = stub_system_check_acct,
1879172930Srwatson	.mpo_system_check_audit = stub_system_check_audit,
1880172930Srwatson	.mpo_system_check_auditctl = stub_system_check_auditctl,
1881172930Srwatson	.mpo_system_check_auditon = stub_system_check_auditon,
1882172930Srwatson	.mpo_system_check_reboot = stub_system_check_reboot,
1883172930Srwatson	.mpo_system_check_swapoff = stub_system_check_swapoff,
1884172930Srwatson	.mpo_system_check_swapon = stub_system_check_swapon,
1885172930Srwatson	.mpo_system_check_sysctl = stub_system_check_sysctl,
1886173138Srwatson
1887173138Srwatson	.mpo_thread_userret = stub_thread_userret,
1888173138Srwatson
1889173138Srwatson	.mpo_vnode_associate_extattr = stub_vnode_associate_extattr,
1890173138Srwatson	.mpo_vnode_associate_singlelabel = stub_vnode_associate_singlelabel,
1891172930Srwatson	.mpo_vnode_check_access = stub_vnode_check_access,
1892172930Srwatson	.mpo_vnode_check_chdir = stub_vnode_check_chdir,
1893172930Srwatson	.mpo_vnode_check_chroot = stub_vnode_check_chroot,
1894172930Srwatson	.mpo_vnode_check_create = stub_vnode_check_create,
1895172930Srwatson	.mpo_vnode_check_deleteacl = stub_vnode_check_deleteacl,
1896172930Srwatson	.mpo_vnode_check_deleteextattr = stub_vnode_check_deleteextattr,
1897172930Srwatson	.mpo_vnode_check_exec = stub_vnode_check_exec,
1898172930Srwatson	.mpo_vnode_check_getacl = stub_vnode_check_getacl,
1899172930Srwatson	.mpo_vnode_check_getextattr = stub_vnode_check_getextattr,
1900172930Srwatson	.mpo_vnode_check_link = stub_vnode_check_link,
1901172930Srwatson	.mpo_vnode_check_listextattr = stub_vnode_check_listextattr,
1902172930Srwatson	.mpo_vnode_check_lookup = stub_vnode_check_lookup,
1903172930Srwatson	.mpo_vnode_check_mmap = stub_vnode_check_mmap,
1904172930Srwatson	.mpo_vnode_check_mmap_downgrade = stub_vnode_check_mmap_downgrade,
1905172930Srwatson	.mpo_vnode_check_mprotect = stub_vnode_check_mprotect,
1906172930Srwatson	.mpo_vnode_check_open = stub_vnode_check_open,
1907172930Srwatson	.mpo_vnode_check_poll = stub_vnode_check_poll,
1908172930Srwatson	.mpo_vnode_check_read = stub_vnode_check_read,
1909172930Srwatson	.mpo_vnode_check_readdir = stub_vnode_check_readdir,
1910172930Srwatson	.mpo_vnode_check_readlink = stub_vnode_check_readlink,
1911172930Srwatson	.mpo_vnode_check_relabel = stub_vnode_check_relabel,
1912172930Srwatson	.mpo_vnode_check_rename_from = stub_vnode_check_rename_from,
1913172930Srwatson	.mpo_vnode_check_rename_to = stub_vnode_check_rename_to,
1914172930Srwatson	.mpo_vnode_check_revoke = stub_vnode_check_revoke,
1915172930Srwatson	.mpo_vnode_check_setacl = stub_vnode_check_setacl,
1916172930Srwatson	.mpo_vnode_check_setextattr = stub_vnode_check_setextattr,
1917172930Srwatson	.mpo_vnode_check_setflags = stub_vnode_check_setflags,
1918172930Srwatson	.mpo_vnode_check_setmode = stub_vnode_check_setmode,
1919172930Srwatson	.mpo_vnode_check_setowner = stub_vnode_check_setowner,
1920172930Srwatson	.mpo_vnode_check_setutimes = stub_vnode_check_setutimes,
1921172930Srwatson	.mpo_vnode_check_stat = stub_vnode_check_stat,
1922172930Srwatson	.mpo_vnode_check_unlink = stub_vnode_check_unlink,
1923172930Srwatson	.mpo_vnode_check_write = stub_vnode_check_write,
1924173138Srwatson	.mpo_vnode_copy_label = stub_copy_label,
1925173138Srwatson	.mpo_vnode_create_extattr = stub_vnode_create_extattr,
1926173138Srwatson	.mpo_vnode_destroy_label = stub_destroy_label,
1927173138Srwatson	.mpo_vnode_execve_transition = stub_vnode_execve_transition,
1928173138Srwatson	.mpo_vnode_execve_will_transition = stub_vnode_execve_will_transition,
1929173138Srwatson	.mpo_vnode_externalize_label = stub_externalize_label,
1930173138Srwatson	.mpo_vnode_init_label = stub_init_label,
1931173138Srwatson	.mpo_vnode_internalize_label = stub_internalize_label,
1932173138Srwatson	.mpo_vnode_relabel = stub_vnode_relabel,
1933173138Srwatson	.mpo_vnode_setlabel_extattr = stub_vnode_setlabel_extattr,
1934101099Srwatson};
1935101099Srwatson
1936172955SrwatsonMAC_POLICY_SET(&stub_ops, mac_stub, "TrustedBSD MAC/Stub",
1937187016Srwatson    MPC_LOADTIME_FLAG_UNLOADOK, NULL);
1938