On Fri, Dec 08, 2017 at 04:18:58AM +0000, Ben Hutchings wrote: > On Thu, 2017-12-07 at 14:07 +0100, Greg Kroah-Hartman wrote: > > 4.4-stable review patch. If anyone has any objections, please let me know. > > > > ------------------ > > > > From: Benjamin Coddington <bcodding@xxxxxxxxxx> > > > > > > [ Upstream commit 4b09ec4b14a168bf2c687e1f598140c3c11e9222 ] > > > > I have reports of a crash that look like __fput() was called twice for > > a NFSv4.0 file. It seems possible that the state manager could try to > > reclaim a lock and take a reference on the fl->fl_file at the same time the > > file is being released if, during the close(), a signal interrupts the wait > > for outstanding IO while removing locks which then skips the removal > > of that lock. > > > > Since 83bfff23e9ed ("nfs4: have do_vfs_lock take an inode pointer") has > > removed the need to traverse fl->fl_file->f_inode in nfs4_lock_done(), > > taking that reference is no longer necessary. > [...] > > No objection to this in 4.4, but that other commit only went into 4.2 > so this fix doesn't look suitable for 3.18. Good catch, now dropped, thanks. greg k-h