avc.h (1a37079c236d55fb31ebbf4b59945dab8ec8764c) avc.h (0188d5c025ca8fe756ba3193bd7d150139af5a88)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Access vector cache interface for object managers.
4 *
5 * Author : Stephen Smalley, <sds@tycho.nsa.gov>
6 */
7#ifndef _SELINUX_AVC_H_
8#define _SELINUX_AVC_H_

--- 86 unchanged lines hidden (view full) ---

95 audited = requested & avd->auditallow;
96 *deniedp = denied;
97 return audited;
98}
99
100int slow_avc_audit(struct selinux_state *state,
101 u32 ssid, u32 tsid, u16 tclass,
102 u32 requested, u32 audited, u32 denied, int result,
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Access vector cache interface for object managers.
4 *
5 * Author : Stephen Smalley, <sds@tycho.nsa.gov>
6 */
7#ifndef _SELINUX_AVC_H_
8#define _SELINUX_AVC_H_

--- 86 unchanged lines hidden (view full) ---

95 audited = requested & avd->auditallow;
96 *deniedp = denied;
97 return audited;
98}
99
100int slow_avc_audit(struct selinux_state *state,
101 u32 ssid, u32 tsid, u16 tclass,
102 u32 requested, u32 audited, u32 denied, int result,
103 struct common_audit_data *a,
104 unsigned flags);
103 struct common_audit_data *a);
105
106/**
107 * avc_audit - Audit the granting or denial of permissions.
108 * @ssid: source security identifier
109 * @tsid: target security identifier
110 * @tclass: target security class
111 * @requested: requested permissions
112 * @avd: access vector decisions

--- 17 unchanged lines hidden (view full) ---

130 int result,
131 struct common_audit_data *a,
132 int flags)
133{
134 u32 audited, denied;
135 audited = avc_audit_required(requested, avd, result, 0, &denied);
136 if (likely(!audited))
137 return 0;
104
105/**
106 * avc_audit - Audit the granting or denial of permissions.
107 * @ssid: source security identifier
108 * @tsid: target security identifier
109 * @tclass: target security class
110 * @requested: requested permissions
111 * @avd: access vector decisions

--- 17 unchanged lines hidden (view full) ---

129 int result,
130 struct common_audit_data *a,
131 int flags)
132{
133 u32 audited, denied;
134 audited = avc_audit_required(requested, avd, result, 0, &denied);
135 if (likely(!audited))
136 return 0;
137 /* fall back to ref-walk if we have to generate audit */
138 if (flags & MAY_NOT_BLOCK)
139 return -ECHILD;
138 return slow_avc_audit(state, ssid, tsid, tclass,
139 requested, audited, denied, result,
140 return slow_avc_audit(state, ssid, tsid, tclass,
141 requested, audited, denied, result,
140 a, flags);
142 a);
141}
142
143#define AVC_STRICT 1 /* Ignore permissive mode. */
144#define AVC_EXTENDED_PERMS 2 /* update extended permissions */
145#define AVC_NONBLOCKING 4 /* non blocking */
146int avc_has_perm_noaudit(struct selinux_state *state,
147 u32 ssid, u32 tsid,
148 u16 tclass, u32 requested,

--- 48 unchanged lines hidden ---
143}
144
145#define AVC_STRICT 1 /* Ignore permissive mode. */
146#define AVC_EXTENDED_PERMS 2 /* update extended permissions */
147#define AVC_NONBLOCKING 4 /* non blocking */
148int avc_has_perm_noaudit(struct selinux_state *state,
149 u32 ssid, u32 tsid,
150 u16 tclass, u32 requested,

--- 48 unchanged lines hidden ---