diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c
index c5785fd3f52e841a8ef046c43b0d4226f5c3fafb..606fd7d6cb713af9b3ee245cec23aac497f24685 100644
--- a/fs/cifs/sess.c
+++ b/fs/cifs/sess.c
@@ -877,7 +877,7 @@ sess_alloc_buffer(struct sess_data *sess_data, int wct)
 	return 0;
 
 out_free_smb_buf:
-	kfree(smb_buf);
+	cifs_small_buf_release(smb_buf);
 	sess_data->iov[0].iov_base = NULL;
 	sess_data->iov[0].iov_len = 0;
 	sess_data->buf0_type = CIFS_NO_BUFFER;