#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_t * | gen_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_t * | gen_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 |
|
Definition at line 2906 of file aci_data_structures.c. Referenced by rsbac_write_open(). |
|
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(). |
|
Definition at line 2526 of file aci_data_structures.c. References device_list_head, and NULL. |
|
Definition at line 2560 of file aci_data_structures.c. References rsbac_kfree(). |
|
Definition at line 2504 of file aci_data_structures.c. References NULL, and rsbac_kmalloc(). |
|
|
|
Definition at line 726 of file aci_data_structures.c. Referenced by rsbac_do_init(). |
|
Definition at line 879 of file aci_data_structures.c. Referenced by gen_dev_get_conv(). |
|
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(). |
|
Definition at line 778 of file aci_data_structures.c. References FR_off, and rsbac_inode_nr_t. Referenced by gen_fd_get_conv(). |
|
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(). |
|
Definition at line 197 of file aci_data_structures.c. Referenced by rsbac_get_attr(), rsbac_remove_target(), and rsbac_set_attr(). |
|
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(). |
|
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(). |
|
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(). |
|
Definition at line 747 of file aci_data_structures.c. Referenced by rsbac_do_init(). |
|
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(). |
|
Definition at line 699 of file aci_data_structures.c. References device_list_head. |
|
|
Definition at line 6492 of file aci_data_structures.c. References get_error_name(), rsbac_kfree(), rsbac_kmalloc(), and RSBAC_MAXNAMELEN. |
|
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. |
|
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(). |
|
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(). |
|
Definition at line 2625 of file aci_data_structures.c. Referenced by rsbac_write_open(). |
|
|
Definition at line 10367 of file aci_data_structures.c. References device_list_head, NULL, RSBAC_ENOTINITIALIZED, and rsbac_initialized. |
|
Definition at line 12168 of file aci_data_structures.c. |
|
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(). |
|
Definition at line 3537 of file aci_data_structures.c. References lookup_device(), and RSBAC_EINVALIDPOINTER. Referenced by xp_file_struct_check(). |
|
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(). |
|
|
Definition at line 9514 of file aci_data_structures.c. |
|
|
Definition at line 9740 of file aci_data_structures.c. References process_handles, rsbac_initialized, rsbac_list_add(), and rsbac_pid_t. |
|
|
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(). |
|
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(). |
|
Definition at line 16440 of file aci_data_structures.c. |
|
Definition at line 14397 of file aci_data_structures.c. |
|
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(). |
|
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(). |
|
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(). |
|
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(). |
|
Referenced by rsbac_init(). |
|
Definition at line 2639 of file aci_data_structures.c. Referenced by rsbac_get_super_block(). |
|
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(). |
|
Definition at line 112 of file aci_data_structures.c. Referenced by rsbac_do_init(). |
|
Definition at line 139 of file aci_data_structures.c. Referenced by rsbac_get_attr(). |
|
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(). |
|
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(). |
|
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(). |
|
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(). |
|
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(). |
|
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(). |
|
Definition at line 176 of file aci_data_structures.c. Referenced by rsbac_do_init(), rsbac_mount(), and rsbac_umount(). |
|
Definition at line 177 of file aci_data_structures.c. Referenced by rsbac_do_init(), rsbac_mount(), and rsbac_umount(). |
|
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(). |