Commit a58aa4ed authored by Greg Price's avatar Greg Price Committed by Theodore Ts'o

random: forget lock in lockless accounting

The only mutable data accessed here is ->entropy_count, but since
10b3a32d ("random: fix accounting race condition") we use cmpxchg to
protect our accesses to ->entropy_count here.  Drop the use of the
lock.

Cc: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: default avatarGreg Price <price@mit.edu>
Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
parent ee1de406
...@@ -970,9 +970,6 @@ static size_t account(struct entropy_store *r, size_t nbytes, int min, ...@@ -970,9 +970,6 @@ static size_t account(struct entropy_store *r, size_t nbytes, int min,
int entropy_count, orig; int entropy_count, orig;
size_t ibytes; size_t ibytes;
/* Hold lock while accounting */
spin_lock_irqsave(&r->lock, flags);
BUG_ON(r->entropy_count > r->poolinfo->poolfracbits); BUG_ON(r->entropy_count > r->poolinfo->poolfracbits);
/* Can we pull enough? */ /* Can we pull enough? */
...@@ -995,7 +992,6 @@ static size_t account(struct entropy_store *r, size_t nbytes, int min, ...@@ -995,7 +992,6 @@ static size_t account(struct entropy_store *r, size_t nbytes, int min,
< random_write_wakeup_thresh) < random_write_wakeup_thresh)
wakeup_write = 1; wakeup_write = 1;
} }
spin_unlock_irqrestore(&r->lock, flags);
trace_debit_entropy(r->name, 8 * ibytes); trace_debit_entropy(r->name, 8 * ibytes);
if (wakeup_write) { if (wakeup_write) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment