diff options
author | Aaron Sierra <[email protected]> | 2015-08-05 16:52:08 -0500 |
---|---|---|
committer | Herbert Xu <[email protected]> | 2015-08-10 23:19:05 +0800 |
commit | 35a3bb3d39d5a84b1adc02e5289d01a33d1073b6 (patch) | |
tree | b5cf6032c6c886a512433d50fae0a3ba8312c9ca /tools/perf/util/scripting-engines/trace-event-python.c | |
parent | ab86ca0755eccfdb0b2ffa3fe17cb41a6e61848b (diff) |
crypto: talitos - Prevent panic in probe error path
The probe error path for this driver, for all intents and purposes,
is the talitos_remove() function due to the common "goto err_out".
Without this patch applied, talitos_remove() will panic under these
two conditions:
1. If the RNG device hasn't been registered via
talitos_register_rng() prior to entry into talitos_remove(),
then the attempt to unregister the RNG "device" will cause a panic.
2. If the priv->chan array has not been allocated prior to entry
into talitos_remove(), then the per-channel FIFO cleanup will panic
because of the dereference of that NULL "array".
Both of the above scenarios occur if talitos_probe_irq() fails.
This patch resolves issue #1 by introducing a boolean to mask the
hwrng_unregister() call in talitos_unregister_rng() if RNG device
registration was unsuccessful.
It resolves issue #2 by checking that priv->chan is not NULL in the
per-channel FIFO cleanup for loop.
Signed-off-by: Aaron Sierra <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-python.c')
0 files changed, 0 insertions, 0 deletions