Module Name: src Committed By: martin Date: Mon Nov 12 12:23:20 UTC 2018
Modified Files: src/sys/kern [netbsd-8]: uipc_usrreq.c src/sys/netipsec [netbsd-8]: keysock.c Log Message: Pull up following revision(s) (requested by roy in ticket #1092): sys/netipsec/keysock.c: revision 1.66 sys/kern/uipc_usrreq.c: revision 1.187 Don't call soroverflow when we return the error to the sender. Thanks to thorpej@ for a sanity check. To generate a diff of this commit: cvs rdiff -u -r1.181.8.2 -r1.181.8.3 src/sys/kern/uipc_usrreq.c cvs rdiff -u -r1.58.2.2 -r1.58.2.3 src/sys/netipsec/keysock.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/uipc_usrreq.c diff -u src/sys/kern/uipc_usrreq.c:1.181.8.2 src/sys/kern/uipc_usrreq.c:1.181.8.3 --- src/sys/kern/uipc_usrreq.c:1.181.8.2 Sat May 12 10:42:22 2018 +++ src/sys/kern/uipc_usrreq.c Mon Nov 12 12:23:20 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: uipc_usrreq.c,v 1.181.8.2 2018/05/12 10:42:22 martin Exp $ */ +/* $NetBSD: uipc_usrreq.c,v 1.181.8.3 2018/11/12 12:23:20 martin Exp $ */ /*- * Copyright (c) 1998, 2000, 2004, 2008, 2009 The NetBSD Foundation, Inc. @@ -96,7 +96,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uipc_usrreq.c,v 1.181.8.2 2018/05/12 10:42:22 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uipc_usrreq.c,v 1.181.8.3 2018/11/12 12:23:20 martin Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -332,11 +332,13 @@ unp_output(struct mbuf *m, struct mbuf * unp_dispose(control); m_freem(control); m_freem(m); - soroverflow(so2); - return (ENOBUFS); + /* Don't call soroverflow because we're returning this + * error directly to the sender. */ + so2->so_rcv.sb_overflowed++; + return ENOBUFS; } else { sorwakeup(so2); - return (0); + return 0; } } Index: src/sys/netipsec/keysock.c diff -u src/sys/netipsec/keysock.c:1.58.2.2 src/sys/netipsec/keysock.c:1.58.2.3 --- src/sys/netipsec/keysock.c:1.58.2.2 Mon Apr 9 13:34:10 2018 +++ src/sys/netipsec/keysock.c Mon Nov 12 12:23:20 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: keysock.c,v 1.58.2.2 2018/04/09 13:34:10 bouyer Exp $ */ +/* $NetBSD: keysock.c,v 1.58.2.3 2018/11/12 12:23:20 martin Exp $ */ /* $FreeBSD: src/sys/netipsec/keysock.c,v 1.3.2.1 2003/01/24 05:11:36 sam Exp $ */ /* $KAME: keysock.c,v 1.25 2001/08/13 20:07:41 itojun Exp $ */ @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: keysock.c,v 1.58.2.2 2018/04/09 13:34:10 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: keysock.c,v 1.58.2.3 2018/11/12 12:23:20 martin Exp $"); /* This code has derived from sys/net/rtsock.c on FreeBSD2.2.5 */ @@ -207,7 +207,9 @@ key_sendup0( __func__); PFKEY_STATINC(PFKEY_STAT_IN_NOMEM); m_freem(m); - soroverflow(rp->rcb_socket); + /* Don't call soroverflow because we're returning this + * error directly to the sender. */ + rp->rcb_socket->so_rcv.sb_overflowed++; error = ENOBUFS; } else { sorwakeup(rp->rcb_socket);