Commit 0ca8cb36 authored by Trond Myklebust's avatar Trond Myklebust

RPCSEC_GSS: Instead of having gss_get_mic allocate memory for

the mic, require the caller to pass an output buffer whose data
pointer already points to preallocated memory.
parent 3f13d9aa
......@@ -711,6 +711,7 @@ gss_marshal(struct rpc_task *task, u32 *p, int ruid)
/* set verifier flavor*/
*p++ = htonl(RPC_AUTH_GSS);
bufout.data = (u8 *)(p + 1);
maj_stat = gss_get_mic(ctx->gc_gss_ctx,
GSS_C_QOP_DEFAULT,
&bufin, &bufout);
......@@ -719,9 +720,9 @@ gss_marshal(struct rpc_task *task, u32 *p, int ruid)
maj_stat);
goto out_put_ctx;
}
p = xdr_encode_netobj(p, &bufout);
*p++ = htonl(bufout.len);
p += XDR_QUADLEN(bufout.len);
gss_put_ctx(ctx);
kfree(bufout.data);
return p;
out_put_ctx:
gss_put_ctx(ctx);
......
......@@ -93,8 +93,6 @@ krb5_make_token(struct krb5_ctx *ctx, int qop_req,
now = jiffies;
token->data = NULL;
if (qop_req != 0)
goto out_err;
......@@ -122,8 +120,6 @@ krb5_make_token(struct krb5_ctx *ctx, int qop_req,
}
token->len = g_token_size(&ctx->mech_used, 22 + tmsglen);
if ((token->data = kmalloc(token->len, GFP_KERNEL)) == NULL)
goto out_err;
ptr = token->data;
g_make_token_header(&ctx->mech_used, 22 + tmsglen, &ptr, toktype);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment