aci_data_structures.c File Reference

#include <linux/types.h>
#include <linux/version.h>
#include <linux/fs.h>
#include <linux/sched.h>
#include <linux/quotaops.h>
#include <linux/proc_fs.h>
#include <linux/msdos_fs.h>
#include <linux/iso_fs.h>
#include <linux/nfs_fs.h>
#include <linux/ext2_fs.h>
#include <linux/coda.h>
#include <linux/initrd.h>
#include <linux/security.h>
#include <linux/syscalls.h>
#include <linux/coda_psdev.h>
#include <linux/ncp_fs.h>
#include <linux/smb.h>
#include <linux/dnotify.h>
#include <linux/mm.h>
#include <linux/blkdev.h>
#include <linux/init.h>
#include <linux/config.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/inetdevice.h>
#include <asm/uaccess.h>
#include <asm/atomic.h>
#include <rsbac/types.h>
#include <rsbac/aci.h>
#include <rsbac/aci_data_structures.h>
#include <rsbac/error.h>
#include <rsbac/helpers.h>
#include <rsbac/fs.h>
#include <rsbac/getname.h>
#include <rsbac/net_getname.h>
#include <rsbac/adf.h>
#include <rsbac/adf_main.h>
#include <rsbac/reg.h>
#include <rsbac/rkmem.h>
#include <rsbac/gen_lists.h>
#include <linux/string.h>
#include <linux/kdev_t.h>
#include <linux/smp_lock.h>

Go to the source code of this file.

Defines

#define check_parent(dir, dentry)   ((dir) == (dentry)->d_parent && !list_empty(&dentry->d_bucket))

Functions

 DECLARE_MUTEX (rsbac_write_sem)
static struct rsbac_device_list_item_t * lookup_device (kdev_t)
static int gen_fd_hash (u_long inode)
rsbac_boolean_t writable (struct super_block *sb_p)
static int lookup_aci_path_dentry (struct super_block *sb_p, struct dentry **dir_dentry_pp, rsbac_boolean_t create_dir, kdev_t kdev)
static int dev_compare (void *desc1, void *desc2)
static int ipc_compare (void *desc1, void *desc2)
static int gen_fd_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
static int gen_fd_old_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
static int gen_fd_old_old_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
static int gen_fd_old_old_old_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
static int gen_fd_old_old_old_old_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
rsbac_list_conv_function_tgen_fd_get_conv (rsbac_version_t old_version)
static int gen_dev_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
rsbac_list_conv_function_tgen_dev_get_conv (rsbac_version_t old_version)
static int register_fd_lists (struct rsbac_device_list_item_t *device_p, kdev_t kdev)
static int aci_detach_fd_lists (struct rsbac_device_list_item_t *device_p)
static struct rsbac_device_list_item_t * create_device_item (struct super_block *sb_p, struct dentry *d_covers)
static struct rsbac_device_list_item_t * add_device_item (struct rsbac_device_list_item_t *device_p)
static void clear_device_item (struct rsbac_device_list_item_t *item_p)
static void remove_device_item (kdev_t kdev)
static int rsbac_clear_file (struct dentry *dentry)
static void wakeup_auto (u_long dummy)
super_block * rsbac_get_super_block (kdev_t kdev)
int rsbac_read_open (char *name, struct file *file_p, kdev_t kdev)
int rsbac_write_open (char *name, struct file *file_p, kdev_t kdev)
void rsbac_read_close (struct file *file_p)
void rsbac_write_close (struct file *file_p)
int rsbac_get_full_path (struct dentry *dentry_p, char path[], int maxlen)
int rsbac_get_full_path_length (struct dentry *dentry_p)
static void __init registration_error (int err, char *listname)
static int __init register_dev_lists (void)
static int __init register_ipc_lists (void)
static int __init register_user_lists (void)
static int __init register_process_lists (void)
static int __init rsbac_do_init (void)
int __init rsbac_init (kdev_t root_dev)
rsbac_boolean_t rsbac_is_initialized (void)
int rsbac_kthread_notify (rsbac_pid_t pid)
int rsbac_mount (struct super_block *sb_p, struct dentry *d_covers)
int rsbac_umount (struct super_block *sb_p, struct dentry *d_covers)
int rsbac_free_dat_dentries (void)
int rsbac_stats (void)
int rsbac_check_inode (struct super_block *sb_p, rsbac_inode_nr_t inode)
int rsbac_check (int correct, int check_inode)
int rsbac_get_parent (enum rsbac_target_t target, union rsbac_target_id_t tid, enum rsbac_target_t *parent_target_p, union rsbac_target_id_t *parent_tid_p)
static int get_attr_fd (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t *tid_p, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value, rsbac_boolean_t inherit)
static int get_attr_dev (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t *tid_p, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value, rsbac_boolean_t inherit)
static int get_attr_ipc (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t *tid_p, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value, rsbac_boolean_t inherit)
static int get_attr_user (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t *tid_p, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value, rsbac_boolean_t inherit)
static int get_attr_process (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t *tid_p, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value, rsbac_boolean_t inherit)
int rsbac_ta_get_attr (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t tid, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value, rsbac_boolean_t inherit)
static int set_attr_fd (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t *tid_p, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value_p)
static int set_attr_dev (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t *tid_p, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value_p)
static int set_attr_ipc (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t *tid_p, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value_p)
static int set_attr_user (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t *tid_p, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value_p)
static int set_attr_process (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t *tid_p, enum rsbac_attribute_t attr, union rsbac_attribute_value_t *value_p)
int rsbac_ta_set_attr (rsbac_list_ta_number_t ta_number, enum rsbac_switch_target_t module, enum rsbac_target_t target, union rsbac_target_id_t tid, enum rsbac_attribute_t attr, union rsbac_attribute_value_t value)
int rsbac_ta_remove_target (rsbac_list_ta_number_t ta_number, enum rsbac_target_t target, union rsbac_target_id_t tid)

Variables

static rsbac_boolean_t rsbac_initialized = FALSE
static char compiled_modules [80]
kdev_t rsbac_root_dev
static struct rsbac_device_list_head_t device_list_head
static struct rsbac_dev_handles_t dev_handles
static struct rsbac_ipc_handles_t ipc_handles
static struct rsbac_user_handles_t user_handles
static struct rsbac_process_handles_t process_handles
static struct rsbac_gen_fd_aci_t def_gen_root_dir_aci = DEFAULT_GEN_ROOT_DIR_ACI
static struct rsbac_gen_fd_aci_t def_gen_fd_aci = DEFAULT_GEN_FD_ACI
static struct dentry * sysfs_covered_p = NULL
static struct super_block * sysfs_sb_p = NULL


Define Documentation

#define check_parent dir,
dentry   )     ((dir) == (dentry)->d_parent && !list_empty(&dentry->d_bucket))
 

Definition at line 2975 of file aci_data_structures.c.

Referenced by rsbac_write_open().


Function Documentation

static int aci_detach_fd_lists struct rsbac_device_list_item_t *  device_p  )  [static]
 

Definition at line 2080 of file aci_data_structures.c.

References get_error_name(), RSBAC_EINVALIDPOINTER, RSBAC_GEN_FD_ACI_KEY, rsbac_kfree(), rsbac_kmalloc(), rsbac_list_detach(), and RSBAC_MAXNAMELEN.

Referenced by remove_device_item().

static struct rsbac_device_list_item_t* add_device_item struct rsbac_device_list_item_t *  device_p  )  [static]
 

Definition at line 2595 of file aci_data_structures.c.

References device_list_head, and NULL.

Referenced by rsbac_do_init(), rsbac_init_acl(), rsbac_init_auth(), rsbac_init_mac(), rsbac_mount(), rsbac_mount_acl(), rsbac_mount_auth(), and rsbac_mount_mac().

static void clear_device_item struct rsbac_device_list_item_t *  item_p  )  [static]
 

Definition at line 2629 of file aci_data_structures.c.

References rsbac_kfree().

Referenced by remove_device_item(), rsbac_do_init(), rsbac_mount(), rsbac_mount_acl(), rsbac_mount_auth(), and rsbac_mount_mac().

static struct rsbac_device_list_item_t* create_device_item struct super_block *  sb_p,
struct dentry *  d_covers
[static]
 

Definition at line 2573 of file aci_data_structures.c.

References NULL, and rsbac_kmalloc().

