Messages in this thread | | | From | Paul Moore <> | Subject | Re: [PATCH] audit: cleanup prune_tree_thread | Date | Mon, 04 Apr 2016 10:06:41 -0400 |
| |
On Thursday, March 31, 2016 10:49:28 AM Jiri Slaby wrote: > 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> > --- > kernel/audit_tree.c | 12 +++++------- > 1 file changed, 5 insertions(+), 7 deletions(-)
Thanks, it looks good to me; merged.
> diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c > index 5efe9b299a12..25772476fa4a 100644 > --- a/kernel/audit_tree.c > +++ b/kernel/audit_tree.c > @@ -661,10 +661,10 @@ static int tag_mount(struct vfsmount *mnt, void *arg) > static int prune_tree_thread(void *unused) > { > for (;;) { > - set_current_state(TASK_INTERRUPTIBLE); > - if (list_empty(&prune_list)) > + if (list_empty(&prune_list)) { > + set_current_state(TASK_INTERRUPTIBLE); > schedule(); > - __set_current_state(TASK_RUNNING); > + } > > mutex_lock(&audit_cmd_mutex); > mutex_lock(&audit_filter_mutex); > @@ -693,16 +693,14 @@ static int audit_launch_prune(void) > { > if (prune_thread) > return 0; > - prune_thread = kthread_create(prune_tree_thread, NULL, > + prune_thread = kthread_run(prune_tree_thread, NULL, > "audit_prune_tree"); > if (IS_ERR(prune_thread)) { > pr_err("cannot start thread audit_prune_tree"); > prune_thread = NULL; > return -ENOMEM; > - } else { > - wake_up_process(prune_thread); > - return 0; > } > + return 0; > } > > /* called with audit_filter_mutex */
-- paul moore www.paul-moore.com
| |