NFS fix cb_sequence error processing
Always assign the cb_process_state nfs_client pointer so a processing error in cb_sequence after the nfs_client is found and referenced returns a non-NULL cb_process_state nfs_client and the matching nfs_put_client in nfs4_callback_compound dereferences the client. Signed-off-by: Andy Adamson <andros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
Родитель
778be232a2
Коммит
2c4cdf8f6d
|
@ -408,9 +408,9 @@ __be32 nfs4_callback_sequence(struct cb_sequenceargs *args,
|
|||
res->csr_highestslotid = NFS41_BC_MAX_CALLBACKS - 1;
|
||||
res->csr_target_highestslotid = NFS41_BC_MAX_CALLBACKS - 1;
|
||||
nfs4_cb_take_slot(clp);
|
||||
cps->clp = clp; /* put in nfs4_callback_compound */
|
||||
|
||||
out:
|
||||
cps->clp = clp; /* put in nfs4_callback_compound */
|
||||
for (i = 0; i < args->csa_nrclists; i++)
|
||||
kfree(args->csa_rclists[i].rcl_refcalls);
|
||||
kfree(args->csa_rclists);
|
||||
|
|
Загрузка…
Ссылка в новой задаче