Referenced by rsbac_do_init(), rsbac_init_acl(), rsbac_init_auth(), rsbac_init_mac(), rsbac_mount(), rsbac_mount_acl(), rsbac_mount_auth(), and rsbac_mount_mac().

DECLARE_MUTEX rsbac_write_sem   ) 
 

static int dev_compare void *  desc1,
void *  desc2
[static]
 

Definition at line 752 of file aci_data_structures.c.

Referenced by register_dev_lists(), and rsbac_init_acl().

static int gen_dev_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 933 of file aci_data_structures.c.

Referenced by gen_dev_get_conv().

rsbac_list_conv_function_t* gen_dev_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 949 of file aci_data_structures.c.

References gen_dev_conv(), NULL, and RSBAC_GEN_DEV_OLD_ACI_VERSION.

Referenced by register_dev_lists().

static int gen_fd_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 804 of file aci_data_structures.c.

References rsbac_gen_fd_aci_t::auid_exempt, rsbac_gen_fd_old_aci_t::fake_root_uid, rsbac_gen_fd_aci_t::fake_root_uid, rsbac_gen_fd_old_aci_t::linux_dac_disable, rsbac_gen_fd_aci_t::linux_dac_disable, rsbac_gen_fd_old_aci_t::log_array_high, rsbac_gen_fd_aci_t::log_array_high, rsbac_gen_fd_old_aci_t::log_array_low, rsbac_gen_fd_aci_t::log_array_low, rsbac_gen_fd_old_aci_t::log_program_based, rsbac_gen_fd_aci_t::log_program_based, RSBAC_NO_USER, rsbac_gen_fd_old_aci_t::symlink_add_mac_level, rsbac_gen_fd_aci_t::symlink_add_mac_level, rsbac_gen_fd_old_aci_t::symlink_add_rc_role, rsbac_gen_fd_aci_t::symlink_add_rc_role, rsbac_gen_fd_old_aci_t::symlink_add_uid, and rsbac_gen_fd_aci_t::symlink_add_uid.

Referenced by gen_fd_get_conv().

rsbac_list_conv_function_t* gen_fd_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 914 of file aci_data_structures.c.

References gen_fd_conv(), gen_fd_old_conv(), gen_fd_old_old_conv(), gen_fd_old_old_old_conv(), gen_fd_old_old_old_old_conv(), NULL, RSBAC_GEN_FD_OLD_ACI_VERSION, RSBAC_GEN_FD_OLD_OLD_ACI_VERSION, RSBAC_GEN_FD_OLD_OLD_OLD_ACI_VERSION, RSBAC_GEN_FD_OLD_OLD_OLD_OLD_ACI_VERSION, and RSBAC_GEN_FD_OLD_OLD_OLD_OLD_OLD_ACI_VERSION.

Referenced by register_fd_lists().

static int gen_fd_hash u_long  inode  )  [inline, static]
 

Definition at line 223 of file aci_data_structures.c.

Referenced by get_attr_fd(), rsbac_ta_remove_target(), and set_attr_fd().

static int gen_fd_old_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 826 of file aci_data_structures.c.

References rsbac_gen_fd_aci_t::auid_exempt, rsbac_gen_fd_aci_t::fake_root_uid, FR_off, rsbac_gen_fd_old_old_aci_t::linux_dac_disable, rsbac_gen_fd_aci_t::linux_dac_disable, rsbac_gen_fd_old_old_aci_t::log_array_high, rsbac_gen_fd_aci_t::log_array_high, rsbac_gen_fd_old_old_aci_t::log_array_low, rsbac_gen_fd_aci_t::log_array_low, rsbac_gen_fd_old_old_aci_t::log_program_based, rsbac_gen_fd_aci_t::log_program_based, RSBAC_NO_USER, rsbac_gen_fd_old_old_aci_t::symlink_add_mac_level, rsbac_gen_fd_aci_t::symlink_add_mac_level, rsbac_gen_fd_old_old_aci_t::symlink_add_rc_role, rsbac_gen_fd_aci_t::symlink_add_rc_role, rsbac_gen_fd_old_old_aci_t::symlink_add_uid, and rsbac_gen_fd_aci_t::symlink_add_uid.

Referenced by gen_fd_get_conv().

static int gen_fd_old_old_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 848 of file aci_data_structures.c.

References rsbac_gen_fd_aci_t::auid_exempt, rsbac_gen_fd_aci_t::fake_root_uid, FALSE, FR_off, rsbac_gen_fd_old_old_old_aci_t::linux_dac_disable, rsbac_gen_fd_aci_t::linux_dac_disable, rsbac_gen_fd_old_old_old_aci_t::log_array_high, rsbac_gen_fd_aci_t::log_array_high, rsbac_gen_fd_old_old_old_aci_t::log_array_low, rsbac_gen_fd_aci_t::log_array_low, rsbac_gen_fd_old_old_old_aci_t::log_program_based, rsbac_gen_fd_aci_t::log_program_based, RSBAC_NO_USER, rsbac_gen_fd_aci_t::symlink_add_mac_level, rsbac_gen_fd_old_old_old_aci_t::symlink_add_rc_role, rsbac_gen_fd_aci_t::symlink_add_rc_role, rsbac_gen_fd_old_old_old_aci_t::symlink_add_uid, and rsbac_gen_fd_aci_t::symlink_add_uid.

Referenced by gen_fd_get_conv().

static int gen_fd_old_old_old_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 870 of file aci_data_structures.c.

References rsbac_gen_fd_aci_t::auid_exempt, rsbac_gen_fd_aci_t::fake_root_uid, FALSE, FR_off, LDD_false, rsbac_gen_fd_aci_t::linux_dac_disable, rsbac_gen_fd_old_old_old_old_aci_t::log_array_high, rsbac_gen_fd_aci_t::log_array_high, rsbac_gen_fd_old_old_old_old_aci_t::log_array_low, rsbac_gen_fd_aci_t::log_array_low, rsbac_gen_fd_old_old_old_old_aci_t::log_program_based, rsbac_gen_fd_aci_t::log_program_based, RSBAC_NO_USER, rsbac_gen_fd_aci_t::symlink_add_mac_level, rsbac_gen_fd_aci_t::symlink_add_rc_role, rsbac_gen_fd_old_old_old_old_aci_t::symlink_add_uid, and rsbac_gen_fd_aci_t::symlink_add_uid.

Referenced by gen_fd_get_conv().

static int gen_fd_old_old_old_old_conv void *  old_desc,
void *  old_data,
void *  new_desc,
void *  new_data
[static]
 

Definition at line 892 of file aci_data_structures.c.

References rsbac_gen_fd_aci_t::auid_exempt, rsbac_gen_fd_aci_t::fake_root_uid, FALSE, FR_off, LDD_false, rsbac_gen_fd_aci_t::linux_dac_disable, rsbac_gen_fd_old_old_old_old_old_aci_t::log_array_high, rsbac_gen_fd_aci_t::log_array_high, rsbac_gen_fd_old_old_old_old_old_aci_t::log_array_low, rsbac_gen_fd_aci_t::log_array_low, rsbac_gen_fd_old_old_old_old_old_aci_t::log_program_based, rsbac_gen_fd_aci_t::log_program_based, RSBAC_NO_USER, rsbac_gen_fd_aci_t::symlink_add_mac_level, rsbac_gen_fd_aci_t::symlink_add_rc_role, and rsbac_gen_fd_aci_t::symlink_add_uid.

Referenced by gen_fd_get_conv().

static int get_attr_dev rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t tid_p,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value,
rsbac_boolean_t  inherit
[static]
 

Definition at line 13253 of file aci_data_structures.c.

References A_data_type, A_log_array_high, A_log_array_low, A_mac_categories, A_mac_check, A_object_category, A_pm_object_class, A_pm_object_type, A_rc_type, A_security_level, rsbac_attribute_value_t::data_type, DEFAULT_GEN_DEV_ACI, dev_handles, FC, GEN, rsbac_gen_dev_aci_t::log_array_high, rsbac_attribute_value_t::log_array_high, rsbac_gen_dev_aci_t::log_array_low, rsbac_attribute_value_t::log_array_low, MAC, rsbac_attribute_value_t::mac_categories, rsbac_attribute_value_t::mac_check, NULL, rsbac_attribute_value_t::object_category, PM, rsbac_attribute_value_t::pm_object_class, rsbac_attribute_value_t::pm_object_type, RC, rsbac_attribute_value_t::rc_type, RSBAC_EINVALIDATTR, RSBAC_EINVALIDMODULE, RSBAC_FC_OC_ROOT_DEF, RSBAC_RC_GENERAL_TYPE, RSBAC_SIM_DT_ROOT_DEF, rsbac_ta_list_get_data_ttl(), rsbac_attribute_value_t::security_level, and SIM.

Referenced by rsbac_ta_get_attr().

static int get_attr_fd rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t tid_p,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value,
rsbac_boolean_t  inherit
[static]
 

Definition at line 12559 of file aci_data_structures.c.

References A_auid_exempt, A_auth_learn, A_auth_may_set_cap, A_auth_may_setuid, A_data_type, A_daz_scanned, A_daz_scanner, A_fake_root_uid, A_ff_flags, A_linux_dac_disable, A_log_array_high, A_log_array_low, A_log_program_based, A_mac_auto, A_mac_categories, A_mac_file_flags, A_mac_prop_trusted, A_max_caps, A_min_caps, A_object_category, A_pax_flags, A_pm_object_class, A_pm_object_type, A_pm_tp, A_rc_force_role, A_rc_initial_role, A_rc_type_fd, A_res_max, A_res_min, A_security_level, A_symlink_add_mac_level, A_symlink_add_rc_role, A_symlink_add_uid, rsbac_gen_fd_aci_t::auid_exempt, rsbac_attribute_value_t::auid_exempt, AUTH, rsbac_attribute_value_t::auth_learn, rsbac_attribute_value_t::auth_may_set_cap, rsbac_attribute_value_t::auth_may_setuid, CAP, rsbac_attribute_value_t::data_type, DAZ, rsbac_attribute_value_t::daz_scanned, rsbac_attribute_value_t::daz_scanner, DEFAULT_GEN_FD_ACI, device_list_head, DT_inherit, rsbac_gen_fd_aci_t::fake_root_uid, rsbac_attribute_value_t::fake_root_uid, FALSE, FC, FF, FF_add_inherited, rsbac_attribute_value_t::ff_flags, FF_no_delete_or_rename, GEN, gen_fd_hash(), LDD_inherit, rsbac_gen_fd_aci_t::linux_dac_disable, rsbac_attribute_value_t::linux_dac_disable, rsbac_gen_fd_aci_t::log_array_high, rsbac_attribute_value_t::log_array_high, rsbac_gen_fd_aci_t::log_array_low, rsbac_attribute_value_t::log_array_low, rsbac_gen_fd_aci_t::log_program_based, rsbac_attribute_value_t::log_program_based, lookup_device(), MA_inherit, MAC, rsbac_attribute_value_t::mac_auto, rsbac_attribute_value_t::mac_categories, rsbac_attribute_value_t::mac_file_flags, rsbac_attribute_value_t::mac_prop_trusted, rsbac_attribute_value_t::max_caps, rsbac_attribute_value_t::min_caps, NULL, rsbac_attribute_value_t::object_category, OC_inherit, PAX, rsbac_attribute_value_t::pax_flags, PM, rsbac_attribute_value_t::pm_object_class, rsbac_attribute_value_t::pm_object_type, rsbac_attribute_value_t::pm_tp, RC, rsbac_attribute_value_t::rc_force_role, rsbac_attribute_value_t::rc_initial_role, RC_role_inherit_parent, rsbac_attribute_value_t::rc_type_fd, RC_type_inherit_parent, RES, rsbac_attribute_value_t::res_array, RSBAC_EINVALIDATTR, RSBAC_EINVALIDDEV, RSBAC_EINVALIDMODULE, RSBAC_FC_OC_DEF, RSBAC_FC_OC_ROOT_DEF, RSBAC_FF_DEF, rsbac_get_parent(), RSBAC_MAC_INHERIT_CAT_VECTOR, rsbac_mount(), RSBAC_PAX_DEF_FLAGS, RSBAC_SIM_DT_DEF, RSBAC_SIM_DT_ROOT_DEF, rsbac_ta_list_get_data_ttl(), rsbac_attribute_value_t::security_level, SIM, SL_inherit, rsbac_gen_fd_aci_t::symlink_add_mac_level, rsbac_attribute_value_t::symlink_add_mac_level, rsbac_gen_fd_aci_t::symlink_add_rc_role, rsbac_attribute_value_t::symlink_add_rc_role, rsbac_gen_fd_aci_t::symlink_add_uid, rsbac_attribute_value_t::symlink_add_uid, and TRUE.

Referenced by rsbac_ta_get_attr().

static int get_attr_ipc rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t tid_p,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value,
rsbac_boolean_t  inherit
[static]
 

Definition at line 13449 of file aci_data_structures.c.

References A_data_type, A_jail_id, A_mac_categories, A_object_category, A_pm_ipc_purpose, A_pm_object_class, A_pm_object_type, A_rc_type, A_security_level, rsbac_attribute_value_t::data_type, FC, rsbac_target_id_t::ipc, ipc_handles, JAIL, rsbac_attribute_value_t::jail_id, MAC, rsbac_attribute_value_t::mac_categories, NULL, rsbac_attribute_value_t::object_category, PM, rsbac_attribute_value_t::pm_ipc_purpose, rsbac_attribute_value_t::pm_object_class, rsbac_attribute_value_t::pm_object_type, RC, rsbac_attribute_value_t::rc_type, RSBAC_EINVALIDATTR, RSBAC_EINVALIDMODULE, RSBAC_FC_OC_ROOT_DEF, RSBAC_JAIL_DEF_ID, RSBAC_RC_GENERAL_TYPE, RSBAC_SIM_DT_ROOT_DEF, rsbac_ta_list_get_data_ttl(), rsbac_attribute_value_t::security_level, and SIM.

Referenced by rsbac_ta_get_attr().

static int get_attr_process rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t tid_p,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value,
rsbac_boolean_t  inherit
[static]
 

Definition at line 14002 of file aci_data_structures.c.

References A_audit_uid, A_auid_exempt, A_auth_last_auth, A_auth_learn, A_auth_may_set_cap, A_auth_may_setuid, A_cap_process_hiding, A_current_sec_level, A_daz_scanner, A_fake_root_uid, A_initial_security_level, A_jail_flags, A_jail_id, A_jail_ip, A_jail_max_caps, A_log_program_based, A_mac_auto, A_mac_categories, A_mac_curr_categories, A_mac_initial_categories, A_mac_min_categories, A_mac_process_flags, A_max_caps_program, A_max_caps_user, A_max_read_categories, A_max_read_open, A_min_security_level, A_min_write_categories, A_min_write_open, A_pax_flags, A_pm_current_task, A_pm_process_type, A_pm_tp, A_rc_force_role, A_rc_role, A_rc_type, A_security_level, rsbac_gen_process_aci_t::audit_uid, rsbac_attribute_value_t::audit_uid, rsbac_gen_process_aci_t::auid_exempt, rsbac_attribute_value_t::auid_exempt, AUTH, rsbac_attribute_value_t::auth_last_auth, rsbac_attribute_value_t::auth_learn, rsbac_attribute_value_t::auth_may_set_cap, rsbac_attribute_value_t::auth_may_setuid, CAP, rsbac_attribute_value_t::cap_process_hiding, rsbac_attribute_value_t::current_sec_level, DAZ, rsbac_attribute_value_t::daz_scanner, DEFAULT_GEN_P_ACI, rsbac_gen_process_aci_t::fake_root_uid, rsbac_attribute_value_t::fake_root_uid, FALSE, GEN, JAIL, rsbac_attribute_value_t::jail_flags, rsbac_attribute_value_t::jail_id, rsbac_attribute_value_t::jail_ip, rsbac_attribute_value_t::jail_max_caps, rsbac_gen_process_aci_t::log_program_based, rsbac_attribute_value_t::log_program_based, MAC, rsbac_attribute_value_t::mac_auto, MAC_auto, rsbac_attribute_value_t::mac_categories, rsbac_attribute_value_t::mac_process_flags, rsbac_attribute_value_t::max_caps_program, rsbac_attribute_value_t::max_caps_user, rsbac_attribute_value_t::max_read_open, rsbac_attribute_value_t::min_write_open, NULL, PAX, rsbac_attribute_value_t::pax_flags, PM, rsbac_attribute_value_t::pm_current_task, rsbac_attribute_value_t::pm_process_type, rsbac_attribute_value_t::pm_tp, rsbac_target_id_t::process, process_handles, RC, rsbac_attribute_value_t::rc_force_role, rsbac_attribute_value_t::rc_role, rsbac_attribute_value_t::rc_type, RSBAC_EINVALIDATTR, RSBAC_EINVALIDMODULE, RSBAC_EINVALIDTARGET, RSBAC_PAX_ALL_FLAGS, rsbac_ta_list_get_data_ttl(), rsbac_attribute_value_t::security_level, and TRUE.

