pm_syscalls.c File Reference

#include <linux/string.h>
#include <rsbac/aci.h>
#include <linux/sched.h>
#include <linux/fs.h>
#include <linux/stat.h>
#include <linux/smp_lock.h>
#include <linux/syscalls.h>
#include <rsbac/pm_types.h>
#include <rsbac/pm.h>
#include <rsbac/pm_getname.h>
#include <rsbac/error.h>
#include <rsbac/debug.h>
#include <rsbac/helpers.h>
#include <rsbac/adf.h>
#include <rsbac/adf_main.h>
#include <linux/namei.h>
#include <linux/file.h>
#include <linux/mount.h>

Go to the source code of this file.

Functions

static int pm_get_file (const char *name, enum rsbac_target_t *target_p, union rsbac_target_id_t *tid_p)
int rsbac_pm (rsbac_list_ta_number_t ta_number, enum rsbac_pm_function_type_t function, union rsbac_pm_function_param_t param, rsbac_pm_tkt_id_t tkt)
int rsbac_pm_change_current_task (rsbac_pm_task_id_t task)
int rsbac_pm_create_file (const char *filename, int mode, rsbac_pm_object_class_id_t object_class)


Function Documentation

static int pm_get_file const char *  name,
enum rsbac_target_t target_p,
union rsbac_target_id_t tid_p
[static]
 

Definition at line 49 of file pm_syscalls.c.

References D_block, D_char, RSBAC_EINVALIDTARGET, T_DEV, T_FIFO, and T_FILE.

Referenced by rsbac_pm().

int rsbac_pm rsbac_list_ta_number_t  ta_number,
enum rsbac_pm_function_type_t  function,
union rsbac_pm_function_param_t  param,
rsbac_pm_tkt_id_t  tkt
 

Definition at line 122 of file pm_syscalls.c.

