diff options
| author | Rusty Russell <[email protected]> | 2014-12-08 16:50:37 +0800 |
|---|---|---|
| committer | Herbert Xu <[email protected]> | 2014-12-22 23:02:39 +1100 |
| commit | 3a2c0ba5ad00c018c0bef39a2224aca950aa33f2 (patch) | |
| tree | 1fbf69fb820c0fa2e6050f8caaecff424c73bd8d /tools/perf/scripts/python | |
| parent | 1dacb395d68a14825ee48c0843335e3181aea675 (diff) | |
hwrng: use reference counts on each struct hwrng.
current_rng holds one reference, and we bump it every time we want
to do a read from it.
This means we only hold the rng_mutex to grab or drop a reference,
so accessing /sys/devices/virtual/misc/hw_random/rng_current doesn't
block on read of /dev/hwrng.
Using a kref is overkill (we're always under the rng_mutex), but
a standard pattern.
This also solves the problem that the hwrng_fillfn thread was
accessing current_rng without a lock, which could change (eg. to NULL)
underneath it.
Signed-off-by: Rusty Russell <[email protected]>
Signed-off-by: Amos Kong <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions