sidtab
struct context *context, struct sidtab *s, u32 def_sid)
struct context *context, struct sidtab *s, u32 def_sid);
int policydb_load_isids(struct policydb *p, struct sidtab *s)
extern int policydb_load_isids(struct policydb *p, struct sidtab *s);
struct sidtab *sidtab;
sidtab = policy->sidtab;
scontext = sidtab_search(sidtab, ssid);
tcontext = sidtab_search(sidtab, tsid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
scontext = sidtab_search(sidtab, ssid);
tcontext = sidtab_search(sidtab, tsid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
scontext = sidtab_search(sidtab, ssid);
tcontext = sidtab_search(sidtab, tsid);
struct sidtab *sidtab,
int rc = sidtab_sid2str_get(sidtab, entry, scontext, scontext_len);
sidtab_sid2str_put(sidtab, entry, *scontext, *scontext_len);
rc = sidtab_hash_stats(policy->sidtab, page);
struct sidtab *sidtab;
sidtab = policy->sidtab;
entry = sidtab_search_entry_force(sidtab, sid);
entry = sidtab_search_entry(sidtab, sid);
rc = sidtab_entry_to_string(policydb, sidtab, entry, scontext,
struct sidtab *sidtabp,
struct sidtab *sidtab;
sidtab = policy->sidtab;
rc = string_to_context_struct(policydb, sidtab, scontext2,
rc = sidtab_context_to_sid(sidtab, &context, sid);
struct sidtab *sidtab = policy->sidtab;
if (sidtab_entry_to_string(policydb, sidtab, sentry, &s, &slen))
if (sidtab_entry_to_string(policydb, sidtab, tentry, &t, &tlen))
struct sidtab *sidtab;
sidtab = policy->sidtab;
sentry = sidtab_search_entry(sidtab, ssid);
tentry = sidtab_search_entry(sidtab, tsid);
rc = sidtab_context_to_sid(sidtab, &newcontext, out_sid);
sidtab_destroy(policy->sidtab);
kfree(policy->sidtab);
sidtab_cancel_convert(oldpolicy->sidtab);
sidtab_freeze_begin(oldpolicy->sidtab, &flags);
sidtab_freeze_end(oldpolicy->sidtab, &flags);
newpolicy->sidtab = kzalloc_obj(*newpolicy->sidtab);
if (!newpolicy->sidtab) {
rc = policydb_load_isids(&newpolicy->policydb, newpolicy->sidtab);
convert_data->sidtab_params.target = newpolicy->sidtab;
rc = sidtab_convert(oldpolicy->sidtab, &convert_data->sidtab_params);
sidtab_destroy(newpolicy->sidtab);
kfree(newpolicy->sidtab);
static int ocontext_to_sid(struct sidtab *sidtab, struct ocontext *c,
rc = sidtab_context_to_sid(sidtab, &c->context[index], &sid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
rc = ocontext_to_sid(sidtab, c, 0, out_sid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
rc = ocontext_to_sid(sidtab, c, 0, out_sid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
rc = ocontext_to_sid(sidtab, c, 0, out_sid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
rc = ocontext_to_sid(sidtab, c, 0, if_sid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
rc = ocontext_to_sid(sidtab, c, 0, out_sid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
fromcon = sidtab_search(sidtab, fromsid);
rc = sidtab_context_to_sid(sidtab, &usercon, &sid);
struct sidtab *sidtab = policy->sidtab;
return ocontext_to_sid(sidtab, c, 0, sid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
rc = ocontext_to_sid(sidtab, c, 0, &sbsec->sid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
context1 = sidtab_search(sidtab, sid);
context2 = sidtab_search(sidtab, mls_sid);
rc = sidtab_context_to_sid(sidtab, &newcon, new_sid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
nlbl_ctx = sidtab_search(sidtab, nlbl_sid);
xfrm_ctx = sidtab_search(sidtab, xfrm_sid);
ctxt = sidtab_search(policy->sidtab, prop->selinux.secid);
struct sidtab *sidtab;
sidtab = policy->sidtab;
ctx = sidtab_search(sidtab, SECINITSID_NETMSG);
rc = sidtab_context_to_sid(sidtab, &ctx_new, sid);
ctx = sidtab_search(policy->sidtab, sid);
struct sidtab *sidtab = policy->sidtab;
if (sidtab_entry_to_string(p, sidtab, oentry, &o, &olen))
if (sidtab_entry_to_string(p, sidtab, nentry, &n, &nlen))
if (sidtab_entry_to_string(p, sidtab, tentry, &t, &tlen))
struct sidtab *sidtab;
sidtab = policy->sidtab;
oentry = sidtab_search_entry(sidtab, oldsid);
nentry = sidtab_search_entry(sidtab, newsid);
tentry = sidtab_search_entry(sidtab, tasksid);
struct sidtab *sidtab,
struct sidtab *sidtab;
sidtab = policy->sidtab;
old_entry = sidtab_search_entry(sidtab, old_sid);
new_entry = sidtab_search_entry(sidtab, new_sid);
if (!sidtab_entry_to_string(policydb, sidtab, old_entry,
!sidtab_entry_to_string(policydb, sidtab, new_entry,
struct sidtab *sidtab;
int sidtab_hash_stats(struct sidtab *sidtab, char *page)
hash_for_each_rcu(sidtab->context_to_sid, i, entry, list) {
static int sidtab_alloc_roots(struct sidtab *s, u32 level)
static struct sidtab_entry *sidtab_do_lookup(struct sidtab *s, u32 index,
static struct sidtab_entry *sidtab_lookup(struct sidtab *s, u32 index)
static struct sidtab_entry *sidtab_lookup_initial(struct sidtab *s, u32 sid)
static struct sidtab_entry *sidtab_search_core(struct sidtab *s, u32 sid,
struct sidtab_entry *sidtab_search_entry(struct sidtab *s, u32 sid)
struct sidtab_entry *sidtab_search_entry_force(struct sidtab *s, u32 sid)
int sidtab_context_to_sid(struct sidtab *s, struct context *context, u32 *sid)
struct sidtab *target = convert->target;
int sidtab_init(struct sidtab *s)
static void sidtab_convert_hashtable(struct sidtab *s, u32 count)
int sidtab_convert(struct sidtab *s, struct sidtab_convert_params *params)
void sidtab_cancel_convert(struct sidtab *s)
void sidtab_freeze_begin(struct sidtab *s, unsigned long *flags)
void sidtab_freeze_end(struct sidtab *s, unsigned long *flags)
void sidtab_destroy(struct sidtab *s)
void sidtab_sid2str_put(struct sidtab *s, struct sidtab_entry *entry,
static u32 context_to_sid(struct sidtab *s, struct context *context, u32 hash)
int sidtab_sid2str_get(struct sidtab *s, struct sidtab_entry *entry, char **out,
int sidtab_set_initial(struct sidtab *s, u32 sid, struct context *context)
int sidtab_init(struct sidtab *s);
int sidtab_set_initial(struct sidtab *s, u32 sid, struct context *context);
struct sidtab_entry *sidtab_search_entry(struct sidtab *s, u32 sid);
struct sidtab_entry *sidtab_search_entry_force(struct sidtab *s, u32 sid);
static inline struct context *sidtab_search(struct sidtab *s, u32 sid)
static inline struct context *sidtab_search_force(struct sidtab *s, u32 sid)
int sidtab_convert(struct sidtab *s, struct sidtab_convert_params *params);
void sidtab_cancel_convert(struct sidtab *s);
void sidtab_freeze_begin(struct sidtab *s, unsigned long *flags)
void sidtab_freeze_end(struct sidtab *s, unsigned long *flags)
int sidtab_context_to_sid(struct sidtab *s, struct context *context, u32 *sid);
void sidtab_destroy(struct sidtab *s);
int sidtab_hash_stats(struct sidtab *sidtab, char *page);
void sidtab_sid2str_put(struct sidtab *s, struct sidtab_entry *entry,
int sidtab_sid2str_get(struct sidtab *s, struct sidtab_entry *entry, char **out,
static inline void sidtab_sid2str_put(struct sidtab *s,
static inline int sidtab_sid2str_get(struct sidtab *s,
struct sidtab *target;