Referenced by rsbac_ta_get_attr().

static int get_attr_user rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t tid_p,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value,
rsbac_boolean_t  inherit
[static]
 

Definition at line 13622 of file aci_data_structures.c.

References A_auth_role, A_cap_role, A_daz_role, A_fc_role, A_ff_role, A_initial_security_level, A_jail_role, A_log_user_based, A_mac_categories, A_mac_initial_categories, A_mac_min_categories, A_mac_role, A_mac_user_flags, A_max_caps, A_min_caps, A_min_security_level, A_pax_role, A_pm_role, A_pm_task_set, A_pseudo, A_rc_def_role, A_rc_type, A_res_max, A_res_min, A_res_role, A_security_level, A_sim_role, A_system_role, AUTH, CAP, DAZ, DEFAULT_GEN_U_ACI, FC, FF, GEN, JAIL, rsbac_gen_user_aci_t::log_user_based, rsbac_attribute_value_t::log_user_based, MAC, rsbac_attribute_value_t::mac_categories, rsbac_attribute_value_t::mac_user_flags, rsbac_attribute_value_t::max_caps, rsbac_attribute_value_t::min_caps, NULL, PAX, PM, rsbac_attribute_value_t::pm_role, rsbac_attribute_value_t::pm_task_set, rsbac_gen_user_aci_t::pseudo, rsbac_attribute_value_t::pseudo, RC, rsbac_attribute_value_t::rc_def_role, rsbac_attribute_value_t::rc_type, RES, rsbac_attribute_value_t::res_array, RSBAC_ALL_USERS, RSBAC_EINVALIDATTR, RSBAC_EINVALIDMODULE, rsbac_ta_list_get_data_ttl(), rsbac_attribute_value_t::security_level, SIM, SR_user, rsbac_attribute_value_t::system_role, rsbac_target_id_t::user, and user_handles.

Referenced by rsbac_ta_get_attr().

static int ipc_compare void *  desc1,
void *  desc2
[static]
 

Definition at line 773 of file aci_data_structures.c.

References rsbac_ipc_t::id, rsbac_ipc_id_t::id_nr, and rsbac_ipc_t::type.

Referenced by register_ipc_lists().

static int lookup_aci_path_dentry struct super_block *  sb_p,
struct dentry **  dir_dentry_pp,
rsbac_boolean_t  create_dir,
kdev_t  kdev
[static]
 

Definition at line 360 of file aci_data_structures.c.

References device_list_head, lookup_device(), NULL, RSBAC_EACCESS, RSBAC_ECOULDNOTCREATEPATH, RSBAC_EINVALIDDEV, RSBAC_EINVALIDPOINTER, RSBAC_ENOROOTDIR, RSBAC_ENOTFOUND, RSBAC_ENOTWRITABLE, RSBAC_EPATHTOOLONG, rsbac_get_super_block(), rsbac_lookup_one_len(), SOCKFS_MAGIC, and writable().

Referenced by rsbac_read_open(), and rsbac_write_open().

static struct rsbac_device_list_item_t * lookup_device kdev_t   )  [static]
 

Definition at line 725 of file aci_data_structures.c.

References device_list_head.

Referenced by get_attr_fd(), lookup_aci_path_dentry(), remove_device_item(), rsbac_auth_add_to_f_capset(), rsbac_auth_clear_f_capset(), rsbac_auth_copy_fp_capset(), rsbac_auth_get_f_caplist(), rsbac_auth_p_capset_member(), rsbac_auth_remove_from_f_capset(), rsbac_get_full_path(), rsbac_get_full_path_length(), rsbac_get_parent(), rsbac_get_super_block(), rsbac_mac_add_to_f_truset(), rsbac_mac_clear_f_truset(), rsbac_mac_copy_fp_truset(), rsbac_mac_get_f_trulist(), rsbac_mac_remove_from_f_truset(), rsbac_mount(), rsbac_mount_auth(), rsbac_mount_mac(), rsbac_ta_remove_target(), rsbac_umount(), rsbac_umount_auth(), rsbac_umount_mac(), and set_attr_fd().

static int __init register_dev_lists void   )  [static]
 

Definition at line 6642 of file aci_data_structures.c.

References DEFAULT_GEN_DEV_ACI, dev_compare(), dev_handles, gen_dev_get_conv(), registration_error(), RSBAC_FC_ACI_DEV_NAME, RSBAC_FC_OC_ROOT_DEF, RSBAC_GEN_ACI_DEV_NAME, RSBAC_GEN_DEV_ACI_KEY, RSBAC_GEN_DEV_ACI_VERSION, RSBAC_LIST_BACKUP, RSBAC_LIST_DEF_DATA, RSBAC_LIST_PERSIST, rsbac_list_register(), RSBAC_LIST_VERSION, RSBAC_MAC_ACI_DEV_NAME, RSBAC_PM_ACI_DEV_NAME, RSBAC_RC_ACI_DEV_NAME, RSBAC_RC_GENERAL_TYPE, RSBAC_SIM_ACI_DEV_NAME, and RSBAC_SIM_DT_ROOT_DEF.

Referenced by rsbac_do_init().

static int register_fd_lists struct rsbac_device_list_item_t *  device_p,
kdev_t  kdev
[static]
 

Definition at line 1324 of file aci_data_structures.c.

References DEFAULT_DAZ_FD_SCANNED, gen_fd_get_conv(), get_error_name(), name, NULL, PF_PAX_EMUTRAMP, PF_PAX_MPROTECT, PF_PAX_PAGEEXEC, PF_PAX_RANDEXEC, PF_PAX_RANDMMAP, PF_PAX_SEGMEXEC, RSBAC_EINVALIDPOINTER, RSBAC_ENOMEM, RSBAC_FC_OC_DEF, RSBAC_FF_DEF, RSBAC_GEN_FD_ACI_KEY, RSBAC_GEN_FD_ACI_VERSION, rsbac_kfree(), rsbac_kmalloc(), rsbac_list_compare_u32(), RSBAC_LIST_DEF_DATA, RSBAC_LIST_PERSIST, rsbac_list_register(), RSBAC_LIST_VERSION, RSBAC_MAXNAMELEN, RSBAC_PAX_DEF_FLAGS, and RSBAC_SIM_DT_DEF.

Referenced by rsbac_do_init(), and rsbac_mount().

static int __init register_ipc_lists void   )  [static]
 

Definition at line 6833 of file aci_data_structures.c.

References ipc_compare(), ipc_handles, NULL, registration_error(), RSBAC_FC_ACI_IPC_NAME, RSBAC_FC_OC_ROOT_DEF, RSBAC_JAIL_ACI_IPC_NAME, RSBAC_JAIL_DEF_ID, RSBAC_LIST_DEF_DATA, rsbac_list_register(), RSBAC_LIST_VERSION, RSBAC_MAC_ACI_IPC_NAME, RSBAC_PM_ACI_IPC_NAME, RSBAC_RC_ACI_IPC_NAME, RSBAC_RC_GENERAL_TYPE, RSBAC_SIM_ACI_IPC_NAME, and RSBAC_SIM_DT_ROOT_DEF.

Referenced by rsbac_do_init().

static int __init register_process_lists void   )  [static]
 

Definition at line 7744 of file aci_data_structures.c.

References DEFAULT_GEN_P_ACI, NULL, PH_from_other_users, process_handles, registration_error(), RSBAC_AUTH_ACI_PROCESS_NAME, RSBAC_CAP_ACI_PROCESS_NAME, RSBAC_DAZ_ACI_PROCESS_NAME, RSBAC_GEN_ACI_PROCESS_NAME, RSBAC_GEN_PROCESS_ACI_KEY, RSBAC_GEN_PROCESS_ACI_VERSION, RSBAC_JAIL_ACI_PROCESS_NAME, rsbac_list_compare_u32(), RSBAC_LIST_DEF_DATA, rsbac_list_register(), RSBAC_LIST_VERSION, RSBAC_MAC_ACI_PROCESS_NAME, RSBAC_MAXNAMELEN, RSBAC_PM_ACI_PROCESS_NAME, and RSBAC_RC_ACI_PROCESS_NAME.

Referenced by rsbac_do_init().

static int __init register_user_lists void   )  [static]
 

Definition at line 7008 of file aci_data_structures.c.

References DEFAULT_GEN_U_ACI, NULL, registration_error(), RSBAC_AUDITOR_UID, RSBAC_AUTH_ACI_USER_NAME, RSBAC_BIN_UID, RSBAC_CAP_ACI_USER_NAME, RSBAC_DATAPROT_UID, RSBAC_DAZ_ACI_USER_NAME, RSBAC_FC_ACI_USER_NAME, RSBAC_FF_ACI_USER_NAME, RSBAC_GEN_ACI_USER_NAME, RSBAC_GEN_USER_ACI_KEY, RSBAC_GEN_USER_ACI_VERSION, RSBAC_JAIL_ACI_USER_NAME, rsbac_list_add(), RSBAC_LIST_BACKUP, rsbac_list_compare_u32(), rsbac_list_count(), RSBAC_LIST_DEF_DATA, RSBAC_LIST_PERSIST, rsbac_list_register(), RSBAC_LIST_VERSION, RSBAC_MAC_ACI_USER_NAME, rsbac_no_defaults, RSBAC_PAX_ACI_USER_NAME, RSBAC_PM_ACI_USER_NAME, RSBAC_RC_ACI_USER_NAME, RSBAC_RES_ACI_USER_NAME, RSBAC_SECOFF_UID, RSBAC_SIM_ACI_USER_NAME, RSBAC_SYSADM_UID, RSBAC_TPMAN_UID, SR_administrator, SR_auditor, SR_security_officer, SR_user, and user_handles.

Referenced by rsbac_do_init().

static void __init registration_error int  err,
char *  listname
[static]
 

Definition at line 6612 of file aci_data_structures.c.

References get_error_name(), rsbac_kfree(), rsbac_kmalloc(), and RSBAC_MAXNAMELEN.

Referenced by register_dev_lists(), register_ipc_lists(), register_process_lists(), register_user_lists(), rsbac_init_acl(), rsbac_init_pm(), and rsbac_init_rc().

static void remove_device_item kdev_t  kdev  )  [static]
 

Definition at line 2641 of file aci_data_structures.c.

References aci_detach_fd_lists(), clear_device_item(), device_list_head, lookup_device(), and NULL.

Referenced by rsbac_umount(), rsbac_umount_acl(), rsbac_umount_auth(), and rsbac_umount_mac().

int rsbac_check int  correct,
int  check_inode
 

Definition at line 11452 of file aci_data_structures.c.

References device_list_head, rsbac_check_inode(), RSBAC_ENOMEM, RSBAC_ENOTINITIALIZED, rsbac_initialized, rsbac_kfree(), rsbac_kmalloc(), rsbac_list_get_all_desc(), rsbac_list_remove(), RSBAC_MAXNAMELEN, and rsbac_vfree.

Referenced by rsbac_do_init(), and sys_rsbac_check().

int rsbac_check_inode struct super_block *  sb_p,
rsbac_inode_nr_t  inode
 

Definition at line 11392 of file aci_data_structures.c.

References RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDVALUE, and RSBAC_ENOTFOUND.

Referenced by rsbac_check().

static int rsbac_clear_file struct dentry *  dentry  )  [static]
 

Definition at line 2694 of file aci_data_structures.c.

Referenced by rsbac_write_open().

static int __init rsbac_do_init void   )  [static]
 

Definition at line 8676 of file aci_data_structures.c.

References add_device_item(), clear_device_item(), compiled_modules, create_device_item(), device_list_head, get_error_name(), NULL, register_dev_lists(), register_fd_lists(), register_ipc_lists(), register_process_lists(), register_user_lists(), RSBAC_AUTH_LOGIN_PATH, RSBAC_AUTH_LOGIN_PATH_DIR, RSBAC_AUTH_LOGIN_PATH_FILE, rsbac_check(), rsbac_check_acl(), rsbac_check_auth(), rsbac_check_lists(), RSBAC_ECOULDNOTADDDEVICE, RSBAC_ECOULDNOTADDITEM, RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDTARGET, RSBAC_ENOROOTDEV, RSBAC_ENOTFOUND, rsbac_init_acl(), rsbac_init_adf(), rsbac_init_auth(), rsbac_init_daz(), rsbac_init_debug(), rsbac_init_mac(), rsbac_init_pm(), rsbac_init_rc(), rsbac_init_um(), rsbac_initialized, rsbac_kfree(), rsbac_kmalloc(), rsbac_kmem_cache_sizes_init(), rsbac_list_add(), rsbac_list_get_data(), rsbac_list_init(), rsbac_lookup_one_len(), RSBAC_MAXNAMELEN, rsbac_mount(), rsbac_pax_set_flags_func(), rsbac_root_dev, RSBAC_VERSION, sysfs_covered_p, sysfs_sb_p, and TRUE.

Referenced by rsbac_init().

int rsbac_free_dat_dentries void   ) 
 

Definition at line 10743 of file aci_data_structures.c.

References device_list_head, NULL, RSBAC_ENOTINITIALIZED, and rsbac_initialized.

int rsbac_get_full_path struct dentry *  dentry_p,
char  path[],
int  maxlen
 

Definition at line 3547 of file aci_data_structures.c.

References A_pseudo, FALSE, GEN, lookup_device(), rsbac_attribute_value_t::pseudo, RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDVALUE, RSBAC_ENOMEM, rsbac_get_attr, rsbac_kfree(), rsbac_kmalloc(), RSBAC_MAXNAMELEN, T_USER, and rsbac_target_id_t::user.

Referenced by get_target_name(), rsbac_adf_request_int(), rsbac_jail_sys_jail(), and xp_fill_file_struct().

int rsbac_get_full_path_length struct dentry *  dentry_p  ) 
 

Definition at line 3631 of file aci_data_structures.c.

References lookup_device(), and RSBAC_EINVALIDPOINTER.

Referenced by xp_fill_file_struct().

int rsbac_get_parent enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
enum rsbac_target_t parent_target_p,
union rsbac_target_id_t parent_tid_p
 

Definition at line 12443 of file aci_data_structures.c.

References device_list_head, lookup_device(), RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDTARGET, RSBAC_ENOTFOUND, T_DIR, T_FIFO, T_FILE, and T_SYMLINK.

Referenced by copy_fp_cap_set_item(), copy_fp_tru_set_item(), get_attr_fd(), rsbac_acl_get_rights(), and rsbac_acl_get_single_right().

struct super_block* rsbac_get_super_block kdev_t  kdev  ) 
 

Definition at line 2716 of file aci_data_structures.c.

References device_list_head, lookup_device(), NULL, rsbac_mount(), rsbac_write_sem, and wakeup_auto().

Referenced by lookup_aci_path_dentry(), rsbac_acl_add_to_acl_entry(), rsbac_acl_get_mask(), rsbac_acl_get_rights(), rsbac_acl_get_single_right(), rsbac_acl_get_tlist(), rsbac_acl_remove_acl(), rsbac_acl_remove_acl_entry(), rsbac_acl_remove_from_acl_entry(), rsbac_acl_set_acl_entry(), rsbac_acl_set_mask(), rsbac_adf_request_int(), rsbac_adf_set_attr(), rsbac_auth_add_to_f_capset(), rsbac_auth_clear_f_capset(), rsbac_auth_copy_fp_capset(), rsbac_auth_get_f_caplist(), rsbac_auth_remove_from_f_capset(), rsbac_check_acl(), rsbac_check_auth(), rsbac_check_mac(), rsbac_mac_add_to_f_truset(), rsbac_mac_clear_f_truset(), rsbac_mac_copy_fp_truset(), rsbac_mac_get_f_trulist(), rsbac_mac_remove_from_f_truset(), and rsbac_write_open().

int __init rsbac_init kdev_t  root_dev  ) 
 

Definition at line 9890 of file aci_data_structures.c.

Referenced by rsbac_mount().

