Przeglądaj źródła

nfsd: Fix a file leak on nfsd4_layout_setlease failure

If nfsd4_layout_setlease fails, nfsd will not put ls->ls_file.

Fix commit c5c707f96f "nfsd: implement pNFS layout recalls".

Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Kinglong Mee 10 lat temu
rodzic
commit
1ca4b88e7d
1 zmienionych plików z 1 dodań i 0 usunięć
  1. 1 0
      fs/nfsd/nfs4layouts.c

+ 1 - 0
fs/nfsd/nfs4layouts.c

@@ -212,6 +212,7 @@ nfsd4_alloc_layout_stateid(struct nfsd4_compound_state *cstate,
 	BUG_ON(!ls->ls_file);
 
 	if (nfsd4_layout_setlease(ls)) {
+		fput(ls->ls_file);
 		put_nfs4_file(fp);
 		kmem_cache_free(nfs4_layout_stateid_cache, ls);
 		return NULL;