Don't acquire Giant in cryptof_close(), as the code is intended to be

able to run MPsafe (and appears to be MPsafe).

Discussed with (some time ago):	sam
This commit is contained in:
Robert Watson 2004-08-10 03:26:17 +00:00
parent 1761672b75
commit d7aed12f45
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=133423

View File

@ -623,19 +623,12 @@ cryptof_close(struct file *fp, struct thread *td)
struct fcrypt *fcr = fp->f_data;
struct csession *cse;
/*
* XXXRW: The cryptodev and called code all appears to be
* MPSAFE, but I'm not set up to test it. Acquire Giant
* for now.
*/
mtx_lock(&Giant);
while ((cse = TAILQ_FIRST(&fcr->csessions))) {
TAILQ_REMOVE(&fcr->csessions, cse, next);
(void)csefree(cse);
}
FREE(fcr, M_XDATA);
fp->f_data = NULL;
mtx_unlock(&Giant);
return 0;
}