Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-8]: src/sys Pull up following revision(s) (requested by roy in ti...



details:   https://anonhg.NetBSD.org/src/rev/97b36b80ea0e
branches:  netbsd-8
changeset: 445779:97b36b80ea0e
user:      martin <martin%NetBSD.org@localhost>
date:      Mon Nov 12 12:23:20 2018 +0000

description:
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.

diffstat:

 sys/kern/uipc_usrreq.c |  12 +++++++-----
 sys/netipsec/keysock.c |   8 +++++---
 2 files changed, 12 insertions(+), 8 deletions(-)

diffs (64 lines):

diff -r e14df25bf428 -r 97b36b80ea0e sys/kern/uipc_usrreq.c
--- a/sys/kern/uipc_usrreq.c    Mon Nov 12 12:17:06 2018 +0000
+++ b/sys/kern/uipc_usrreq.c    Mon Nov 12 12:23:20 2018 +0000
@@ -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_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;
        }
 }
 
diff -r e14df25bf428 -r 97b36b80ea0e sys/netipsec/keysock.c
--- a/sys/netipsec/keysock.c    Mon Nov 12 12:17:06 2018 +0000
+++ b/sys/netipsec/keysock.c    Mon Nov 12 12:23:20 2018 +0000
@@ -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 @@
                    __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);



Home | Main Index | Thread Index | Old Index