On 4/6/11 12:36 PM, Jim Rees wrote:
Trond Myklebust wrote:
> diff --git a/net/sunrpc/auth_gss/gss_krb5_mech.c b/net/sunrpc/auth_gss/gss_krb5_
> index 0326446..8a4d083c 100644
> --- a/net/sunrpc/auth_gss/gss_krb5_mech.c
> +++ b/net/sunrpc/auth_gss/gss_krb5_mech.c
> @@ -422,7 +422,7 @@ static int
> context_derive_keys_rc4(struct krb5_ctx *ctx)
> {
> struct crypto_hash *hmac;
> - char sigkeyconstant[] = "signaturekey";
> + static const char sigkeyconstant[] = "signaturekey";
> int slen = strlen(sigkeyconstant) + 1; /* include null terminator */
> struct hash_desc desc;
> struct scatterlist sg[1];
>
> Solution: if this commit is undone, rc4-based mount works without
> issues. verified with linux and windows clients.
Hi Olga,
Thanks for the report! I'll revert this commit in upstream and the
stable kernels.
But why does this fix it?
--
Because it is no longer on the stack?
If whatever referenced it lived longer than the call to
context_derive_keys_rc4(),
then it would be referencing garbage.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html