References A_auth_may_set_cap, A_auth_may_setuid, A_pm_object_class, A_pm_object_type, A_pm_role, A_pm_task_set, A_pm_tp, rsbac_pm_delete_na_t::accesses, rsbac_pm_add_na_t::accesses, rsbac_pm_function_param_t::add_authorized_task, rsbac_pm_tkt_function_param_t::add_authorized_task, rsbac_pm_function_param_t::add_authorized_tp, rsbac_pm_tkt_function_param_t::add_authorized_tp, rsbac_pm_function_param_t::add_consent, rsbac_pm_tkt_function_param_t::add_consent, rsbac_pm_function_param_t::add_na, rsbac_pm_tkt_function_param_t::add_na, rsbac_pm_function_param_t::add_object_class, rsbac_pm_tkt_function_param_t::add_object_class, rsbac_pm_function_param_t::add_purpose, rsbac_pm_tkt_function_param_t::add_purpose, rsbac_pm_function_param_t::add_responsible_user, rsbac_pm_tkt_function_param_t::add_responsible_user, rsbac_pm_function_param_t::add_task, rsbac_pm_tkt_function_param_t::add_task, AUTH, rsbac_attribute_value_t::auth_may_set_cap, rsbac_attribute_value_t::auth_may_setuid, rsbac_pm_function_param_t::create_ticket, rsbac_pm_function_param_t::create_tp, rsbac_pm_add_purpose_t::def_class, rsbac_pm_function_param_t::delete_authorized_task, rsbac_pm_tkt_function_param_t::delete_authorized_task, rsbac_pm_function_param_t::delete_authorized_tp, rsbac_pm_tkt_function_param_t::delete_authorized_tp, rsbac_pm_function_param_t::delete_consent, rsbac_pm_tkt_function_param_t::delete_consent, rsbac_pm_function_param_t::delete_na, rsbac_pm_tkt_function_param_t::delete_na, rsbac_pm_function_param_t::delete_object_class, rsbac_pm_tkt_function_param_t::delete_object_class, rsbac_pm_function_param_t::delete_purpose, rsbac_pm_tkt_function_param_t::delete_purpose, rsbac_pm_function_param_t::delete_responsible_user, rsbac_pm_tkt_function_param_t::delete_responsible_user, rsbac_pm_function_param_t::delete_task, rsbac_pm_tkt_function_param_t::delete_task, rsbac_pm_function_param_t::delete_tp, rsbac_pm_function_param_t::delete_user_aci, rsbac_pm_tkt_function_param_t::delete_user_aci, rsbac_target_id_t::dummy, FALSE, rsbac_pm_set_tp_t::filename, rsbac_pm_set_auth_may_set_cap_t::filename, rsbac_pm_set_auth_may_setuid_t::filename, rsbac_pm_set_device_object_type_t::filename, rsbac_pm_set_object_class_t::filename, rsbac_pm_delete_consent_t::filename, rsbac_pm_add_consent_t::filename, rsbac_pm_create_ticket_t::function_param, rsbac_pm_create_ticket_t::function_type, get_pm_function_type_name(), rsbac_pm_delete_tp_t::id, rsbac_pm_create_tp_t::id, rsbac_pm_delete_purpose_t::id, rsbac_pm_add_purpose_t::id, rsbac_pm_delete_object_class_t::id, rsbac_pm_delete_task_t::id, rsbac_pm_add_task_t::id, rsbac_pm_delete_user_aci_t::id, rsbac_pm_add_object_class_t::id, rsbac_pm_create_ticket_t::id, rsbac_pm_delete_na_t::object_class, rsbac_pm_add_na_t::object_class, rsbac_pm_set_device_object_type_t::object_class, rsbac_pm_set_object_class_t::object_class, rsbac_pm_set_device_object_type_t::object_type, PF_add_authorized_task, PF_add_authorized_tp, PF_add_consent, PF_add_na, PF_add_object_class, PF_add_purpose, PF_add_responsible_user, PF_add_task, PF_create_ticket, PF_create_tp, PF_delete_authorized_task, PF_delete_authorized_tp, PF_delete_consent, PF_delete_na, PF_delete_object_class, PF_delete_purpose, PF_delete_responsible_user, PF_delete_task, PF_delete_tp, PF_delete_user_aci, PF_set_auth_may_set_cap, PF_set_auth_may_setuid, PF_set_device_object_type, PF_set_object_class, PF_set_role, PF_set_tp, PF_switch_auth, PF_switch_pm, PM, pm_get_file(), rsbac_attribute_value_t::pm_object_class, rsbac_attribute_value_t::pm_object_type, rsbac_attribute_value_t::pm_role, rsbac_attribute_value_t::pm_task_set, rsbac_attribute_value_t::pm_tp, PO_non_personal_data, PO_none, PO_personal_data, PO_TP, rsbac_pm_add_object_class_t::pp_list_p, PR_data_protection_officer, PR_security_officer, PR_tp_manager, PTF_add_authorized_task, PTF_add_authorized_tp, PTF_add_consent, PTF_add_na, PTF_add_object_class, PTF_add_purpose, PTF_add_responsible_user, PTF_add_task, PTF_delete_authorized_task, PTF_delete_authorized_tp, PTF_delete_consent, PTF_delete_na, PTF_delete_object_class, PTF_delete_purpose, PTF_delete_responsible_user, PTF_delete_task, PTF_delete_user_aci, PTF_set_auth_may_set_cap, PTF_set_auth_may_setuid, PTF_set_device_object_type, PTF_set_object_class, PTF_set_role, PTF_switch_auth, PTF_switch_pm, rsbac_pm_add_task_t::purpose, rsbac_pm_delete_consent_t::purpose, rsbac_pm_add_consent_t::purpose, R_MODIFY_ATTRIBUTE, R_SWITCH_MODULE, rsbac_pm_set_role_t::role, rsbac_adf_request_int(), RSBAC_EEXISTS, RSBAC_EINVALIDREQUEST, RSBAC_EINVALIDTARGET, RSBAC_EINVALIDVALUE, RSBAC_ENOTFOUND, RSBAC_ENOTINITIALIZED, RSBAC_EPERM, RSBAC_EREADFAILED, RSBAC_EWRITEFAILED, rsbac_is_initialized(), rsbac_pm_add_target(), rsbac_pm_add_to_set(), rsbac_pm_clear_set(), rsbac_pm_create_set(), RSBAC_PM_DEV_OBJECT_CLASS_ID, rsbac_pm_exists(), rsbac_pm_get_all_data(), rsbac_pm_get_data(), RSBAC_PM_IPC_OBJECT_CLASS_ID, rsbac_pm_remove_from_set(), rsbac_pm_remove_set(), rsbac_pm_remove_target(), RSBAC_PM_ROOT_TASK_SET_ID, rsbac_pm_set_data(), rsbac_pm_set_member(), rsbac_ta_get_attr(), rsbac_ta_remove_target(), rsbac_ta_set_attr(), rsbac_pm_function_param_t::set_auth_may_set_cap, rsbac_pm_tkt_function_param_t::set_auth_may_set_cap, rsbac_pm_function_param_t::set_auth_may_setuid, rsbac_pm_tkt_function_param_t::set_auth_may_setuid, rsbac_pm_function_param_t::set_device_object_type, rsbac_pm_tkt_function_param_t::set_device_object_type, rsbac_pm_function_param_t::set_object_class, rsbac_pm_tkt_function_param_t::set_object_class, rsbac_pm_function_param_t::set_role, rsbac_pm_tkt_function_param_t::set_role, rsbac_pm_function_param_t::set_tp, rsbac_pm_function_param_t::switch_auth, rsbac_pm_tkt_function_param_t::switch_auth, rsbac_pm_function_param_t::switch_pm, rsbac_pm_tkt_function_param_t::switch_pm, T_DEV, T_FIFO, T_FILE, T_NONE, T_USER, rsbac_pm_delete_responsible_user_t::task, rsbac_pm_add_responsible_user_t::task, rsbac_pm_delete_authorized_tp_t::task, rsbac_pm_add_authorized_tp_t::task, rsbac_pm_delete_na_t::task, rsbac_pm_add_na_t::task, rsbac_pm_add_authorized_task_t::task, rsbac_pm_delete_authorized_task_t::task, rsbac_pm_set_tp_t::tp, rsbac_pm_delete_authorized_tp_t::tp, rsbac_pm_add_authorized_tp_t::tp, rsbac_pm_delete_na_t::tp, rsbac_pm_add_na_t::tp, TRUE, rsbac_pm_delete_authorized_task_t::user, rsbac_pm_add_authorized_task_t::user, rsbac_pm_set_role_t::user, rsbac_pm_delete_responsible_user_t::user, rsbac_pm_add_responsible_user_t::user, rsbac_target_id_t::user, rsbac_pm_create_ticket_t::valid_for, rsbac_pm_switch_pm_t::value, rsbac_pm_set_auth_may_set_cap_t::value, and rsbac_pm_set_auth_may_setuid_t::value.