rsbac_boolean_t rsbac_is_initialized void   ) 
 

Definition at line 10111 of file aci_data_structures.c.

References rsbac_initialized.

Referenced by rsbac_acl_add_to_acl_entry(), rsbac_acl_get_mask(), rsbac_acl_get_rights(), rsbac_acl_get_single_right(), rsbac_acl_get_tlist(), rsbac_acl_remove_acl(), rsbac_acl_remove_acl_entry(), rsbac_acl_remove_from_acl_entry(), rsbac_acl_set_acl_entry(), rsbac_acl_set_mask(), rsbac_adf_request_int(), rsbac_adf_set_attr(), rsbac_auth_add_to_f_capset(), rsbac_auth_add_to_p_capset(), rsbac_auth_clear_f_capset(), rsbac_auth_clear_p_capset(), rsbac_auth_copy_fp_capset(), rsbac_auth_copy_pp_capset(), rsbac_auth_get_f_caplist(), rsbac_auth_get_p_caplist(), rsbac_auth_p_capset_member(), rsbac_auth_remove_from_f_capset(), rsbac_auth_remove_from_p_capset(), rsbac_check_acl(), rsbac_check_auth(), rsbac_check_mac(), rsbac_init_acl(), rsbac_init_auth(), rsbac_init_daz(), rsbac_init_mac(), rsbac_init_pm(), rsbac_init_rc(), rsbac_init_um(), rsbac_mac_add_to_f_truset(), rsbac_mac_add_to_p_truset(), rsbac_mac_clear_f_truset(), rsbac_mac_clear_p_truset(), rsbac_mac_copy_fp_truset(), rsbac_mac_copy_pp_truset(), rsbac_mac_get_f_trulist(), rsbac_mac_get_p_trulist(), rsbac_mac_p_truset_member(), rsbac_mac_remove_from_f_truset(), rsbac_mac_remove_from_p_truset(), rsbac_mount_acl(), rsbac_mount_auth(), rsbac_mount_mac(), rsbac_pm(), rsbac_pm_change_current_task(), rsbac_rc_check_comp(), rsbac_rc_copy_role(), rsbac_rc_copy_type(), rsbac_rc_get_item(), rsbac_rc_get_list(), rsbac_rc_set_item(), rsbac_reg_init(), rsbac_stats_acl(), rsbac_stats_auth(), rsbac_stats_mac(), rsbac_stats_pm(), rsbac_stats_rc(), rsbac_stats_um(), rsbac_um_add_gm(), rsbac_um_add_group(), rsbac_um_add_user(), rsbac_um_get_group_item(), rsbac_um_get_user_item(), rsbac_um_mod_group(), rsbac_um_mod_user(), rsbac_um_remove_gm(), rsbac_umount_acl(), rsbac_umount_auth(), and rsbac_umount_mac().

int rsbac_kthread_notify rsbac_pid_t  pid  ) 
 

Definition at line 10116 of file aci_data_structures.c.

References process_handles, rsbac_initialized, and rsbac_list_add().

int rsbac_mount struct super_block *  sb_p,
struct dentry *  d_covers
 

Definition at line 10138 of file aci_data_structures.c.

References add_device_item(), clear_device_item(), create_device_item(), device_list_head, get_error_name(), lookup_device(), NULL, register_fd_lists(), rsbac_debug_no_write, RSBAC_ECOULDNOTADDDEVICE, RSBAC_EINVALIDPOINTER, RSBAC_ENOTINITIALIZED, rsbac_init(), rsbac_initialized, rsbac_kfree(), rsbac_kmalloc(), rsbac_list_mount(), RSBAC_MAXNAMELEN, rsbac_mount_acl(), rsbac_mount_auth(), rsbac_mount_mac(), rsbac_mount_reg(), rsbac_root_dev, rsbac_write_sem, sysfs_covered_p, SYSFS_MAGIC, sysfs_sb_p, and TRUE.

Referenced by get_attr_fd(), rsbac_aef_sb_post_addmount(), rsbac_aef_sb_umount_busy(), rsbac_do_init(), rsbac_get_super_block(), rsbac_ta_remove_target(), and set_attr_fd().

void rsbac_read_close struct file *  file_p  ) 
 

Definition at line 3522 of file aci_data_structures.c.

References NULL.

Referenced by read_info(), read_list(), read_lol_list(), and rsbac_write_close().

int rsbac_read_open char *  name,
struct file *  file_p,
kdev_t  kdev
 

Definition at line 2819 of file aci_data_structures.c.

References FALSE, init_private_file(), lookup_aci_path_dentry(), NULL, RSBAC_EINVALIDPOINTER, RSBAC_ENOMEM, RSBAC_ENOTFOUND, RSBAC_EREADFAILED, rsbac_kfree(), rsbac_kmalloc(), rsbac_lookup_one_len(), and RSBAC_MAXNAMELEN.

Referenced by read_info(), read_list(), and read_lol_list().

int rsbac_stats void   ) 
 

Definition at line 10790 of file aci_data_structures.c.

References dev_handles, device_list_head, ipc_handles, process_handles, rsbac_adf_request_count, rsbac_adf_set_attr_count, RSBAC_ENOTINITIALIZED, rsbac_initialized, rsbac_list_count(), rsbac_stats_acl(), rsbac_stats_auth(), rsbac_stats_pm(), rsbac_stats_rc(), T_DEV, T_DIR, T_FIFO, T_FILE, T_IPC, T_NETDEV, T_NETOBJ, T_NETTEMP, T_PROCESS, T_SCD, T_SYMLINK, T_USER, and user_handles.

Referenced by sys_rsbac_stats().

int rsbac_ta_get_attr rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value,
rsbac_boolean_t  inherit
 

Definition at line 15062 of file aci_data_structures.c.

References get_attr_dev(), get_attr_fd(), get_attr_ipc(), get_attr_process(), get_attr_user(), RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDTARGET, RSBAC_ENOTINITIALIZED, rsbac_initialized, T_DEV, T_DIR, T_FIFO, T_FILE, T_GROUP, T_IPC, T_NETDEV, T_NETOBJ, T_NETTEMP, T_PROCESS, T_SYMLINK, and T_USER.

Referenced by rsbac_pm(), sys_rsbac_get_attr(), and sys_rsbac_get_attr_n().

int rsbac_ta_remove_target rsbac_list_ta_number_t  ta_number,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid
 

Definition at line 17621 of file aci_data_structures.c.

References dev_handles, device_list_head, gen_fd_hash(), rsbac_target_id_t::group, rsbac_target_id_t::ipc, ipc_handles, lookup_device(), rsbac_target_id_t::netdev, rsbac_target_id_t::netobj, rsbac_target_id_t::nettemp, NULL, rsbac_target_id_t::process, process_handles, rsbac_acl_remove_acl(), rsbac_auth_remove_f_capsets(), rsbac_auth_remove_p_capsets(), RSBAC_EINVALIDDEV, RSBAC_EINVALIDTARGET, RSBAC_ENOTINITIALIZED, rsbac_initialized, rsbac_mac_remove_f_trusets(), rsbac_mac_remove_p_trusets(), rsbac_mount(), rsbac_ta_list_remove(), rsbac_net_obj_desc_t::sock_p, T_DEV, T_DIR, T_FIFO, T_FILE, T_GROUP, T_IPC, T_NETDEV, T_NETOBJ, T_NETTEMP, T_NETTEMP_NT, T_PROCESS, T_SYMLINK, T_USER, rsbac_target_id_t::user, and user_handles.

Referenced by rsbac_pm(), sys_rsbac_remove_target(), and sys_rsbac_remove_target_n().

int rsbac_ta_set_attr rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t  tid,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t  value
 

Definition at line 17532 of file aci_data_structures.c.

References RSBAC_EINVALIDTARGET, RSBAC_ENOTINITIALIZED, rsbac_initialized, set_attr_dev(), set_attr_fd(), set_attr_ipc(), set_attr_process(), set_attr_user(), T_DEV, T_DIR, T_FIFO, T_FILE, T_GROUP, T_IPC, T_NETDEV, T_NETOBJ, T_NETTEMP, T_PROCESS, T_SYMLINK, and T_USER.

Referenced by rsbac_pm(), sys_rsbac_set_attr(), and sys_rsbac_set_attr_n().

int rsbac_umount struct super_block *  sb_p,
struct dentry *  d_covers
 

