nfsd: fix error handling in nfs4_set_delegation()
authorAndrew Elble <aweits@rit.edu>
Wed, 18 Apr 2018 21:04:37 +0000 (17:04 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 8 Jun 2018 20:42:29 +0000 (16:42 -0400)
commit692ad280bff3e81721ab138b9455948ab5289acf
treed3949a9ca159e06cc169aa650af07e90561e3172
parent3171822fdcdd6e6d536047c425af6dc7a92dc585
nfsd: fix error handling in nfs4_set_delegation()

I noticed a memory corruption crash in nfsd in
4.17-rc1. This patch corrects the issue.

Fix to return error if the delegation couldn't be hashed or there was
a recall in progress. Use the existing error path instead of
destroy_delegation() for readability.

Signed-off-by: Andrew Elble <aweits@rit.edu>
Fixes: 353601e7d323c ("nfsd: create a separate lease for each delegation")
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs4state.c