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 310eb320b0eSRobert Watson stub_ipq_create(struct mbuf *m, struct label *mlabel, struct ipq *ipq, 311eb320b0eSRobert Watson struct label *ipqlabel) 312eb320b0eSRobert Watson { 313eb320b0eSRobert Watson 314ba53d9c9SRobert Watson } 315ba53d9c9SRobert Watson 316ba53d9c9SRobert Watson static int 317eb320b0eSRobert Watson stub_ipq_match(struct mbuf *m, struct label *mlabel, struct ipq *ipq, 318eb320b0eSRobert Watson struct label *ipqlabel) 319ba53d9c9SRobert Watson { 320ba53d9c9SRobert Watson 321eb320b0eSRobert Watson return (1); 322ba53d9c9SRobert Watson } 323ba53d9c9SRobert Watson 324eb320b0eSRobert Watson static void 325eb320b0eSRobert Watson stub_ipq_reassemble(struct ipq *ipq, struct label *ipqlabel, 326eb320b0eSRobert Watson struct mbuf *m, struct label *mlabel) 327ba53d9c9SRobert Watson { 328ba53d9c9SRobert Watson 329ba53d9c9SRobert Watson } 330ba53d9c9SRobert Watson 331eb320b0eSRobert Watson static void 332eb320b0eSRobert Watson stub_ipq_update(struct mbuf *m, struct label *mlabel, struct ipq *ipq, 333eb320b0eSRobert Watson struct label *ipqlabel) 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 52630d239bcSRobert Watson stub_posixsem_check_destroy(struct ucred *cred, struct ksem *ks, 527fe09513eSRobert Watson struct label *kslabel) 52852648411SRobert Watson { 52952648411SRobert Watson 53052648411SRobert Watson return (0); 53152648411SRobert Watson } 53252648411SRobert Watson 53352648411SRobert Watson static int 53430d239bcSRobert Watson stub_posixsem_check_getvalue(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 54230d239bcSRobert Watson stub_posixsem_check_open(struct ucred *cred, struct ksem *ks, 543fe09513eSRobert Watson struct label *kslabel) 54452648411SRobert Watson { 54552648411SRobert Watson 54652648411SRobert Watson return (0); 54752648411SRobert Watson } 54852648411SRobert Watson 54952648411SRobert Watson static int 55030d239bcSRobert Watson stub_posixsem_check_post(struct ucred *cred, struct ksem *ks, 551fe09513eSRobert Watson 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 56630d239bcSRobert Watson stub_posixsem_check_wait(struct ucred *cred, struct ksem *ks, 567fe09513eSRobert Watson 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 581eb320b0eSRobert Watson stub_priv_check(struct ucred *cred, int priv) 582eb320b0eSRobert Watson { 583eb320b0eSRobert Watson 584eb320b0eSRobert Watson return (0); 585eb320b0eSRobert Watson } 586eb320b0eSRobert Watson 587eb320b0eSRobert Watson static int 588eb320b0eSRobert Watson stub_priv_grant(struct ucred *cred, int priv) 589eb320b0eSRobert Watson { 590eb320b0eSRobert Watson 591eb320b0eSRobert Watson return (EPERM); 592eb320b0eSRobert Watson } 593eb320b0eSRobert Watson 594eb320b0eSRobert Watson static void 595eb320b0eSRobert Watson stub_proc_associate_nfsd(struct ucred *cred) 596eb320b0eSRobert Watson { 597eb320b0eSRobert Watson 598eb320b0eSRobert Watson } 599eb320b0eSRobert Watson 60052648411SRobert Watson static int 60130d239bcSRobert Watson stub_proc_check_debug(struct ucred *cred, struct proc *p) 602d8a7b7a3SRobert Watson { 603d8a7b7a3SRobert Watson 604d8a7b7a3SRobert Watson return (0); 605d8a7b7a3SRobert Watson } 606d8a7b7a3SRobert Watson 607d8a7b7a3SRobert Watson static int 60830d239bcSRobert Watson stub_proc_check_sched(struct ucred *cred, struct proc *p) 609d8a7b7a3SRobert Watson { 610d8a7b7a3SRobert Watson 611d8a7b7a3SRobert Watson return (0); 612d8a7b7a3SRobert Watson } 613d8a7b7a3SRobert Watson 614d8a7b7a3SRobert Watson static int 61530d239bcSRobert Watson stub_proc_check_setaudit(struct ucred *cred, struct auditinfo *ai) 61618717f69SRobert Watson { 61718717f69SRobert Watson 61818717f69SRobert Watson return (0); 61918717f69SRobert Watson } 62018717f69SRobert Watson 62118717f69SRobert Watson static int 62230d239bcSRobert Watson stub_proc_check_setaudit_addr(struct ucred *cred, struct auditinfo_addr *aia) 623f1e8bf6dSRobert Watson { 624f1e8bf6dSRobert Watson 625f1e8bf6dSRobert Watson return (0); 626f1e8bf6dSRobert Watson } 627f1e8bf6dSRobert Watson 628f1e8bf6dSRobert Watson static int 62930d239bcSRobert Watson stub_proc_check_setauid(struct ucred *cred, uid_t auid) 63018717f69SRobert Watson { 63118717f69SRobert Watson 63218717f69SRobert Watson return (0); 63318717f69SRobert Watson } 63418717f69SRobert Watson 63518717f69SRobert Watson static int 636eb320b0eSRobert Watson stub_proc_check_setegid(struct ucred *cred, gid_t egid) 637030a28b3SRobert Watson { 638030a28b3SRobert Watson 639030a28b3SRobert Watson return (0); 640030a28b3SRobert Watson } 641030a28b3SRobert Watson 642030a28b3SRobert Watson static int 64330d239bcSRobert Watson stub_proc_check_seteuid(struct ucred *cred, uid_t euid) 644030a28b3SRobert Watson { 645030a28b3SRobert Watson 646030a28b3SRobert Watson return (0); 647030a28b3SRobert Watson } 648030a28b3SRobert Watson 649030a28b3SRobert Watson static int 65030d239bcSRobert Watson stub_proc_check_setgid(struct ucred *cred, gid_t gid) 651030a28b3SRobert Watson { 652030a28b3SRobert Watson 653030a28b3SRobert Watson return (0); 654030a28b3SRobert Watson } 655030a28b3SRobert Watson 656030a28b3SRobert Watson static int 65730d239bcSRobert Watson stub_proc_check_setgroups(struct ucred *cred, int ngroups, 658030a28b3SRobert Watson gid_t *gidset) 659030a28b3SRobert Watson { 660030a28b3SRobert Watson 661030a28b3SRobert Watson return (0); 662030a28b3SRobert Watson } 663030a28b3SRobert Watson 664030a28b3SRobert Watson static int 665eb320b0eSRobert Watson stub_proc_check_setregid(struct ucred *cred, gid_t rgid, gid_t egid) 666030a28b3SRobert Watson { 667030a28b3SRobert Watson 668030a28b3SRobert Watson return (0); 669030a28b3SRobert Watson } 670030a28b3SRobert Watson 671030a28b3SRobert Watson static int 672eb320b0eSRobert Watson stub_proc_check_setresgid(struct ucred *cred, gid_t rgid, gid_t egid, 673eb320b0eSRobert Watson gid_t sgid) 674030a28b3SRobert Watson { 675030a28b3SRobert Watson 676030a28b3SRobert Watson return (0); 677030a28b3SRobert Watson } 678030a28b3SRobert Watson 679030a28b3SRobert Watson static int 68030d239bcSRobert Watson stub_proc_check_setresuid(struct ucred *cred, uid_t ruid, uid_t euid, 681030a28b3SRobert Watson uid_t suid) 682030a28b3SRobert Watson { 683030a28b3SRobert Watson 684030a28b3SRobert Watson return (0); 685030a28b3SRobert Watson } 686030a28b3SRobert Watson 687030a28b3SRobert Watson static int 688eb320b0eSRobert Watson stub_proc_check_setreuid(struct ucred *cred, uid_t ruid, uid_t euid) 689030a28b3SRobert Watson { 690030a28b3SRobert Watson 691030a28b3SRobert Watson return (0); 692030a28b3SRobert Watson } 693030a28b3SRobert Watson 694030a28b3SRobert Watson static int 695eb320b0eSRobert Watson stub_proc_check_setuid(struct ucred *cred, uid_t uid) 696eb320b0eSRobert Watson { 697eb320b0eSRobert Watson 698eb320b0eSRobert Watson return (0); 699eb320b0eSRobert Watson } 700eb320b0eSRobert Watson 701eb320b0eSRobert Watson static int 702eb320b0eSRobert Watson stub_proc_check_signal(struct ucred *cred, struct proc *p, int signum) 703eb320b0eSRobert Watson { 704eb320b0eSRobert Watson 705eb320b0eSRobert Watson return (0); 706eb320b0eSRobert Watson } 707eb320b0eSRobert Watson 708eb320b0eSRobert Watson static int 709eb320b0eSRobert Watson stub_proc_check_wait(struct ucred *cred, struct proc *p) 710eb320b0eSRobert Watson { 711eb320b0eSRobert Watson 712eb320b0eSRobert Watson return (0); 713eb320b0eSRobert Watson } 714eb320b0eSRobert Watson 715eb320b0eSRobert Watson static void 716eb320b0eSRobert Watson stub_proc_create_init(struct ucred *cred) 717eb320b0eSRobert Watson { 718eb320b0eSRobert Watson 719eb320b0eSRobert Watson } 720eb320b0eSRobert Watson 721eb320b0eSRobert Watson static void 722eb320b0eSRobert Watson stub_proc_create_swapper(struct ucred *cred) 723eb320b0eSRobert Watson { 724eb320b0eSRobert Watson 725eb320b0eSRobert Watson } 726eb320b0eSRobert Watson 727eb320b0eSRobert Watson static int 72830d239bcSRobert Watson stub_socket_check_accept(struct ucred *cred, struct socket *so, 72978007886SRobert Watson struct label *solabel) 7307f53207bSRobert Watson { 7317f53207bSRobert Watson 7327f53207bSRobert Watson return (0); 7337f53207bSRobert Watson } 7347f53207bSRobert Watson 7357f53207bSRobert Watson static int 73630d239bcSRobert Watson stub_socket_check_bind(struct ucred *cred, struct socket *so, 73778007886SRobert Watson struct label *solabel, struct sockaddr *sa) 738d8a7b7a3SRobert Watson { 739d8a7b7a3SRobert Watson 740d8a7b7a3SRobert Watson return (0); 741d8a7b7a3SRobert Watson } 742d8a7b7a3SRobert Watson 743d8a7b7a3SRobert Watson static int 74430d239bcSRobert Watson stub_socket_check_connect(struct ucred *cred, struct socket *so, 74578007886SRobert Watson struct label *solabel, struct sockaddr *sa) 746d8a7b7a3SRobert Watson { 747d8a7b7a3SRobert Watson 748d8a7b7a3SRobert Watson return (0); 749d8a7b7a3SRobert Watson } 750d8a7b7a3SRobert Watson 751d8a7b7a3SRobert Watson static int 75230d239bcSRobert Watson stub_socket_check_create(struct ucred *cred, int domain, int type, int proto) 7536758f88eSRobert Watson { 7546758f88eSRobert Watson 7556758f88eSRobert Watson return (0); 7566758f88eSRobert Watson } 7576758f88eSRobert Watson 7586758f88eSRobert Watson static int 75930d239bcSRobert Watson stub_socket_check_deliver(struct socket *so, struct label *solabel, 76078007886SRobert Watson struct mbuf *m, struct label *mlabel) 761d8a7b7a3SRobert Watson { 762d8a7b7a3SRobert Watson 763d8a7b7a3SRobert Watson return (0); 764d8a7b7a3SRobert Watson } 765d8a7b7a3SRobert Watson 766d8a7b7a3SRobert Watson static int 76730d239bcSRobert Watson stub_socket_check_listen(struct ucred *cred, struct socket *so, 76878007886SRobert Watson struct label *solabel) 769d8a7b7a3SRobert Watson { 770d8a7b7a3SRobert Watson 771d8a7b7a3SRobert Watson return (0); 772d8a7b7a3SRobert Watson } 773d8a7b7a3SRobert Watson 774d8a7b7a3SRobert Watson static int 77530d239bcSRobert Watson stub_socket_check_poll(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_receive(struct ucred *cred, struct socket *so, 78478007886SRobert Watson struct label *solabel) 7857f53207bSRobert Watson { 7867f53207bSRobert Watson 7877f53207bSRobert Watson return (0); 7887f53207bSRobert Watson } 7897f53207bSRobert Watson 7907f53207bSRobert Watson static int 79130d239bcSRobert Watson stub_socket_check_relabel(struct ucred *cred, struct socket *so, 79278007886SRobert Watson struct label *solabel, struct label *newlabel) 793d8a7b7a3SRobert Watson { 794d8a7b7a3SRobert Watson 795d8a7b7a3SRobert Watson return (0); 796d8a7b7a3SRobert Watson } 7977f53207bSRobert Watson static int 79830d239bcSRobert Watson stub_socket_check_send(struct ucred *cred, struct socket *so, 79978007886SRobert Watson struct label *solabel) 8007f53207bSRobert Watson { 8017f53207bSRobert Watson 8027f53207bSRobert Watson return (0); 8037f53207bSRobert Watson } 8047f53207bSRobert Watson 8057f53207bSRobert Watson static int 80630d239bcSRobert Watson stub_socket_check_stat(struct ucred *cred, struct socket *so, 80778007886SRobert Watson struct label *solabel) 8087f53207bSRobert Watson { 8097f53207bSRobert Watson 8107f53207bSRobert Watson return (0); 8117f53207bSRobert Watson } 812d8a7b7a3SRobert Watson 813d8a7b7a3SRobert Watson static int 81430d239bcSRobert Watson stub_socket_check_visible(struct ucred *cred, struct socket *so, 81578007886SRobert Watson struct label *solabel) 816d8a7b7a3SRobert Watson { 817d8a7b7a3SRobert Watson 818d8a7b7a3SRobert Watson return (0); 819d8a7b7a3SRobert Watson } 820d8a7b7a3SRobert Watson 821eb320b0eSRobert Watson static void 822eb320b0eSRobert Watson stub_socket_create(struct ucred *cred, struct socket *so, 823eb320b0eSRobert Watson struct label *solabel) 824eb320b0eSRobert Watson { 825eb320b0eSRobert Watson 826eb320b0eSRobert Watson } 827eb320b0eSRobert Watson 828eb320b0eSRobert Watson static void 829eb320b0eSRobert Watson stub_socket_create_mbuf(struct socket *so, struct label *solabel, 830eb320b0eSRobert Watson struct mbuf *m, struct label *mlabel) 831eb320b0eSRobert Watson { 832eb320b0eSRobert Watson 833eb320b0eSRobert Watson } 834eb320b0eSRobert Watson 835eb320b0eSRobert Watson static void 836eb320b0eSRobert Watson stub_socket_newconn(struct socket *oldso, struct label *oldsolabel, 837eb320b0eSRobert Watson struct socket *newso, struct label *newsolabel) 838eb320b0eSRobert Watson { 839eb320b0eSRobert Watson 840eb320b0eSRobert Watson } 841eb320b0eSRobert Watson 842eb320b0eSRobert Watson static void 843eb320b0eSRobert Watson stub_socket_relabel(struct ucred *cred, struct socket *so, 844eb320b0eSRobert Watson struct label *solabel, struct label *newlabel) 845eb320b0eSRobert Watson { 846eb320b0eSRobert Watson 847eb320b0eSRobert Watson } 848eb320b0eSRobert Watson 849eb320b0eSRobert Watson static void 850eb320b0eSRobert Watson stub_socketpeer_set_from_mbuf(struct mbuf *m, struct label *mlabel, 851eb320b0eSRobert Watson struct socket *so, struct label *sopeerlabel) 852eb320b0eSRobert Watson { 853eb320b0eSRobert Watson 854eb320b0eSRobert Watson } 855eb320b0eSRobert Watson 856eb320b0eSRobert Watson static void 857eb320b0eSRobert Watson stub_socketpeer_set_from_socket(struct socket *oldso, 858eb320b0eSRobert Watson struct label *oldsolabel, struct socket *newso, 859eb320b0eSRobert Watson struct label *newsopeerlabel) 860eb320b0eSRobert Watson { 861eb320b0eSRobert Watson 862eb320b0eSRobert Watson } 863eb320b0eSRobert Watson 864eb320b0eSRobert Watson static void 865eb320b0eSRobert Watson stub_syncache_create(struct label *label, struct inpcb *inp) 866eb320b0eSRobert Watson { 867eb320b0eSRobert Watson 868eb320b0eSRobert Watson } 869eb320b0eSRobert Watson 870eb320b0eSRobert Watson static void 871eb320b0eSRobert Watson stub_syncache_create_mbuf(struct label *sc_label, struct mbuf *m, 872eb320b0eSRobert Watson struct label *mlabel) 873eb320b0eSRobert Watson { 874eb320b0eSRobert Watson 875eb320b0eSRobert Watson } 876eb320b0eSRobert Watson 877d8a7b7a3SRobert Watson static int 87830d239bcSRobert Watson stub_system_check_acct(struct ucred *cred, struct vnode *vp, 87978007886SRobert Watson struct label *vplabel) 88009de2dc2SRobert Watson { 88109de2dc2SRobert Watson 88209de2dc2SRobert Watson return (0); 88309de2dc2SRobert Watson } 88409de2dc2SRobert Watson 88509de2dc2SRobert Watson static int 88630d239bcSRobert Watson stub_system_check_audit(struct ucred *cred, void *record, int length) 88718717f69SRobert Watson { 88818717f69SRobert Watson 88918717f69SRobert Watson return (0); 89018717f69SRobert Watson } 89118717f69SRobert Watson 89218717f69SRobert Watson static int 89330d239bcSRobert Watson stub_system_check_auditctl(struct ucred *cred, struct vnode *vp, 89478007886SRobert Watson struct label *vplabel) 89518717f69SRobert Watson { 89618717f69SRobert Watson 89718717f69SRobert Watson return (0); 89818717f69SRobert Watson } 89918717f69SRobert Watson 90018717f69SRobert Watson static int 90130d239bcSRobert Watson stub_system_check_auditon(struct ucred *cred, int cmd) 90218717f69SRobert Watson { 90318717f69SRobert Watson 90418717f69SRobert Watson return (0); 90518717f69SRobert Watson } 90618717f69SRobert Watson 90718717f69SRobert Watson static int 90830d239bcSRobert Watson stub_system_check_reboot(struct ucred *cred, int how) 909927f6069SRobert Watson { 910927f6069SRobert Watson 911927f6069SRobert Watson return (0); 912927f6069SRobert Watson } 913927f6069SRobert Watson 914927f6069SRobert Watson static int 91530d239bcSRobert Watson stub_system_check_swapoff(struct ucred *cred, struct vnode *vp, 91678007886SRobert Watson struct label *vplabel) 917927f6069SRobert Watson { 918927f6069SRobert Watson 919927f6069SRobert Watson return (0); 920927f6069SRobert Watson } 921927f6069SRobert Watson 922927f6069SRobert Watson static int 92330d239bcSRobert Watson stub_system_check_swapon(struct ucred *cred, struct vnode *vp, 92478007886SRobert Watson struct label *vplabel) 92509de2dc2SRobert Watson { 92609de2dc2SRobert Watson 92709de2dc2SRobert Watson return (0); 92809de2dc2SRobert Watson } 92909de2dc2SRobert Watson 93009de2dc2SRobert Watson static int 93130d239bcSRobert Watson stub_system_check_sysctl(struct ucred *cred, struct sysctl_oid *oidp, 93263dba32bSPawel Jakub Dawidek void *arg1, int arg2, struct sysctl_req *req) 933927f6069SRobert Watson { 934927f6069SRobert Watson 935927f6069SRobert Watson return (0); 936927f6069SRobert Watson } 937927f6069SRobert Watson 938927f6069SRobert Watson static int 93930d239bcSRobert Watson stub_vnode_check_access(struct ucred *cred, struct vnode *vp, 94078007886SRobert Watson struct label *vplabel, int acc_mode) 941d8a7b7a3SRobert Watson { 942d8a7b7a3SRobert Watson 943d8a7b7a3SRobert Watson return (0); 944d8a7b7a3SRobert Watson } 945d8a7b7a3SRobert Watson 946d8a7b7a3SRobert Watson static int 94730d239bcSRobert Watson stub_vnode_check_chdir(struct ucred *cred, struct vnode *dvp, 94878007886SRobert Watson struct label *dvplabel) 949d8a7b7a3SRobert Watson { 950d8a7b7a3SRobert Watson 951d8a7b7a3SRobert Watson return (0); 952d8a7b7a3SRobert Watson } 953d8a7b7a3SRobert Watson 954d8a7b7a3SRobert Watson static int 95530d239bcSRobert Watson stub_vnode_check_chroot(struct ucred *cred, struct vnode *dvp, 95678007886SRobert Watson struct label *dvplabel) 957d8a7b7a3SRobert Watson { 958d8a7b7a3SRobert Watson 959d8a7b7a3SRobert Watson return (0); 960d8a7b7a3SRobert Watson } 961d8a7b7a3SRobert Watson 962d8a7b7a3SRobert Watson static int 96330d239bcSRobert Watson stub_vnode_check_create(struct ucred *cred, struct vnode *dvp, 96478007886SRobert Watson struct label *dvplabel, struct componentname *cnp, struct vattr *vap) 965d8a7b7a3SRobert Watson { 966d8a7b7a3SRobert Watson 967d8a7b7a3SRobert Watson return (0); 968d8a7b7a3SRobert Watson } 969d8a7b7a3SRobert Watson 970eb320b0eSRobert Watson static void 971eb320b0eSRobert Watson stub_sysvmsg_cleanup(struct label *msglabel) 972eb320b0eSRobert Watson { 973eb320b0eSRobert Watson 974eb320b0eSRobert Watson } 975eb320b0eSRobert Watson 976eb320b0eSRobert Watson static void 977eb320b0eSRobert Watson stub_sysvmsg_create(struct ucred *cred, struct msqid_kernel *msqkptr, 978eb320b0eSRobert Watson struct label *msqlabel, struct msg *msgptr, struct label *msglabel) 979eb320b0eSRobert Watson { 980eb320b0eSRobert Watson 981eb320b0eSRobert Watson } 982eb320b0eSRobert Watson 983eb320b0eSRobert Watson static int 984eb320b0eSRobert Watson stub_sysvmsq_check_msgmsq(struct ucred *cred, struct msg *msgptr, 985eb320b0eSRobert Watson struct label *msglabel, struct msqid_kernel *msqkptr, 986eb320b0eSRobert Watson struct label *msqklabel) 987eb320b0eSRobert Watson { 988eb320b0eSRobert Watson 989eb320b0eSRobert Watson return (0); 990eb320b0eSRobert Watson } 991eb320b0eSRobert Watson 992eb320b0eSRobert Watson static int 993eb320b0eSRobert Watson stub_sysvmsq_check_msgrcv(struct ucred *cred, struct msg *msgptr, 994eb320b0eSRobert Watson struct label *msglabel) 995eb320b0eSRobert Watson { 996eb320b0eSRobert Watson 997eb320b0eSRobert Watson return (0); 998eb320b0eSRobert Watson } 999eb320b0eSRobert Watson 1000eb320b0eSRobert Watson 1001eb320b0eSRobert Watson static int 1002eb320b0eSRobert Watson stub_sysvmsq_check_msgrmid(struct ucred *cred, struct msg *msgptr, 1003eb320b0eSRobert Watson struct label *msglabel) 1004eb320b0eSRobert Watson { 1005eb320b0eSRobert Watson 1006eb320b0eSRobert Watson return (0); 1007eb320b0eSRobert Watson } 1008eb320b0eSRobert Watson 1009eb320b0eSRobert Watson 1010eb320b0eSRobert Watson static int 1011eb320b0eSRobert Watson stub_sysvmsq_check_msqget(struct ucred *cred, struct msqid_kernel *msqkptr, 1012eb320b0eSRobert Watson struct label *msqklabel) 1013eb320b0eSRobert Watson { 1014eb320b0eSRobert Watson 1015eb320b0eSRobert Watson return (0); 1016eb320b0eSRobert Watson } 1017eb320b0eSRobert Watson 1018eb320b0eSRobert Watson 1019eb320b0eSRobert Watson static int 1020eb320b0eSRobert Watson stub_sysvmsq_check_msqsnd(struct ucred *cred, struct msqid_kernel *msqkptr, 1021eb320b0eSRobert Watson struct label *msqklabel) 1022eb320b0eSRobert Watson { 1023eb320b0eSRobert Watson 1024eb320b0eSRobert Watson return (0); 1025eb320b0eSRobert Watson } 1026eb320b0eSRobert Watson 1027eb320b0eSRobert Watson static int 1028eb320b0eSRobert Watson stub_sysvmsq_check_msqrcv(struct ucred *cred, struct msqid_kernel *msqkptr, 1029eb320b0eSRobert Watson struct label *msqklabel) 1030eb320b0eSRobert Watson { 1031eb320b0eSRobert Watson 1032eb320b0eSRobert Watson return (0); 1033eb320b0eSRobert Watson } 1034eb320b0eSRobert Watson 1035eb320b0eSRobert Watson 1036eb320b0eSRobert Watson static int 1037eb320b0eSRobert Watson stub_sysvmsq_check_msqctl(struct ucred *cred, struct msqid_kernel *msqkptr, 1038eb320b0eSRobert Watson struct label *msqklabel, int cmd) 1039eb320b0eSRobert Watson { 1040eb320b0eSRobert Watson 1041eb320b0eSRobert Watson return (0); 1042eb320b0eSRobert Watson } 1043eb320b0eSRobert Watson 1044eb320b0eSRobert Watson 1045eb320b0eSRobert Watson static void 1046eb320b0eSRobert Watson stub_sysvmsq_cleanup(struct label *msqlabel) 1047eb320b0eSRobert Watson { 1048eb320b0eSRobert Watson 1049eb320b0eSRobert Watson } 1050eb320b0eSRobert Watson 1051eb320b0eSRobert Watson static void 1052eb320b0eSRobert Watson stub_sysvmsq_create(struct ucred *cred, struct msqid_kernel *msqkptr, 1053eb320b0eSRobert Watson struct label *msqlabel) 1054eb320b0eSRobert Watson { 1055eb320b0eSRobert Watson 1056eb320b0eSRobert Watson } 1057eb320b0eSRobert Watson 1058eb320b0eSRobert Watson static int 1059eb320b0eSRobert Watson stub_sysvsem_check_semctl(struct ucred *cred, struct semid_kernel *semakptr, 1060eb320b0eSRobert Watson struct label *semaklabel, int cmd) 1061eb320b0eSRobert Watson { 1062eb320b0eSRobert Watson 1063eb320b0eSRobert Watson return (0); 1064eb320b0eSRobert Watson } 1065eb320b0eSRobert Watson 1066eb320b0eSRobert Watson static int 1067eb320b0eSRobert Watson stub_sysvsem_check_semget(struct ucred *cred, struct semid_kernel *semakptr, 1068eb320b0eSRobert Watson struct label *semaklabel) 1069eb320b0eSRobert Watson { 1070eb320b0eSRobert Watson 1071eb320b0eSRobert Watson return (0); 1072eb320b0eSRobert Watson } 1073eb320b0eSRobert Watson 1074eb320b0eSRobert Watson 1075eb320b0eSRobert Watson static int 1076eb320b0eSRobert Watson stub_sysvsem_check_semop(struct ucred *cred, struct semid_kernel *semakptr, 1077eb320b0eSRobert Watson struct label *semaklabel, size_t accesstype) 1078eb320b0eSRobert Watson { 1079eb320b0eSRobert Watson 1080eb320b0eSRobert Watson return (0); 1081eb320b0eSRobert Watson } 1082eb320b0eSRobert Watson 1083eb320b0eSRobert Watson static void 1084eb320b0eSRobert Watson stub_sysvsem_cleanup(struct label *semalabel) 1085eb320b0eSRobert Watson { 1086eb320b0eSRobert Watson 1087eb320b0eSRobert Watson } 1088eb320b0eSRobert Watson 1089eb320b0eSRobert Watson static void 1090eb320b0eSRobert Watson stub_sysvsem_create(struct ucred *cred, struct semid_kernel *semakptr, 1091eb320b0eSRobert Watson struct label *semalabel) 1092eb320b0eSRobert Watson { 1093eb320b0eSRobert Watson 1094eb320b0eSRobert Watson } 1095eb320b0eSRobert Watson 1096eb320b0eSRobert Watson static int 1097eb320b0eSRobert Watson stub_sysvshm_check_shmat(struct ucred *cred, struct shmid_kernel *shmsegptr, 1098eb320b0eSRobert Watson struct label *shmseglabel, int shmflg) 1099eb320b0eSRobert Watson { 1100eb320b0eSRobert Watson 1101eb320b0eSRobert Watson return (0); 1102eb320b0eSRobert Watson } 1103eb320b0eSRobert Watson 1104eb320b0eSRobert Watson static int 1105eb320b0eSRobert Watson stub_sysvshm_check_shmctl(struct ucred *cred, struct shmid_kernel *shmsegptr, 1106eb320b0eSRobert Watson struct label *shmseglabel, int cmd) 1107eb320b0eSRobert Watson { 1108eb320b0eSRobert Watson 1109eb320b0eSRobert Watson return (0); 1110eb320b0eSRobert Watson } 1111eb320b0eSRobert Watson 1112eb320b0eSRobert Watson static int 1113eb320b0eSRobert Watson stub_sysvshm_check_shmdt(struct ucred *cred, struct shmid_kernel *shmsegptr, 1114eb320b0eSRobert Watson struct label *shmseglabel) 1115eb320b0eSRobert Watson { 1116eb320b0eSRobert Watson 1117eb320b0eSRobert Watson return (0); 1118eb320b0eSRobert Watson } 1119eb320b0eSRobert Watson 1120eb320b0eSRobert Watson 1121eb320b0eSRobert Watson static int 1122eb320b0eSRobert Watson stub_sysvshm_check_shmget(struct ucred *cred, struct shmid_kernel *shmsegptr, 1123eb320b0eSRobert Watson struct label *shmseglabel, int shmflg) 1124eb320b0eSRobert Watson { 1125eb320b0eSRobert Watson 1126eb320b0eSRobert Watson return (0); 1127eb320b0eSRobert Watson } 1128eb320b0eSRobert Watson 1129eb320b0eSRobert Watson static void 1130eb320b0eSRobert Watson stub_sysvshm_cleanup(struct label *shmlabel) 1131eb320b0eSRobert Watson { 1132eb320b0eSRobert Watson 1133eb320b0eSRobert Watson } 1134eb320b0eSRobert Watson 1135eb320b0eSRobert Watson static void 1136eb320b0eSRobert Watson stub_sysvshm_create(struct ucred *cred, struct shmid_kernel *shmsegptr, 1137eb320b0eSRobert Watson struct label *shmalabel) 1138eb320b0eSRobert Watson { 1139eb320b0eSRobert Watson 1140eb320b0eSRobert Watson } 1141eb320b0eSRobert Watson 1142eb320b0eSRobert Watson static void 1143eb320b0eSRobert Watson stub_thread_userret(struct thread *td) 1144eb320b0eSRobert Watson { 1145eb320b0eSRobert Watson 1146eb320b0eSRobert Watson } 1147eb320b0eSRobert Watson 1148eb320b0eSRobert Watson static int 1149eb320b0eSRobert Watson stub_vnode_associate_extattr(struct mount *mp, struct label *mplabel, 1150eb320b0eSRobert Watson struct vnode *vp, struct label *vplabel) 1151eb320b0eSRobert Watson { 1152eb320b0eSRobert Watson 1153eb320b0eSRobert Watson return (0); 1154eb320b0eSRobert Watson } 1155eb320b0eSRobert Watson 1156eb320b0eSRobert Watson static void 1157eb320b0eSRobert Watson stub_vnode_associate_singlelabel(struct mount *mp, struct label *mplabel, 1158eb320b0eSRobert Watson struct vnode *vp, struct label *vplabel) 1159eb320b0eSRobert Watson { 1160eb320b0eSRobert Watson 1161eb320b0eSRobert Watson } 1162eb320b0eSRobert Watson 1163d8a7b7a3SRobert Watson static int 116430d239bcSRobert Watson stub_vnode_check_deleteacl(struct ucred *cred, struct vnode *vp, 116578007886SRobert Watson struct label *vplabel, acl_type_t type) 1166d8a7b7a3SRobert Watson { 1167d8a7b7a3SRobert Watson 1168d8a7b7a3SRobert Watson return (0); 1169d8a7b7a3SRobert Watson } 1170d8a7b7a3SRobert Watson 1171d8a7b7a3SRobert Watson static int 117230d239bcSRobert Watson stub_vnode_check_deleteextattr(struct ucred *cred, struct vnode *vp, 117378007886SRobert Watson struct label *vplabel, int attrnamespace, const char *name) 117464f00af8SRobert Watson { 117564f00af8SRobert Watson 117664f00af8SRobert Watson return (0); 117764f00af8SRobert Watson } 117864f00af8SRobert Watson 117964f00af8SRobert Watson static int 118030d239bcSRobert Watson stub_vnode_check_exec(struct ucred *cred, struct vnode *vp, 118178007886SRobert Watson struct label *vplabel, struct image_params *imgp, 1182ef5def59SRobert Watson struct label *execlabel) 1183d8a7b7a3SRobert Watson { 1184d8a7b7a3SRobert Watson 1185d8a7b7a3SRobert Watson return (0); 1186d8a7b7a3SRobert Watson } 1187d8a7b7a3SRobert Watson 1188d8a7b7a3SRobert Watson static int 118930d239bcSRobert Watson stub_vnode_check_getacl(struct ucred *cred, struct vnode *vp, 119078007886SRobert Watson struct label *vplabel, acl_type_t type) 1191d8a7b7a3SRobert Watson { 1192d8a7b7a3SRobert Watson 1193d8a7b7a3SRobert Watson return (0); 1194d8a7b7a3SRobert Watson } 1195d8a7b7a3SRobert Watson 1196d8a7b7a3SRobert Watson static int 119730d239bcSRobert Watson stub_vnode_check_getextattr(struct ucred *cred, struct vnode *vp, 119878007886SRobert Watson struct label *vplabel, int attrnamespace, const char *name, 119978007886SRobert Watson struct uio *uio) 1200d8a7b7a3SRobert Watson { 1201d8a7b7a3SRobert Watson 1202d8a7b7a3SRobert Watson return (0); 1203d8a7b7a3SRobert Watson } 1204d8a7b7a3SRobert Watson 1205d8a7b7a3SRobert Watson static int 120630d239bcSRobert Watson stub_vnode_check_link(struct ucred *cred, struct vnode *dvp, 120778007886SRobert Watson struct label *dvplabel, struct vnode *vp, struct label *vplabel, 1208c27b50f5SRobert Watson struct componentname *cnp) 1209c27b50f5SRobert Watson { 1210c27b50f5SRobert Watson 1211c27b50f5SRobert Watson return (0); 1212c27b50f5SRobert Watson } 1213c27b50f5SRobert Watson 1214c27b50f5SRobert Watson static int 121530d239bcSRobert Watson stub_vnode_check_listextattr(struct ucred *cred, struct vnode *vp, 121678007886SRobert Watson struct label *vplabel, int attrnamespace) 121764f00af8SRobert Watson { 121864f00af8SRobert Watson 121964f00af8SRobert Watson return (0); 122064f00af8SRobert Watson } 122164f00af8SRobert Watson 122264f00af8SRobert Watson static int 122330d239bcSRobert Watson stub_vnode_check_lookup(struct ucred *cred, struct vnode *dvp, 122478007886SRobert Watson struct label *dvplabel, struct componentname *cnp) 1225d8a7b7a3SRobert Watson { 1226d8a7b7a3SRobert Watson 1227d8a7b7a3SRobert Watson return (0); 1228d8a7b7a3SRobert Watson } 1229d8a7b7a3SRobert Watson 1230d8a7b7a3SRobert Watson static int 123130d239bcSRobert Watson stub_vnode_check_mmap(struct ucred *cred, struct vnode *vp, 123278007886SRobert Watson struct label *vplabel, int prot, int flags) 1233e183f80eSRobert Watson { 1234e183f80eSRobert Watson 1235e183f80eSRobert Watson return (0); 1236e183f80eSRobert Watson } 1237e183f80eSRobert Watson 123817870c06SChristian S.J. Peron static void 123930d239bcSRobert Watson stub_vnode_check_mmap_downgrade(struct ucred *cred, struct vnode *vp, 124078007886SRobert Watson struct label *vplabel, int *prot) 124117870c06SChristian S.J. Peron { 124217870c06SChristian S.J. Peron 124317870c06SChristian S.J. Peron } 124417870c06SChristian S.J. Peron 124517870c06SChristian S.J. Peron static int 124630d239bcSRobert Watson stub_vnode_check_mprotect(struct ucred *cred, struct vnode *vp, 124778007886SRobert Watson struct label *vplabel, int prot) 124817870c06SChristian S.J. Peron { 124917870c06SChristian S.J. Peron 125017870c06SChristian S.J. Peron return (0); 125117870c06SChristian S.J. Peron } 125217870c06SChristian S.J. Peron 1253e183f80eSRobert Watson static int 125430d239bcSRobert Watson stub_vnode_check_open(struct ucred *cred, struct vnode *vp, 125578007886SRobert Watson struct label *vplabel, int acc_mode) 1256d8a7b7a3SRobert Watson { 1257d8a7b7a3SRobert Watson 1258d8a7b7a3SRobert Watson return (0); 1259d8a7b7a3SRobert Watson } 1260d8a7b7a3SRobert Watson 1261d8a7b7a3SRobert Watson static int 126230d239bcSRobert Watson stub_vnode_check_poll(struct ucred *active_cred, struct ucred *file_cred, 126378007886SRobert Watson struct vnode *vp, struct label *vplabel) 12647f724f8bSRobert Watson { 12657f724f8bSRobert Watson 12667f724f8bSRobert Watson return (0); 12677f724f8bSRobert Watson } 12687f724f8bSRobert Watson 12697f724f8bSRobert Watson static int 127030d239bcSRobert Watson stub_vnode_check_read(struct ucred *active_cred, struct ucred *file_cred, 127178007886SRobert Watson struct vnode *vp, struct label *vplabel) 12727f724f8bSRobert Watson { 12737f724f8bSRobert Watson 12747f724f8bSRobert Watson return (0); 12757f724f8bSRobert Watson } 12767f724f8bSRobert Watson 12777f724f8bSRobert Watson static int 127830d239bcSRobert Watson stub_vnode_check_readdir(struct ucred *cred, struct vnode *vp, 127978007886SRobert Watson struct label *dvplabel) 1280d8a7b7a3SRobert Watson { 1281d8a7b7a3SRobert Watson 1282d8a7b7a3SRobert Watson return (0); 1283d8a7b7a3SRobert Watson } 1284d8a7b7a3SRobert Watson 1285d8a7b7a3SRobert Watson static int 128630d239bcSRobert Watson stub_vnode_check_readlink(struct ucred *cred, struct vnode *vp, 128778007886SRobert Watson struct label *vplabel) 1288d8a7b7a3SRobert Watson { 1289d8a7b7a3SRobert Watson 1290d8a7b7a3SRobert Watson return (0); 1291d8a7b7a3SRobert Watson } 1292d8a7b7a3SRobert Watson 1293d8a7b7a3SRobert Watson static int 129430d239bcSRobert Watson stub_vnode_check_relabel(struct ucred *cred, struct vnode *vp, 129578007886SRobert Watson struct label *vplabel, struct label *newlabel) 1296d8a7b7a3SRobert Watson { 1297d8a7b7a3SRobert Watson 1298d8a7b7a3SRobert Watson return (0); 1299d8a7b7a3SRobert Watson } 1300d8a7b7a3SRobert Watson 1301d8a7b7a3SRobert Watson static int 130230d239bcSRobert Watson stub_vnode_check_rename_from(struct ucred *cred, struct vnode *dvp, 130378007886SRobert Watson struct label *dvplabel, struct vnode *vp, struct label *vplabel, 1304d8a7b7a3SRobert Watson struct componentname *cnp) 1305d8a7b7a3SRobert Watson { 1306d8a7b7a3SRobert Watson 1307d8a7b7a3SRobert Watson return (0); 1308d8a7b7a3SRobert Watson } 1309d8a7b7a3SRobert Watson 1310d8a7b7a3SRobert Watson static int 131130d239bcSRobert Watson stub_vnode_check_rename_to(struct ucred *cred, struct vnode *dvp, 131278007886SRobert Watson struct label *dvplabel, struct vnode *vp, struct label *vplabel, 131378007886SRobert Watson int samedir, struct componentname *cnp) 1314d8a7b7a3SRobert Watson { 1315d8a7b7a3SRobert Watson 1316d8a7b7a3SRobert Watson return (0); 1317d8a7b7a3SRobert Watson } 1318d8a7b7a3SRobert Watson 1319d8a7b7a3SRobert Watson static int 132030d239bcSRobert Watson stub_vnode_check_revoke(struct ucred *cred, struct vnode *vp, 132178007886SRobert Watson struct label *vplabel) 1322d8a7b7a3SRobert Watson { 1323d8a7b7a3SRobert Watson 1324d8a7b7a3SRobert Watson return (0); 1325d8a7b7a3SRobert Watson } 1326d8a7b7a3SRobert Watson 1327d8a7b7a3SRobert Watson static int 132830d239bcSRobert Watson stub_vnode_check_setacl(struct ucred *cred, struct vnode *vp, 132978007886SRobert Watson struct label *vplabel, acl_type_t type, struct acl *acl) 1330d8a7b7a3SRobert Watson { 1331d8a7b7a3SRobert Watson 1332d8a7b7a3SRobert Watson return (0); 1333d8a7b7a3SRobert Watson } 1334d8a7b7a3SRobert Watson 1335d8a7b7a3SRobert Watson static int 133630d239bcSRobert Watson stub_vnode_check_setextattr(struct ucred *cred, struct vnode *vp, 133778007886SRobert Watson struct label *vplabel, int attrnamespace, const char *name, 133878007886SRobert Watson struct uio *uio) 1339d8a7b7a3SRobert Watson { 1340d8a7b7a3SRobert Watson 1341d8a7b7a3SRobert Watson return (0); 1342d8a7b7a3SRobert Watson } 1343d8a7b7a3SRobert Watson 1344d8a7b7a3SRobert Watson static int 134530d239bcSRobert Watson stub_vnode_check_setflags(struct ucred *cred, struct vnode *vp, 134678007886SRobert Watson struct label *vplabel, u_long flags) 1347d8a7b7a3SRobert Watson { 1348d8a7b7a3SRobert Watson 1349d8a7b7a3SRobert Watson return (0); 1350d8a7b7a3SRobert Watson } 1351d8a7b7a3SRobert Watson 1352d8a7b7a3SRobert Watson static int 135330d239bcSRobert Watson stub_vnode_check_setmode(struct ucred *cred, struct vnode *vp, 135478007886SRobert Watson struct label *vplabel, mode_t mode) 1355d8a7b7a3SRobert Watson { 1356d8a7b7a3SRobert Watson 1357d8a7b7a3SRobert Watson return (0); 1358d8a7b7a3SRobert Watson } 1359d8a7b7a3SRobert Watson 1360d8a7b7a3SRobert Watson static int 136130d239bcSRobert Watson stub_vnode_check_setowner(struct ucred *cred, struct vnode *vp, 136278007886SRobert Watson struct label *vplabel, uid_t uid, gid_t gid) 1363d8a7b7a3SRobert Watson { 1364d8a7b7a3SRobert Watson 1365d8a7b7a3SRobert Watson return (0); 1366d8a7b7a3SRobert Watson } 1367d8a7b7a3SRobert Watson 1368d8a7b7a3SRobert Watson static int 136930d239bcSRobert Watson stub_vnode_check_setutimes(struct ucred *cred, struct vnode *vp, 137078007886SRobert Watson struct label *vplabel, struct timespec atime, struct timespec mtime) 1371d8a7b7a3SRobert Watson { 1372d8a7b7a3SRobert Watson 1373d8a7b7a3SRobert Watson return (0); 1374d8a7b7a3SRobert Watson } 1375d8a7b7a3SRobert Watson 1376d8a7b7a3SRobert Watson static int 137730d239bcSRobert Watson stub_vnode_check_stat(struct ucred *active_cred, struct ucred *file_cred, 137878007886SRobert Watson struct vnode *vp, struct label *vplabel) 1379d8a7b7a3SRobert Watson { 1380d8a7b7a3SRobert Watson 1381d8a7b7a3SRobert Watson return (0); 1382d8a7b7a3SRobert Watson } 1383d8a7b7a3SRobert Watson 13847f724f8bSRobert Watson static int 138530d239bcSRobert Watson stub_vnode_check_unlink(struct ucred *cred, struct vnode *dvp, 138645e0f3d6SRobert Watson struct label *dvplabel, struct vnode *vp, struct label *vplabel, 138745e0f3d6SRobert Watson struct componentname *cnp) 138845e0f3d6SRobert Watson { 138945e0f3d6SRobert Watson 139045e0f3d6SRobert Watson return (0); 139145e0f3d6SRobert Watson } 139245e0f3d6SRobert Watson 139345e0f3d6SRobert Watson static int 139430d239bcSRobert Watson stub_vnode_check_write(struct ucred *active_cred, struct ucred *file_cred, 139578007886SRobert Watson struct vnode *vp, struct label *vplabel) 13967f724f8bSRobert Watson { 13977f724f8bSRobert Watson 13987f724f8bSRobert Watson return (0); 13997f724f8bSRobert Watson } 14007f724f8bSRobert Watson 1401403b781eSRobert Watson static int 1402eb320b0eSRobert Watson stub_vnode_create_extattr(struct ucred *cred, struct mount *mp, 1403eb320b0eSRobert Watson struct label *mntlabel, struct vnode *dvp, struct label *dvplabel, 1404eb320b0eSRobert Watson struct vnode *vp, struct label *vplabel, struct componentname *cnp) 1405403b781eSRobert Watson { 1406403b781eSRobert Watson 1407403b781eSRobert Watson return (0); 1408403b781eSRobert Watson } 1409403b781eSRobert Watson 1410eb320b0eSRobert Watson static void 1411eb320b0eSRobert Watson stub_vnode_execve_transition(struct ucred *old, struct ucred *new, 1412eb320b0eSRobert Watson struct vnode *vp, struct label *vplabel, struct label *interpvplabel, 1413eb320b0eSRobert Watson struct image_params *imgp, struct label *execlabel) 1414403b781eSRobert Watson { 1415403b781eSRobert Watson 1416403b781eSRobert Watson } 1417403b781eSRobert Watson 1418eb320b0eSRobert Watson static int 1419eb320b0eSRobert Watson stub_vnode_execve_will_transition(struct ucred *old, struct vnode *vp, 1420eb320b0eSRobert Watson struct label *vplabel, struct label *interpvplabel, 1421eb320b0eSRobert Watson struct image_params *imgp, struct label *execlabel) 1422eb320b0eSRobert Watson { 1423eb320b0eSRobert Watson 1424eb320b0eSRobert Watson return (0); 1425eb320b0eSRobert Watson } 1426eb320b0eSRobert Watson 1427eb320b0eSRobert Watson static void 1428eb320b0eSRobert Watson stub_vnode_relabel(struct ucred *cred, struct vnode *vp, 1429eb320b0eSRobert Watson struct label *vplabel, struct label *label) 1430eb320b0eSRobert Watson { 1431eb320b0eSRobert Watson 1432eb320b0eSRobert Watson } 1433eb320b0eSRobert Watson 1434eb320b0eSRobert Watson static int 1435eb320b0eSRobert Watson stub_vnode_setlabel_extattr(struct ucred *cred, struct vnode *vp, 1436eb320b0eSRobert Watson struct label *vplabel, struct label *intlabel) 1437eb320b0eSRobert Watson { 1438eb320b0eSRobert Watson 1439eb320b0eSRobert Watson return (0); 1440eb320b0eSRobert Watson } 1441eb320b0eSRobert Watson 1442eb320b0eSRobert Watson /* 1443eb320b0eSRobert Watson * Register functions with MAC Framework policy entry points. 1444eb320b0eSRobert Watson */ 14453f1a7a90SRobert Watson static struct mac_policy_ops stub_ops = 1446d8a7b7a3SRobert Watson { 14471c3f91cdSRobert Watson .mpo_destroy = stub_destroy, 14481c3f91cdSRobert Watson .mpo_init = stub_init, 14491c3f91cdSRobert Watson .mpo_syscall = stub_syscall, 1450eb320b0eSRobert Watson 1451eb320b0eSRobert Watson .mpo_bpfdesc_check_receive = stub_bpfdesc_check_receive, 1452eb320b0eSRobert Watson .mpo_bpfdesc_create = stub_bpfdesc_create, 1453eb320b0eSRobert Watson .mpo_bpfdesc_create_mbuf = stub_bpfdesc_create_mbuf, 145430d239bcSRobert Watson .mpo_bpfdesc_destroy_label = stub_destroy_label, 1455eb320b0eSRobert Watson .mpo_bpfdesc_init_label = stub_init_label, 1456eb320b0eSRobert Watson 1457eb320b0eSRobert Watson .mpo_cred_check_relabel = stub_cred_check_relabel, 1458eb320b0eSRobert Watson .mpo_cred_check_visible = stub_cred_check_visible, 145930d239bcSRobert Watson .mpo_cred_copy_label = stub_copy_label, 1460eb320b0eSRobert Watson .mpo_cred_destroy_label = stub_destroy_label, 146130d239bcSRobert Watson .mpo_cred_externalize_label = stub_externalize_label, 1462eb320b0eSRobert Watson .mpo_cred_init_label = stub_init_label, 146330d239bcSRobert Watson .mpo_cred_internalize_label = stub_internalize_label, 1464eb320b0eSRobert Watson .mpo_cred_relabel= stub_cred_relabel, 1465eb320b0eSRobert Watson 146630d239bcSRobert Watson .mpo_devfs_create_device = stub_devfs_create_device, 146730d239bcSRobert Watson .mpo_devfs_create_directory = stub_devfs_create_directory, 146830d239bcSRobert Watson .mpo_devfs_create_symlink = stub_devfs_create_symlink, 1469eb320b0eSRobert Watson .mpo_devfs_destroy_label = stub_destroy_label, 1470eb320b0eSRobert Watson .mpo_devfs_init_label = stub_init_label, 147130d239bcSRobert Watson .mpo_devfs_update = stub_devfs_update, 1472eb320b0eSRobert Watson .mpo_devfs_vnode_associate = stub_devfs_vnode_associate, 1473eb320b0eSRobert Watson 147430d239bcSRobert Watson .mpo_ifnet_check_relabel = stub_ifnet_check_relabel, 147530d239bcSRobert Watson .mpo_ifnet_check_transmit = stub_ifnet_check_transmit, 1476eb320b0eSRobert Watson .mpo_ifnet_copy_label = stub_copy_label, 1477eb320b0eSRobert Watson .mpo_ifnet_create = stub_ifnet_create, 1478eb320b0eSRobert Watson .mpo_ifnet_create_mbuf = stub_ifnet_create_mbuf, 1479eb320b0eSRobert Watson .mpo_ifnet_destroy_label = stub_destroy_label, 1480eb320b0eSRobert Watson .mpo_ifnet_externalize_label = stub_externalize_label, 1481eb320b0eSRobert Watson .mpo_ifnet_init_label = stub_init_label, 1482eb320b0eSRobert Watson .mpo_ifnet_internalize_label = stub_internalize_label, 1483eb320b0eSRobert Watson .mpo_ifnet_relabel = stub_ifnet_relabel, 1484eb320b0eSRobert Watson 148530d239bcSRobert Watson .mpo_inpcb_check_deliver = stub_inpcb_check_deliver, 1486eb320b0eSRobert Watson .mpo_inpcb_create = stub_inpcb_create, 1487eb320b0eSRobert Watson .mpo_inpcb_create_mbuf = stub_inpcb_create_mbuf, 1488eb320b0eSRobert Watson .mpo_inpcb_destroy_label = stub_destroy_label, 1489eb320b0eSRobert Watson .mpo_inpcb_init_label = stub_init_label_waitcheck, 1490eb320b0eSRobert Watson .mpo_inpcb_sosetlabel = stub_inpcb_sosetlabel, 1491eb320b0eSRobert Watson 1492eb320b0eSRobert Watson .mpo_ipq_create = stub_ipq_create, 1493eb320b0eSRobert Watson .mpo_ipq_destroy_label = stub_destroy_label, 1494eb320b0eSRobert Watson .mpo_ipq_init_label = stub_init_label_waitcheck, 1495eb320b0eSRobert Watson .mpo_ipq_match = stub_ipq_match, 1496eb320b0eSRobert Watson .mpo_ipq_update = stub_ipq_update, 1497eb320b0eSRobert Watson .mpo_ipq_reassemble = stub_ipq_reassemble, 1498eb320b0eSRobert Watson 149930d239bcSRobert Watson .mpo_kenv_check_dump = stub_kenv_check_dump, 150030d239bcSRobert Watson .mpo_kenv_check_get = stub_kenv_check_get, 150130d239bcSRobert Watson .mpo_kenv_check_set = stub_kenv_check_set, 150230d239bcSRobert Watson .mpo_kenv_check_unset = stub_kenv_check_unset, 1503eb320b0eSRobert Watson 150430d239bcSRobert Watson .mpo_kld_check_load = stub_kld_check_load, 150530d239bcSRobert Watson .mpo_kld_check_stat = stub_kld_check_stat, 1506eb320b0eSRobert Watson 1507eb320b0eSRobert Watson .mpo_mbuf_copy_label = stub_copy_label, 1508eb320b0eSRobert Watson .mpo_mbuf_destroy_label = stub_destroy_label, 1509eb320b0eSRobert Watson .mpo_mbuf_init_label = stub_init_label_waitcheck, 1510eb320b0eSRobert Watson 151130d239bcSRobert Watson .mpo_mount_check_stat = stub_mount_check_stat, 1512eb320b0eSRobert Watson .mpo_mount_create = stub_mount_create, 1513eb320b0eSRobert Watson .mpo_mount_destroy_label = stub_destroy_label, 1514eb320b0eSRobert Watson .mpo_mount_init_label = stub_init_label, 1515eb320b0eSRobert Watson 1516eb320b0eSRobert Watson .mpo_netatalk_aarp_send = stub_netatalk_aarp_send, 1517eb320b0eSRobert Watson 1518eb320b0eSRobert Watson .mpo_netinet_arp_send = stub_netinet_arp_send, 1519eb320b0eSRobert Watson .mpo_netinet_firewall_reply = stub_netinet_firewall_reply, 1520eb320b0eSRobert Watson .mpo_netinet_firewall_send = stub_netinet_firewall_send, 1521eb320b0eSRobert Watson .mpo_netinet_fragment = stub_netinet_fragment, 1522eb320b0eSRobert Watson .mpo_netinet_icmp_reply = stub_netinet_icmp_reply, 1523eb320b0eSRobert Watson .mpo_netinet_icmp_replyinplace = stub_netinet_icmp_replyinplace, 1524eb320b0eSRobert Watson .mpo_netinet_tcp_reply = stub_netinet_tcp_reply, 1525eb320b0eSRobert Watson .mpo_netinet_igmp_send = stub_netinet_igmp_send, 1526eb320b0eSRobert Watson 1527eb320b0eSRobert Watson .mpo_netinet6_nd6_send = stub_netinet6_nd6_send, 1528eb320b0eSRobert Watson 152930d239bcSRobert Watson .mpo_pipe_check_ioctl = stub_pipe_check_ioctl, 153030d239bcSRobert Watson .mpo_pipe_check_poll = stub_pipe_check_poll, 153130d239bcSRobert Watson .mpo_pipe_check_read = stub_pipe_check_read, 153230d239bcSRobert Watson .mpo_pipe_check_relabel = stub_pipe_check_relabel, 153330d239bcSRobert Watson .mpo_pipe_check_stat = stub_pipe_check_stat, 153430d239bcSRobert Watson .mpo_pipe_check_write = stub_pipe_check_write, 1535eb320b0eSRobert Watson .mpo_pipe_copy_label = stub_copy_label, 1536eb320b0eSRobert Watson .mpo_pipe_create = stub_pipe_create, 1537eb320b0eSRobert Watson .mpo_pipe_destroy_label = stub_destroy_label, 1538eb320b0eSRobert Watson .mpo_pipe_externalize_label = stub_externalize_label, 1539eb320b0eSRobert Watson .mpo_pipe_init_label = stub_init_label, 1540eb320b0eSRobert Watson .mpo_pipe_internalize_label = stub_internalize_label, 1541eb320b0eSRobert Watson .mpo_pipe_relabel = stub_pipe_relabel, 1542eb320b0eSRobert Watson 154330d239bcSRobert Watson .mpo_posixsem_check_destroy = stub_posixsem_check_destroy, 154430d239bcSRobert Watson .mpo_posixsem_check_getvalue = stub_posixsem_check_getvalue, 154530d239bcSRobert Watson .mpo_posixsem_check_open = stub_posixsem_check_open, 154630d239bcSRobert Watson .mpo_posixsem_check_post = stub_posixsem_check_post, 154730d239bcSRobert Watson .mpo_posixsem_check_unlink = stub_posixsem_check_unlink, 154830d239bcSRobert Watson .mpo_posixsem_check_wait = stub_posixsem_check_wait, 1549eb320b0eSRobert Watson .mpo_posixsem_create = stub_posixsem_create, 1550eb320b0eSRobert Watson .mpo_posixsem_destroy_label = stub_destroy_label, 1551eb320b0eSRobert Watson .mpo_posixsem_init_label = stub_init_label, 1552eb320b0eSRobert Watson 1553eb320b0eSRobert Watson .mpo_priv_check = stub_priv_check, 1554eb320b0eSRobert Watson .mpo_priv_grant = stub_priv_grant, 1555eb320b0eSRobert Watson 1556eb320b0eSRobert Watson .mpo_proc_associate_nfsd = stub_proc_associate_nfsd, 155730d239bcSRobert Watson .mpo_proc_check_debug = stub_proc_check_debug, 155830d239bcSRobert Watson .mpo_proc_check_sched = stub_proc_check_sched, 155930d239bcSRobert Watson .mpo_proc_check_setaudit = stub_proc_check_setaudit, 156030d239bcSRobert Watson .mpo_proc_check_setaudit_addr = stub_proc_check_setaudit_addr, 156130d239bcSRobert Watson .mpo_proc_check_setauid = stub_proc_check_setauid, 1562eb320b0eSRobert Watson .mpo_proc_check_setegid = stub_proc_check_setegid, 156330d239bcSRobert Watson .mpo_proc_check_seteuid = stub_proc_check_seteuid, 156430d239bcSRobert Watson .mpo_proc_check_setgid = stub_proc_check_setgid, 156530d239bcSRobert Watson .mpo_proc_check_setgroups = stub_proc_check_setgroups, 156630d239bcSRobert Watson .mpo_proc_check_setregid = stub_proc_check_setregid, 156730d239bcSRobert Watson .mpo_proc_check_setresgid = stub_proc_check_setresgid, 1568eb320b0eSRobert Watson .mpo_proc_check_setresuid = stub_proc_check_setresuid, 1569eb320b0eSRobert Watson .mpo_proc_check_setreuid = stub_proc_check_setreuid, 1570eb320b0eSRobert Watson .mpo_proc_check_setuid = stub_proc_check_setuid, 157130d239bcSRobert Watson .mpo_proc_check_signal = stub_proc_check_signal, 157230d239bcSRobert Watson .mpo_proc_check_wait = stub_proc_check_wait, 1573eb320b0eSRobert Watson .mpo_proc_create_init = stub_proc_create_init, 1574eb320b0eSRobert Watson .mpo_proc_create_swapper = stub_proc_create_swapper, 1575eb320b0eSRobert Watson 157630d239bcSRobert Watson .mpo_socket_check_accept = stub_socket_check_accept, 157730d239bcSRobert Watson .mpo_socket_check_bind = stub_socket_check_bind, 157830d239bcSRobert Watson .mpo_socket_check_connect = stub_socket_check_connect, 157930d239bcSRobert Watson .mpo_socket_check_create = stub_socket_check_create, 158030d239bcSRobert Watson .mpo_socket_check_deliver = stub_socket_check_deliver, 158130d239bcSRobert Watson .mpo_socket_check_listen = stub_socket_check_listen, 158230d239bcSRobert Watson .mpo_socket_check_poll = stub_socket_check_poll, 158330d239bcSRobert Watson .mpo_socket_check_receive = stub_socket_check_receive, 158430d239bcSRobert Watson .mpo_socket_check_relabel = stub_socket_check_relabel, 158530d239bcSRobert Watson .mpo_socket_check_send = stub_socket_check_send, 158630d239bcSRobert Watson .mpo_socket_check_stat = stub_socket_check_stat, 158730d239bcSRobert Watson .mpo_socket_check_visible = stub_socket_check_visible, 1588eb320b0eSRobert Watson .mpo_socket_copy_label = stub_copy_label, 1589eb320b0eSRobert Watson .mpo_socket_create = stub_socket_create, 1590eb320b0eSRobert Watson .mpo_socket_create_mbuf = stub_socket_create_mbuf, 1591eb320b0eSRobert Watson .mpo_socket_destroy_label = stub_destroy_label, 1592eb320b0eSRobert Watson .mpo_socket_externalize_label = stub_externalize_label, 1593eb320b0eSRobert Watson .mpo_socket_init_label = stub_init_label_waitcheck, 1594eb320b0eSRobert Watson .mpo_socket_internalize_label = stub_internalize_label, 1595eb320b0eSRobert Watson .mpo_socket_newconn = stub_socket_newconn, 1596eb320b0eSRobert Watson .mpo_socket_relabel = stub_socket_relabel, 1597eb320b0eSRobert Watson 1598eb320b0eSRobert Watson .mpo_socketpeer_destroy_label = stub_destroy_label, 1599eb320b0eSRobert Watson .mpo_socketpeer_externalize_label = stub_externalize_label, 1600eb320b0eSRobert Watson .mpo_socketpeer_init_label = stub_init_label_waitcheck, 1601eb320b0eSRobert Watson .mpo_socketpeer_set_from_mbuf = stub_socketpeer_set_from_mbuf, 1602eb320b0eSRobert Watson .mpo_socketpeer_set_from_socket = stub_socketpeer_set_from_socket, 1603eb320b0eSRobert Watson 1604eb320b0eSRobert Watson .mpo_syncache_init_label = stub_init_label_waitcheck, 1605eb320b0eSRobert Watson .mpo_syncache_destroy_label = stub_destroy_label, 1606eb320b0eSRobert Watson .mpo_syncache_create = stub_syncache_create, 1607eb320b0eSRobert Watson .mpo_syncache_create_mbuf= stub_syncache_create_mbuf, 1608eb320b0eSRobert Watson 1609eb320b0eSRobert Watson .mpo_sysvmsg_cleanup = stub_sysvmsg_cleanup, 1610eb320b0eSRobert Watson .mpo_sysvmsg_create = stub_sysvmsg_create, 1611eb320b0eSRobert Watson .mpo_sysvmsg_destroy_label = stub_destroy_label, 1612eb320b0eSRobert Watson .mpo_sysvmsg_init_label = stub_init_label, 1613eb320b0eSRobert Watson 1614eb320b0eSRobert Watson .mpo_sysvmsq_check_msgmsq = stub_sysvmsq_check_msgmsq, 1615eb320b0eSRobert Watson .mpo_sysvmsq_check_msgrcv = stub_sysvmsq_check_msgrcv, 1616eb320b0eSRobert Watson .mpo_sysvmsq_check_msgrmid = stub_sysvmsq_check_msgrmid, 1617eb320b0eSRobert Watson .mpo_sysvmsq_check_msqget = stub_sysvmsq_check_msqget, 1618eb320b0eSRobert Watson .mpo_sysvmsq_check_msqsnd = stub_sysvmsq_check_msqsnd, 1619eb320b0eSRobert Watson .mpo_sysvmsq_check_msqrcv = stub_sysvmsq_check_msqrcv, 1620eb320b0eSRobert Watson .mpo_sysvmsq_check_msqctl = stub_sysvmsq_check_msqctl, 1621eb320b0eSRobert Watson .mpo_sysvmsq_cleanup = stub_sysvmsq_cleanup, 1622eb320b0eSRobert Watson .mpo_sysvmsq_create = stub_sysvmsq_create, 1623eb320b0eSRobert Watson .mpo_sysvmsq_destroy_label = stub_destroy_label, 1624eb320b0eSRobert Watson .mpo_sysvmsq_init_label = stub_init_label, 1625eb320b0eSRobert Watson 1626eb320b0eSRobert Watson .mpo_sysvsem_check_semctl = stub_sysvsem_check_semctl, 1627eb320b0eSRobert Watson .mpo_sysvsem_check_semget = stub_sysvsem_check_semget, 1628eb320b0eSRobert Watson .mpo_sysvsem_check_semop = stub_sysvsem_check_semop, 1629eb320b0eSRobert Watson .mpo_sysvsem_cleanup = stub_sysvsem_cleanup, 1630eb320b0eSRobert Watson .mpo_sysvsem_create = stub_sysvsem_create, 1631eb320b0eSRobert Watson .mpo_sysvsem_destroy_label = stub_destroy_label, 1632eb320b0eSRobert Watson .mpo_sysvsem_init_label = stub_init_label, 1633eb320b0eSRobert Watson 1634eb320b0eSRobert Watson .mpo_sysvshm_check_shmat = stub_sysvshm_check_shmat, 1635eb320b0eSRobert Watson .mpo_sysvshm_check_shmctl = stub_sysvshm_check_shmctl, 1636eb320b0eSRobert Watson .mpo_sysvshm_check_shmdt = stub_sysvshm_check_shmdt, 1637eb320b0eSRobert Watson .mpo_sysvshm_check_shmget = stub_sysvshm_check_shmget, 1638eb320b0eSRobert Watson .mpo_sysvshm_cleanup = stub_sysvshm_cleanup, 1639eb320b0eSRobert Watson .mpo_sysvshm_create = stub_sysvshm_create, 1640eb320b0eSRobert Watson .mpo_sysvshm_destroy_label = stub_destroy_label, 1641eb320b0eSRobert Watson .mpo_sysvshm_init_label = stub_init_label, 1642eb320b0eSRobert Watson 164330d239bcSRobert Watson .mpo_system_check_acct = stub_system_check_acct, 164430d239bcSRobert Watson .mpo_system_check_audit = stub_system_check_audit, 164530d239bcSRobert Watson .mpo_system_check_auditctl = stub_system_check_auditctl, 164630d239bcSRobert Watson .mpo_system_check_auditon = stub_system_check_auditon, 164730d239bcSRobert Watson .mpo_system_check_reboot = stub_system_check_reboot, 164830d239bcSRobert Watson .mpo_system_check_swapoff = stub_system_check_swapoff, 164930d239bcSRobert Watson .mpo_system_check_swapon = stub_system_check_swapon, 165030d239bcSRobert Watson .mpo_system_check_sysctl = stub_system_check_sysctl, 1651eb320b0eSRobert Watson 1652eb320b0eSRobert Watson .mpo_thread_userret = stub_thread_userret, 1653eb320b0eSRobert Watson 1654eb320b0eSRobert Watson .mpo_vnode_associate_extattr = stub_vnode_associate_extattr, 1655eb320b0eSRobert Watson .mpo_vnode_associate_singlelabel = stub_vnode_associate_singlelabel, 165630d239bcSRobert Watson .mpo_vnode_check_access = stub_vnode_check_access, 165730d239bcSRobert Watson .mpo_vnode_check_chdir = stub_vnode_check_chdir, 165830d239bcSRobert Watson .mpo_vnode_check_chroot = stub_vnode_check_chroot, 165930d239bcSRobert Watson .mpo_vnode_check_create = stub_vnode_check_create, 166030d239bcSRobert Watson .mpo_vnode_check_deleteacl = stub_vnode_check_deleteacl, 166130d239bcSRobert Watson .mpo_vnode_check_deleteextattr = stub_vnode_check_deleteextattr, 166230d239bcSRobert Watson .mpo_vnode_check_exec = stub_vnode_check_exec, 166330d239bcSRobert Watson .mpo_vnode_check_getacl = stub_vnode_check_getacl, 166430d239bcSRobert Watson .mpo_vnode_check_getextattr = stub_vnode_check_getextattr, 166530d239bcSRobert Watson .mpo_vnode_check_link = stub_vnode_check_link, 166630d239bcSRobert Watson .mpo_vnode_check_listextattr = stub_vnode_check_listextattr, 166730d239bcSRobert Watson .mpo_vnode_check_lookup = stub_vnode_check_lookup, 166830d239bcSRobert Watson .mpo_vnode_check_mmap = stub_vnode_check_mmap, 166930d239bcSRobert Watson .mpo_vnode_check_mmap_downgrade = stub_vnode_check_mmap_downgrade, 167030d239bcSRobert Watson .mpo_vnode_check_mprotect = stub_vnode_check_mprotect, 167130d239bcSRobert Watson .mpo_vnode_check_open = stub_vnode_check_open, 167230d239bcSRobert Watson .mpo_vnode_check_poll = stub_vnode_check_poll, 167330d239bcSRobert Watson .mpo_vnode_check_read = stub_vnode_check_read, 167430d239bcSRobert Watson .mpo_vnode_check_readdir = stub_vnode_check_readdir, 167530d239bcSRobert Watson .mpo_vnode_check_readlink = stub_vnode_check_readlink, 167630d239bcSRobert Watson .mpo_vnode_check_relabel = stub_vnode_check_relabel, 167730d239bcSRobert Watson .mpo_vnode_check_rename_from = stub_vnode_check_rename_from, 167830d239bcSRobert Watson .mpo_vnode_check_rename_to = stub_vnode_check_rename_to, 167930d239bcSRobert Watson .mpo_vnode_check_revoke = stub_vnode_check_revoke, 168030d239bcSRobert Watson .mpo_vnode_check_setacl = stub_vnode_check_setacl, 168130d239bcSRobert Watson .mpo_vnode_check_setextattr = stub_vnode_check_setextattr, 168230d239bcSRobert Watson .mpo_vnode_check_setflags = stub_vnode_check_setflags, 168330d239bcSRobert Watson .mpo_vnode_check_setmode = stub_vnode_check_setmode, 168430d239bcSRobert Watson .mpo_vnode_check_setowner = stub_vnode_check_setowner, 168530d239bcSRobert Watson .mpo_vnode_check_setutimes = stub_vnode_check_setutimes, 168630d239bcSRobert Watson .mpo_vnode_check_stat = stub_vnode_check_stat, 168730d239bcSRobert Watson .mpo_vnode_check_unlink = stub_vnode_check_unlink, 168830d239bcSRobert Watson .mpo_vnode_check_write = stub_vnode_check_write, 1689eb320b0eSRobert Watson .mpo_vnode_copy_label = stub_copy_label, 1690eb320b0eSRobert Watson .mpo_vnode_create_extattr = stub_vnode_create_extattr, 1691eb320b0eSRobert Watson .mpo_vnode_destroy_label = stub_destroy_label, 1692eb320b0eSRobert Watson .mpo_vnode_execve_transition = stub_vnode_execve_transition, 1693eb320b0eSRobert Watson .mpo_vnode_execve_will_transition = stub_vnode_execve_will_transition, 1694eb320b0eSRobert Watson .mpo_vnode_externalize_label = stub_externalize_label, 1695eb320b0eSRobert Watson .mpo_vnode_init_label = stub_init_label, 1696eb320b0eSRobert Watson .mpo_vnode_internalize_label = stub_internalize_label, 1697eb320b0eSRobert Watson .mpo_vnode_relabel = stub_vnode_relabel, 1698eb320b0eSRobert Watson .mpo_vnode_setlabel_extattr = stub_vnode_setlabel_extattr, 1699d8a7b7a3SRobert Watson }; 1700d8a7b7a3SRobert Watson 17013f1a7a90SRobert Watson MAC_POLICY_SET(&stub_ops, mac_stub, "TrustedBSD MAC/Stub", 1702740348c4SRobert Watson MPC_LOADTIME_FLAG_UNLOADOK, NULL); 1703