Kernel bump from 4.1.3-rt to 4.1.7-rt.
[kvmfornfv.git] / kernel / crypto / asymmetric_keys / asymmetric_type.c
index bcbbbd7..b0e4ed2 100644 (file)
@@ -104,6 +104,15 @@ static bool asymmetric_match_key_ids(
        return false;
 }
 
+/* helper function can be called directly with pre-allocated memory */
+inline int __asymmetric_key_hex_to_key_id(const char *id,
+                                  struct asymmetric_key_id *match_id,
+                                  size_t hexlen)
+{
+       match_id->len = hexlen;
+       return hex2bin(match_id->data, id, hexlen);
+}
+
 /**
  * asymmetric_key_hex_to_key_id - Convert a hex string into a key ID.
  * @id: The ID as a hex string.
@@ -111,21 +120,20 @@ static bool asymmetric_match_key_ids(
 struct asymmetric_key_id *asymmetric_key_hex_to_key_id(const char *id)
 {
        struct asymmetric_key_id *match_id;
-       size_t hexlen;
+       size_t asciihexlen;
        int ret;
 
        if (!*id)
                return ERR_PTR(-EINVAL);
-       hexlen = strlen(id);
-       if (hexlen & 1)
+       asciihexlen = strlen(id);
+       if (asciihexlen & 1)
                return ERR_PTR(-EINVAL);
 
-       match_id = kmalloc(sizeof(struct asymmetric_key_id) + hexlen / 2,
+       match_id = kmalloc(sizeof(struct asymmetric_key_id) + asciihexlen / 2,
                           GFP_KERNEL);
        if (!match_id)
                return ERR_PTR(-ENOMEM);
-       match_id->len = hexlen / 2;
-       ret = hex2bin(match_id->data, id, hexlen / 2);
+       ret = __asymmetric_key_hex_to_key_id(id, match_id, asciihexlen / 2);
        if (ret < 0) {
                kfree(match_id);
                return ERR_PTR(-EINVAL);