sg[0].page = virt_to_page(out); sg[0].offset = offset_in_page(out); sg[0].length = length; 
sg_set_buf(&sg[0], out, length); 
krb5_decrypt(     struct crypto_tfm *tfm,     void * iv,     void * in,     void * out,     int length){	u32 ret = -EINVAL;	struct scatterlist sg[1];	u8 local_iv[16] = {0};	dprintk("RPC:      krb5_decrypt: input data:\n");	print_hexl((u32 *)in, length, 0);	if (length % crypto_tfm_alg_blocksize(tfm) != 0)		goto out;	if (crypto_tfm_alg_ivsize(tfm) > 16) {		dprintk("RPC:      gss_k5decrypt: tfm iv size to large %d\n",			crypto_tfm_alg_ivsize(tfm));		goto out;	}	if (iv)		memcpy(local_iv,iv, crypto_tfm_alg_ivsize(tfm));	memcpy(out, in, length);	sg[0].page = virt_to_page(out);	sg[0].offset = offset_in_page(out);	sg[0].length = length;	ret = crypto_cipher_decrypt_iv(tfm, sg, sg, length, local_iv);	dprintk("RPC:      krb5_decrypt: output_data:\n");	print_hexl((u32 *)out, length, 0);out:	dprintk("RPC:      gss_k5decrypt returns %d\n",ret);	return(ret);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/378f058cc49bcda7fa63d3cd86d2f9a0a5188b1c/gss_krb5_crypto.c/clean/net/sunrpc/auth_gss/gss_krb5_crypto.c