]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
NFSv4/pNFS: Clear NFS_INO_LAYOUTCOMMIT in pnfs_mark_layout_stateid_invalid
authorJonathan Curley <jcurley@purestorage.com>
Wed, 12 Nov 2025 18:02:42 +0000 (18:02 +0000)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Sun, 23 Nov 2025 20:33:33 +0000 (15:33 -0500)
commite0f8058f2cb56de0b7572f51cd563ca5debce746
tree198316c01ac9cf24143af41b20c9da3008d8ba51
parent9e9fdd0ad0fba799dbae7ecfd167199885fb63a1
NFSv4/pNFS: Clear NFS_INO_LAYOUTCOMMIT in pnfs_mark_layout_stateid_invalid

Fixes a crash when layout is null during this call stack:

write_inode
    -> nfs4_write_inode
        -> pnfs_layoutcommit_inode

pnfs_set_layoutcommit relies on the lseg refcount to keep the layout
around. Need to clear NFS_INO_LAYOUTCOMMIT otherwise we might attempt
to reference a null layout.

Fixes: fe1cf9469d7bc ("pNFS: Clear all layout segment state in pnfs_mark_layout_stateid_invalid")
Signed-off-by: Jonathan Curley <jcurley@purestorage.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/pnfs.c