summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2005-08-17 14:34:52 +0000
committerpjd <pjd@FreeBSD.org>2005-08-17 14:34:52 +0000
commitb5aaabac190167f6c00c899a2b3c52e5baa34eea (patch)
tree32027f6a24c87fabc02157b81b6e57e5af8b60dc
parentc79357de048dc2e59ce5e6b3a6d49958407bfba4 (diff)
downloadFreeBSD-src-b5aaabac190167f6c00c899a2b3c52e5baa34eea.zip
FreeBSD-src-b5aaabac190167f6c00c899a2b3c52e5baa34eea.tar.gz
Even if crypto_dispatch() return an error, request is not canceled and
our callback will still be called, just to tell us that requested failed... Reported by: Mike Tancsa <mike@sentex.net> MFC after: 3 days
-rw-r--r--sys/geom/eli/g_eli.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/sys/geom/eli/g_eli.c b/sys/geom/eli/g_eli.c
index 575c63e..c5b7c06 100644
--- a/sys/geom/eli/g_eli.c
+++ b/sys/geom/eli/g_eli.c
@@ -588,21 +588,11 @@ g_eli_crypto_run(struct g_eli_worker *wr, struct bio *bp)
crd->crd_next = NULL;
err = crypto_dispatch(crp);
- if (err != 0) {
- G_ELI_DEBUG(1, "crypto_dispatch() returned %d.", err);
- bp->bio_children--;
- if (error == 0)
- error = err;
- }
+ if (error == 0)
+ error = err;
}
if (bp->bio_error == 0)
bp->bio_error = error;
- if (bp->bio_children > 0)
- error = 0;
- else {
- free(bp->bio_driver2, M_ELI);
- bp->bio_driver2 = NULL;
- }
return (error);
}
OpenPOWER on IntegriCloud