diff options
author | delphij <delphij@FreeBSD.org> | 2017-08-10 06:59:26 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2017-08-10 06:59:26 +0000 |
commit | 82d137a0d8be5edd7243ab4a253b076ceb9f5633 (patch) | |
tree | 1398b970a9b8e825947bce39f4908bb775cc0cdb /sys/kern | |
parent | 348f5311d13a14a86bd5e73cfac8ac707498b87c (diff) | |
download | FreeBSD-src-releng/11.0.zip FreeBSD-src-releng/11.0.tar.gz |
Fix OpenSSH Denial of Service vulnerability. [SA-17:06]releng/11.0
Fix VNET kernel panic with asynchronous I/O. [EN-17:07]
Approved by: so
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/sys_socket.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c index 80c55dd..2be2123 100644 --- a/sys/kern/sys_socket.c +++ b/sys/kern/sys_socket.c @@ -673,6 +673,7 @@ soaio_process_sb(struct socket *so, struct sockbuf *sb) { struct kaiocb *job; + CURVNET_SET(so->so_vnet); SOCKBUF_LOCK(sb); while (!TAILQ_EMPTY(&sb->sb_aiojobq) && soaio_ready(so, sb)) { job = TAILQ_FIRST(&sb->sb_aiojobq); @@ -696,6 +697,7 @@ soaio_process_sb(struct socket *so, struct sockbuf *sb) ACCEPT_LOCK(); SOCK_LOCK(so); sorele(so); + CURVNET_RESTORE(); } void |