Definition at line 10568 of file aci_data_structures.c.

References device_list_head, lookup_device(), NULL, remove_device_item(), rsbac_debug_no_write, RSBAC_EINVALIDPOINTER, RSBAC_ENOTINITIALIZED, rsbac_initialized, rsbac_list_umount(), rsbac_umount_acl(), rsbac_umount_auth(), rsbac_umount_mac(), rsbac_umount_reg(), rsbac_write(), rsbac_write_sem, sysfs_covered_p, SYSFS_MAGIC, sysfs_sb_p, and TRUE.

Referenced by rsbac_aef_sb_umount().

void rsbac_write_close struct file *  file_p  ) 
 

Definition at line 3539 of file aci_data_structures.c.

References rsbac_read_close().

Referenced by rsbac_list_write_buffers(), rsbac_list_write_lol_buffers(), and write_info().

int rsbac_write_open char *  name,
struct file *  file_p,
kdev_t  kdev
 

Definition at line 2986 of file aci_data_structures.c.

References check_parent, init_private_file(), lookup_aci_path_dentry(), NULL, rsbac_clear_file(), RSBAC_EINVALIDDEV, RSBAC_EINVALIDPOINTER, RSBAC_ENOMEM, RSBAC_ENOTWRITABLE, RSBAC_EWRITEFAILED, rsbac_get_super_block(), rsbac_kfree(), rsbac_kmalloc(), rsbac_lookup_one_len(), RSBAC_MAXNAMELEN, TRUE, and writable().

Referenced by rsbac_list_write_buffers(), rsbac_list_write_lol_buffers(), and write_info().

static int set_attr_dev rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t tid_p,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value_p
[static]
 

Definition at line 15647 of file aci_data_structures.c.

References A_data_type, A_log_array_high, A_log_array_low, A_mac_categories, A_mac_check, A_object_category, A_pm_object_class, A_pm_object_type, A_rc_type, A_security_level, rsbac_attribute_value_t::data_type, DEFAULT_GEN_DEV_ACI, dev_handles, FC, GEN, rsbac_attribute_value_t::log_array_high, rsbac_gen_dev_aci_t::log_array_high, rsbac_attribute_value_t::log_array_low, rsbac_gen_dev_aci_t::log_array_low, MAC, rsbac_attribute_value_t::mac_categories, rsbac_attribute_value_t::mac_check, NULL, rsbac_attribute_value_t::object_category, PM, rsbac_attribute_value_t::pm_object_class, rsbac_attribute_value_t::pm_object_type, RC, rsbac_attribute_value_t::rc_type, RSBAC_EINVALIDATTR, RSBAC_EINVALIDMODULE, rsbac_ta_list_add_ttl(), rsbac_ta_list_get_data_ttl(), rsbac_attribute_value_t::security_level, and SIM.

Referenced by rsbac_ta_set_attr().

static int set_attr_fd rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t tid_p,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value_p
[static]
 

Definition at line 15156 of file aci_data_structures.c.

References A_auid_exempt, A_auth_learn, A_auth_may_set_cap, A_auth_may_setuid, A_data_type, A_daz_scanned, A_daz_scanner, A_fake_root_uid, A_ff_flags, A_linux_dac_disable, A_log_array_high, A_log_array_low, A_log_program_based, A_mac_auto, A_mac_categories, A_mac_file_flags, A_mac_prop_trusted, A_max_caps, A_min_caps, A_object_category, A_pax_flags, A_pm_object_class, A_pm_object_type, A_pm_tp, A_rc_force_role, A_rc_initial_role, A_rc_type_fd, A_res_max, A_res_min, A_security_level, A_symlink_add_mac_level, A_symlink_add_rc_role, A_symlink_add_uid, rsbac_attribute_value_t::auid_exempt, rsbac_gen_fd_aci_t::auid_exempt, AUTH, rsbac_attribute_value_t::auth_learn, rsbac_attribute_value_t::auth_may_set_cap, rsbac_attribute_value_t::auth_may_setuid, CAP, rsbac_attribute_value_t::data_type, DAZ, rsbac_attribute_value_t::daz_scanned, rsbac_attribute_value_t::daz_scanner, DEFAULT_GEN_FD_ACI, device_list_head, rsbac_attribute_value_t::fake_root_uid, rsbac_gen_fd_aci_t::fake_root_uid, FC, FF, rsbac_attribute_value_t::ff_flags, GEN, gen_fd_hash(), rsbac_attribute_value_t::linux_dac_disable, rsbac_gen_fd_aci_t::linux_dac_disable, rsbac_attribute_value_t::log_array_high, rsbac_gen_fd_aci_t::log_array_high, rsbac_attribute_value_t::log_array_low, rsbac_gen_fd_aci_t::log_array_low, rsbac_attribute_value_t::log_program_based, rsbac_gen_fd_aci_t::log_program_based, lookup_device(), MAC, rsbac_attribute_value_t::mac_auto, rsbac_attribute_value_t::mac_categories, rsbac_attribute_value_t::mac_file_flags, rsbac_attribute_value_t::mac_prop_trusted, rsbac_attribute_value_t::max_caps, rsbac_attribute_value_t::min_caps, NULL, rsbac_attribute_value_t::object_category, PAX, rsbac_attribute_value_t::pax_flags, PM, rsbac_attribute_value_t::pm_object_class, rsbac_attribute_value_t::pm_object_type, rsbac_attribute_value_t::pm_tp, RC, rsbac_attribute_value_t::rc_force_role, rsbac_attribute_value_t::rc_initial_role, rsbac_attribute_value_t::rc_type_fd, RES, rsbac_attribute_value_t::res_array, RSBAC_EINVALIDATTR, RSBAC_EINVALIDDEV, RSBAC_EINVALIDMODULE, rsbac_list_add_ttl(), RSBAC_MAC_F_FLAGS, rsbac_mount(), RSBAC_PAX_ALL_FLAGS, rsbac_ta_list_add_ttl(), rsbac_ta_list_get_data_ttl(), rsbac_ta_list_remove(), rsbac_attribute_value_t::security_level, SIM, rsbac_attribute_value_t::symlink_add_mac_level, rsbac_gen_fd_aci_t::symlink_add_mac_level, rsbac_attribute_value_t::symlink_add_rc_role, rsbac_gen_fd_aci_t::symlink_add_rc_role, rsbac_attribute_value_t::symlink_add_uid, and rsbac_gen_fd_aci_t::symlink_add_uid.

Referenced by rsbac_ta_set_attr().

static int set_attr_ipc rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t tid_p,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value_p
[static]
 

Definition at line 15866 of file aci_data_structures.c.

References A_data_type, A_jail_id, A_mac_categories, A_object_category, A_pm_ipc_purpose, A_pm_object_class, A_pm_object_type, A_rc_type, A_security_level, rsbac_attribute_value_t::data_type, FC, rsbac_target_id_t::ipc, ipc_handles, JAIL, rsbac_attribute_value_t::jail_id, MAC, rsbac_attribute_value_t::mac_categories, NULL, rsbac_attribute_value_t::object_category, PM, rsbac_attribute_value_t::pm_ipc_purpose, rsbac_attribute_value_t::pm_object_class, rsbac_attribute_value_t::pm_object_type, RC, rsbac_attribute_value_t::rc_type, RSBAC_EINVALIDATTR, RSBAC_EINVALIDMODULE, rsbac_ta_list_add_ttl(), rsbac_ta_list_get_data_ttl(), rsbac_attribute_value_t::security_level, and SIM.

Referenced by rsbac_ta_set_attr().

static int set_attr_process rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t tid_p,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value_p
[static]
 

Definition at line 16495 of file aci_data_structures.c.

