audit: cleanup prune_tree_thread
We can use kthread_run instead of kthread_create+wake_up_process for creating the thread. We do not need to set the task state to TASK_RUNNING after schedule(), the process is in that state already. And we do not need to set the state to TASK_INTERRUPTIBLE when not doing schedule() as we set the state to TASK_RUNNING immediately afterwards. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: Paul Moore <paul@paul-moore.com> Cc: Eric Paris <eparis@redhat.com> Cc: <linux-audit@redhat.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:
parent
b562e44f50
commit
0bf676d1fd
1 changed files with 5 additions and 7 deletions
|
@ -661,10 +661,10 @@ static int tag_mount(struct vfsmount *mnt, void *arg)
|
||||||
static int prune_tree_thread(void *unused)
|
static int prune_tree_thread(void *unused)
|
||||||
{
|
{
|
||||||
for (;;) {
|
for (;;) {
|
||||||
set_current_state(TASK_INTERRUPTIBLE);
|
if (list_empty(&prune_list)) {
|
||||||
if (list_empty(&prune_list))
|
set_current_state(TASK_INTERRUPTIBLE);
|
||||||
schedule();
|
schedule();
|
||||||
__set_current_state(TASK_RUNNING);
|
}
|
||||||
|
|
||||||
mutex_lock(&audit_cmd_mutex);
|
mutex_lock(&audit_cmd_mutex);
|
||||||
mutex_lock(&audit_filter_mutex);
|
mutex_lock(&audit_filter_mutex);
|
||||||
|
@ -693,16 +693,14 @@ static int audit_launch_prune(void)
|
||||||
{
|
{
|
||||||
if (prune_thread)
|
if (prune_thread)
|
||||||
return 0;
|
return 0;
|
||||||
prune_thread = kthread_create(prune_tree_thread, NULL,
|
prune_thread = kthread_run(prune_tree_thread, NULL,
|
||||||
"audit_prune_tree");
|
"audit_prune_tree");
|
||||||
if (IS_ERR(prune_thread)) {
|
if (IS_ERR(prune_thread)) {
|
||||||
pr_err("cannot start thread audit_prune_tree");
|
pr_err("cannot start thread audit_prune_tree");
|
||||||
prune_thread = NULL;
|
prune_thread = NULL;
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
} else {
|
|
||||||
wake_up_process(prune_thread);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* called with audit_filter_mutex */
|
/* called with audit_filter_mutex */
|
||||||
|
|
Loading…
Add table
Reference in a new issue