diff options
author | candychencan <[email protected]> | 2016-10-01 07:04:43 +0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-09-30 16:04:43 -0700 |
commit | 0ca5261be44abd9f6587792df1dc0c8ff73d2f7c (patch) | |
tree | 94644b9499c6528fe33f67ecb094e90aa86b0a88 /module/icp | |
parent | 0a8f18f9327a6275759393c5fc2f14664f172add (diff) |
Fix NULL deref in kcf_remove_mech_provider
In the default case the function must return to avoid dereferencing
'prov_mech' which will be NULL.
Reviewed-by: Tom Caputi <[email protected]>
Reviewed-by: Richard Laager <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: candychencan <[email protected]>
Closes #5134
Diffstat (limited to 'module/icp')
-rw-r--r-- | module/icp/core/kcf_mech_tabs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/module/icp/core/kcf_mech_tabs.c b/module/icp/core/kcf_mech_tabs.c index 3545f03ee..3ed154758 100644 --- a/module/icp/core/kcf_mech_tabs.c +++ b/module/icp/core/kcf_mech_tabs.c @@ -659,7 +659,9 @@ kcf_remove_mech_provider(char *mech_name, kcf_provider_desc_t *prov_desc) mech_entry->me_sw_prov = NULL; break; default: - break; + /* unexpected crypto_provider_type_t */ + mutex_exit(&mech_entry->me_mutex); + return; } mutex_exit(&mech_entry->me_mutex); |