Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / drivers / target / iscsi / iscsi_target_auth.c
index a0fc7b9eea652c570419052deff33fec88210209..cee17543278ceea34ef478f80db2940f3f58fd31 100644 (file)
@@ -49,32 +49,6 @@ static void chap_binaryhex_to_asciihex(char *dst, char *src, int src_len)
        }
 }
 
-static void chap_set_random(char *data, int length)
-{
-       long r;
-       unsigned n;
-
-       while (length > 0) {
-               get_random_bytes(&r, sizeof(long));
-               r = r ^ (r >> 8);
-               r = r ^ (r >> 4);
-               n = r & 0x7;
-
-               get_random_bytes(&r, sizeof(long));
-               r = r ^ (r >> 8);
-               r = r ^ (r >> 5);
-               n = (n << 3) | (r & 0x7);
-
-               get_random_bytes(&r, sizeof(long));
-               r = r ^ (r >> 8);
-               r = r ^ (r >> 5);
-               n = (n << 2) | (r & 0x3);
-
-               *data++ = n;
-               length--;
-       }
-}
-
 static void chap_gen_challenge(
        struct iscsi_conn *conn,
        int caller,
@@ -86,7 +60,7 @@ static void chap_gen_challenge(
 
        memset(challenge_asciihex, 0, CHAP_CHALLENGE_LENGTH * 2 + 1);
 
-       chap_set_random(chap->challenge, CHAP_CHALLENGE_LENGTH);
+       get_random_bytes(chap->challenge, CHAP_CHALLENGE_LENGTH);
        chap_binaryhex_to_asciihex(challenge_asciihex, chap->challenge,
                                CHAP_CHALLENGE_LENGTH);
        /*