All of lore.kernel.org
 help / color / mirror / Atom feed
* insanity in ll_dirty_page_discard_warn()
@ 2016-07-28 18:26 Al Viro
  2016-07-28 19:25   ` [lustre-devel] " Oleg Drokin
  0 siblings, 1 reply; 7+ messages in thread
From: Al Viro @ 2016-07-28 18:26 UTC (permalink / raw)
  To: Oleg Drokin; +Cc: linux-fsdevel

        /* this can be called inside spin lock so use GFP_ATOMIC. */
        buf = (char *)__get_free_page(GFP_ATOMIC);
        if (buf) {
                dentry = d_find_alias(page->mapping->host);
	...
	if (dentry)
		dput(dentry);

If it *can* be called under a spinlock, you have an obvious problem -
dput() can sleep.  d_find_alias() might've picked a hashed dentry with
zero refcount that got unhashed by the time of dput().  Or other references
used to exist, but got dropped by that point...

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-08-01 13:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-28 18:26 insanity in ll_dirty_page_discard_warn() Al Viro
2016-07-28 19:25 ` Oleg Drokin
2016-07-28 19:25   ` [lustre-devel] " Oleg Drokin
2016-07-29 17:22   ` Ben Evans
2016-07-29 17:22     ` Ben Evans
2016-08-01  7:54     ` DEGREMONT Aurelien
2016-08-01 13:14       ` Ben Evans

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.