Lines Matching full:fsi
86 struct selinux_fs_info *fsi; in selinux_fs_info_create() local
88 fsi = kzalloc(sizeof(*fsi), GFP_KERNEL); in selinux_fs_info_create()
89 if (!fsi) in selinux_fs_info_create()
92 mutex_init(&fsi->mutex); in selinux_fs_info_create()
93 fsi->last_ino = SEL_INO_NEXT - 1; in selinux_fs_info_create()
94 fsi->state = &selinux_state; in selinux_fs_info_create()
95 fsi->sb = sb; in selinux_fs_info_create()
96 sb->s_fs_info = fsi; in selinux_fs_info_create()
102 struct selinux_fs_info *fsi = sb->s_fs_info; in selinux_fs_info_free() local
105 if (fsi) { in selinux_fs_info_free()
106 for (i = 0; i < fsi->bool_num; i++) in selinux_fs_info_free()
107 kfree(fsi->bool_pending_names[i]); in selinux_fs_info_free()
108 kfree(fsi->bool_pending_names); in selinux_fs_info_free()
109 kfree(fsi->bool_pending_values); in selinux_fs_info_free()
125 struct selinux_fs_info *fsi = file_inode(filp)->i_sb->s_fs_info; in sel_read_enforce() local
130 enforcing_enabled(fsi->state)); in sel_read_enforce()
139 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_enforce() local
140 struct selinux_state *state = fsi->state; in sel_write_enforce()
203 struct selinux_fs_info *fsi = file_inode(filp)->i_sb->s_fs_info; in sel_read_handle_unknown() local
204 struct selinux_state *state = fsi->state; in sel_read_handle_unknown()
223 struct selinux_fs_info *fsi = file_inode(filp)->i_sb->s_fs_info; in sel_open_handle_status() local
224 struct page *status = selinux_kernel_status_page(fsi->state); in sel_open_handle_status()
280 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_disable() local
302 enforcing = enforcing_enabled(fsi->state); in sel_write_disable()
303 length = selinux_disable(fsi->state); in sel_write_disable()
344 static int sel_make_bools(struct selinux_fs_info *fsi);
345 static int sel_make_classes(struct selinux_fs_info *fsi);
346 static int sel_make_policycap(struct selinux_fs_info *fsi);
355 struct selinux_fs_info *fsi = file_inode(filp)->i_sb->s_fs_info; in sel_read_mls() local
360 security_mls_enabled(fsi->state)); in sel_read_mls()
376 struct selinux_fs_info *fsi = inode->i_sb->s_fs_info; in sel_open_policy() local
377 struct selinux_state *state = fsi->state; in sel_open_policy()
383 mutex_lock(&fsi->mutex); in sel_open_policy()
392 if (fsi->policy_opened) in sel_open_policy()
410 fsi->policy_opened = 1; in sel_open_policy()
414 mutex_unlock(&fsi->mutex); in sel_open_policy()
418 mutex_unlock(&fsi->mutex); in sel_open_policy()
428 struct selinux_fs_info *fsi = inode->i_sb->s_fs_info; in sel_release_policy() local
433 fsi->policy_opened = 0; in sel_release_policy()
506 static int sel_make_policy_nodes(struct selinux_fs_info *fsi) in sel_make_policy_nodes() argument
510 ret = sel_make_bools(fsi); in sel_make_policy_nodes()
516 ret = sel_make_classes(fsi); in sel_make_policy_nodes()
522 ret = sel_make_policycap(fsi); in sel_make_policy_nodes()
535 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_load() local
539 mutex_lock(&fsi->mutex); in sel_write_load()
565 length = security_load_policy(fsi->state, data, count); in sel_write_load()
571 length = sel_make_policy_nodes(fsi); in sel_write_load()
583 mutex_unlock(&fsi->mutex); in sel_write_load()
595 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_context() local
596 struct selinux_state *state = fsi->state; in sel_write_context()
632 struct selinux_fs_info *fsi = file_inode(filp)->i_sb->s_fs_info; in sel_read_checkreqprot() local
636 length = scnprintf(tmpbuf, TMPBUFLEN, "%u", fsi->state->checkreqprot); in sel_read_checkreqprot()
643 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_checkreqprot() local
670 fsi->state->checkreqprot = new_value ? 1 : 0; in sel_write_checkreqprot()
686 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_validatetrans() local
687 struct selinux_state *state = fsi->state; in sel_write_validatetrans()
815 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_access() local
816 struct selinux_state *state = fsi->state; in sel_write_access()
866 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_create() local
867 struct selinux_state *state = fsi->state; in sel_write_create()
970 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_relabel() local
971 struct selinux_state *state = fsi->state; in sel_write_relabel()
1031 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_user() local
1032 struct selinux_state *state = fsi->state; in sel_write_user()
1096 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_member() local
1097 struct selinux_state *state = fsi->state; in sel_write_member()
1172 struct selinux_fs_info *fsi = file_inode(filep)->i_sb->s_fs_info; in sel_read_bool() local
1180 mutex_lock(&fsi->mutex); in sel_read_bool()
1183 if (index >= fsi->bool_num || strcmp(name, in sel_read_bool()
1184 fsi->bool_pending_names[index])) in sel_read_bool()
1192 cur_enforcing = security_get_bool_value(fsi->state, index); in sel_read_bool()
1198 fsi->bool_pending_values[index]); in sel_read_bool()
1199 mutex_unlock(&fsi->mutex); in sel_read_bool()
1206 mutex_unlock(&fsi->mutex); in sel_read_bool()
1213 struct selinux_fs_info *fsi = file_inode(filep)->i_sb->s_fs_info; in sel_write_bool() local
1231 mutex_lock(&fsi->mutex); in sel_write_bool()
1241 if (index >= fsi->bool_num || strcmp(name, in sel_write_bool()
1242 fsi->bool_pending_names[index])) in sel_write_bool()
1252 fsi->bool_pending_values[index] = new_value; in sel_write_bool()
1256 mutex_unlock(&fsi->mutex); in sel_write_bool()
1271 struct selinux_fs_info *fsi = file_inode(filep)->i_sb->s_fs_info; in sel_commit_bools_write() local
1287 mutex_lock(&fsi->mutex); in sel_commit_bools_write()
1301 if (new_value && fsi->bool_pending_values) in sel_commit_bools_write()
1302 length = security_set_bools(fsi->state, fsi->bool_num, in sel_commit_bools_write()
1303 fsi->bool_pending_values); in sel_commit_bools_write()
1309 mutex_unlock(&fsi->mutex); in sel_commit_bools_write()
1327 static int sel_make_bools(struct selinux_fs_info *fsi) in sel_make_bools() argument
1332 struct dentry *dir = fsi->bool_dir; in sel_make_bools()
1341 for (i = 0; i < fsi->bool_num; i++) in sel_make_bools()
1342 kfree(fsi->bool_pending_names[i]); in sel_make_bools()
1343 kfree(fsi->bool_pending_names); in sel_make_bools()
1344 kfree(fsi->bool_pending_values); in sel_make_bools()
1345 fsi->bool_num = 0; in sel_make_bools()
1346 fsi->bool_pending_names = NULL; in sel_make_bools()
1347 fsi->bool_pending_values = NULL; in sel_make_bools()
1356 ret = security_get_bools(fsi->state, &num, &names, &values); in sel_make_bools()
1382 ret = security_genfs_sid(fsi->state, "selinuxfs", page, in sel_make_bools()
1396 fsi->bool_num = num; in sel_make_bools()
1397 fsi->bool_pending_names = names; in sel_make_bools()
1398 fsi->bool_pending_values = values; in sel_make_bools()
1419 struct selinux_fs_info *fsi = file_inode(filp)->i_sb->s_fs_info; in sel_read_avc_cache_threshold() local
1420 struct selinux_state *state = fsi->state; in sel_read_avc_cache_threshold()
1434 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_write_avc_cache_threshold() local
1435 struct selinux_state *state = fsi->state; in sel_write_avc_cache_threshold()
1473 struct selinux_fs_info *fsi = file_inode(filp)->i_sb->s_fs_info; in sel_read_avc_hash_stats() local
1474 struct selinux_state *state = fsi->state; in sel_read_avc_hash_stats()
1575 struct selinux_fs_info *fsi = sb->s_fs_info; in sel_make_avc_files() local
1601 inode->i_ino = ++fsi->last_ino; in sel_make_avc_files()
1611 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_read_initcon() local
1617 ret = security_sid_to_context(fsi->state, sid, &con, &len); in sel_read_initcon()
1707 struct selinux_fs_info *fsi = file_inode(file)->i_sb->s_fs_info; in sel_read_policycap() local
1713 value = security_policycap_supported(fsi->state, i_ino & SEL_INO_MASK); in sel_read_policycap()
1727 struct selinux_fs_info *fsi = dir->d_sb->s_fs_info; in sel_make_perm_files() local
1731 rc = security_get_permissions(fsi->state, objclass, &perms, &nperms); in sel_make_perm_files()
1768 struct selinux_fs_info *fsi = sb->s_fs_info; in sel_make_class_dir_entries() local
1787 dentry = sel_make_dir(dir, "perms", &fsi->last_class_ino); in sel_make_class_dir_entries()
1796 static int sel_make_classes(struct selinux_fs_info *fsi) in sel_make_classes() argument
1803 sel_remove_entries(fsi->class_dir); in sel_make_classes()
1805 rc = security_get_classes(fsi->state, &classes, &nclasses); in sel_make_classes()
1810 fsi->last_class_ino = sel_class_to_ino(nclasses + 2); in sel_make_classes()
1815 class_name_dir = sel_make_dir(fsi->class_dir, classes[i], in sel_make_classes()
1816 &fsi->last_class_ino); in sel_make_classes()
1836 static int sel_make_policycap(struct selinux_fs_info *fsi) in sel_make_policycap() argument
1842 sel_remove_entries(fsi->policycap_dir); in sel_make_policycap()
1846 dentry = d_alloc_name(fsi->policycap_dir, in sel_make_policycap()
1849 dentry = d_alloc_name(fsi->policycap_dir, "unknown"); in sel_make_policycap()
1854 inode = sel_make_inode(fsi->sb, S_IFREG | 0444); in sel_make_policycap()
1899 struct selinux_fs_info *fsi; in sel_fill_super() local
1936 fsi = sb->s_fs_info; in sel_fill_super()
1937 fsi->bool_dir = sel_make_dir(sb->s_root, BOOL_DIR_NAME, &fsi->last_ino); in sel_fill_super()
1938 if (IS_ERR(fsi->bool_dir)) { in sel_fill_super()
1939 ret = PTR_ERR(fsi->bool_dir); in sel_fill_super()
1940 fsi->bool_dir = NULL; in sel_fill_super()
1956 inode->i_ino = ++fsi->last_ino; in sel_fill_super()
1965 dentry = sel_make_dir(sb->s_root, "avc", &fsi->last_ino); in sel_fill_super()
1975 dentry = sel_make_dir(sb->s_root, "initial_contexts", &fsi->last_ino); in sel_fill_super()
1985 fsi->class_dir = sel_make_dir(sb->s_root, "class", &fsi->last_ino); in sel_fill_super()
1986 if (IS_ERR(fsi->class_dir)) { in sel_fill_super()
1987 ret = PTR_ERR(fsi->class_dir); in sel_fill_super()
1988 fsi->class_dir = NULL; in sel_fill_super()
1992 fsi->policycap_dir = sel_make_dir(sb->s_root, "policy_capabilities", in sel_fill_super()
1993 &fsi->last_ino); in sel_fill_super()
1994 if (IS_ERR(fsi->policycap_dir)) { in sel_fill_super()
1995 ret = PTR_ERR(fsi->policycap_dir); in sel_fill_super()
1996 fsi->policycap_dir = NULL; in sel_fill_super()
2000 ret = sel_make_policy_nodes(fsi); in sel_fill_super()