References A_audit_uid, A_auid_exempt, A_auth_last_auth, A_auth_learn, A_auth_may_set_cap, A_auth_may_setuid, A_cap_process_hiding, A_current_sec_level, A_daz_scanner, A_fake_root_uid, A_initial_security_level, A_jail_flags, A_jail_id, A_jail_ip, A_jail_max_caps, A_log_program_based, A_mac_auto, A_mac_categories, A_mac_curr_categories, A_mac_initial_categories, A_mac_min_categories, A_mac_process_flags, A_max_caps_program, A_max_caps_user, A_max_read_categories, A_max_read_open, A_min_security_level, A_min_write_categories, A_min_write_open, A_pm_current_task, A_pm_process_type, A_pm_tp, A_rc_force_role, A_rc_role, A_rc_type, A_security_level, rsbac_attribute_value_t::audit_uid, rsbac_gen_process_aci_t::audit_uid, rsbac_attribute_value_t::auid_exempt, rsbac_gen_process_aci_t::auid_exempt, AUTH, rsbac_attribute_value_t::auth_last_auth, rsbac_attribute_value_t::auth_learn, rsbac_attribute_value_t::auth_may_set_cap, rsbac_attribute_value_t::auth_may_setuid, CAP, rsbac_attribute_value_t::cap_process_hiding, rsbac_attribute_value_t::current_sec_level, DAZ, rsbac_attribute_value_t::daz_scanner, DEFAULT_GEN_P_ACI, rsbac_attribute_value_t::fake_root_uid, rsbac_gen_process_aci_t::fake_root_uid, GEN, JAIL, rsbac_attribute_value_t::jail_flags, rsbac_attribute_value_t::jail_id, rsbac_attribute_value_t::jail_ip, rsbac_attribute_value_t::jail_max_caps, rsbac_attribute_value_t::log_program_based, rsbac_gen_process_aci_t::log_program_based, MAC, MAC_auto, rsbac_attribute_value_t::mac_auto, rsbac_attribute_value_t::mac_categories, rsbac_attribute_value_t::mac_process_flags, rsbac_attribute_value_t::max_caps_program, rsbac_attribute_value_t::max_caps_user, rsbac_attribute_value_t::max_read_open, rsbac_attribute_value_t::min_write_open, NULL, PM, rsbac_attribute_value_t::pm_current_task, rsbac_attribute_value_t::pm_process_type, rsbac_attribute_value_t::pm_tp, rsbac_target_id_t::process, process_handles, RC, rsbac_attribute_value_t::rc_force_role, rsbac_attribute_value_t::rc_role, rsbac_attribute_value_t::rc_type, RSBAC_EINVALIDATTR, RSBAC_EINVALIDMODULE, RSBAC_EINVALIDTARGET, RSBAC_MAC_P_FLAGS, rsbac_ta_list_add_ttl(), rsbac_ta_list_get_data_ttl(), and rsbac_attribute_value_t::security_level.

Referenced by rsbac_ta_set_attr().

static int set_attr_user rsbac_list_ta_number_t  ta_number,
enum rsbac_switch_target_t  module,
enum rsbac_target_t  target,
union rsbac_target_id_t tid_p,
enum rsbac_attribute_t  attr,
union rsbac_attribute_value_t value_p
[static]
 

Definition at line 16052 of file aci_data_structures.c.

References A_auth_role, A_cap_role, A_daz_role, A_fc_role, A_ff_role, A_initial_security_level, A_jail_role, A_log_user_based, A_mac_categories, A_mac_initial_categories, A_mac_min_categories, A_mac_role, A_mac_user_flags, A_max_caps, A_min_caps, A_min_security_level, A_pax_role, A_pm_role, A_pm_task_set, A_pseudo, A_rc_def_role, A_rc_type, A_res_max, A_res_min, A_res_role, A_security_level, A_sim_role, A_system_role, AUTH, CAP, DAZ, DEFAULT_GEN_U_ACI, FC, FF, GEN, JAIL, rsbac_attribute_value_t::log_user_based, rsbac_gen_user_aci_t::log_user_based, MAC, rsbac_attribute_value_t::mac_categories, rsbac_attribute_value_t::mac_user_flags, rsbac_attribute_value_t::max_caps, rsbac_attribute_value_t::min_caps, NULL, PAX, PM, rsbac_attribute_value_t::pm_role, rsbac_attribute_value_t::pm_task_set, rsbac_attribute_value_t::pseudo, rsbac_gen_user_aci_t::pseudo, RC, rsbac_attribute_value_t::rc_def_role, rsbac_attribute_value_t::rc_type, RES, rsbac_attribute_value_t::res_array, RSBAC_ALL_USERS, RSBAC_EINVALIDATTR, RSBAC_EINVALIDMODULE, RSBAC_EINVALIDVALUE, RSBAC_MAC_U_FLAGS, rsbac_ta_list_add_ttl(), rsbac_ta_list_get_data_ttl(), rsbac_ta_list_remove(), rsbac_attribute_value_t::security_level, SIM, rsbac_attribute_value_t::system_role, rsbac_target_id_t::user, and user_handles.

Referenced by rsbac_ta_set_attr().

static void wakeup_auto u_long  dummy  )  [static]
 

Definition at line 2708 of file aci_data_structures.c.

Referenced by rsbac_get_super_block().

rsbac_boolean_t writable struct super_block *  sb_p  ) 
 

Definition at line 323 of file aci_data_structures.c.

References FALSE, KERNEL_VERSION, rsbac_debug_no_write, SOCKFS_MAGIC, SYSFS_MAGIC, and TRUE.

Referenced by lookup_aci_path_dentry(), and rsbac_write_open().


Variable Documentation

char compiled_modules[80] [static]
 

Definition at line 120 of file aci_data_structures.c.

Referenced by rsbac_do_init().

struct rsbac_gen_fd_aci_t def_gen_fd_aci = DEFAULT_GEN_FD_ACI [static]
 

Definition at line 154 of file aci_data_structures.c.

struct rsbac_gen_fd_aci_t def_gen_root_dir_aci = DEFAULT_GEN_ROOT_DIR_ACI [static]
 

Definition at line 153 of file aci_data_structures.c.

struct rsbac_dev_handles_t dev_handles [static]
 

Definition at line 129 of file aci_data_structures.c.

Referenced by get_attr_dev(), register_dev_lists(), rsbac_stats(), rsbac_ta_remove_target(), and set_attr_dev().

struct rsbac_device_list_head_t device_list_head [static]
 

Definition at line 128 of file aci_data_structures.c.

Referenced by add_device_item(), get_attr_fd(), lookup_aci_path_dentry(), lookup_device(), remove_device_item(), rsbac_check(), rsbac_do_init(), rsbac_free_dat_dentries(), rsbac_get_parent(), rsbac_get_super_block(), rsbac_mount(), rsbac_stats(), rsbac_ta_remove_target(), rsbac_umount(), and set_attr_fd().

struct rsbac_ipc_handles_t ipc_handles [static]
 

Definition at line 130 of file aci_data_structures.c.

Referenced by get_attr_ipc(), register_ipc_lists(), rsbac_stats(), rsbac_ta_remove_target(), and set_attr_ipc().

struct rsbac_process_handles_t process_handles [static]
 

Definition at line 135 of file aci_data_structures.c.

Referenced by get_attr_process(), register_process_lists(), rsbac_init(), rsbac_kthread_notify(), rsbac_stats(), rsbac_ta_remove_target(), and set_attr_process().

rsbac_boolean_t rsbac_initialized = FALSE [static]
 

Definition at line 118 of file aci_data_structures.c.

Referenced by rsbac_check(), rsbac_do_init(), rsbac_free_dat_dentries(), rsbac_init(), rsbac_is_initialized(), rsbac_kthread_notify(), rsbac_mount(), rsbac_stats(), rsbac_ta_get_attr(), rsbac_ta_remove_target(), rsbac_ta_set_attr(), and rsbac_umount().

kdev_t rsbac_root_dev
 

Definition at line 122 of file aci_data_structures.c.

Referenced by read_info(), rsbac_do_init(), rsbac_init(), rsbac_init_acl(), rsbac_init_auth(), rsbac_init_mac(), rsbac_list_lol_register(), rsbac_list_register(), rsbac_mount(), and write_info().

struct dentry* sysfs_covered_p = NULL [static]
 

Definition at line 202 of file aci_data_structures.c.

Referenced by rsbac_do_init(), rsbac_mount(), and rsbac_umount().

struct super_block* sysfs_sb_p = NULL [static]
 

Definition at line 203 of file aci_data_structures.c.

Referenced by rsbac_do_init(), rsbac_mount(), and rsbac_umount().

struct rsbac_user_handles_t user_handles [static]
 

Definition at line 131 of file aci_data_structures.c.

Referenced by get_attr_user(), register_user_lists(), rsbac_init(), rsbac_stats(), rsbac_ta_remove_target(), and set_attr_user().


Generated on Fri Jun 17 09:45:30 2005 for RSBAC by  doxygen 1.4.2