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