Re: [PATCH 4/5] xfs: xfs_inode_free() isn't RCU safe

Dave Chinner
2016-04-12T23:29:49Z

On Tue, Apr 12, 2016 at 11:56:35AM +0300, Alex Lyakas wrote:
> 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?

Right, I forgot about that. Too many forests. I'll reconstruct your
patch from the email you appended it to previously and add that to
the series to test against.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com