Messages in this thread | | | Date | Fri, 31 May 2013 19:10:25 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCH] audit: wait_for_auditd() should use TASK_UNINTERRUPTIBLE |
| |
On 05/29, Andrew Morton wrote: > > On Fri, 24 May 2013 19:39:25 +0200 Oleg Nesterov <oleg@redhat.com> wrote: > > > audit_log_start() does wait_for_auditd() in a loop until > > audit_backlog_wait_time passes or audit_skb_queue has a room. > > > > If signal_pending() is true this becomes a busy-wait loop, > > schedule() in TASK_INTERRUPTIBLE won't block. > > And that's game over for a uniprocessor non-preempt machine, yes?
If this task is rt, yes. Otherwise schedule() still does pick_next_task() but this is obviously bad anyway. So I fully agree with "Cc: stable" you added.
> > Reported-by: Guy Streeter <streeter@redhat.com> > > And what did Guy report? "that looks screwy"? "my machine locked up"?
He also investigated the problem and provided the detailed explanation ;)
Oleg.
| |