diff options
author | Luiz Otavio O Souza <luiz@netgate.com> | 2015-09-15 16:55:14 -0500 |
---|---|---|
committer | Luiz Otavio O Souza <luiz@netgate.com> | 2015-10-20 12:07:25 -0500 |
commit | 0459c01460b86143a703ac515909b4d0d49db8f5 (patch) | |
tree | 6ad0c82898da4c8bf129f1497f066c77cd2a23c0 /bin/echo/echo.c | |
parent | 47573b208d9723bf2586ef1b2448a5bd064c91b1 (diff) | |
download | FreeBSD-src-0459c01460b86143a703ac515909b4d0d49db8f5.zip FreeBSD-src-0459c01460b86143a703ac515909b4d0d49db8f5.tar.gz |
MFC r285289:
address an issue where consumers, like IPsec, can reuse the same
session in multiple threads w/o locking.. There was a single fpu
context shared per session, if multiple threads were using the session,
and both migrated away, they could corrupt each other's fpu context...
This patch adds a per cpu context and a lock to protect it...
It also tries to better address unloading of the aesni module...
The pause will be removed once the OpenCrypto Framework provides a
better method for draining callers into _newsession...
I first discovered the fpu context sharing issue w/ a flood ping over
an IPsec tunnel between two bhyve machines... The patch in D3015
was used to verify that this fix does fix the issue...
Reviewed by: gnn, kib (both earlier versions)
Differential Revision: https://reviews.freebsd.org/D3016
TAG: IPSEC-HEAD
Issue: #4841
Diffstat (limited to 'bin/echo/echo.c')
0 files changed, 0 insertions, 0 deletions