2078
2079 int
2080 secpolicy_chroot(const cred_t *cr)
2081 {
2082 return (PRIV_POLICY(cr, PRIV_PROC_CHROOT, B_FALSE, EPERM, NULL));
2083 }
2084
2085 int
2086 secpolicy_tasksys(const cred_t *cr)
2087 {
2088 return (PRIV_POLICY(cr, PRIV_PROC_TASKID, B_FALSE, EPERM, NULL));
2089 }
2090
2091 int
2092 secpolicy_meminfo(const cred_t *cr)
2093 {
2094 return (PRIV_POLICY(cr, PRIV_PROC_MEMINFO, B_FALSE, EPERM, NULL));
2095 }
2096
2097 int
2098 secpolicy_fs_import(const cred_t *cr)
2099 {
2100 return (PRIV_POLICY(cr, PRIV_SYS_FS_IMPORT, B_FALSE, EPERM, NULL));
2101 }
2102
2103
2104 int
2105 secpolicy_pfexec_register(const cred_t *cr)
2106 {
2107 return (PRIV_POLICY(cr, PRIV_SYS_ADMIN, B_TRUE, EPERM, NULL));
2108 }
2109
2110 /*
2111 * Basic privilege checks.
2112 */
2113 int
2114 secpolicy_basic_exec(const cred_t *cr, vnode_t *vp)
2115 {
2116 FAST_BASIC_CHECK(cr, PRIV_PROC_EXEC);
2117
2118 return (priv_policy_va(cr, PRIV_PROC_EXEC, B_FALSE, EPERM, NULL,
2119 KLPDARG_VNODE, vp, (char *)NULL, KLPDARG_NOMORE));
2120 }
2121
2122 int
2123 secpolicy_basic_fork(const cred_t *cr)
2124 {
2587 int
2588 secpolicy_xvm_control(const cred_t *cr)
2589 {
2590 if (PRIV_POLICY(cr, PRIV_XVM_CONTROL, B_FALSE, EPERM, NULL))
2591 return (EPERM);
2592 return (0);
2593 }
2594
2595 /*
2596 * secpolicy_ppp_config
2597 *
2598 * Determine if the subject has sufficient privileges to configure PPP and
2599 * PPP-related devices.
2600 */
2601 int
2602 secpolicy_ppp_config(const cred_t *cr)
2603 {
2604 if (PRIV_POLICY_ONLY(cr, PRIV_SYS_NET_CONFIG, B_FALSE))
2605 return (secpolicy_net_config(cr, B_FALSE));
2606 return (PRIV_POLICY(cr, PRIV_SYS_PPP_CONFIG, B_FALSE, EPERM, NULL));
2607 }
2608
2609 int
2610 secpolicy_hyprlofs_control(const cred_t *cr)
2611 {
2612 if (PRIV_POLICY(cr, PRIV_HYPRLOFS_CONTROL, B_FALSE, EPERM, NULL))
2613 return (EPERM);
2614 return (0);
2615 }
|
2078
2079 int
2080 secpolicy_chroot(const cred_t *cr)
2081 {
2082 return (PRIV_POLICY(cr, PRIV_PROC_CHROOT, B_FALSE, EPERM, NULL));
2083 }
2084
2085 int
2086 secpolicy_tasksys(const cred_t *cr)
2087 {
2088 return (PRIV_POLICY(cr, PRIV_PROC_TASKID, B_FALSE, EPERM, NULL));
2089 }
2090
2091 int
2092 secpolicy_meminfo(const cred_t *cr)
2093 {
2094 return (PRIV_POLICY(cr, PRIV_PROC_MEMINFO, B_FALSE, EPERM, NULL));
2095 }
2096
2097 int
2098 secpolicy_pfexec_register(const cred_t *cr)
2099 {
2100 return (PRIV_POLICY(cr, PRIV_SYS_ADMIN, B_TRUE, EPERM, NULL));
2101 }
2102
2103 /*
2104 * Basic privilege checks.
2105 */
2106 int
2107 secpolicy_basic_exec(const cred_t *cr, vnode_t *vp)
2108 {
2109 FAST_BASIC_CHECK(cr, PRIV_PROC_EXEC);
2110
2111 return (priv_policy_va(cr, PRIV_PROC_EXEC, B_FALSE, EPERM, NULL,
2112 KLPDARG_VNODE, vp, (char *)NULL, KLPDARG_NOMORE));
2113 }
2114
2115 int
2116 secpolicy_basic_fork(const cred_t *cr)
2117 {
2580 int
2581 secpolicy_xvm_control(const cred_t *cr)
2582 {
2583 if (PRIV_POLICY(cr, PRIV_XVM_CONTROL, B_FALSE, EPERM, NULL))
2584 return (EPERM);
2585 return (0);
2586 }
2587
2588 /*
2589 * secpolicy_ppp_config
2590 *
2591 * Determine if the subject has sufficient privileges to configure PPP and
2592 * PPP-related devices.
2593 */
2594 int
2595 secpolicy_ppp_config(const cred_t *cr)
2596 {
2597 if (PRIV_POLICY_ONLY(cr, PRIV_SYS_NET_CONFIG, B_FALSE))
2598 return (secpolicy_net_config(cr, B_FALSE));
2599 return (PRIV_POLICY(cr, PRIV_SYS_PPP_CONFIG, B_FALSE, EPERM, NULL));
2600 }
|