From: Jiri Slaby on
Hi,

stanse found a sleep inside atomic added by the following commit:
commit fb36de479642bc9bdd3af251ae48b882d8a1ad5d
Author: Eric Paris <eparis(a)redhat.com>
Date: Thu Dec 17 20:12:05 2009 -0500

audit: reimplement audit_trees using fsnotify rather than inotify

Simply switch audit_trees from using inotify to using fsnotify for it's
inode pinning and disappearing act information.

Signed-off-by: Eric Paris <eparis(a)redhat.com>


In untag_chunk, there is
spin_lock(&entry->lock);
...
new = alloc_chunk(size);
...
spin_unlock(&entry->lock);

with
static struct audit_chunk *alloc_chunk(int count)
{
struct audit_chunk *chunk;
...
chunk = kzalloc(size, GFP_KERNEL);

But this can sleep. How big the allocations are? Could it be ATOMIC or
moved outside the spinlock?

thanks,
--
js
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/