summaryrefslogtreecommitdiffstats
path: root/sys/crypto/via
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2008-08-09 19:43:44 +0000
committerpjd <pjd@FreeBSD.org>2008-08-09 19:43:44 +0000
commitc14f239009f6a9eaac1b6cc3d1f7da686e0cbff2 (patch)
tree3d132c0c975095ea38139f647e9a7c98ab827ab5 /sys/crypto/via
parent1be547932b035d1775c66c5f17b6a67174c5e575 (diff)
downloadFreeBSD-src-c14f239009f6a9eaac1b6cc3d1f7da686e0cbff2.zip
FreeBSD-src-c14f239009f6a9eaac1b6cc3d1f7da686e0cbff2.tar.gz
When freeing session, restore its ID after zeroing memory.
Bug tracked down by: Patrick Lamaiziere <patfbsd@davenulle.org>
Diffstat (limited to 'sys/crypto/via')
-rw-r--r--sys/crypto/via/padlock.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/crypto/via/padlock.c b/sys/crypto/via/padlock.c
index 9818f3e..c8e398d 100644
--- a/sys/crypto/via/padlock.c
+++ b/sys/crypto/via/padlock.c
@@ -272,6 +272,7 @@ padlock_freesession(device_t dev, uint64_t tid)
padlock_hash_free(ses);
bzero(ses, sizeof(*ses));
ses->ses_used = 0;
+ ses->ses_id = sid;
TAILQ_INSERT_HEAD(&sc->sc_sessions, ses, ses_next);
rw_wunlock(&sc->sc_sessions_lock);
return (0);
OpenPOWER on IntegriCloud