Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0867659f authored by Trond Myklebust's avatar Trond Myklebust
Browse files

Revert "net/sunrpc: Use static const char arrays"



This reverts commit 411b5e05.

Olga Kornievskaia reports:

Problem: linux client mounting linux server using rc4-hmac-md5
enctype. gssd fails with create a context after receiving a reply from
the server.

Diagnose: putting printout statements in the server kernel and
kerberos libraries revealed that client and server derived different
integrity keys.

Server kernel code was at fault due the the commit

[aglo@skydive linux-pnfs]$ git show 411b5e05

Trond: The problem is that since it relies on virt_to_page(), you cannot
call sg_set_buf() for data in the const section.

Reported-by: default avatarOlga Kornievskaia <aglo@citi.umich.edu>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@kernel.org	[2.6.36+]
parent 6221f222
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -427,7 +427,7 @@ static int
context_derive_keys_rc4(struct krb5_ctx *ctx)
context_derive_keys_rc4(struct krb5_ctx *ctx)
{
{
	struct crypto_hash *hmac;
	struct crypto_hash *hmac;
	static const char sigkeyconstant[] = "signaturekey";
	char sigkeyconstant[] = "signaturekey";
	int slen = strlen(sigkeyconstant) + 1;	/* include null terminator */
	int slen = strlen(sigkeyconstant) + 1;	/* include null terminator */
	struct hash_desc desc;
	struct hash_desc desc;
	struct scatterlist sg[1];
	struct scatterlist sg[1];