cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

audit.h (1974B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * SELinux support for the Audit LSM hooks
      4 *
      5 * Author: James Morris <jmorris@redhat.com>
      6 *
      7 * Copyright (C) 2005 Red Hat, Inc., James Morris <jmorris@redhat.com>
      8 * Copyright (C) 2006 Trusted Computer Solutions, Inc. <dgoeddel@trustedcs.com>
      9 * Copyright (C) 2006 IBM Corporation, Timothy R. Chavez <tinytim@us.ibm.com>
     10 */
     11
     12#ifndef _SELINUX_AUDIT_H
     13#define _SELINUX_AUDIT_H
     14
     15#include <linux/audit.h>
     16#include <linux/types.h>
     17
     18/**
     19 *	selinux_audit_rule_init - alloc/init an selinux audit rule structure.
     20 *	@field: the field this rule refers to
     21 *	@op: the operater the rule uses
     22 *	@rulestr: the text "target" of the rule
     23 *	@rule: pointer to the new rule structure returned via this
     24 *
     25 *	Returns 0 if successful, -errno if not.  On success, the rule structure
     26 *	will be allocated internally.  The caller must free this structure with
     27 *	selinux_audit_rule_free() after use.
     28 */
     29int selinux_audit_rule_init(u32 field, u32 op, char *rulestr, void **rule);
     30
     31/**
     32 *	selinux_audit_rule_free - free an selinux audit rule structure.
     33 *	@rule: pointer to the audit rule to be freed
     34 *
     35 *	This will free all memory associated with the given rule.
     36 *	If @rule is NULL, no operation is performed.
     37 */
     38void selinux_audit_rule_free(void *rule);
     39
     40/**
     41 *	selinux_audit_rule_match - determine if a context ID matches a rule.
     42 *	@sid: the context ID to check
     43 *	@field: the field this rule refers to
     44 *	@op: the operater the rule uses
     45 *	@rule: pointer to the audit rule to check against
     46 *
     47 *	Returns 1 if the context id matches the rule, 0 if it does not, and
     48 *	-errno on failure.
     49 */
     50int selinux_audit_rule_match(u32 sid, u32 field, u32 op, void *rule);
     51
     52/**
     53 *	selinux_audit_rule_known - check to see if rule contains selinux fields.
     54 *	@rule: rule to be checked
     55 *	Returns 1 if there are selinux fields specified in the rule, 0 otherwise.
     56 */
     57int selinux_audit_rule_known(struct audit_krule *rule);
     58
     59#endif /* _SELINUX_AUDIT_H */
     60