From 94b240bae03a02803c8f3ece2b1697a2178185ce Mon Sep 17 00:00:00 2001 From: James Wah Date: Thu, 4 Mar 2021 03:28:49 +1100 Subject: [PATCH] Don't bomb out when using keylocation=file:// Avoid following the error path when the operation in fact succeeded. Reviewed-by: Ryan Moeller Reviewed-by: Brian Behlendorf Signed-off-by: James Wah Closes #11651 --- lib/libzfs/libzfs_crypto.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/libzfs/libzfs_crypto.c b/lib/libzfs/libzfs_crypto.c index 1a2ee638ae..fe3a0f2836 100644 --- a/lib/libzfs/libzfs_crypto.c +++ b/lib/libzfs/libzfs_crypto.c @@ -532,6 +532,8 @@ get_key_material(libzfs_handle_t *hdl, boolean_t do_verify, boolean_t newkey, break; case ZFS_KEYLOCATION_URI: + ret = ENOTSUP; + for (handler = uri_handlers; handler->zuh_scheme != NULL; handler++) { if (strcmp(handler->zuh_scheme, uri_scheme) != 0) @@ -544,9 +546,11 @@ get_key_material(libzfs_handle_t *hdl, boolean_t do_verify, boolean_t newkey, break; } - ret = ENOTSUP; - zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, - "URI scheme is not supported")); + if (ret == ENOTSUP) { + zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, + "URI scheme is not supported")); + goto error; + } break; default: