/daten/src/linux-2.4.27-rsbac-v1.2.3/rsbac/data_structures/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)
rsbac_device_list_item_t * lookup_device (kdev_t)
int gen_fd_hash (u_long inode)
boolean writable (struct super_block *sb_p)
int lookup_aci_path_dentry (struct super_block *sb_p, struct dentry **dir_dentry_pp, boolean create_dir, kdev_t kdev)
int dev_compare (void *desc1, void *desc2)
int ipc_compare (void *desc1, void *desc2)
int gen_fd_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
int gen_fd_old_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
int gen_fd_old_old_conv (void *old_desc, void *old_data, void *new_desc, void *new_data)
int gen_fd_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)
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)
int register_fd_lists (struct rsbac_device_list_item_t *device_p, kdev_t kdev)
int aci_detach_fd_lists (struct rsbac_device_list_item_t *device_p)
rsbac_device_list_item_t * create_device_item (struct super_block *sb_p, struct dentry *d_covers)
rsbac_device_list_item_t * add_device_item (struct rsbac_device_list_item_t *device_p)
void clear_device_item (struct rsbac_device_list_item_t *item_p)
void remove_device_item (kdev_t kdev)
int rsbac_clear_file (struct dentry *dentry)
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)
void __init registration_error (int err, char *listname)
int __init rsbac_do_init (void)
long sys_kill (int pid, int sig)
int __init rsbac_init (kdev_t root_dev)
boolean 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)
int rsbac_get_attr (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, boolean inherit)
int rsbac_set_attr (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_remove_target (enum rsbac_target_t target, union rsbac_target_id_t tid)

Variables

boolean rsbac_initialized = FALSE
char compiled_modules [80]
kdev_t rsbac_root_dev
rsbac_device_list_head_t device_list_head
rsbac_dev_handles_t dev_handles
rsbac_ipc_handles_t ipc_handles
rsbac_user_handles_t user_handles
rsbac_process_handles_t process_handles
rsbac_gen_fd_aci_t def_gen_root_dir_aci = DEFAULT_GEN_ROOT_DIR_ACI
dentry * sysfs_covered_p = NULL
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 2906 of file aci_data_structures.c.

Referenced by rsbac_write_open().


Function Documentation

int aci_detach_fd_lists struct rsbac_device_list_item_t *  device_p  )  [static]
 

Definition at line 2011 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().

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

Definition at line 2526 of file aci_data_structures.c.

References device_list_head, and NULL.

void clear_device_item struct rsbac_device_list_item_t *  item_p  )  [static]
 

Definition at line 2560 of file aci_data_structures.c.

References rsbac_kfree().

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

Definition at line 2504 of file aci_data_structures.c.

References NULL, and rsbac_kmalloc().

DECLARE_MUTEX rsbac_write_sem   ) 
 

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

Definition at line 726 of file aci_data_structures.c.

Referenced by rsbac_do_init().

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

Definition at line 879 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 895 of file aci_data_structures.c.

References gen_dev_conv(), NULL, RSBAC_GEN_DEV_OLD_ACI_VERSION, rsbac_list_conv_function_t, and rsbac_version_t.

Referenced by rsbac_do_init().

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

Definition at line 778 of file aci_data_structures.c.

References FR_off, and rsbac_inode_nr_t.

Referenced by gen_fd_get_conv().

rsbac_list_conv_function_t* gen_fd_get_conv rsbac_version_t  old_version  ) 
 

Definition at line 862 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(), 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, rsbac_list_conv_function_t, and rsbac_version_t.

Referenced by register_fd_lists().

int gen_fd_hash u_long  inode  )  [inline, static]
 

Definition at line 197 of file aci_data_structures.c.

Referenced by rsbac_get_attr(), rsbac_remove_target(), and rsbac_set_attr().

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

Definition at line 799 of file aci_data_structures.c.

References FALSE, FR_off, and rsbac_inode_nr_t.

Referenced by gen_fd_get_conv().

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

Definition at line 820 of file aci_data_structures.c.

References FALSE, FR_off, LDD_false, and rsbac_inode_nr_t.

Referenced by gen_fd_get_conv().

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

Definition at line 841 of file aci_data_structures.c.

References FALSE, FR_off, LDD_false, and rsbac_inode_nr_t.

Referenced by gen_fd_get_conv().

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

Definition at line 747 of file aci_data_structures.c.

Referenced by rsbac_do_init().

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

Definition at line 334 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().

struct rsbac_device_list_item_t * lookup_device kdev_t   )  [static]
 

Definition at line 699 of file aci_data_structures.c.

References device_list_head.

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

Definition at line 1270 of file aci_data_structures.c.

References DEFAULT_DAZ_FD_SCANNED, DEFAULT_GEN_FD_ACI, gen_fd_get_conv(), get_error_name(), NULL, rsbac_daz_scanned_t, RSBAC_EINVALIDPOINTER, RSBAC_ENOMEM, RSBAC_FC_OC_DEF, rsbac_fc_oc_t, RSBAC_FF_DEF, rsbac_ff_flags_t, RSBAC_GEN_FD_ACI_KEY, RSBAC_GEN_FD_ACI_VERSION, rsbac_inode_nr_t, 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, rsbac_pax_flags_t, RSBAC_SIM_DT_DEF, and rsbac_sim_dt_t.

Referenced by rsbac_do_init(), and rsbac_mount().

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

Definition at line 6492 of file aci_data_structures.c.

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

void remove_device_item kdev_t  kdev  )  [static]
 

Definition at line 2572 of file aci_data_structures.c.

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

int rsbac_check int  correct,
int  check_inode
 

Definition at line 11055 of file aci_data_structures.c.

References device_list_head, rsbac_check_inode(), RSBAC_ENOMEM, RSBAC_ENOTINITIALIZED, rsbac_initialized, rsbac_inode_nr_t, 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 10998 of file aci_data_structures.c.

References RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDVALUE, RSBAC_ENOTFOUND, and rsbac_inode_nr_t.

Referenced by rsbac_check().

int rsbac_clear_file struct dentry *  dentry  )  [static]
 

Definition at line 2625 of file aci_data_structures.c.

Referenced by rsbac_write_open().

int __init rsbac_do_init void   )  [static]
 

Definition at line 6522 of file aci_data_structures.c.

References add_device_item(), rsbac_net_temp_data_t::address, clear_device_item(), compiled_modules, create_device_item(), DEFAULT_GEN_DEV_ACI, DEFAULT_GEN_NETDEV_ACI, DEFAULT_GEN_NETOBJ_ACI, DEFAULT_GEN_P_ACI, DEFAULT_GEN_U_ACI, dev_compare(), dev_handles, device_list_head, gen_dev_get_conv(), get_error_name(), ipc_compare(), ipc_handles, NULL, PH_from_other_users, process_handles, register_fd_lists(), registration_error(), RSBAC_AUDITOR_UID, RSBAC_AUTH_ACI_PROCESS_NAME, RSBAC_AUTH_ACI_USER_NAME, RSBAC_AUTH_LOGIN_PATH, RSBAC_AUTH_LOGIN_PATH_DIR, RSBAC_AUTH_LOGIN_PATH_FILE, RSBAC_BIN_UID, RSBAC_CAP_ACI_PROCESS_NAME, RSBAC_CAP_ACI_USER_NAME, rsbac_check(), rsbac_check_acl(), rsbac_check_auth(), rsbac_check_lists(), RSBAC_DATAPROT_UID, RSBAC_DAZ_ACI_PROCESS_NAME, RSBAC_DAZ_ACI_USER_NAME, RSBAC_ECOULDNOTADDDEVICE, RSBAC_ECOULDNOTADDITEM, RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDTARGET, RSBAC_ENOROOTDEV, RSBAC_ENOTFOUND, RSBAC_FC_ACI_DEV_NAME, RSBAC_FC_ACI_IPC_NAME, RSBAC_FC_ACI_LNETOBJ_NAME, RSBAC_FC_ACI_NETTEMP_NAME, RSBAC_FC_ACI_RNETOBJ_NAME, RSBAC_FC_ACI_USER_NAME, RSBAC_FC_OC_ROOT_DEF, rsbac_fc_oc_t, RSBAC_FF_ACI_USER_NAME, RSBAC_GEN_ACI_DEV_NAME, RSBAC_GEN_ACI_NETDEV_NAME, RSBAC_GEN_ACI_NETTEMP_NAME, RSBAC_GEN_ACI_PROCESS_NAME, RSBAC_GEN_ACI_USER_NAME, RSBAC_GEN_DEV_ACI_KEY, RSBAC_GEN_DEV_ACI_VERSION, RSBAC_GEN_NETDEV_ACI_KEY, RSBAC_GEN_NETDEV_ACI_VERSION, RSBAC_GEN_NETOBJ_ACI_KEY, RSBAC_GEN_NETOBJ_ACI_VERSION, RSBAC_GEN_PROCESS_ACI_KEY, RSBAC_GEN_PROCESS_ACI_VERSION, RSBAC_GEN_USER_ACI_KEY, RSBAC_GEN_USER_ACI_VERSION, 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_initialized, RSBAC_JAIL_ACI_IPC_NAME, RSBAC_JAIL_ACI_PROCESS_NAME, RSBAC_JAIL_ACI_USER_NAME, RSBAC_JAIL_DEF_ID, rsbac_jail_id_t, rsbac_kfree(), rsbac_kmalloc(), rsbac_kmem_cache_sizes_init(), rsbac_list_add(), RSBAC_LIST_BACKUP, rsbac_list_compare_u32(), rsbac_list_count(), RSBAC_LIST_DEF_DATA, rsbac_list_get_data(), rsbac_list_init(), RSBAC_LIST_PERSIST, rsbac_list_register(), RSBAC_LIST_VERSION, rsbac_lookup_one_len(), RSBAC_MAC_ACI_DEV_NAME, RSBAC_MAC_ACI_IPC_NAME, RSBAC_MAC_ACI_LNETOBJ_NAME, RSBAC_MAC_ACI_NETTEMP_NAME, RSBAC_MAC_ACI_PROCESS_NAME, RSBAC_MAC_ACI_RNETOBJ_NAME, RSBAC_MAC_ACI_USER_NAME, RSBAC_MAXNAMELEN, rsbac_mount(), rsbac_net_obj_id_t, RSBAC_NET_TEMP_ALL_DATA, RSBAC_NET_TEMP_ALL_ID, RSBAC_NET_TEMP_AUTO_ADDRESS, RSBAC_NET_TEMP_AUTO_DATA, RSBAC_NET_TEMP_AUTO_ID, rsbac_net_temp_id_t, RSBAC_NET_TEMP_INET_DATA, RSBAC_NET_TEMP_INET_ID, RSBAC_NET_TEMP_KEY, RSBAC_NET_TEMP_LAN_ADDRESS, RSBAC_NET_TEMP_LAN_DATA, RSBAC_NET_TEMP_LAN_ID, RSBAC_NET_TEMP_LNET_ADDRESS, RSBAC_NET_TEMP_LNET_DATA, RSBAC_NET_TEMP_LNET_ID, RSBAC_NET_TEMP_NAME, RSBAC_NET_TEMP_UNIX_DATA, RSBAC_NET_TEMP_UNIX_ID, RSBAC_NET_TEMP_VERSION, rsbac_netdev_id_t, rsbac_no_defaults, RSBAC_PAX_ACI_USER_NAME, rsbac_pax_set_flags_func(), rsbac_pid_t, RSBAC_PM_ACI_DEV_NAME, RSBAC_PM_ACI_IPC_NAME, RSBAC_PM_ACI_LNETOBJ_NAME, RSBAC_PM_ACI_NETTEMP_NAME, RSBAC_PM_ACI_PROCESS_NAME, RSBAC_PM_ACI_RNETOBJ_NAME, RSBAC_PM_ACI_USER_NAME, RSBAC_RC_ACI_DEV_NAME, RSBAC_RC_ACI_IPC_NAME, RSBAC_RC_ACI_LNETOBJ_NAME, RSBAC_RC_ACI_NETDEV_NAME, RSBAC_RC_ACI_NETTEMP_NAME, RSBAC_RC_ACI_PROCESS_NAME, RSBAC_RC_ACI_RNETOBJ_NAME, RSBAC_RC_ACI_USER_NAME, RSBAC_RC_GENERAL_TYPE, rsbac_rc_type_id_t, RSBAC_RES_ACI_USER_NAME, rsbac_root_dev, RSBAC_SECOFF_UID, RSBAC_SIM_ACI_DEV_NAME, RSBAC_SIM_ACI_IPC_NAME, RSBAC_SIM_ACI_LNETOBJ_NAME, RSBAC_SIM_ACI_NETTEMP_NAME, RSBAC_SIM_ACI_RNETOBJ_NAME, RSBAC_SIM_ACI_USER_NAME, RSBAC_SIM_DT_ROOT_DEF, rsbac_sim_dt_t, RSBAC_SYSADM_UID, rsbac_system_role_int_t, RSBAC_TPMAN_UID, rsbac_uid_t, RSBAC_VERSION, SR_administrator, SR_auditor, SR_security_officer, SR_user, sysfs_covered_p, sysfs_sb_p, TRUE, and user_handles.

Referenced by rsbac_init().

int rsbac_free_dat_dentries void   ) 
 

Definition at line 10367 of file aci_data_structures.c.

References device_list_head, NULL, RSBAC_ENOTINITIALIZED, and rsbac_initialized.

int rsbac_get_attr 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,
boolean  inherit
 

Definition at line 12168 of file aci_data_structures.c.

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

Definition at line 3478 of file aci_data_structures.c.

References lookup_device(), RSBAC_EINVALIDPOINTER, RSBAC_EINVALIDVALUE, RSBAC_ENOMEM, rsbac_kfree(), rsbac_kmalloc(), and RSBAC_MAXNAMELEN.

Referenced by get_target_name(), rsbac_jail_sys_jail(), and xp_file_struct_check().

int rsbac_get_full_path_length struct dentry *  dentry_p  ) 
 

Definition at line 3537 of file aci_data_structures.c.

References lookup_device(), and RSBAC_EINVALIDPOINTER.

Referenced by xp_file_struct_check().

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 12046 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(), rsbac_acl_get_rights(), rsbac_acl_get_single_right(), and rsbac_get_attr().

struct super_block* rsbac_get_super_block kdev_t  kdev  ) 
 

Definition at line 2647 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 9514 of file aci_data_structures.c.

boolean rsbac_is_initialized void   )  [inline]
 

Definition at line 9735 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_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_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_umount_acl(), rsbac_umount_auth(), and rsbac_umount_mac().

int rsbac_kthread_notify rsbac_pid_t  pid  ) 
 

Definition at line 9740 of file aci_data_structures.c.

References process_handles, rsbac_initialized, rsbac_list_add(), and rsbac_pid_t.

int rsbac_mount struct super_block *  sb_p,
struct dentry *  d_covers
 

Definition at line 9762 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 rsbac_aef_sb_post_addmount(), rsbac_aef_sb_umount_busy(), rsbac_do_init(), rsbac_get_attr(), rsbac_get_super_block(), rsbac_remove_target(), and rsbac_set_attr().

void rsbac_read_close struct file *  file_p  ) 
 

Definition at line 3453 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 2750 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_remove_target enum rsbac_target_t  target,
union rsbac_target_id_t  tid
 

Definition at line 16440 of file aci_data_structures.c.

int rsbac_set_attr 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 14397 of file aci_data_structures.c.

int rsbac_stats void   ) 
 

Definition at line 10414 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_umount struct super_block *  sb_p,
struct dentry *  d_covers
 

Definition at line 10192 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 3470 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 2917 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().

long sys_kill int  pid,
int  sig
 

Referenced by rsbac_init().

void wakeup_auto u_long  dummy  )  [static]
 

Definition at line 2639 of file aci_data_structures.c.

Referenced by rsbac_get_super_block().

boolean writable struct super_block *  sb_p  ) 
 

Definition at line 297 of file aci_data_structures.c.

References FALSE, 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 112 of file aci_data_structures.c.

Referenced by rsbac_do_init().

struct rsbac_gen_fd_aci_t def_gen_root_dir_aci = DEFAULT_GEN_ROOT_DIR_ACI [static]
 

Definition at line 139 of file aci_data_structures.c.

Referenced by rsbac_get_attr().

struct rsbac_dev_handles_t dev_handles [static]
 

Definition at line 121 of file aci_data_structures.c.

Referenced by rsbac_do_init(), rsbac_get_attr(), rsbac_remove_target(), rsbac_set_attr(), and rsbac_stats().

struct rsbac_device_list_head_t device_list_head [static]
 

Definition at line 120 of file aci_data_structures.c.

Referenced by add_device_item(), lookup_aci_path_dentry(), lookup_device(), remove_device_item(), rsbac_check(), rsbac_do_init(), rsbac_free_dat_dentries(), rsbac_get_attr(), rsbac_get_parent(), rsbac_get_super_block(), rsbac_mount(), rsbac_remove_target(), rsbac_set_attr(), rsbac_stats(), and rsbac_umount().

struct rsbac_ipc_handles_t ipc_handles [static]
 

Definition at line 122 of file aci_data_structures.c.

Referenced by rsbac_do_init(), rsbac_get_attr(), rsbac_remove_target(), rsbac_set_attr(), and rsbac_stats().

struct rsbac_process_handles_t process_handles [static]
 

Definition at line 124 of file aci_data_structures.c.

Referenced by rsbac_do_init(), rsbac_get_attr(), rsbac_init(), rsbac_kthread_notify(), rsbac_remove_target(), rsbac_set_attr(), and rsbac_stats().

boolean rsbac_initialized = FALSE [static]
 

Definition at line 110 of file aci_data_structures.c.

Referenced by rsbac_check(), rsbac_do_init(), rsbac_free_dat_dentries(), rsbac_get_attr(), rsbac_init(), rsbac_is_initialized(), rsbac_kthread_notify(), rsbac_mount(), rsbac_remove_target(), rsbac_set_attr(), rsbac_stats(), and rsbac_umount().

kdev_t rsbac_root_dev
 

Definition at line 114 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 176 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 177 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 123 of file aci_data_structures.c.

Referenced by rsbac_do_init(), rsbac_get_attr(), rsbac_init(), rsbac_remove_target(), rsbac_set_attr(), and rsbac_stats().


Generated on Tue Aug 31 10:05:28 2004 for RSBAC by doxygen 1.3.8