mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-04 09:09:56 +00:00
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:
parent
1761672b75
commit
d7aed12f45
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=133423
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user