Commit 32ce6b3a authored by Chuck Lever's avatar Chuck Lever
Browse files

NFSD: Avoid corruption of a referring call list



The new code neglects to remove a freshly-allocated RCL from the
callback's referring call list when no matching referring call is
found.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202505171002.cE46sdj5-lkp@intel.com/


Fixes: 4f3c8d8c ("NFSD: Implement CB_SEQUENCE referring call lists")
Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 425364dc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1409,6 +1409,7 @@ void nfsd41_cb_referring_call(struct nfsd4_callback *cb,
out:
	if (!rcl->__nr_referring_calls) {
		cb->cb_nr_referring_call_list--;
		list_del(&rcl->__list);
		kfree(rcl);
	}
}