TOMOYO: Move tomoyo_delete_domain().
We can mark tomoyo_delete_domain() as a "static" function by moving it from domain.c to common.c . Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
parent
d905163c5b
commit
ccf135f509
|
@ -1284,6 +1284,36 @@ static bool tomoyo_is_select_one(struct tomoyo_io_buffer *head,
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* tomoyo_delete_domain - Delete a domain.
|
||||||
|
*
|
||||||
|
* @domainname: The name of domain.
|
||||||
|
*
|
||||||
|
* Returns 0.
|
||||||
|
*/
|
||||||
|
static int tomoyo_delete_domain(char *domainname)
|
||||||
|
{
|
||||||
|
struct tomoyo_domain_info *domain;
|
||||||
|
struct tomoyo_path_info name;
|
||||||
|
|
||||||
|
name.name = domainname;
|
||||||
|
tomoyo_fill_path_info(&name);
|
||||||
|
down_write(&tomoyo_domain_list_lock);
|
||||||
|
/* Is there an active domain? */
|
||||||
|
list_for_each_entry(domain, &tomoyo_domain_list, list) {
|
||||||
|
/* Never delete tomoyo_kernel_domain */
|
||||||
|
if (domain == &tomoyo_kernel_domain)
|
||||||
|
continue;
|
||||||
|
if (domain->is_deleted ||
|
||||||
|
tomoyo_pathcmp(domain->domainname, &name))
|
||||||
|
continue;
|
||||||
|
domain->is_deleted = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
up_write(&tomoyo_domain_list_lock);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tomoyo_write_domain_policy - Write domain policy.
|
* tomoyo_write_domain_policy - Write domain policy.
|
||||||
*
|
*
|
||||||
|
|
|
@ -339,8 +339,6 @@ const char *tomoyo_get_last_name(const struct tomoyo_domain_info *domain);
|
||||||
const char *tomoyo_get_msg(const bool is_enforce);
|
const char *tomoyo_get_msg(const bool is_enforce);
|
||||||
/* Convert single path operation to operation name. */
|
/* Convert single path operation to operation name. */
|
||||||
const char *tomoyo_sp2keyword(const u8 operation);
|
const char *tomoyo_sp2keyword(const u8 operation);
|
||||||
/* Delete a domain. */
|
|
||||||
int tomoyo_delete_domain(char *data);
|
|
||||||
/* Create "alias" entry in exception policy. */
|
/* Create "alias" entry in exception policy. */
|
||||||
int tomoyo_write_alias_policy(char *data, const bool is_delete);
|
int tomoyo_write_alias_policy(char *data, const bool is_delete);
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -717,38 +717,6 @@ int tomoyo_write_alias_policy(char *data, const bool is_delete)
|
||||||
return tomoyo_update_alias_entry(data, cp, is_delete);
|
return tomoyo_update_alias_entry(data, cp, is_delete);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Domain create/delete handler. */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* tomoyo_delete_domain - Delete a domain.
|
|
||||||
*
|
|
||||||
* @domainname: The name of domain.
|
|
||||||
*
|
|
||||||
* Returns 0.
|
|
||||||
*/
|
|
||||||
int tomoyo_delete_domain(char *domainname)
|
|
||||||
{
|
|
||||||
struct tomoyo_domain_info *domain;
|
|
||||||
struct tomoyo_path_info name;
|
|
||||||
|
|
||||||
name.name = domainname;
|
|
||||||
tomoyo_fill_path_info(&name);
|
|
||||||
down_write(&tomoyo_domain_list_lock);
|
|
||||||
/* Is there an active domain? */
|
|
||||||
list_for_each_entry(domain, &tomoyo_domain_list, list) {
|
|
||||||
/* Never delete tomoyo_kernel_domain */
|
|
||||||
if (domain == &tomoyo_kernel_domain)
|
|
||||||
continue;
|
|
||||||
if (domain->is_deleted ||
|
|
||||||
tomoyo_pathcmp(domain->domainname, &name))
|
|
||||||
continue;
|
|
||||||
domain->is_deleted = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
up_write(&tomoyo_domain_list_lock);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tomoyo_find_or_assign_new_domain - Create a domain.
|
* tomoyo_find_or_assign_new_domain - Create a domain.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue