summaryrefslogtreecommitdiff
path: root/drivers/char/random.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-18 15:57:31 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-18 15:57:31 -0700
commit665ab0f3c8b8f86bb77b25285ac93870c7054d63 (patch)
treec7d12c3559982eb3fb1847438d4b45ce034851e5 /drivers/char/random.c
parentbf03f65b7967df5807ddef7b99f8a41d4c94fc70 (diff)
parente816b57a337ea3b755de72bec38c10c864f23015 (diff)
Merge 3.4-rc3 into tty-next
This allows us to pick up some changes needed for other serial patches. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/char/random.c')
-rw-r--r--drivers/char/random.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/char/random.c b/drivers/char/random.c
index 54ca8b23cde3..4ec04a754733 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -1260,10 +1260,15 @@ static int proc_do_uuid(ctl_table *table, int write,
uuid = table->data;
if (!uuid) {
uuid = tmp_uuid;
- uuid[8] = 0;
- }
- if (uuid[8] == 0)
generate_random_uuid(uuid);
+ } else {
+ static DEFINE_SPINLOCK(bootid_spinlock);
+
+ spin_lock(&bootid_spinlock);
+ if (!uuid[8])
+ generate_random_uuid(uuid);
+ spin_unlock(&bootid_spinlock);
+ }
sprintf(buf, "%pU", uuid);