[PATCH 4/5] xfs: xfs_inode_free() isn't RCU safe
Alex Lyakas
alex at zadarastorage.com
Tue Apr 12 03:56:35 CDT 2016
Hello Dave,
Looking at the patch, I see that now we call xfs_idestroy_fork() in RCU callback. This can do the following chain:
xfs_iext_destroy => xfs_iext_irec_remove => xfs_iext_realloc_indirect=> kmem_realloc => kmem_alloc => kmem_alloc => congestion_wait()
At least according to documentation, the RCU callback cannot block, since it may be called from softirq context. Is this fine?
Thanks,
Alex.
P.S.: I have submitted a patch called “[PATCH] xfs: optimize destruction of the indirection array”, which changes xfs_iext_destroy to call only kmem_free(). But this patch got stuck in the spam filter of the mailing list, and Brent is working to release it from there.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20160412/0d7985d6/attachment-0001.html>
More information about the xfs
mailing list