dm integrity: use hex2bin instead of open-coded variant

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
Mikulas Patocka 2017-04-27 11:49:33 -04:00 committed by Mike Snitzer
parent e944e03e33
commit 6625d90325

View File

@ -2496,8 +2496,6 @@ static int get_alg_and_key(const char *arg, struct alg_spec *a, char **error, ch
k = strchr(a->alg_string, ':');
if (k) {
unsigned i;
*k = 0;
a->key_string = k + 1;
if (strlen(a->key_string) & 1)
@ -2507,16 +2505,8 @@ static int get_alg_and_key(const char *arg, struct alg_spec *a, char **error, ch
a->key = kmalloc(a->key_size, GFP_KERNEL);
if (!a->key)
goto nomem;
for (i = 0; i < a->key_size; i++) {
char digit[3];
digit[0] = a->key_string[i * 2];
digit[1] = a->key_string[i * 2 + 1];
digit[2] = 0;
if (strspn(digit, "0123456789abcdefABCDEF") != 2)
goto inval;
if (kstrtou8(digit, 16, &a->key[i]))
goto inval;
}
if (hex2bin(a->key, a->key_string, a->key_size))
goto inval;
}
return 0;