1d8a7b7a3SRobert Watson /*- 218717f69SRobert Watson * Copyright (c) 1999-2002, 2007 Robert N. M. Watson 3ba53d9c9SRobert Watson * Copyright (c) 2001-2005 McAfee, Inc. 430d239bcSRobert Watson * Copyright (c) 2005-2006 SPARTA, Inc. 5d8a7b7a3SRobert Watson * All rights reserved. 6d8a7b7a3SRobert Watson * 7d8a7b7a3SRobert Watson * This software was developed by Robert Watson for the TrustedBSD Project. 8d8a7b7a3SRobert Watson * 9ba53d9c9SRobert Watson * This software was developed for the FreeBSD Project in part by McAfee 10ba53d9c9SRobert Watson * Research, the Security Research Division of McAfee, Inc. under 11ba53d9c9SRobert Watson * DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA 12ba53d9c9SRobert Watson * CHATS research program. 13d8a7b7a3SRobert Watson * 146758f88eSRobert Watson * This software was enhanced by SPARTA ISSO under SPAWAR contract 156758f88eSRobert Watson * N66001-04-C-6019 ("SEFOS"). 166758f88eSRobert Watson * 17d8a7b7a3SRobert Watson * Redistribution and use in source and binary forms, with or without 18d8a7b7a3SRobert Watson * modification, are permitted provided that the following conditions 19d8a7b7a3SRobert Watson * are met: 20d8a7b7a3SRobert Watson * 1. Redistributions of source code must retain the above copyright 21d8a7b7a3SRobert Watson * notice, this list of conditions and the following disclaimer. 22d8a7b7a3SRobert Watson * 2. Redistributions in binary form must reproduce the above copyright 23d8a7b7a3SRobert Watson * notice, this list of conditions and the following disclaimer in the 24d8a7b7a3SRobert Watson * documentation and/or other materials provided with the distribution. 25d8a7b7a3SRobert Watson * 26d8a7b7a3SRobert Watson * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 27d8a7b7a3SRobert Watson * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 28d8a7b7a3SRobert Watson * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 29d8a7b7a3SRobert Watson * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 30d8a7b7a3SRobert Watson * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 31d8a7b7a3SRobert Watson * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32d8a7b7a3SRobert Watson * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33d8a7b7a3SRobert Watson * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34d8a7b7a3SRobert Watson * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35d8a7b7a3SRobert Watson * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36d8a7b7a3SRobert Watson * SUCH DAMAGE. 37d8a7b7a3SRobert Watson * 38d8a7b7a3SRobert Watson * $FreeBSD$ 39d8a7b7a3SRobert Watson */ 40d8a7b7a3SRobert Watson 41d8a7b7a3SRobert Watson /* 42d8a7b7a3SRobert Watson * Developed by the TrustedBSD Project. 431c3f91cdSRobert Watson * 441c3f91cdSRobert Watson * Stub module that implements a NOOP for most (if not all) MAC Framework 451c3f91cdSRobert Watson * policy entry points. 46d8a7b7a3SRobert Watson */ 47d8a7b7a3SRobert Watson 48d8a7b7a3SRobert Watson #include <sys/types.h> 49d8a7b7a3SRobert Watson #include <sys/param.h> 50d8a7b7a3SRobert Watson #include <sys/acl.h> 51d8a7b7a3SRobert Watson #include <sys/conf.h> 52763bbd2fSRobert Watson #include <sys/extattr.h> 53d8a7b7a3SRobert Watson #include <sys/kernel.h> 546aeb05d7STom Rhodes #include <sys/ksem.h> 55d8a7b7a3SRobert Watson #include <sys/mount.h> 56d8a7b7a3SRobert Watson #include <sys/proc.h> 57d8a7b7a3SRobert Watson #include <sys/systm.h> 58d8a7b7a3SRobert Watson #include <sys/sysproto.h> 59d8a7b7a3SRobert Watson #include <sys/sysent.h> 60d8a7b7a3SRobert Watson #include <sys/vnode.h> 61d8a7b7a3SRobert Watson #include <sys/file.h> 62d8a7b7a3SRobert Watson #include <sys/socket.h> 63d8a7b7a3SRobert Watson #include <sys/socketvar.h> 64d8a7b7a3SRobert Watson #include <sys/pipe.h> 6536422989SPoul-Henning Kamp #include <sys/sx.h> 66d8a7b7a3SRobert Watson #include <sys/sysctl.h> 67ba53d9c9SRobert Watson #include <sys/msg.h> 68ba53d9c9SRobert Watson #include <sys/sem.h> 69ba53d9c9SRobert Watson #include <sys/shm.h> 70d8a7b7a3SRobert Watson 71d8a7b7a3SRobert Watson #include <fs/devfs/devfs.h> 72d8a7b7a3SRobert Watson 73d8a7b7a3SRobert Watson #include <net/bpfdesc.h> 74d8a7b7a3SRobert Watson #include <net/if.h> 75d8a7b7a3SRobert Watson #include <net/if_types.h> 76d8a7b7a3SRobert Watson #include <net/if_var.h> 77d8a7b7a3SRobert Watson 78d8a7b7a3SRobert Watson #include <netinet/in.h> 79a557af22SRobert Watson #include <netinet/in_pcb.h> 80d8a7b7a3SRobert Watson #include <netinet/ip_var.h> 81d8a7b7a3SRobert Watson 82d8a7b7a3SRobert Watson #include <vm/vm.h> 83d8a7b7a3SRobert Watson 840efd6615SRobert Watson #include <security/mac/mac_policy.h> 85d8a7b7a3SRobert Watson 86d8a7b7a3SRobert Watson SYSCTL_DECL(_security_mac); 87d8a7b7a3SRobert Watson 881c3f91cdSRobert Watson SYSCTL_NODE(_security_mac, OID_AUTO, stub, CTLFLAG_RW, 0, 891c3f91cdSRobert Watson "TrustedBSD mac_stub policy controls"); 90d8a7b7a3SRobert Watson 911c3f91cdSRobert Watson static int stub_enabled = 1; 921c3f91cdSRobert Watson SYSCTL_INT(_security_mac_stub, OID_AUTO, enabled, CTLFLAG_RW, 931c3f91cdSRobert Watson &stub_enabled, 0, "Enforce mac_stub policy"); 94d8a7b7a3SRobert Watson 95d8a7b7a3SRobert Watson /* 96d8a7b7a3SRobert Watson * Policy module operations. 97d8a7b7a3SRobert Watson */ 98d8a7b7a3SRobert Watson static void 991c3f91cdSRobert Watson stub_destroy(struct mac_policy_conf *conf) 100d8a7b7a3SRobert Watson { 101d8a7b7a3SRobert Watson 102d8a7b7a3SRobert Watson } 103d8a7b7a3SRobert Watson 104d8a7b7a3SRobert Watson static void 1051c3f91cdSRobert Watson stub_init(struct mac_policy_conf *conf) 106d8a7b7a3SRobert Watson { 107d8a7b7a3SRobert Watson 108d8a7b7a3SRobert Watson } 109d8a7b7a3SRobert Watson 1108a97ecf6SRobert Watson static int 1111c3f91cdSRobert Watson stub_syscall(struct thread *td, int call, void *arg) 1128a97ecf6SRobert Watson { 1138a97ecf6SRobert Watson 1148a97ecf6SRobert Watson return (0); 1158a97ecf6SRobert Watson } 1168a97ecf6SRobert Watson 117d8a7b7a3SRobert Watson /* 118d8a7b7a3SRobert Watson * Label operations. 119d8a7b7a3SRobert Watson */ 120d8a7b7a3SRobert Watson static void 1211c3f91cdSRobert Watson stub_init_label(struct label *label) 122d8a7b7a3SRobert Watson { 123d8a7b7a3SRobert Watson 124d8a7b7a3SRobert Watson } 125d8a7b7a3SRobert Watson 126d8a7b7a3SRobert Watson static int 1271c3f91cdSRobert Watson stub_init_label_waitcheck(struct label *label, int flag) 128d8a7b7a3SRobert Watson { 129d8a7b7a3SRobert Watson 130d8a7b7a3SRobert Watson return (0); 131d8a7b7a3SRobert Watson } 132d8a7b7a3SRobert Watson 133d8a7b7a3SRobert Watson static void 1341c3f91cdSRobert Watson stub_destroy_label(struct label *label) 135d8a7b7a3SRobert Watson { 136d8a7b7a3SRobert Watson 137d8a7b7a3SRobert Watson } 138d8a7b7a3SRobert Watson 1390196273bSRobert Watson static void 1400196273bSRobert Watson stub_copy_label(struct label *src, struct label *dest) 1410196273bSRobert Watson { 1420196273bSRobert Watson 1430196273bSRobert Watson } 1440196273bSRobert Watson 145d8a7b7a3SRobert Watson static int 1461c3f91cdSRobert Watson stub_externalize_label(struct label *label, char *element_name, 147f51e5803SRobert Watson struct sbuf *sb, int *claimed) 148d8a7b7a3SRobert Watson { 149d8a7b7a3SRobert Watson 150d8a7b7a3SRobert Watson return (0); 151d8a7b7a3SRobert Watson } 152d8a7b7a3SRobert Watson 153d8a7b7a3SRobert Watson static int 1541c3f91cdSRobert Watson stub_internalize_label(struct label *label, char *element_name, 15524e8d0d0SRobert Watson char *element_data, int *claimed) 156d8a7b7a3SRobert Watson { 157d8a7b7a3SRobert Watson 158d8a7b7a3SRobert Watson return (0); 159d8a7b7a3SRobert Watson } 160d8a7b7a3SRobert Watson 161d8a7b7a3SRobert Watson /* 162eb320b0eSRobert Watson * Object-specific entry point imeplementations are sorted alphabetically by 163eb320b0eSRobert Watson * object type name and then by operation. 164d8a7b7a3SRobert Watson */ 165763bbd2fSRobert Watson static int 166eb320b0eSRobert Watson stub_bpfdesc_check_receive(struct bpf_d *d, struct label *dlabel, 167eb320b0eSRobert Watson struct ifnet *ifp, struct label *ifplabel) 168763bbd2fSRobert Watson { 169763bbd2fSRobert Watson 170763bbd2fSRobert Watson return (0); 171763bbd2fSRobert Watson } 172763bbd2fSRobert Watson 173763bbd2fSRobert Watson static void 174eb320b0eSRobert Watson stub_bpfdesc_create(struct ucred *cred, struct bpf_d *d, 175eb320b0eSRobert Watson struct label *dlabel) 176eb320b0eSRobert Watson { 177eb320b0eSRobert Watson 178eb320b0eSRobert Watson } 179eb320b0eSRobert Watson 180eb320b0eSRobert Watson static void 181eb320b0eSRobert Watson stub_bpfdesc_create_mbuf(struct bpf_d *d, struct label *dlabel, 182eb320b0eSRobert Watson struct mbuf *m, struct label *mlabel) 183eb320b0eSRobert Watson { 184eb320b0eSRobert Watson 185eb320b0eSRobert Watson } 186eb320b0eSRobert Watson 187eb320b0eSRobert Watson static int 188eb320b0eSRobert Watson stub_cred_check_relabel(struct ucred *cred, struct label *newlabel) 189eb320b0eSRobert Watson { 190eb320b0eSRobert Watson 191eb320b0eSRobert Watson return (0); 192eb320b0eSRobert Watson } 193eb320b0eSRobert Watson 194eb320b0eSRobert Watson static int 195eb320b0eSRobert Watson stub_cred_check_visible(struct ucred *cr1, struct ucred *cr2) 196eb320b0eSRobert Watson { 197eb320b0eSRobert Watson 198eb320b0eSRobert Watson return (0); 199eb320b0eSRobert Watson } 200eb320b0eSRobert Watson 201eb320b0eSRobert Watson static void 202eb320b0eSRobert Watson stub_cred_relabel(struct ucred *cred, struct label *newlabel) 203763bbd2fSRobert Watson { 204763bbd2fSRobert Watson 205763bbd2fSRobert Watson } 206763bbd2fSRobert Watson 207763bbd2fSRobert Watson static void 20830d239bcSRobert Watson stub_devfs_create_device(struct ucred *cred, struct mount *mp, 20978007886SRobert Watson struct cdev *dev, struct devfs_dirent *de, struct label *delabel) 210eea8ea31SRobert Watson { 211eea8ea31SRobert Watson 212eea8ea31SRobert Watson } 213eea8ea31SRobert Watson 214eea8ea31SRobert Watson static void 21530d239bcSRobert Watson stub_devfs_create_directory(struct mount *mp, char *dirname, 21678007886SRobert Watson int dirnamelen, struct devfs_dirent *de, struct label *delabel) 217990b4b2dSRobert Watson { 218990b4b2dSRobert Watson 219990b4b2dSRobert Watson } 220990b4b2dSRobert Watson 221990b4b2dSRobert Watson static void 22230d239bcSRobert Watson stub_devfs_create_symlink(struct ucred *cred, struct mount *mp, 223990b4b2dSRobert Watson struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, 224990b4b2dSRobert Watson struct label *delabel) 225d8a7b7a3SRobert Watson { 226d8a7b7a3SRobert Watson 227d8a7b7a3SRobert Watson } 228d8a7b7a3SRobert Watson 229d8a7b7a3SRobert Watson static void 23030d239bcSRobert Watson stub_devfs_update(struct mount *mp, struct devfs_dirent *de, 23178007886SRobert Watson struct label *delabel, struct vnode *vp, struct label *vplabel) 232d8a7b7a3SRobert Watson { 233d8a7b7a3SRobert Watson 234d8a7b7a3SRobert Watson } 235d8a7b7a3SRobert Watson 236d8a7b7a3SRobert Watson static void 237eb320b0eSRobert Watson stub_devfs_vnode_associate(struct mount *mp, struct label *mplabel, 238eb320b0eSRobert Watson struct devfs_dirent *de, struct label *delabel, struct vnode *vp, 239eb320b0eSRobert Watson struct label *vplabel) 240d8a7b7a3SRobert Watson { 241d8a7b7a3SRobert Watson 242d8a7b7a3SRobert Watson } 243d8a7b7a3SRobert Watson 244d8a7b7a3SRobert Watson static int 24530d239bcSRobert Watson stub_ifnet_check_relabel(struct ucred *cred, struct ifnet *ifp, 24678007886SRobert Watson struct label *ifplabel, struct label *newlabel) 247d8a7b7a3SRobert Watson { 248d8a7b7a3SRobert Watson 249d8a7b7a3SRobert Watson return (0); 250d8a7b7a3SRobert Watson } 251d8a7b7a3SRobert Watson 252d8a7b7a3SRobert Watson static int 25330d239bcSRobert Watson stub_ifnet_check_transmit(struct ifnet *ifp, struct label *ifplabel, 25478007886SRobert Watson struct mbuf *m, struct label *mlabel) 255d8a7b7a3SRobert Watson { 256d8a7b7a3SRobert Watson 257d8a7b7a3SRobert Watson return (0); 258d8a7b7a3SRobert Watson } 259d8a7b7a3SRobert Watson 260eb320b0eSRobert Watson static void 261eb320b0eSRobert Watson stub_ifnet_create(struct ifnet *ifp, struct label *ifplabel) 262eb320b0eSRobert Watson { 263eb320b0eSRobert Watson 264eb320b0eSRobert Watson } 265eb320b0eSRobert Watson 266eb320b0eSRobert Watson static void 267eb320b0eSRobert Watson stub_ifnet_create_mbuf(struct ifnet *ifp, struct label *ifplabel, 268eb320b0eSRobert Watson struct mbuf *m, struct label *mlabel) 269eb320b0eSRobert Watson { 270eb320b0eSRobert Watson 271eb320b0eSRobert Watson } 272eb320b0eSRobert Watson 273eb320b0eSRobert Watson static void 274eb320b0eSRobert Watson stub_ifnet_relabel(struct ucred *cred, struct ifnet *ifp, 275eb320b0eSRobert Watson struct label *ifplabel, struct label *newlabel) 276eb320b0eSRobert Watson { 277eb320b0eSRobert Watson 278eb320b0eSRobert Watson } 279eb320b0eSRobert Watson 280d8a7b7a3SRobert Watson static int 28130d239bcSRobert Watson stub_inpcb_check_deliver(struct inpcb *inp, struct label *inplabel, 282a557af22SRobert Watson struct mbuf *m, struct label *mlabel) 283a557af22SRobert Watson { 284a557af22SRobert Watson 285a557af22SRobert Watson return (0); 286a557af22SRobert Watson } 287a557af22SRobert Watson 288eb320b0eSRobert Watson static void 289eb320b0eSRobert Watson stub_inpcb_create(struct socket *so, struct label *solabel, 290eb320b0eSRobert Watson struct inpcb *inp, struct label *inplabel) 291ba53d9c9SRobert Watson { 292ba53d9c9SRobert Watson 293eb320b0eSRobert Watson } 294eb320b0eSRobert Watson 295eb320b0eSRobert Watson static void 296eb320b0eSRobert Watson stub_inpcb_create_mbuf(struct inpcb *inp, struct label *inplabel, 297eb320b0eSRobert Watson struct mbuf *m, struct label *mlabel) 298eb320b0eSRobert Watson { 299eb320b0eSRobert Watson 300eb320b0eSRobert Watson } 301eb320b0eSRobert Watson 302eb320b0eSRobert Watson static void 303eb320b0eSRobert Watson stub_inpcb_sosetlabel(struct socket *so, struct label *solabel, 304eb320b0eSRobert Watson struct inpcb *inp, struct label *inplabel) 305eb320b0eSRobert Watson { 306eb320b0eSRobert Watson 307eb320b0eSRobert Watson } 308eb320b0eSRobert Watson 309eb320b0eSRobert Watson static void 31037f44cb4SRobert Watson stub_ipq_create(struct mbuf *m, struct label *mlabel, struct ipq *q, 31137f44cb4SRobert Watson struct label *qlabel) 312eb320b0eSRobert Watson { 313eb320b0eSRobert Watson 314ba53d9c9SRobert Watson } 315ba53d9c9SRobert Watson 316ba53d9c9SRobert Watson static int 31737f44cb4SRobert Watson stub_ipq_match(struct mbuf *m, struct label *mlabel, struct ipq *q, 31837f44cb4SRobert Watson struct label *qlabel) 319ba53d9c9SRobert Watson { 320ba53d9c9SRobert Watson 321eb320b0eSRobert Watson return (1); 322ba53d9c9SRobert Watson } 323ba53d9c9SRobert Watson 324eb320b0eSRobert Watson static void 32537f44cb4SRobert Watson stub_ipq_reassemble(struct ipq *q, struct label *qlabel, struct mbuf *m, 32637f44cb4SRobert Watson struct label *mlabel) 327ba53d9c9SRobert Watson { 328ba53d9c9SRobert Watson 329ba53d9c9SRobert Watson } 330ba53d9c9SRobert Watson 331eb320b0eSRobert Watson static void 33237f44cb4SRobert Watson stub_ipq_update(struct mbuf *m, struct label *mlabel, struct ipq *q, 33337f44cb4SRobert Watson struct label *qlabel) 334ba53d9c9SRobert Watson { 335ba53d9c9SRobert Watson 336ba53d9c9SRobert Watson } 337ba53d9c9SRobert Watson 338ba53d9c9SRobert Watson static int 33930d239bcSRobert Watson stub_kenv_check_dump(struct ucred *cred) 34009de2dc2SRobert Watson { 34109de2dc2SRobert Watson 34209de2dc2SRobert Watson return (0); 34309de2dc2SRobert Watson } 34409de2dc2SRobert Watson 34509de2dc2SRobert Watson static int 34630d239bcSRobert Watson stub_kenv_check_get(struct ucred *cred, char *name) 34709de2dc2SRobert Watson { 34809de2dc2SRobert Watson 34909de2dc2SRobert Watson return (0); 35009de2dc2SRobert Watson } 35109de2dc2SRobert Watson 35209de2dc2SRobert Watson static int 35330d239bcSRobert Watson stub_kenv_check_set(struct ucred *cred, char *name, char *value) 35409de2dc2SRobert Watson { 35509de2dc2SRobert Watson 35609de2dc2SRobert Watson return (0); 35709de2dc2SRobert Watson } 35809de2dc2SRobert Watson 35909de2dc2SRobert Watson static int 36030d239bcSRobert Watson stub_kenv_check_unset(struct ucred *cred, char *name) 36109de2dc2SRobert Watson { 36209de2dc2SRobert Watson 36309de2dc2SRobert Watson return (0); 36409de2dc2SRobert Watson } 36509de2dc2SRobert Watson 36609de2dc2SRobert Watson static int 36730d239bcSRobert Watson stub_kld_check_load(struct ucred *cred, struct vnode *vp, 36878007886SRobert Watson struct label *vplabel) 36909de2dc2SRobert Watson { 37009de2dc2SRobert Watson 37109de2dc2SRobert Watson return (0); 37209de2dc2SRobert Watson } 37309de2dc2SRobert Watson 37409de2dc2SRobert Watson static int 37530d239bcSRobert Watson stub_kld_check_stat(struct ucred *cred) 37609de2dc2SRobert Watson { 37709de2dc2SRobert Watson 37809de2dc2SRobert Watson return (0); 37909de2dc2SRobert Watson } 38009de2dc2SRobert Watson 38109de2dc2SRobert Watson static int 38230d239bcSRobert Watson stub_mount_check_stat(struct ucred *cred, struct mount *mp, 38378007886SRobert Watson struct label *mplabel) 384d8a7b7a3SRobert Watson { 385d8a7b7a3SRobert Watson 386d8a7b7a3SRobert Watson return (0); 387d8a7b7a3SRobert Watson } 388d8a7b7a3SRobert Watson 389eb320b0eSRobert Watson static void 390eb320b0eSRobert Watson stub_mount_create(struct ucred *cred, struct mount *mp, 391eb320b0eSRobert Watson struct label *mplabel) 392eb320b0eSRobert Watson { 393eb320b0eSRobert Watson 394eb320b0eSRobert Watson } 395eb320b0eSRobert Watson 396eb320b0eSRobert Watson static void 397eb320b0eSRobert Watson stub_netatalk_aarp_send(struct ifnet *ifp, struct label *iflpabel, 398eb320b0eSRobert Watson struct mbuf *m, struct label *mlabel) 399eb320b0eSRobert Watson { 400eb320b0eSRobert Watson 401eb320b0eSRobert Watson } 402eb320b0eSRobert Watson 403eb320b0eSRobert Watson static void 404eb320b0eSRobert Watson stub_netinet_arp_send(struct ifnet *ifp, struct label *iflpabel, 405eb320b0eSRobert Watson struct mbuf *m, struct label *mlabel) 406eb320b0eSRobert Watson { 407eb320b0eSRobert Watson 408eb320b0eSRobert Watson } 409eb320b0eSRobert Watson 410eb320b0eSRobert Watson static void 411eb320b0eSRobert Watson stub_netinet_firewall_reply(struct mbuf *mrecv, struct label *mrecvlabel, 412eb320b0eSRobert Watson struct mbuf *msend, struct label *msendlabel) 413eb320b0eSRobert Watson { 414eb320b0eSRobert Watson 415eb320b0eSRobert Watson } 416eb320b0eSRobert Watson 417eb320b0eSRobert Watson static void 418eb320b0eSRobert Watson stub_netinet_firewall_send(struct mbuf *m, struct label *mlabel) 419eb320b0eSRobert Watson { 420eb320b0eSRobert Watson 421eb320b0eSRobert Watson } 422eb320b0eSRobert Watson 423eb320b0eSRobert Watson static void 424eb320b0eSRobert Watson stub_netinet_fragment(struct mbuf *m, struct label *mlabel, struct mbuf *frag, 425eb320b0eSRobert Watson struct label *fraglabel) 426eb320b0eSRobert Watson { 427eb320b0eSRobert Watson 428eb320b0eSRobert Watson } 429eb320b0eSRobert Watson 430eb320b0eSRobert Watson static void 431eb320b0eSRobert Watson stub_netinet_icmp_reply(struct mbuf *mrecv, struct label *mrecvlabel, 432eb320b0eSRobert Watson struct mbuf *msend, struct label *msendlabel) 433eb320b0eSRobert Watson { 434eb320b0eSRobert Watson 435eb320b0eSRobert Watson } 436eb320b0eSRobert Watson 437eb320b0eSRobert Watson static void 438eb320b0eSRobert Watson stub_netinet_icmp_replyinplace(struct mbuf *m, struct label *mlabel) 439eb320b0eSRobert Watson { 440eb320b0eSRobert Watson 441eb320b0eSRobert Watson } 442eb320b0eSRobert Watson 443eb320b0eSRobert Watson static void 444eb320b0eSRobert Watson stub_netinet_igmp_send(struct ifnet *ifp, struct label *iflpabel, 445eb320b0eSRobert Watson struct mbuf *m, struct label *mlabel) 446eb320b0eSRobert Watson { 447eb320b0eSRobert Watson 448eb320b0eSRobert Watson } 449eb320b0eSRobert Watson 450eb320b0eSRobert Watson static void 451eb320b0eSRobert Watson stub_netinet_tcp_reply(struct mbuf *m, struct label *mlabel) 452eb320b0eSRobert Watson { 453eb320b0eSRobert Watson 454eb320b0eSRobert Watson } 455eb320b0eSRobert Watson 456eb320b0eSRobert Watson static void 457eb320b0eSRobert Watson stub_netinet6_nd6_send(struct ifnet *ifp, struct label *iflpabel, 458eb320b0eSRobert Watson struct mbuf *m, struct label *mlabel) 459eb320b0eSRobert Watson { 460eb320b0eSRobert Watson 461eb320b0eSRobert Watson } 462eb320b0eSRobert Watson 463d8a7b7a3SRobert Watson static int 46430d239bcSRobert Watson stub_pipe_check_ioctl(struct ucred *cred, struct pipepair *pp, 46578007886SRobert Watson struct label *pplabel, unsigned long cmd, void /* caddr_t */ *data) 466d8a7b7a3SRobert Watson { 467d8a7b7a3SRobert Watson 468d8a7b7a3SRobert Watson return (0); 469d8a7b7a3SRobert Watson } 470d8a7b7a3SRobert Watson 471d8a7b7a3SRobert Watson static int 47230d239bcSRobert Watson stub_pipe_check_poll(struct ucred *cred, struct pipepair *pp, 47378007886SRobert Watson struct label *pplabel) 474c024c3eeSRobert Watson { 475c024c3eeSRobert Watson 476c024c3eeSRobert Watson return (0); 477c024c3eeSRobert Watson } 478c024c3eeSRobert Watson 479c024c3eeSRobert Watson static int 48030d239bcSRobert Watson stub_pipe_check_read(struct ucred *cred, struct pipepair *pp, 48178007886SRobert Watson struct label *pplabel) 482d8a7b7a3SRobert Watson { 483d8a7b7a3SRobert Watson 484d8a7b7a3SRobert Watson return (0); 485d8a7b7a3SRobert Watson } 486d8a7b7a3SRobert Watson 487d8a7b7a3SRobert Watson static int 48830d239bcSRobert Watson stub_pipe_check_relabel(struct ucred *cred, struct pipepair *pp, 48978007886SRobert Watson struct label *pplabel, struct label *newlabel) 490d8a7b7a3SRobert Watson { 491d8a7b7a3SRobert Watson 492d8a7b7a3SRobert Watson return (0); 493d8a7b7a3SRobert Watson } 494d8a7b7a3SRobert Watson 495d8a7b7a3SRobert Watson static int 49630d239bcSRobert Watson stub_pipe_check_stat(struct ucred *cred, struct pipepair *pp, 49778007886SRobert Watson struct label *pplabel) 498c024c3eeSRobert Watson { 499c024c3eeSRobert Watson 500c024c3eeSRobert Watson return (0); 501c024c3eeSRobert Watson } 502c024c3eeSRobert Watson 503c024c3eeSRobert Watson static int 50430d239bcSRobert Watson stub_pipe_check_write(struct ucred *cred, struct pipepair *pp, 50578007886SRobert Watson struct label *pplabel) 506c024c3eeSRobert Watson { 507c024c3eeSRobert Watson 508c024c3eeSRobert Watson return (0); 509c024c3eeSRobert Watson } 510c024c3eeSRobert Watson 511eb320b0eSRobert Watson static void 512eb320b0eSRobert Watson stub_pipe_create(struct ucred *cred, struct pipepair *pp, 513eb320b0eSRobert Watson struct label *pplabel) 514eb320b0eSRobert Watson { 515eb320b0eSRobert Watson 516eb320b0eSRobert Watson } 517eb320b0eSRobert Watson 518eb320b0eSRobert Watson static void 519eb320b0eSRobert Watson stub_pipe_relabel(struct ucred *cred, struct pipepair *pp, 520eb320b0eSRobert Watson struct label *pplabel, struct label *newlabel) 521eb320b0eSRobert Watson { 522eb320b0eSRobert Watson 523eb320b0eSRobert Watson } 524eb320b0eSRobert Watson 525c024c3eeSRobert Watson static int 5266bc1e9cdSJohn Baldwin stub_posixsem_check_getvalue(struct ucred *active_cred, struct ucred *file_cred, 5276bc1e9cdSJohn Baldwin struct ksem *ks, struct label *kslabel) 52852648411SRobert Watson { 52952648411SRobert Watson 53052648411SRobert Watson return (0); 53152648411SRobert Watson } 53252648411SRobert Watson 53352648411SRobert Watson static int 53430d239bcSRobert Watson stub_posixsem_check_open(struct ucred *cred, struct ksem *ks, 535fe09513eSRobert Watson struct label *kslabel) 53652648411SRobert Watson { 53752648411SRobert Watson 53852648411SRobert Watson return (0); 53952648411SRobert Watson } 54052648411SRobert Watson 54152648411SRobert Watson static int 5426bc1e9cdSJohn Baldwin stub_posixsem_check_post(struct ucred *active_cred, struct ucred *file_cred, 5436bc1e9cdSJohn Baldwin struct ksem *ks, struct label *kslabel) 5446bc1e9cdSJohn Baldwin { 5456bc1e9cdSJohn Baldwin 5466bc1e9cdSJohn Baldwin return (0); 5476bc1e9cdSJohn Baldwin } 5486bc1e9cdSJohn Baldwin 5496bc1e9cdSJohn Baldwin static int 5506bc1e9cdSJohn Baldwin stub_posixsem_check_stat(struct ucred *active_cred, struct ucred *file_cred, 5516bc1e9cdSJohn Baldwin struct ksem *ks, struct label *kslabel) 55252648411SRobert Watson { 55352648411SRobert Watson 55452648411SRobert Watson return (0); 55552648411SRobert Watson } 55652648411SRobert Watson 55752648411SRobert Watson static int 55830d239bcSRobert Watson stub_posixsem_check_unlink(struct ucred *cred, struct ksem *ks, 559fe09513eSRobert Watson struct label *kslabel) 56052648411SRobert Watson { 56152648411SRobert Watson 56252648411SRobert Watson return (0); 56352648411SRobert Watson } 56452648411SRobert Watson 56552648411SRobert Watson static int 5666bc1e9cdSJohn Baldwin stub_posixsem_check_wait(struct ucred *active_cred, struct ucred *file_cred, 5676bc1e9cdSJohn Baldwin struct ksem *ks, struct label *kslabel) 56852648411SRobert Watson { 56952648411SRobert Watson 57052648411SRobert Watson return (0); 57152648411SRobert Watson } 57252648411SRobert Watson 573eb320b0eSRobert Watson static void 574eb320b0eSRobert Watson stub_posixsem_create(struct ucred *cred, struct ksem *ks, 575eb320b0eSRobert Watson struct label *kslabel) 576eb320b0eSRobert Watson { 577eb320b0eSRobert Watson 578eb320b0eSRobert Watson } 579eb320b0eSRobert Watson 580eb320b0eSRobert Watson static int 5818e38aeffSJohn Baldwin stub_posixshm_check_mmap(struct ucred *cred, struct shmfd *shmfd, 5828e38aeffSJohn Baldwin struct label *shmlabel, int prot, int flags) 5838e38aeffSJohn Baldwin { 5848e38aeffSJohn Baldwin 5858e38aeffSJohn Baldwin return (0); 5868e38aeffSJohn Baldwin } 5878e38aeffSJohn Baldwin 5888e38aeffSJohn Baldwin static int 5898e38aeffSJohn Baldwin stub_posixshm_check_open(struct ucred *cred, struct shmfd *shmfd, 5908e38aeffSJohn Baldwin struct label *shmlabel) 5918e38aeffSJohn Baldwin { 5928e38aeffSJohn Baldwin 5938e38aeffSJohn Baldwin return (0); 5948e38aeffSJohn Baldwin } 5958e38aeffSJohn Baldwin 5968e38aeffSJohn Baldwin static int 5978e38aeffSJohn Baldwin stub_posixshm_check_stat(struct ucred *active_cred, struct ucred *file_cred, 5988e38aeffSJohn Baldwin struct shmfd *shmfd, struct label *shmlabel) 5998e38aeffSJohn Baldwin { 6008e38aeffSJohn Baldwin 6018e38aeffSJohn Baldwin return (0); 6028e38aeffSJohn Baldwin } 6038e38aeffSJohn Baldwin 6048e38aeffSJohn Baldwin static int 6058e38aeffSJohn Baldwin stub_posixshm_check_truncate(struct ucred *active_cred, 6068e38aeffSJohn Baldwin struct ucred *file_cred, struct shmfd *shmfd, struct label *shmlabel) 6078e38aeffSJohn Baldwin { 6088e38aeffSJohn Baldwin 6098e38aeffSJohn Baldwin return (0); 6108e38aeffSJohn Baldwin } 6118e38aeffSJohn Baldwin 6128e38aeffSJohn Baldwin static int 6138e38aeffSJohn Baldwin stub_posixshm_check_unlink(struct ucred *cred, struct shmfd *shmfd, 6148e38aeffSJohn Baldwin struct label *shmlabel) 6158e38aeffSJohn Baldwin { 6168e38aeffSJohn Baldwin 6178e38aeffSJohn Baldwin return (0); 6188e38aeffSJohn Baldwin } 6198e38aeffSJohn Baldwin 6208e38aeffSJohn Baldwin static void 6218e38aeffSJohn Baldwin stub_posixshm_create(struct ucred *cred, struct shmfd *shmfd, 6228e38aeffSJohn Baldwin struct label *shmlabel) 6238e38aeffSJohn Baldwin { 6248e38aeffSJohn Baldwin 6258e38aeffSJohn Baldwin } 6268e38aeffSJohn Baldwin 6278e38aeffSJohn Baldwin static int 628eb320b0eSRobert Watson stub_priv_check(struct ucred *cred, int priv) 629eb320b0eSRobert Watson { 630eb320b0eSRobert Watson 631eb320b0eSRobert Watson return (0); 632eb320b0eSRobert Watson } 633eb320b0eSRobert Watson 634eb320b0eSRobert Watson static int 635eb320b0eSRobert Watson stub_priv_grant(struct ucred *cred, int priv) 636eb320b0eSRobert Watson { 637eb320b0eSRobert Watson 638eb320b0eSRobert Watson return (EPERM); 639eb320b0eSRobert Watson } 640eb320b0eSRobert Watson 641eb320b0eSRobert Watson static void 642eb320b0eSRobert Watson stub_proc_associate_nfsd(struct ucred *cred) 643eb320b0eSRobert Watson { 644eb320b0eSRobert Watson 645eb320b0eSRobert Watson } 646eb320b0eSRobert Watson 64752648411SRobert Watson static int 64830d239bcSRobert Watson stub_proc_check_debug(struct ucred *cred, struct proc *p) 649d8a7b7a3SRobert Watson { 650d8a7b7a3SRobert Watson 651d8a7b7a3SRobert Watson return (0); 652d8a7b7a3SRobert Watson } 653d8a7b7a3SRobert Watson 654d8a7b7a3SRobert Watson static int 65530d239bcSRobert Watson stub_proc_check_sched(struct ucred *cred, struct proc *p) 656d8a7b7a3SRobert Watson { 657d8a7b7a3SRobert Watson 658d8a7b7a3SRobert Watson return (0); 659d8a7b7a3SRobert Watson } 660d8a7b7a3SRobert Watson 661d8a7b7a3SRobert Watson static int 66230d239bcSRobert Watson stub_proc_check_setaudit(struct ucred *cred, struct auditinfo *ai) 66318717f69SRobert Watson { 66418717f69SRobert Watson 66518717f69SRobert Watson return (0); 66618717f69SRobert Watson } 66718717f69SRobert Watson 66818717f69SRobert Watson static int 66930d239bcSRobert Watson stub_proc_check_setaudit_addr(struct ucred *cred, struct auditinfo_addr *aia) 670f1e8bf6dSRobert Watson { 671f1e8bf6dSRobert Watson 672f1e8bf6dSRobert Watson return (0); 673f1e8bf6dSRobert Watson } 674f1e8bf6dSRobert Watson 675f1e8bf6dSRobert Watson static int 67630d239bcSRobert Watson stub_proc_check_setauid(struct ucred *cred, uid_t auid) 67718717f69SRobert Watson { 67818717f69SRobert Watson 67918717f69SRobert Watson return (0); 68018717f69SRobert Watson } 68118717f69SRobert Watson 68218717f69SRobert Watson static int 683eb320b0eSRobert Watson stub_proc_check_setegid(struct ucred *cred, gid_t egid) 684030a28b3SRobert Watson { 685030a28b3SRobert Watson 686030a28b3SRobert Watson return (0); 687030a28b3SRobert Watson } 688030a28b3SRobert Watson 689030a28b3SRobert Watson static int 69030d239bcSRobert Watson stub_proc_check_seteuid(struct ucred *cred, uid_t euid) 691030a28b3SRobert Watson { 692030a28b3SRobert Watson 693030a28b3SRobert Watson return (0); 694030a28b3SRobert Watson } 695030a28b3SRobert Watson 696030a28b3SRobert Watson static int 69730d239bcSRobert Watson stub_proc_check_setgid(struct ucred *cred, gid_t gid) 698030a28b3SRobert Watson { 699030a28b3SRobert Watson 700030a28b3SRobert Watson return (0); 701030a28b3SRobert Watson } 702030a28b3SRobert Watson 703030a28b3SRobert Watson static int 70430d239bcSRobert Watson stub_proc_check_setgroups(struct ucred *cred, int ngroups, 705030a28b3SRobert Watson gid_t *gidset) 706030a28b3SRobert Watson { 707030a28b3SRobert Watson 708030a28b3SRobert Watson return (0); 709030a28b3SRobert Watson } 710030a28b3SRobert Watson 711030a28b3SRobert Watson static int 712eb320b0eSRobert Watson stub_proc_check_setregid(struct ucred *cred, gid_t rgid, gid_t egid) 713030a28b3SRobert Watson { 714030a28b3SRobert Watson 715030a28b3SRobert Watson return (0); 716030a28b3SRobert Watson } 717030a28b3SRobert Watson 718030a28b3SRobert Watson static int 719eb320b0eSRobert Watson stub_proc_check_setresgid(struct ucred *cred, gid_t rgid, gid_t egid, 720eb320b0eSRobert Watson gid_t sgid) 721030a28b3SRobert Watson { 722030a28b3SRobert Watson 723030a28b3SRobert Watson return (0); 724030a28b3SRobert Watson } 725030a28b3SRobert Watson 726030a28b3SRobert Watson static int 72730d239bcSRobert Watson stub_proc_check_setresuid(struct ucred *cred, uid_t ruid, uid_t euid, 728030a28b3SRobert Watson uid_t suid) 729030a28b3SRobert Watson { 730030a28b3SRobert Watson 731030a28b3SRobert Watson return (0); 732030a28b3SRobert Watson } 733030a28b3SRobert Watson 734030a28b3SRobert Watson static int 735eb320b0eSRobert Watson stub_proc_check_setreuid(struct ucred *cred, uid_t ruid, uid_t euid) 736030a28b3SRobert Watson { 737030a28b3SRobert Watson 738030a28b3SRobert Watson return (0); 739030a28b3SRobert Watson } 740030a28b3SRobert Watson 741030a28b3SRobert Watson static int 742eb320b0eSRobert Watson stub_proc_check_setuid(struct ucred *cred, uid_t uid) 743eb320b0eSRobert Watson { 744eb320b0eSRobert Watson 745eb320b0eSRobert Watson return (0); 746eb320b0eSRobert Watson } 747eb320b0eSRobert Watson 748eb320b0eSRobert Watson static int 749eb320b0eSRobert Watson stub_proc_check_signal(struct ucred *cred, struct proc *p, int signum) 750eb320b0eSRobert Watson { 751eb320b0eSRobert Watson 752eb320b0eSRobert Watson return (0); 753eb320b0eSRobert Watson } 754eb320b0eSRobert Watson 755eb320b0eSRobert Watson static int 756eb320b0eSRobert Watson stub_proc_check_wait(struct ucred *cred, struct proc *p) 757eb320b0eSRobert Watson { 758eb320b0eSRobert Watson 759eb320b0eSRobert Watson return (0); 760eb320b0eSRobert Watson } 761eb320b0eSRobert Watson 762eb320b0eSRobert Watson static void 763eb320b0eSRobert Watson stub_proc_create_init(struct ucred *cred) 764eb320b0eSRobert Watson { 765eb320b0eSRobert Watson 766eb320b0eSRobert Watson } 767eb320b0eSRobert Watson 768eb320b0eSRobert Watson static void 769eb320b0eSRobert Watson stub_proc_create_swapper(struct ucred *cred) 770eb320b0eSRobert Watson { 771eb320b0eSRobert Watson 772eb320b0eSRobert Watson } 773eb320b0eSRobert Watson 774eb320b0eSRobert Watson static int 77530d239bcSRobert Watson stub_socket_check_accept(struct ucred *cred, struct socket *so, 77678007886SRobert Watson struct label *solabel) 7777f53207bSRobert Watson { 7787f53207bSRobert Watson 7797f53207bSRobert Watson return (0); 7807f53207bSRobert Watson } 7817f53207bSRobert Watson 7827f53207bSRobert Watson static int 78330d239bcSRobert Watson stub_socket_check_bind(struct ucred *cred, struct socket *so, 78478007886SRobert Watson struct label *solabel, struct sockaddr *sa) 785d8a7b7a3SRobert Watson { 786d8a7b7a3SRobert Watson 787d8a7b7a3SRobert Watson return (0); 788d8a7b7a3SRobert Watson } 789d8a7b7a3SRobert Watson 790d8a7b7a3SRobert Watson static int 79130d239bcSRobert Watson stub_socket_check_connect(struct ucred *cred, struct socket *so, 79278007886SRobert Watson struct label *solabel, struct sockaddr *sa) 793d8a7b7a3SRobert Watson { 794d8a7b7a3SRobert Watson 795d8a7b7a3SRobert Watson return (0); 796d8a7b7a3SRobert Watson } 797d8a7b7a3SRobert Watson 798d8a7b7a3SRobert Watson static int 79930d239bcSRobert Watson stub_socket_check_create(struct ucred *cred, int domain, int type, int proto) 8006758f88eSRobert Watson { 8016758f88eSRobert Watson 8026758f88eSRobert Watson return (0); 8036758f88eSRobert Watson } 8046758f88eSRobert Watson 8056758f88eSRobert Watson static int 80630d239bcSRobert Watson stub_socket_check_deliver(struct socket *so, struct label *solabel, 80778007886SRobert Watson struct mbuf *m, struct label *mlabel) 808d8a7b7a3SRobert Watson { 809d8a7b7a3SRobert Watson 810d8a7b7a3SRobert Watson return (0); 811d8a7b7a3SRobert Watson } 812d8a7b7a3SRobert Watson 813d8a7b7a3SRobert Watson static int 81430d239bcSRobert Watson stub_socket_check_listen(struct ucred *cred, struct socket *so, 81578007886SRobert Watson struct label *solabel) 816d8a7b7a3SRobert Watson { 817d8a7b7a3SRobert Watson 818d8a7b7a3SRobert Watson return (0); 819d8a7b7a3SRobert Watson } 820d8a7b7a3SRobert Watson 821d8a7b7a3SRobert Watson static int 82230d239bcSRobert Watson stub_socket_check_poll(struct ucred *cred, struct socket *so, 82378007886SRobert Watson struct label *solabel) 8247f53207bSRobert Watson { 8257f53207bSRobert Watson 8267f53207bSRobert Watson return (0); 8277f53207bSRobert Watson } 8287f53207bSRobert Watson 8297f53207bSRobert Watson static int 83030d239bcSRobert Watson stub_socket_check_receive(struct ucred *cred, struct socket *so, 83178007886SRobert Watson struct label *solabel) 8327f53207bSRobert Watson { 8337f53207bSRobert Watson 8347f53207bSRobert Watson return (0); 8357f53207bSRobert Watson } 8367f53207bSRobert Watson 8377f53207bSRobert Watson static int 83830d239bcSRobert Watson stub_socket_check_relabel(struct ucred *cred, struct socket *so, 83978007886SRobert Watson struct label *solabel, struct label *newlabel) 840d8a7b7a3SRobert Watson { 841d8a7b7a3SRobert Watson 842d8a7b7a3SRobert Watson return (0); 843d8a7b7a3SRobert Watson } 8447f53207bSRobert Watson static int 84530d239bcSRobert Watson stub_socket_check_send(struct ucred *cred, struct socket *so, 84678007886SRobert Watson struct label *solabel) 8477f53207bSRobert Watson { 8487f53207bSRobert Watson 8497f53207bSRobert Watson return (0); 8507f53207bSRobert Watson } 8517f53207bSRobert Watson 8527f53207bSRobert Watson static int 85330d239bcSRobert Watson stub_socket_check_stat(struct ucred *cred, struct socket *so, 85478007886SRobert Watson struct label *solabel) 8557f53207bSRobert Watson { 8567f53207bSRobert Watson 8577f53207bSRobert Watson return (0); 8587f53207bSRobert Watson } 859d8a7b7a3SRobert Watson 860d8a7b7a3SRobert Watson static int 86130d239bcSRobert Watson stub_socket_check_visible(struct ucred *cred, struct socket *so, 86278007886SRobert Watson struct label *solabel) 863d8a7b7a3SRobert Watson { 864d8a7b7a3SRobert Watson 865d8a7b7a3SRobert Watson return (0); 866d8a7b7a3SRobert Watson } 867d8a7b7a3SRobert Watson 868eb320b0eSRobert Watson static void 869eb320b0eSRobert Watson stub_socket_create(struct ucred *cred, struct socket *so, 870eb320b0eSRobert Watson struct label *solabel) 871eb320b0eSRobert Watson { 872eb320b0eSRobert Watson 873eb320b0eSRobert Watson } 874eb320b0eSRobert Watson 875eb320b0eSRobert Watson static void 876eb320b0eSRobert Watson stub_socket_create_mbuf(struct socket *so, struct label *solabel, 877eb320b0eSRobert Watson struct mbuf *m, struct label *mlabel) 878eb320b0eSRobert Watson { 879eb320b0eSRobert Watson 880eb320b0eSRobert Watson } 881eb320b0eSRobert Watson 882eb320b0eSRobert Watson static void 883eb320b0eSRobert Watson stub_socket_newconn(struct socket *oldso, struct label *oldsolabel, 884eb320b0eSRobert Watson struct socket *newso, struct label *newsolabel) 885eb320b0eSRobert Watson { 886eb320b0eSRobert Watson 887eb320b0eSRobert Watson } 888eb320b0eSRobert Watson 889eb320b0eSRobert Watson static void 890eb320b0eSRobert Watson stub_socket_relabel(struct ucred *cred, struct socket *so, 891eb320b0eSRobert Watson struct label *solabel, struct label *newlabel) 892eb320b0eSRobert Watson { 893eb320b0eSRobert Watson 894eb320b0eSRobert Watson } 895eb320b0eSRobert Watson 896eb320b0eSRobert Watson static void 897eb320b0eSRobert Watson stub_socketpeer_set_from_mbuf(struct mbuf *m, struct label *mlabel, 898eb320b0eSRobert Watson struct socket *so, struct label *sopeerlabel) 899eb320b0eSRobert Watson { 900eb320b0eSRobert Watson 901eb320b0eSRobert Watson } 902eb320b0eSRobert Watson 903eb320b0eSRobert Watson static void 904eb320b0eSRobert Watson stub_socketpeer_set_from_socket(struct socket *oldso, 905eb320b0eSRobert Watson struct label *oldsolabel, struct socket *newso, 906eb320b0eSRobert Watson struct label *newsopeerlabel) 907eb320b0eSRobert Watson { 908eb320b0eSRobert Watson 909eb320b0eSRobert Watson } 910eb320b0eSRobert Watson 911eb320b0eSRobert Watson static void 912eb320b0eSRobert Watson stub_syncache_create(struct label *label, struct inpcb *inp) 913eb320b0eSRobert Watson { 914eb320b0eSRobert Watson 915eb320b0eSRobert Watson } 916eb320b0eSRobert Watson 917eb320b0eSRobert Watson static void 918eb320b0eSRobert Watson stub_syncache_create_mbuf(struct label *sc_label, struct mbuf *m, 919eb320b0eSRobert Watson struct label *mlabel) 920eb320b0eSRobert Watson { 921eb320b0eSRobert Watson 922eb320b0eSRobert Watson } 923eb320b0eSRobert Watson 924d8a7b7a3SRobert Watson static int 92530d239bcSRobert Watson stub_system_check_acct(struct ucred *cred, struct vnode *vp, 92678007886SRobert Watson struct label *vplabel) 92709de2dc2SRobert Watson { 92809de2dc2SRobert Watson 92909de2dc2SRobert Watson return (0); 93009de2dc2SRobert Watson } 93109de2dc2SRobert Watson 93209de2dc2SRobert Watson static int 93330d239bcSRobert Watson stub_system_check_audit(struct ucred *cred, void *record, int length) 93418717f69SRobert Watson { 93518717f69SRobert Watson 93618717f69SRobert Watson return (0); 93718717f69SRobert Watson } 93818717f69SRobert Watson 93918717f69SRobert Watson static int 94030d239bcSRobert Watson stub_system_check_auditctl(struct ucred *cred, struct vnode *vp, 94178007886SRobert Watson struct label *vplabel) 94218717f69SRobert Watson { 94318717f69SRobert Watson 94418717f69SRobert Watson return (0); 94518717f69SRobert Watson } 94618717f69SRobert Watson 94718717f69SRobert Watson static int 94830d239bcSRobert Watson stub_system_check_auditon(struct ucred *cred, int cmd) 94918717f69SRobert Watson { 95018717f69SRobert Watson 95118717f69SRobert Watson return (0); 95218717f69SRobert Watson } 95318717f69SRobert Watson 95418717f69SRobert Watson static int 95530d239bcSRobert Watson stub_system_check_reboot(struct ucred *cred, int how) 956927f6069SRobert Watson { 957927f6069SRobert Watson 958927f6069SRobert Watson return (0); 959927f6069SRobert Watson } 960927f6069SRobert Watson 961927f6069SRobert Watson static int 96230d239bcSRobert Watson stub_system_check_swapoff(struct ucred *cred, struct vnode *vp, 96378007886SRobert Watson struct label *vplabel) 964927f6069SRobert Watson { 965927f6069SRobert Watson 966927f6069SRobert Watson return (0); 967927f6069SRobert Watson } 968927f6069SRobert Watson 969927f6069SRobert Watson static int 97030d239bcSRobert Watson stub_system_check_swapon(struct ucred *cred, struct vnode *vp, 97178007886SRobert Watson struct label *vplabel) 97209de2dc2SRobert Watson { 97309de2dc2SRobert Watson 97409de2dc2SRobert Watson return (0); 97509de2dc2SRobert Watson } 97609de2dc2SRobert Watson 97709de2dc2SRobert Watson static int 97830d239bcSRobert Watson stub_system_check_sysctl(struct ucred *cred, struct sysctl_oid *oidp, 97963dba32bSPawel Jakub Dawidek void *arg1, int arg2, struct sysctl_req *req) 980927f6069SRobert Watson { 981927f6069SRobert Watson 982927f6069SRobert Watson return (0); 983927f6069SRobert Watson } 984927f6069SRobert Watson 985927f6069SRobert Watson static int 98630d239bcSRobert Watson stub_vnode_check_access(struct ucred *cred, struct vnode *vp, 98778007886SRobert Watson struct label *vplabel, int acc_mode) 988d8a7b7a3SRobert Watson { 989d8a7b7a3SRobert Watson 990d8a7b7a3SRobert Watson return (0); 991d8a7b7a3SRobert Watson } 992d8a7b7a3SRobert Watson 993d8a7b7a3SRobert Watson static int 99430d239bcSRobert Watson stub_vnode_check_chdir(struct ucred *cred, struct vnode *dvp, 99578007886SRobert Watson struct label *dvplabel) 996d8a7b7a3SRobert Watson { 997d8a7b7a3SRobert Watson 998d8a7b7a3SRobert Watson return (0); 999d8a7b7a3SRobert Watson } 1000d8a7b7a3SRobert Watson 1001d8a7b7a3SRobert Watson static int 100230d239bcSRobert Watson stub_vnode_check_chroot(struct ucred *cred, struct vnode *dvp, 100378007886SRobert Watson struct label *dvplabel) 1004d8a7b7a3SRobert Watson { 1005d8a7b7a3SRobert Watson 1006d8a7b7a3SRobert Watson return (0); 1007d8a7b7a3SRobert Watson } 1008d8a7b7a3SRobert Watson 1009d8a7b7a3SRobert Watson static int 101030d239bcSRobert Watson stub_vnode_check_create(struct ucred *cred, struct vnode *dvp, 101178007886SRobert Watson struct label *dvplabel, struct componentname *cnp, struct vattr *vap) 1012d8a7b7a3SRobert Watson { 1013d8a7b7a3SRobert Watson 1014d8a7b7a3SRobert Watson return (0); 1015d8a7b7a3SRobert Watson } 1016d8a7b7a3SRobert Watson 1017eb320b0eSRobert Watson static void 1018eb320b0eSRobert Watson stub_sysvmsg_cleanup(struct label *msglabel) 1019eb320b0eSRobert Watson { 1020eb320b0eSRobert Watson 1021eb320b0eSRobert Watson } 1022eb320b0eSRobert Watson 1023eb320b0eSRobert Watson static void 1024eb320b0eSRobert Watson stub_sysvmsg_create(struct ucred *cred, struct msqid_kernel *msqkptr, 1025eb320b0eSRobert Watson struct label *msqlabel, struct msg *msgptr, struct label *msglabel) 1026eb320b0eSRobert Watson { 1027eb320b0eSRobert Watson 1028eb320b0eSRobert Watson } 1029eb320b0eSRobert Watson 1030eb320b0eSRobert Watson static int 1031eb320b0eSRobert Watson stub_sysvmsq_check_msgmsq(struct ucred *cred, struct msg *msgptr, 1032eb320b0eSRobert Watson struct label *msglabel, struct msqid_kernel *msqkptr, 1033eb320b0eSRobert Watson struct label *msqklabel) 1034eb320b0eSRobert Watson { 1035eb320b0eSRobert Watson 1036eb320b0eSRobert Watson return (0); 1037eb320b0eSRobert Watson } 1038eb320b0eSRobert Watson 1039eb320b0eSRobert Watson static int 1040eb320b0eSRobert Watson stub_sysvmsq_check_msgrcv(struct ucred *cred, struct msg *msgptr, 1041eb320b0eSRobert Watson struct label *msglabel) 1042eb320b0eSRobert Watson { 1043eb320b0eSRobert Watson 1044eb320b0eSRobert Watson return (0); 1045eb320b0eSRobert Watson } 1046eb320b0eSRobert Watson 1047eb320b0eSRobert Watson 1048eb320b0eSRobert Watson static int 1049eb320b0eSRobert Watson stub_sysvmsq_check_msgrmid(struct ucred *cred, struct msg *msgptr, 1050eb320b0eSRobert Watson struct label *msglabel) 1051eb320b0eSRobert Watson { 1052eb320b0eSRobert Watson 1053eb320b0eSRobert Watson return (0); 1054eb320b0eSRobert Watson } 1055eb320b0eSRobert Watson 1056eb320b0eSRobert Watson 1057eb320b0eSRobert Watson static int 1058eb320b0eSRobert Watson stub_sysvmsq_check_msqget(struct ucred *cred, struct msqid_kernel *msqkptr, 1059eb320b0eSRobert Watson struct label *msqklabel) 1060eb320b0eSRobert Watson { 1061eb320b0eSRobert Watson 1062eb320b0eSRobert Watson return (0); 1063eb320b0eSRobert Watson } 1064eb320b0eSRobert Watson 1065eb320b0eSRobert Watson 1066eb320b0eSRobert Watson static int 1067eb320b0eSRobert Watson stub_sysvmsq_check_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr, 1068eb320b0eSRobert Watson struct label *msqklabel) 1069eb320b0eSRobert Watson { 1070eb320b0eSRobert Watson 1071eb320b0eSRobert Watson return (0); 1072eb320b0eSRobert Watson } 1073eb320b0eSRobert Watson 1074eb320b0eSRobert Watson static int 1075eb320b0eSRobert Watson stub_sysvmsq_check_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr, 1076eb320b0eSRobert Watson struct label *msqklabel) 1077eb320b0eSRobert Watson { 1078eb320b0eSRobert Watson 1079eb320b0eSRobert Watson return (0); 1080eb320b0eSRobert Watson } 1081eb320b0eSRobert Watson 1082eb320b0eSRobert Watson 1083eb320b0eSRobert Watson static int 1084eb320b0eSRobert Watson stub_sysvmsq_check_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr, 1085eb320b0eSRobert Watson struct label *msqklabel, int cmd) 1086eb320b0eSRobert Watson { 1087eb320b0eSRobert Watson 1088eb320b0eSRobert Watson return (0); 1089eb320b0eSRobert Watson } 1090eb320b0eSRobert Watson 1091eb320b0eSRobert Watson 1092eb320b0eSRobert Watson static void 1093eb320b0eSRobert Watson stub_sysvmsq_cleanup(struct label *msqlabel) 1094eb320b0eSRobert Watson { 1095eb320b0eSRobert Watson 1096eb320b0eSRobert Watson } 1097eb320b0eSRobert Watson 1098eb320b0eSRobert Watson static void 1099eb320b0eSRobert Watson stub_sysvmsq_create(struct ucred *cred, struct msqid_kernel *msqkptr, 1100eb320b0eSRobert Watson struct label *msqlabel) 1101eb320b0eSRobert Watson { 1102eb320b0eSRobert Watson 1103eb320b0eSRobert Watson } 1104eb320b0eSRobert Watson 1105eb320b0eSRobert Watson static int 1106eb320b0eSRobert Watson stub_sysvsem_check_semctl(struct ucred *cred, struct semid_kernel *semakptr, 1107eb320b0eSRobert Watson struct label *semaklabel, int cmd) 1108eb320b0eSRobert Watson { 1109eb320b0eSRobert Watson 1110eb320b0eSRobert Watson return (0); 1111eb320b0eSRobert Watson } 1112eb320b0eSRobert Watson 1113eb320b0eSRobert Watson static int 1114eb320b0eSRobert Watson stub_sysvsem_check_semget(struct ucred *cred, struct semid_kernel *semakptr, 1115eb320b0eSRobert Watson struct label *semaklabel) 1116eb320b0eSRobert Watson { 1117eb320b0eSRobert Watson 1118eb320b0eSRobert Watson return (0); 1119eb320b0eSRobert Watson } 1120eb320b0eSRobert Watson 1121eb320b0eSRobert Watson 1122eb320b0eSRobert Watson static int 1123eb320b0eSRobert Watson stub_sysvsem_check_semop(struct ucred *cred, struct semid_kernel *semakptr, 1124eb320b0eSRobert Watson struct label *semaklabel, size_t accesstype) 1125eb320b0eSRobert Watson { 1126eb320b0eSRobert Watson 1127eb320b0eSRobert Watson return (0); 1128eb320b0eSRobert Watson } 1129eb320b0eSRobert Watson 1130eb320b0eSRobert Watson static void 1131eb320b0eSRobert Watson stub_sysvsem_cleanup(struct label *semalabel) 1132eb320b0eSRobert Watson { 1133eb320b0eSRobert Watson 1134eb320b0eSRobert Watson } 1135eb320b0eSRobert Watson 1136eb320b0eSRobert Watson static void 1137eb320b0eSRobert Watson stub_sysvsem_create(struct ucred *cred, struct semid_kernel *semakptr, 1138eb320b0eSRobert Watson struct label *semalabel) 1139eb320b0eSRobert Watson { 1140eb320b0eSRobert Watson 1141eb320b0eSRobert Watson } 1142eb320b0eSRobert Watson 1143eb320b0eSRobert Watson static int 1144eb320b0eSRobert Watson stub_sysvshm_check_shmat(struct ucred *cred, struct shmid_kernel *shmsegptr, 1145eb320b0eSRobert Watson struct label *shmseglabel, int shmflg) 1146eb320b0eSRobert Watson { 1147eb320b0eSRobert Watson 1148eb320b0eSRobert Watson return (0); 1149eb320b0eSRobert Watson } 1150eb320b0eSRobert Watson 1151eb320b0eSRobert Watson static int 1152eb320b0eSRobert Watson stub_sysvshm_check_shmctl(struct ucred *cred, struct shmid_kernel *shmsegptr, 1153eb320b0eSRobert Watson struct label *shmseglabel, int cmd) 1154eb320b0eSRobert Watson { 1155eb320b0eSRobert Watson 1156eb320b0eSRobert Watson return (0); 1157eb320b0eSRobert Watson } 1158eb320b0eSRobert Watson 1159eb320b0eSRobert Watson static int 1160eb320b0eSRobert Watson stub_sysvshm_check_shmdt(struct ucred *cred, struct shmid_kernel *shmsegptr, 1161eb320b0eSRobert Watson struct label *shmseglabel) 1162eb320b0eSRobert Watson { 1163eb320b0eSRobert Watson 1164eb320b0eSRobert Watson return (0); 1165eb320b0eSRobert Watson } 1166eb320b0eSRobert Watson 1167eb320b0eSRobert Watson 1168eb320b0eSRobert Watson static int 1169eb320b0eSRobert Watson stub_sysvshm_check_shmget(struct ucred *cred, struct shmid_kernel *shmsegptr, 1170eb320b0eSRobert Watson struct label *shmseglabel, int shmflg) 1171eb320b0eSRobert Watson { 1172eb320b0eSRobert Watson 1173eb320b0eSRobert Watson return (0); 1174eb320b0eSRobert Watson } 1175eb320b0eSRobert Watson 1176eb320b0eSRobert Watson static void 1177eb320b0eSRobert Watson stub_sysvshm_cleanup(struct label *shmlabel) 1178eb320b0eSRobert Watson { 1179eb320b0eSRobert Watson 1180eb320b0eSRobert Watson } 1181eb320b0eSRobert Watson 1182eb320b0eSRobert Watson static void 1183eb320b0eSRobert Watson stub_sysvshm_create(struct ucred *cred, struct shmid_kernel *shmsegptr, 1184eb320b0eSRobert Watson struct label *shmalabel) 1185eb320b0eSRobert Watson { 1186eb320b0eSRobert Watson 1187eb320b0eSRobert Watson } 1188eb320b0eSRobert Watson 1189eb320b0eSRobert Watson static void 1190eb320b0eSRobert Watson stub_thread_userret(struct thread *td) 1191eb320b0eSRobert Watson { 1192eb320b0eSRobert Watson 1193eb320b0eSRobert Watson } 1194eb320b0eSRobert Watson 1195eb320b0eSRobert Watson static int 1196eb320b0eSRobert Watson stub_vnode_associate_extattr(struct mount *mp, struct label *mplabel, 1197eb320b0eSRobert Watson struct vnode *vp, struct label *vplabel) 1198eb320b0eSRobert Watson { 1199eb320b0eSRobert Watson 1200eb320b0eSRobert Watson return (0); 1201eb320b0eSRobert Watson } 1202eb320b0eSRobert Watson 1203eb320b0eSRobert Watson static void 1204eb320b0eSRobert Watson stub_vnode_associate_singlelabel(struct mount *mp, struct label *mplabel, 1205eb320b0eSRobert Watson struct vnode *vp, struct label *vplabel) 1206eb320b0eSRobert Watson { 1207eb320b0eSRobert Watson 1208eb320b0eSRobert Watson } 1209eb320b0eSRobert Watson 1210d8a7b7a3SRobert Watson static int 121130d239bcSRobert Watson stub_vnode_check_deleteacl(struct ucred *cred, struct vnode *vp, 121278007886SRobert Watson struct label *vplabel, acl_type_t type) 1213d8a7b7a3SRobert Watson { 1214d8a7b7a3SRobert Watson 1215d8a7b7a3SRobert Watson return (0); 1216d8a7b7a3SRobert Watson } 1217d8a7b7a3SRobert Watson 1218d8a7b7a3SRobert Watson static int 121930d239bcSRobert Watson stub_vnode_check_deleteextattr(struct ucred *cred, struct vnode *vp, 122078007886SRobert Watson struct label *vplabel, int attrnamespace, const char *name) 122164f00af8SRobert Watson { 122264f00af8SRobert Watson 122364f00af8SRobert Watson return (0); 122464f00af8SRobert Watson } 122564f00af8SRobert Watson 122664f00af8SRobert Watson static int 122730d239bcSRobert Watson stub_vnode_check_exec(struct ucred *cred, struct vnode *vp, 122878007886SRobert Watson struct label *vplabel, struct image_params *imgp, 1229ef5def59SRobert Watson struct label *execlabel) 1230d8a7b7a3SRobert Watson { 1231d8a7b7a3SRobert Watson 1232d8a7b7a3SRobert Watson return (0); 1233d8a7b7a3SRobert Watson } 1234d8a7b7a3SRobert Watson 1235d8a7b7a3SRobert Watson static int 123630d239bcSRobert Watson stub_vnode_check_getacl(struct ucred *cred, struct vnode *vp, 123778007886SRobert Watson struct label *vplabel, acl_type_t type) 1238d8a7b7a3SRobert Watson { 1239d8a7b7a3SRobert Watson 1240d8a7b7a3SRobert Watson return (0); 1241d8a7b7a3SRobert Watson } 1242d8a7b7a3SRobert Watson 1243d8a7b7a3SRobert Watson static int 124430d239bcSRobert Watson stub_vnode_check_getextattr(struct ucred *cred, struct vnode *vp, 124578007886SRobert Watson struct label *vplabel, int attrnamespace, const char *name, 124678007886SRobert Watson struct uio *uio) 1247d8a7b7a3SRobert Watson { 1248d8a7b7a3SRobert Watson 1249d8a7b7a3SRobert Watson return (0); 1250d8a7b7a3SRobert Watson } 1251d8a7b7a3SRobert Watson 1252d8a7b7a3SRobert Watson static int 125330d239bcSRobert Watson stub_vnode_check_link(struct ucred *cred, struct vnode *dvp, 125478007886SRobert Watson struct label *dvplabel, struct vnode *vp, struct label *vplabel, 1255c27b50f5SRobert Watson struct componentname *cnp) 1256c27b50f5SRobert Watson { 1257c27b50f5SRobert Watson 1258c27b50f5SRobert Watson return (0); 1259c27b50f5SRobert Watson } 1260c27b50f5SRobert Watson 1261c27b50f5SRobert Watson static int 126230d239bcSRobert Watson stub_vnode_check_listextattr(struct ucred *cred, struct vnode *vp, 126378007886SRobert Watson struct label *vplabel, int attrnamespace) 126464f00af8SRobert Watson { 126564f00af8SRobert Watson 126664f00af8SRobert Watson return (0); 126764f00af8SRobert Watson } 126864f00af8SRobert Watson 126964f00af8SRobert Watson static int 127030d239bcSRobert Watson stub_vnode_check_lookup(struct ucred *cred, struct vnode *dvp, 127178007886SRobert Watson struct label *dvplabel, struct componentname *cnp) 1272d8a7b7a3SRobert Watson { 1273d8a7b7a3SRobert Watson 1274d8a7b7a3SRobert Watson return (0); 1275d8a7b7a3SRobert Watson } 1276d8a7b7a3SRobert Watson 1277d8a7b7a3SRobert Watson static int 127830d239bcSRobert Watson stub_vnode_check_mmap(struct ucred *cred, struct vnode *vp, 127978007886SRobert Watson struct label *vplabel, int prot, int flags) 1280e183f80eSRobert Watson { 1281e183f80eSRobert Watson 1282e183f80eSRobert Watson return (0); 1283e183f80eSRobert Watson } 1284e183f80eSRobert Watson 128517870c06SChristian S.J. Peron static void 128630d239bcSRobert Watson stub_vnode_check_mmap_downgrade(struct ucred *cred, struct vnode *vp, 128778007886SRobert Watson struct label *vplabel, int *prot) 128817870c06SChristian S.J. Peron { 128917870c06SChristian S.J. Peron 129017870c06SChristian S.J. Peron } 129117870c06SChristian S.J. Peron 129217870c06SChristian S.J. Peron static int 129330d239bcSRobert Watson stub_vnode_check_mprotect(struct ucred *cred, struct vnode *vp, 129478007886SRobert Watson struct label *vplabel, int prot) 129517870c06SChristian S.J. Peron { 129617870c06SChristian S.J. Peron 129717870c06SChristian S.J. Peron return (0); 129817870c06SChristian S.J. Peron } 129917870c06SChristian S.J. Peron 1300e183f80eSRobert Watson static int 130130d239bcSRobert Watson stub_vnode_check_open(struct ucred *cred, struct vnode *vp, 130278007886SRobert Watson struct label *vplabel, int acc_mode) 1303d8a7b7a3SRobert Watson { 1304d8a7b7a3SRobert Watson 1305d8a7b7a3SRobert Watson return (0); 1306d8a7b7a3SRobert Watson } 1307d8a7b7a3SRobert Watson 1308d8a7b7a3SRobert Watson static int 130930d239bcSRobert Watson stub_vnode_check_poll(struct ucred *active_cred, struct ucred *file_cred, 131078007886SRobert Watson struct vnode *vp, struct label *vplabel) 13117f724f8bSRobert Watson { 13127f724f8bSRobert Watson 13137f724f8bSRobert Watson return (0); 13147f724f8bSRobert Watson } 13157f724f8bSRobert Watson 13167f724f8bSRobert Watson static int 131730d239bcSRobert Watson stub_vnode_check_read(struct ucred *active_cred, struct ucred *file_cred, 131878007886SRobert Watson struct vnode *vp, struct label *vplabel) 13197f724f8bSRobert Watson { 13207f724f8bSRobert Watson 13217f724f8bSRobert Watson return (0); 13227f724f8bSRobert Watson } 13237f724f8bSRobert Watson 13247f724f8bSRobert Watson static int 132530d239bcSRobert Watson stub_vnode_check_readdir(struct ucred *cred, struct vnode *vp, 132678007886SRobert Watson struct label *dvplabel) 1327d8a7b7a3SRobert Watson { 1328d8a7b7a3SRobert Watson 1329d8a7b7a3SRobert Watson return (0); 1330d8a7b7a3SRobert Watson } 1331d8a7b7a3SRobert Watson 1332d8a7b7a3SRobert Watson static int 133330d239bcSRobert Watson stub_vnode_check_readlink(struct ucred *cred, struct vnode *vp, 133478007886SRobert Watson struct label *vplabel) 1335d8a7b7a3SRobert Watson { 1336d8a7b7a3SRobert Watson 1337d8a7b7a3SRobert Watson return (0); 1338d8a7b7a3SRobert Watson } 1339d8a7b7a3SRobert Watson 1340d8a7b7a3SRobert Watson static int 134130d239bcSRobert Watson stub_vnode_check_relabel(struct ucred *cred, struct vnode *vp, 134278007886SRobert Watson struct label *vplabel, struct label *newlabel) 1343d8a7b7a3SRobert Watson { 1344d8a7b7a3SRobert Watson 1345d8a7b7a3SRobert Watson return (0); 1346d8a7b7a3SRobert Watson } 1347d8a7b7a3SRobert Watson 1348d8a7b7a3SRobert Watson static int 134930d239bcSRobert Watson stub_vnode_check_rename_from(struct ucred *cred, struct vnode *dvp, 135078007886SRobert Watson struct label *dvplabel, struct vnode *vp, struct label *vplabel, 1351d8a7b7a3SRobert Watson struct componentname *cnp) 1352d8a7b7a3SRobert Watson { 1353d8a7b7a3SRobert Watson 1354d8a7b7a3SRobert Watson return (0); 1355d8a7b7a3SRobert Watson } 1356d8a7b7a3SRobert Watson 1357d8a7b7a3SRobert Watson static int 135830d239bcSRobert Watson stub_vnode_check_rename_to(struct ucred *cred, struct vnode *dvp, 135978007886SRobert Watson struct label *dvplabel, struct vnode *vp, struct label *vplabel, 136078007886SRobert Watson int samedir, struct componentname *cnp) 1361d8a7b7a3SRobert Watson { 1362d8a7b7a3SRobert Watson 1363d8a7b7a3SRobert Watson return (0); 1364d8a7b7a3SRobert Watson } 1365d8a7b7a3SRobert Watson 1366d8a7b7a3SRobert Watson static int 136730d239bcSRobert Watson stub_vnode_check_revoke(struct ucred *cred, struct vnode *vp, 136878007886SRobert Watson struct label *vplabel) 1369d8a7b7a3SRobert Watson { 1370d8a7b7a3SRobert Watson 1371d8a7b7a3SRobert Watson return (0); 1372d8a7b7a3SRobert Watson } 1373d8a7b7a3SRobert Watson 1374d8a7b7a3SRobert Watson static int 137530d239bcSRobert Watson stub_vnode_check_setacl(struct ucred *cred, struct vnode *vp, 137678007886SRobert Watson struct label *vplabel, acl_type_t type, struct acl *acl) 1377d8a7b7a3SRobert Watson { 1378d8a7b7a3SRobert Watson 1379d8a7b7a3SRobert Watson return (0); 1380d8a7b7a3SRobert Watson } 1381d8a7b7a3SRobert Watson 1382d8a7b7a3SRobert Watson static int 138330d239bcSRobert Watson stub_vnode_check_setextattr(struct ucred *cred, struct vnode *vp, 138478007886SRobert Watson struct label *vplabel, int attrnamespace, const char *name, 138578007886SRobert Watson struct uio *uio) 1386d8a7b7a3SRobert Watson { 1387d8a7b7a3SRobert Watson 1388d8a7b7a3SRobert Watson return (0); 1389d8a7b7a3SRobert Watson } 1390d8a7b7a3SRobert Watson 1391d8a7b7a3SRobert Watson static int 139230d239bcSRobert Watson stub_vnode_check_setflags(struct ucred *cred, struct vnode *vp, 139378007886SRobert Watson struct label *vplabel, u_long flags) 1394d8a7b7a3SRobert Watson { 1395d8a7b7a3SRobert Watson 1396d8a7b7a3SRobert Watson return (0); 1397d8a7b7a3SRobert Watson } 1398d8a7b7a3SRobert Watson 1399d8a7b7a3SRobert Watson static int 140030d239bcSRobert Watson stub_vnode_check_setmode(struct ucred *cred, struct vnode *vp, 140178007886SRobert Watson struct label *vplabel, mode_t mode) 1402d8a7b7a3SRobert Watson { 1403d8a7b7a3SRobert Watson 1404d8a7b7a3SRobert Watson return (0); 1405d8a7b7a3SRobert Watson } 1406d8a7b7a3SRobert Watson 1407d8a7b7a3SRobert Watson static int 140830d239bcSRobert Watson stub_vnode_check_setowner(struct ucred *cred, struct vnode *vp, 140978007886SRobert Watson struct label *vplabel, uid_t uid, gid_t gid) 1410d8a7b7a3SRobert Watson { 1411d8a7b7a3SRobert Watson 1412d8a7b7a3SRobert Watson return (0); 1413d8a7b7a3SRobert Watson } 1414d8a7b7a3SRobert Watson 1415d8a7b7a3SRobert Watson static int 141630d239bcSRobert Watson stub_vnode_check_setutimes(struct ucred *cred, struct vnode *vp, 141778007886SRobert Watson struct label *vplabel, struct timespec atime, struct timespec mtime) 1418d8a7b7a3SRobert Watson { 1419d8a7b7a3SRobert Watson 1420d8a7b7a3SRobert Watson return (0); 1421d8a7b7a3SRobert Watson } 1422d8a7b7a3SRobert Watson 1423d8a7b7a3SRobert Watson static int 142430d239bcSRobert Watson stub_vnode_check_stat(struct ucred *active_cred, struct ucred *file_cred, 142578007886SRobert Watson struct vnode *vp, struct label *vplabel) 1426d8a7b7a3SRobert Watson { 1427d8a7b7a3SRobert Watson 1428d8a7b7a3SRobert Watson return (0); 1429d8a7b7a3SRobert Watson } 1430d8a7b7a3SRobert Watson 14317f724f8bSRobert Watson static int 143230d239bcSRobert Watson stub_vnode_check_unlink(struct ucred *cred, struct vnode *dvp, 143345e0f3d6SRobert Watson struct label *dvplabel, struct vnode *vp, struct label *vplabel, 143445e0f3d6SRobert Watson struct componentname *cnp) 143545e0f3d6SRobert Watson { 143645e0f3d6SRobert Watson 143745e0f3d6SRobert Watson return (0); 143845e0f3d6SRobert Watson } 143945e0f3d6SRobert Watson 144045e0f3d6SRobert Watson static int 144130d239bcSRobert Watson stub_vnode_check_write(struct ucred *active_cred, struct ucred *file_cred, 144278007886SRobert Watson struct vnode *vp, struct label *vplabel) 14437f724f8bSRobert Watson { 14447f724f8bSRobert Watson 14457f724f8bSRobert Watson return (0); 14467f724f8bSRobert Watson } 14477f724f8bSRobert Watson 1448403b781eSRobert Watson static int 1449eb320b0eSRobert Watson stub_vnode_create_extattr(struct ucred *cred, struct mount *mp, 1450eb320b0eSRobert Watson struct label *mntlabel, struct vnode *dvp, struct label *dvplabel, 1451eb320b0eSRobert Watson struct vnode *vp, struct label *vplabel, struct componentname *cnp) 1452403b781eSRobert Watson { 1453403b781eSRobert Watson 1454403b781eSRobert Watson return (0); 1455403b781eSRobert Watson } 1456403b781eSRobert Watson 1457eb320b0eSRobert Watson static void 1458eb320b0eSRobert Watson stub_vnode_execve_transition(struct ucred *old, struct ucred *new, 1459eb320b0eSRobert Watson struct vnode *vp, struct label *vplabel, struct label *interpvplabel, 1460eb320b0eSRobert Watson struct image_params *imgp, struct label *execlabel) 1461403b781eSRobert Watson { 1462403b781eSRobert Watson 1463403b781eSRobert Watson } 1464403b781eSRobert Watson 1465eb320b0eSRobert Watson static int 1466eb320b0eSRobert Watson stub_vnode_execve_will_transition(struct ucred *old, struct vnode *vp, 1467eb320b0eSRobert Watson struct label *vplabel, struct label *interpvplabel, 1468eb320b0eSRobert Watson struct image_params *imgp, struct label *execlabel) 1469eb320b0eSRobert Watson { 1470eb320b0eSRobert Watson 1471eb320b0eSRobert Watson return (0); 1472eb320b0eSRobert Watson } 1473eb320b0eSRobert Watson 1474eb320b0eSRobert Watson static void 1475eb320b0eSRobert Watson stub_vnode_relabel(struct ucred *cred, struct vnode *vp, 1476eb320b0eSRobert Watson struct label *vplabel, struct label *label) 1477eb320b0eSRobert Watson { 1478eb320b0eSRobert Watson 1479eb320b0eSRobert Watson } 1480eb320b0eSRobert Watson 1481eb320b0eSRobert Watson static int 1482eb320b0eSRobert Watson stub_vnode_setlabel_extattr(struct ucred *cred, struct vnode *vp, 1483eb320b0eSRobert Watson struct label *vplabel, struct label *intlabel) 1484eb320b0eSRobert Watson { 1485eb320b0eSRobert Watson 1486eb320b0eSRobert Watson return (0); 1487eb320b0eSRobert Watson } 1488eb320b0eSRobert Watson 1489eb320b0eSRobert Watson /* 1490eb320b0eSRobert Watson * Register functions with MAC Framework policy entry points. 1491eb320b0eSRobert Watson */ 14923f1a7a90SRobert Watson static struct mac_policy_ops stub_ops = 1493d8a7b7a3SRobert Watson { 14941c3f91cdSRobert Watson .mpo_destroy = stub_destroy, 14951c3f91cdSRobert Watson .mpo_init = stub_init, 14961c3f91cdSRobert Watson .mpo_syscall = stub_syscall, 1497eb320b0eSRobert Watson 1498eb320b0eSRobert Watson .mpo_bpfdesc_check_receive = stub_bpfdesc_check_receive, 1499eb320b0eSRobert Watson .mpo_bpfdesc_create = stub_bpfdesc_create, 1500eb320b0eSRobert Watson .mpo_bpfdesc_create_mbuf = stub_bpfdesc_create_mbuf, 150130d239bcSRobert Watson .mpo_bpfdesc_destroy_label = stub_destroy_label, 1502eb320b0eSRobert Watson .mpo_bpfdesc_init_label = stub_init_label, 1503eb320b0eSRobert Watson 1504eb320b0eSRobert Watson .mpo_cred_check_relabel = stub_cred_check_relabel, 1505eb320b0eSRobert Watson .mpo_cred_check_visible = stub_cred_check_visible, 150630d239bcSRobert Watson .mpo_cred_copy_label = stub_copy_label, 1507eb320b0eSRobert Watson .mpo_cred_destroy_label = stub_destroy_label, 150830d239bcSRobert Watson .mpo_cred_externalize_label = stub_externalize_label, 1509eb320b0eSRobert Watson .mpo_cred_init_label = stub_init_label, 151030d239bcSRobert Watson .mpo_cred_internalize_label = stub_internalize_label, 1511eb320b0eSRobert Watson .mpo_cred_relabel= stub_cred_relabel, 1512eb320b0eSRobert Watson 151330d239bcSRobert Watson .mpo_devfs_create_device = stub_devfs_create_device, 151430d239bcSRobert Watson .mpo_devfs_create_directory = stub_devfs_create_directory, 151530d239bcSRobert Watson .mpo_devfs_create_symlink = stub_devfs_create_symlink, 1516eb320b0eSRobert Watson .mpo_devfs_destroy_label = stub_destroy_label, 1517eb320b0eSRobert Watson .mpo_devfs_init_label = stub_init_label, 151830d239bcSRobert Watson .mpo_devfs_update = stub_devfs_update, 1519eb320b0eSRobert Watson .mpo_devfs_vnode_associate = stub_devfs_vnode_associate, 1520eb320b0eSRobert Watson 152130d239bcSRobert Watson .mpo_ifnet_check_relabel = stub_ifnet_check_relabel, 152230d239bcSRobert Watson .mpo_ifnet_check_transmit = stub_ifnet_check_transmit, 1523eb320b0eSRobert Watson .mpo_ifnet_copy_label = stub_copy_label, 1524eb320b0eSRobert Watson .mpo_ifnet_create = stub_ifnet_create, 1525eb320b0eSRobert Watson .mpo_ifnet_create_mbuf = stub_ifnet_create_mbuf, 1526eb320b0eSRobert Watson .mpo_ifnet_destroy_label = stub_destroy_label, 1527eb320b0eSRobert Watson .mpo_ifnet_externalize_label = stub_externalize_label, 1528eb320b0eSRobert Watson .mpo_ifnet_init_label = stub_init_label, 1529eb320b0eSRobert Watson .mpo_ifnet_internalize_label = stub_internalize_label, 1530eb320b0eSRobert Watson .mpo_ifnet_relabel = stub_ifnet_relabel, 1531eb320b0eSRobert Watson 153230d239bcSRobert Watson .mpo_inpcb_check_deliver = stub_inpcb_check_deliver, 1533eb320b0eSRobert Watson .mpo_inpcb_create = stub_inpcb_create, 1534eb320b0eSRobert Watson .mpo_inpcb_create_mbuf = stub_inpcb_create_mbuf, 1535eb320b0eSRobert Watson .mpo_inpcb_destroy_label = stub_destroy_label, 1536eb320b0eSRobert Watson .mpo_inpcb_init_label = stub_init_label_waitcheck, 1537eb320b0eSRobert Watson .mpo_inpcb_sosetlabel = stub_inpcb_sosetlabel, 1538eb320b0eSRobert Watson 1539eb320b0eSRobert Watson .mpo_ipq_create = stub_ipq_create, 1540eb320b0eSRobert Watson .mpo_ipq_destroy_label = stub_destroy_label, 1541eb320b0eSRobert Watson .mpo_ipq_init_label = stub_init_label_waitcheck, 1542eb320b0eSRobert Watson .mpo_ipq_match = stub_ipq_match, 1543eb320b0eSRobert Watson .mpo_ipq_update = stub_ipq_update, 1544eb320b0eSRobert Watson .mpo_ipq_reassemble = stub_ipq_reassemble, 1545eb320b0eSRobert Watson 154630d239bcSRobert Watson .mpo_kenv_check_dump = stub_kenv_check_dump, 154730d239bcSRobert Watson .mpo_kenv_check_get = stub_kenv_check_get, 154830d239bcSRobert Watson .mpo_kenv_check_set = stub_kenv_check_set, 154930d239bcSRobert Watson .mpo_kenv_check_unset = stub_kenv_check_unset, 1550eb320b0eSRobert Watson 155130d239bcSRobert Watson .mpo_kld_check_load = stub_kld_check_load, 155230d239bcSRobert Watson .mpo_kld_check_stat = stub_kld_check_stat, 1553eb320b0eSRobert Watson 1554eb320b0eSRobert Watson .mpo_mbuf_copy_label = stub_copy_label, 1555eb320b0eSRobert Watson .mpo_mbuf_destroy_label = stub_destroy_label, 1556eb320b0eSRobert Watson .mpo_mbuf_init_label = stub_init_label_waitcheck, 1557eb320b0eSRobert Watson 155830d239bcSRobert Watson .mpo_mount_check_stat = stub_mount_check_stat, 1559eb320b0eSRobert Watson .mpo_mount_create = stub_mount_create, 1560eb320b0eSRobert Watson .mpo_mount_destroy_label = stub_destroy_label, 1561eb320b0eSRobert Watson .mpo_mount_init_label = stub_init_label, 1562eb320b0eSRobert Watson 1563eb320b0eSRobert Watson .mpo_netatalk_aarp_send = stub_netatalk_aarp_send, 1564eb320b0eSRobert Watson 1565eb320b0eSRobert Watson .mpo_netinet_arp_send = stub_netinet_arp_send, 1566eb320b0eSRobert Watson .mpo_netinet_firewall_reply = stub_netinet_firewall_reply, 1567eb320b0eSRobert Watson .mpo_netinet_firewall_send = stub_netinet_firewall_send, 1568eb320b0eSRobert Watson .mpo_netinet_fragment = stub_netinet_fragment, 1569eb320b0eSRobert Watson .mpo_netinet_icmp_reply = stub_netinet_icmp_reply, 1570eb320b0eSRobert Watson .mpo_netinet_icmp_replyinplace = stub_netinet_icmp_replyinplace, 1571eb320b0eSRobert Watson .mpo_netinet_tcp_reply = stub_netinet_tcp_reply, 1572eb320b0eSRobert Watson .mpo_netinet_igmp_send = stub_netinet_igmp_send, 1573eb320b0eSRobert Watson 1574eb320b0eSRobert Watson .mpo_netinet6_nd6_send = stub_netinet6_nd6_send, 1575eb320b0eSRobert Watson 157630d239bcSRobert Watson .mpo_pipe_check_ioctl = stub_pipe_check_ioctl, 157730d239bcSRobert Watson .mpo_pipe_check_poll = stub_pipe_check_poll, 157830d239bcSRobert Watson .mpo_pipe_check_read = stub_pipe_check_read, 157930d239bcSRobert Watson .mpo_pipe_check_relabel = stub_pipe_check_relabel, 158030d239bcSRobert Watson .mpo_pipe_check_stat = stub_pipe_check_stat, 158130d239bcSRobert Watson .mpo_pipe_check_write = stub_pipe_check_write, 1582eb320b0eSRobert Watson .mpo_pipe_copy_label = stub_copy_label, 1583eb320b0eSRobert Watson .mpo_pipe_create = stub_pipe_create, 1584eb320b0eSRobert Watson .mpo_pipe_destroy_label = stub_destroy_label, 1585eb320b0eSRobert Watson .mpo_pipe_externalize_label = stub_externalize_label, 1586eb320b0eSRobert Watson .mpo_pipe_init_label = stub_init_label, 1587eb320b0eSRobert Watson .mpo_pipe_internalize_label = stub_internalize_label, 1588eb320b0eSRobert Watson .mpo_pipe_relabel = stub_pipe_relabel, 1589eb320b0eSRobert Watson 159030d239bcSRobert Watson .mpo_posixsem_check_getvalue = stub_posixsem_check_getvalue, 159130d239bcSRobert Watson .mpo_posixsem_check_open = stub_posixsem_check_open, 159230d239bcSRobert Watson .mpo_posixsem_check_post = stub_posixsem_check_post, 15936bc1e9cdSJohn Baldwin .mpo_posixsem_check_stat = stub_posixsem_check_stat, 159430d239bcSRobert Watson .mpo_posixsem_check_unlink = stub_posixsem_check_unlink, 159530d239bcSRobert Watson .mpo_posixsem_check_wait = stub_posixsem_check_wait, 1596eb320b0eSRobert Watson .mpo_posixsem_create = stub_posixsem_create, 1597eb320b0eSRobert Watson .mpo_posixsem_destroy_label = stub_destroy_label, 1598eb320b0eSRobert Watson .mpo_posixsem_init_label = stub_init_label, 1599eb320b0eSRobert Watson 16008e38aeffSJohn Baldwin .mpo_posixshm_check_mmap = stub_posixshm_check_mmap, 16018e38aeffSJohn Baldwin .mpo_posixshm_check_open = stub_posixshm_check_open, 16028e38aeffSJohn Baldwin .mpo_posixshm_check_stat = stub_posixshm_check_stat, 16038e38aeffSJohn Baldwin .mpo_posixshm_check_truncate = stub_posixshm_check_truncate, 16048e38aeffSJohn Baldwin .mpo_posixshm_check_unlink = stub_posixshm_check_unlink, 16058e38aeffSJohn Baldwin .mpo_posixshm_create = stub_posixshm_create, 16068e38aeffSJohn Baldwin .mpo_posixshm_destroy_label = stub_destroy_label, 16078e38aeffSJohn Baldwin .mpo_posixshm_init_label = stub_init_label, 16088e38aeffSJohn Baldwin 1609eb320b0eSRobert Watson .mpo_priv_check = stub_priv_check, 1610eb320b0eSRobert Watson .mpo_priv_grant = stub_priv_grant, 1611eb320b0eSRobert Watson 1612eb320b0eSRobert Watson .mpo_proc_associate_nfsd = stub_proc_associate_nfsd, 161330d239bcSRobert Watson .mpo_proc_check_debug = stub_proc_check_debug, 161430d239bcSRobert Watson .mpo_proc_check_sched = stub_proc_check_sched, 161530d239bcSRobert Watson .mpo_proc_check_setaudit = stub_proc_check_setaudit, 161630d239bcSRobert Watson .mpo_proc_check_setaudit_addr = stub_proc_check_setaudit_addr, 161730d239bcSRobert Watson .mpo_proc_check_setauid = stub_proc_check_setauid, 1618eb320b0eSRobert Watson .mpo_proc_check_setegid = stub_proc_check_setegid, 161930d239bcSRobert Watson .mpo_proc_check_seteuid = stub_proc_check_seteuid, 162030d239bcSRobert Watson .mpo_proc_check_setgid = stub_proc_check_setgid, 162130d239bcSRobert Watson .mpo_proc_check_setgroups = stub_proc_check_setgroups, 162230d239bcSRobert Watson .mpo_proc_check_setregid = stub_proc_check_setregid, 162330d239bcSRobert Watson .mpo_proc_check_setresgid = stub_proc_check_setresgid, 1624eb320b0eSRobert Watson .mpo_proc_check_setresuid = stub_proc_check_setresuid, 1625eb320b0eSRobert Watson .mpo_proc_check_setreuid = stub_proc_check_setreuid, 1626eb320b0eSRobert Watson .mpo_proc_check_setuid = stub_proc_check_setuid, 162730d239bcSRobert Watson .mpo_proc_check_signal = stub_proc_check_signal, 162830d239bcSRobert Watson .mpo_proc_check_wait = stub_proc_check_wait, 1629eb320b0eSRobert Watson .mpo_proc_create_init = stub_proc_create_init, 1630eb320b0eSRobert Watson .mpo_proc_create_swapper = stub_proc_create_swapper, 1631eb320b0eSRobert Watson 163230d239bcSRobert Watson .mpo_socket_check_accept = stub_socket_check_accept, 163330d239bcSRobert Watson .mpo_socket_check_bind = stub_socket_check_bind, 163430d239bcSRobert Watson .mpo_socket_check_connect = stub_socket_check_connect, 163530d239bcSRobert Watson .mpo_socket_check_create = stub_socket_check_create, 163630d239bcSRobert Watson .mpo_socket_check_deliver = stub_socket_check_deliver, 163730d239bcSRobert Watson .mpo_socket_check_listen = stub_socket_check_listen, 163830d239bcSRobert Watson .mpo_socket_check_poll = stub_socket_check_poll, 163930d239bcSRobert Watson .mpo_socket_check_receive = stub_socket_check_receive, 164030d239bcSRobert Watson .mpo_socket_check_relabel = stub_socket_check_relabel, 164130d239bcSRobert Watson .mpo_socket_check_send = stub_socket_check_send, 164230d239bcSRobert Watson .mpo_socket_check_stat = stub_socket_check_stat, 164330d239bcSRobert Watson .mpo_socket_check_visible = stub_socket_check_visible, 1644eb320b0eSRobert Watson .mpo_socket_copy_label = stub_copy_label, 1645eb320b0eSRobert Watson .mpo_socket_create = stub_socket_create, 1646eb320b0eSRobert Watson .mpo_socket_create_mbuf = stub_socket_create_mbuf, 1647eb320b0eSRobert Watson .mpo_socket_destroy_label = stub_destroy_label, 1648eb320b0eSRobert Watson .mpo_socket_externalize_label = stub_externalize_label, 1649eb320b0eSRobert Watson .mpo_socket_init_label = stub_init_label_waitcheck, 1650eb320b0eSRobert Watson .mpo_socket_internalize_label = stub_internalize_label, 1651eb320b0eSRobert Watson .mpo_socket_newconn = stub_socket_newconn, 1652eb320b0eSRobert Watson .mpo_socket_relabel = stub_socket_relabel, 1653eb320b0eSRobert Watson 1654eb320b0eSRobert Watson .mpo_socketpeer_destroy_label = stub_destroy_label, 1655eb320b0eSRobert Watson .mpo_socketpeer_externalize_label = stub_externalize_label, 1656eb320b0eSRobert Watson .mpo_socketpeer_init_label = stub_init_label_waitcheck, 1657eb320b0eSRobert Watson .mpo_socketpeer_set_from_mbuf = stub_socketpeer_set_from_mbuf, 1658eb320b0eSRobert Watson .mpo_socketpeer_set_from_socket = stub_socketpeer_set_from_socket, 1659eb320b0eSRobert Watson 1660eb320b0eSRobert Watson .mpo_syncache_init_label = stub_init_label_waitcheck, 1661eb320b0eSRobert Watson .mpo_syncache_destroy_label = stub_destroy_label, 1662eb320b0eSRobert Watson .mpo_syncache_create = stub_syncache_create, 1663eb320b0eSRobert Watson .mpo_syncache_create_mbuf= stub_syncache_create_mbuf, 1664eb320b0eSRobert Watson 1665eb320b0eSRobert Watson .mpo_sysvmsg_cleanup = stub_sysvmsg_cleanup, 1666eb320b0eSRobert Watson .mpo_sysvmsg_create = stub_sysvmsg_create, 1667eb320b0eSRobert Watson .mpo_sysvmsg_destroy_label = stub_destroy_label, 1668eb320b0eSRobert Watson .mpo_sysvmsg_init_label = stub_init_label, 1669eb320b0eSRobert Watson 1670eb320b0eSRobert Watson .mpo_sysvmsq_check_msgmsq = stub_sysvmsq_check_msgmsq, 1671eb320b0eSRobert Watson .mpo_sysvmsq_check_msgrcv = stub_sysvmsq_check_msgrcv, 1672eb320b0eSRobert Watson .mpo_sysvmsq_check_msgrmid = stub_sysvmsq_check_msgrmid, 1673eb320b0eSRobert Watson .mpo_sysvmsq_check_msqget = stub_sysvmsq_check_msqget, 1674eb320b0eSRobert Watson .mpo_sysvmsq_check_msqsnd = stub_sysvmsq_check_msqsnd, 1675eb320b0eSRobert Watson .mpo_sysvmsq_check_msqrcv = stub_sysvmsq_check_msqrcv, 1676eb320b0eSRobert Watson .mpo_sysvmsq_check_msqctl = stub_sysvmsq_check_msqctl, 1677eb320b0eSRobert Watson .mpo_sysvmsq_cleanup = stub_sysvmsq_cleanup, 1678eb320b0eSRobert Watson .mpo_sysvmsq_create = stub_sysvmsq_create, 1679eb320b0eSRobert Watson .mpo_sysvmsq_destroy_label = stub_destroy_label, 1680eb320b0eSRobert Watson .mpo_sysvmsq_init_label = stub_init_label, 1681eb320b0eSRobert Watson 1682eb320b0eSRobert Watson .mpo_sysvsem_check_semctl = stub_sysvsem_check_semctl, 1683eb320b0eSRobert Watson .mpo_sysvsem_check_semget = stub_sysvsem_check_semget, 1684eb320b0eSRobert Watson .mpo_sysvsem_check_semop = stub_sysvsem_check_semop, 1685eb320b0eSRobert Watson .mpo_sysvsem_cleanup = stub_sysvsem_cleanup, 1686eb320b0eSRobert Watson .mpo_sysvsem_create = stub_sysvsem_create, 1687eb320b0eSRobert Watson .mpo_sysvsem_destroy_label = stub_destroy_label, 1688eb320b0eSRobert Watson .mpo_sysvsem_init_label = stub_init_label, 1689eb320b0eSRobert Watson 1690eb320b0eSRobert Watson .mpo_sysvshm_check_shmat = stub_sysvshm_check_shmat, 1691eb320b0eSRobert Watson .mpo_sysvshm_check_shmctl = stub_sysvshm_check_shmctl, 1692eb320b0eSRobert Watson .mpo_sysvshm_check_shmdt = stub_sysvshm_check_shmdt, 1693eb320b0eSRobert Watson .mpo_sysvshm_check_shmget = stub_sysvshm_check_shmget, 1694eb320b0eSRobert Watson .mpo_sysvshm_cleanup = stub_sysvshm_cleanup, 1695eb320b0eSRobert Watson .mpo_sysvshm_create = stub_sysvshm_create, 1696eb320b0eSRobert Watson .mpo_sysvshm_destroy_label = stub_destroy_label, 1697eb320b0eSRobert Watson .mpo_sysvshm_init_label = stub_init_label, 1698eb320b0eSRobert Watson 169930d239bcSRobert Watson .mpo_system_check_acct = stub_system_check_acct, 170030d239bcSRobert Watson .mpo_system_check_audit = stub_system_check_audit, 170130d239bcSRobert Watson .mpo_system_check_auditctl = stub_system_check_auditctl, 170230d239bcSRobert Watson .mpo_system_check_auditon = stub_system_check_auditon, 170330d239bcSRobert Watson .mpo_system_check_reboot = stub_system_check_reboot, 170430d239bcSRobert Watson .mpo_system_check_swapoff = stub_system_check_swapoff, 170530d239bcSRobert Watson .mpo_system_check_swapon = stub_system_check_swapon, 170630d239bcSRobert Watson .mpo_system_check_sysctl = stub_system_check_sysctl, 1707eb320b0eSRobert Watson 1708eb320b0eSRobert Watson .mpo_thread_userret = stub_thread_userret, 1709eb320b0eSRobert Watson 1710eb320b0eSRobert Watson .mpo_vnode_associate_extattr = stub_vnode_associate_extattr, 1711eb320b0eSRobert Watson .mpo_vnode_associate_singlelabel = stub_vnode_associate_singlelabel, 171230d239bcSRobert Watson .mpo_vnode_check_access = stub_vnode_check_access, 171330d239bcSRobert Watson .mpo_vnode_check_chdir = stub_vnode_check_chdir, 171430d239bcSRobert Watson .mpo_vnode_check_chroot = stub_vnode_check_chroot, 171530d239bcSRobert Watson .mpo_vnode_check_create = stub_vnode_check_create, 171630d239bcSRobert Watson .mpo_vnode_check_deleteacl = stub_vnode_check_deleteacl, 171730d239bcSRobert Watson .mpo_vnode_check_deleteextattr = stub_vnode_check_deleteextattr, 171830d239bcSRobert Watson .mpo_vnode_check_exec = stub_vnode_check_exec, 171930d239bcSRobert Watson .mpo_vnode_check_getacl = stub_vnode_check_getacl, 172030d239bcSRobert Watson .mpo_vnode_check_getextattr = stub_vnode_check_getextattr, 172130d239bcSRobert Watson .mpo_vnode_check_link = stub_vnode_check_link, 172230d239bcSRobert Watson .mpo_vnode_check_listextattr = stub_vnode_check_listextattr, 172330d239bcSRobert Watson .mpo_vnode_check_lookup = stub_vnode_check_lookup, 172430d239bcSRobert Watson .mpo_vnode_check_mmap = stub_vnode_check_mmap, 172530d239bcSRobert Watson .mpo_vnode_check_mmap_downgrade = stub_vnode_check_mmap_downgrade, 172630d239bcSRobert Watson .mpo_vnode_check_mprotect = stub_vnode_check_mprotect, 172730d239bcSRobert Watson .mpo_vnode_check_open = stub_vnode_check_open, 172830d239bcSRobert Watson .mpo_vnode_check_poll = stub_vnode_check_poll, 172930d239bcSRobert Watson .mpo_vnode_check_read = stub_vnode_check_read, 173030d239bcSRobert Watson .mpo_vnode_check_readdir = stub_vnode_check_readdir, 173130d239bcSRobert Watson .mpo_vnode_check_readlink = stub_vnode_check_readlink, 173230d239bcSRobert Watson .mpo_vnode_check_relabel = stub_vnode_check_relabel, 173330d239bcSRobert Watson .mpo_vnode_check_rename_from = stub_vnode_check_rename_from, 173430d239bcSRobert Watson .mpo_vnode_check_rename_to = stub_vnode_check_rename_to, 173530d239bcSRobert Watson .mpo_vnode_check_revoke = stub_vnode_check_revoke, 173630d239bcSRobert Watson .mpo_vnode_check_setacl = stub_vnode_check_setacl, 173730d239bcSRobert Watson .mpo_vnode_check_setextattr = stub_vnode_check_setextattr, 173830d239bcSRobert Watson .mpo_vnode_check_setflags = stub_vnode_check_setflags, 173930d239bcSRobert Watson .mpo_vnode_check_setmode = stub_vnode_check_setmode, 174030d239bcSRobert Watson .mpo_vnode_check_setowner = stub_vnode_check_setowner, 174130d239bcSRobert Watson .mpo_vnode_check_setutimes = stub_vnode_check_setutimes, 174230d239bcSRobert Watson .mpo_vnode_check_stat = stub_vnode_check_stat, 174330d239bcSRobert Watson .mpo_vnode_check_unlink = stub_vnode_check_unlink, 174430d239bcSRobert Watson .mpo_vnode_check_write = stub_vnode_check_write, 1745eb320b0eSRobert Watson .mpo_vnode_copy_label = stub_copy_label, 1746eb320b0eSRobert Watson .mpo_vnode_create_extattr = stub_vnode_create_extattr, 1747eb320b0eSRobert Watson .mpo_vnode_destroy_label = stub_destroy_label, 1748eb320b0eSRobert Watson .mpo_vnode_execve_transition = stub_vnode_execve_transition, 1749eb320b0eSRobert Watson .mpo_vnode_execve_will_transition = stub_vnode_execve_will_transition, 1750eb320b0eSRobert Watson .mpo_vnode_externalize_label = stub_externalize_label, 1751eb320b0eSRobert Watson .mpo_vnode_init_label = stub_init_label, 1752eb320b0eSRobert Watson .mpo_vnode_internalize_label = stub_internalize_label, 1753eb320b0eSRobert Watson .mpo_vnode_relabel = stub_vnode_relabel, 1754eb320b0eSRobert Watson .mpo_vnode_setlabel_extattr = stub_vnode_setlabel_extattr, 1755d8a7b7a3SRobert Watson }; 1756d8a7b7a3SRobert Watson 17573f1a7a90SRobert Watson MAC_POLICY_SET(&stub_ops, mac_stub, "TrustedBSD MAC/Stub", 1758740348c4SRobert Watson MPC_LOADTIME_FLAG_UNLOADOK, NULL); 1759