NFS: Fix 2 use after free issues in the I/O code
authorTrond Myklebust <trond.myklebust@primarydata.com>
Sat, 9 Sep 2017 01:28:11 +0000 (21:28 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Sat, 9 Sep 2017 02:07:52 +0000 (22:07 -0400)
commit196639ebbe63a037fe9a80669140bd292d8bcd80
tree96e44b7ef1fbfb23c69076f96c4987e397f9333e
parente973b1a5999e57da677ab50da5f5479fdc0f0c31
NFS: Fix 2 use after free issues in the I/O code

The writeback code wants to send a commit after processing the pages,
which is why we want to delay releasing the struct path until after
that's done.

Also, the layout code expects that we do not free the inode before
we've put the layout segments in pnfs_writehdr_free() and
pnfs_readhdr_free()

Fixes: 919e3bd9a875 ("NFS: Ensure we commit after writeback is complete")
Fixes: 4714fb51fd03 ("nfs: remove pgio_header refcount, related cleanup")
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/internal.h
fs/nfs/pagelist.c
fs/nfs/pnfs.c