VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
author: Andy Shevchenko <andriy.shevchenko@linux.intel.com> 2020-02-24 17:37:50 +0200 committer: David Sterba <dsterba@suse.com> 2020-03-23 17:01:47 +0100 commit: 48a2e88f53aea4dface64883157ad3c428132f75 parent: d01cd62400b3a42d012069518614d944c35f9c99
Commit Summary:
uuid: Provide a GUID generator for raw buffer
Diffstat:
1 file changed, 10 insertions, 0 deletions
diff --git a/lib/uuid.c b/lib/uuid.c
index b6a1edb61d87..562d53977cab 100644
--- a/lib/uuid.c
+++ b/lib/uuid.c
@@ -40,6 +40,16 @@ void generate_random_uuid(unsigned char uuid[16])
 }
 EXPORT_SYMBOL(generate_random_uuid);
 
+void generate_random_guid(unsigned char guid[16])
+{
+	get_random_bytes(guid, 16);
+	/* Set GUID version to 4 --- truly random generation */
+	guid[7] = (guid[7] & 0x0F) | 0x40;
+	/* Set the GUID variant to DCE */
+	guid[8] = (guid[8] & 0x3F) | 0x80;
+}
+EXPORT_SYMBOL(generate_random_guid);
+
 static void __uuid_gen_common(__u8 b[16])
 {
 	prandom_bytes(b, 16);