diff options
Diffstat (limited to 'drivers/target/iscsi/iscsi_target_auth.c')
| -rw-r--r-- | drivers/target/iscsi/iscsi_target_auth.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/drivers/target/iscsi/iscsi_target_auth.c b/drivers/target/iscsi/iscsi_target_auth.c index db0cf7c8add..a0fc7b9eea6 100644 --- a/drivers/target/iscsi/iscsi_target_auth.c +++ b/drivers/target/iscsi/iscsi_target_auth.c @@ -166,6 +166,7 @@ static int chap_server_compute_md5(  {  	char *endptr;  	unsigned long id; +	unsigned char id_as_uchar;  	unsigned char digest[MD5_SIGNATURE_SIZE];  	unsigned char type, response[MD5_SIGNATURE_SIZE * 2 + 2];  	unsigned char identifier[10], *challenge = NULL; @@ -355,7 +356,9 @@ static int chap_server_compute_md5(  		goto out;  	} -	sg_init_one(&sg, &id, 1); +	/* To handle both endiannesses */ +	id_as_uchar = id; +	sg_init_one(&sg, &id_as_uchar, 1);  	ret = crypto_hash_update(&desc, &sg, 1);  	if (ret < 0) {  		pr_err("crypto_hash_update() failed for id\n"); |