Referenced by sys_rsbac_pm().

int rsbac_pm_change_current_task rsbac_pm_task_id_t  task  ) 
 

Definition at line 2990 of file pm_syscalls.c.

References A_pm_current_task, A_pm_task_set, A_pm_tp, FALSE, rsbac_attribute_value_t::owner, PM, rsbac_attribute_value_t::pm_current_task, rsbac_attribute_value_t::pm_task_set, rsbac_attribute_value_t::pm_tp, rsbac_target_id_t::process, RSBAC_EINVALIDVALUE, RSBAC_ENOTINITIALIZED, RSBAC_EPERM, RSBAC_EREADFAILED, RSBAC_EWRITEFAILED, rsbac_get_attr, rsbac_is_initialized(), rsbac_pm_set_member(), rsbac_set_attr, T_PROCESS, T_USER, and rsbac_target_id_t::user.

Referenced by sys_rsbac_pm_change_current_task().

int rsbac_pm_create_file const char *  filename,
int  mode,
rsbac_pm_object_class_id_t  object_class
 

Definition at line 3096 of file pm_syscalls.c.

References A_pm_current_task, A_pm_object_class, A_pm_tp, FALSE, PM, rsbac_attribute_value_t::pm_current_task, rsbac_attribute_value_t::pm_object_class, rsbac_attribute_value_t::pm_tp, rsbac_target_id_t::process, RSBAC_EINVALIDTARGET, RSBAC_EINVALIDVALUE, RSBAC_ENOTFOUND, RSBAC_EPERM, RSBAC_EREADFAILED, rsbac_get_attr, RSBAC_PM_A_CREATE, RSBAC_PM_DEV_OBJECT_CLASS_ID, rsbac_pm_exists(), rsbac_pm_get_data(), RSBAC_PM_IPC_OBJECT_CLASS_ID, rsbac_pm_set_member(), rsbac_set_attr, T_FILE, and T_PROCESS.

Referenced by sys_rsbac_pm_create_file().


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