Module Name:    src
Committed By:   maxv
Date:           Fri Sep 14 05:09:51 UTC 2018

Modified Files:
        src/sys/dist/pf/net: if_pfsync.c if_pfsync.h
        src/sys/netinet: dccp_usrreq.c dccp_var.h igmp.c igmp_var.h in_proto.c
            ip_carp.c ip_carp.h ip_encap.c ip_encap.h ip_icmp.c ip_icmp.h
            ip_mroute.c ip_var.h pim_var.h raw_ip.c sctp_input.c sctp_var.h
            tcp_input.c tcp_var.h udp_usrreq.c udp_var.h
        src/sys/netipsec: ipsec.h ipsec_input.c
        src/sys/sys: protosw.h

Log Message:
Use non-variadic function pointer in protosw::pr_input.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/dist/pf/net/if_pfsync.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dist/pf/net/if_pfsync.h
cvs rdiff -u -r1.19 -r1.20 src/sys/netinet/dccp_usrreq.c
cvs rdiff -u -r1.4 -r1.5 src/sys/netinet/dccp_var.h
cvs rdiff -u -r1.68 -r1.69 src/sys/netinet/igmp.c
cvs rdiff -u -r1.24 -r1.25 src/sys/netinet/igmp_var.h \
    src/sys/netinet/ip_encap.h
cvs rdiff -u -r1.129 -r1.130 src/sys/netinet/in_proto.c
cvs rdiff -u -r1.99 -r1.100 src/sys/netinet/ip_carp.c
cvs rdiff -u -r1.9 -r1.10 src/sys/netinet/ip_carp.h
cvs rdiff -u -r1.69 -r1.70 src/sys/netinet/ip_encap.c
cvs rdiff -u -r1.173 -r1.174 src/sys/netinet/ip_icmp.c
cvs rdiff -u -r1.39 -r1.40 src/sys/netinet/ip_icmp.h
cvs rdiff -u -r1.162 -r1.163 src/sys/netinet/ip_mroute.c
cvs rdiff -u -r1.126 -r1.127 src/sys/netinet/ip_var.h
cvs rdiff -u -r1.3 -r1.4 src/sys/netinet/pim_var.h
cvs rdiff -u -r1.177 -r1.178 src/sys/netinet/raw_ip.c
cvs rdiff -u -r1.10 -r1.11 src/sys/netinet/sctp_input.c
cvs rdiff -u -r1.2 -r1.3 src/sys/netinet/sctp_var.h
cvs rdiff -u -r1.411 -r1.412 src/sys/netinet/tcp_input.c
cvs rdiff -u -r1.188 -r1.189 src/sys/netinet/tcp_var.h
cvs rdiff -u -r1.255 -r1.256 src/sys/netinet/udp_usrreq.c
cvs rdiff -u -r1.44 -r1.45 src/sys/netinet/udp_var.h
cvs rdiff -u -r1.82 -r1.83 src/sys/netipsec/ipsec.h
cvs rdiff -u -r1.70 -r1.71 src/sys/netipsec/ipsec_input.c
cvs rdiff -u -r1.68 -r1.69 src/sys/sys/protosw.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dist/pf/net/if_pfsync.c
diff -u src/sys/dist/pf/net/if_pfsync.c:1.17 src/sys/dist/pf/net/if_pfsync.c:1.18
--- src/sys/dist/pf/net/if_pfsync.c:1.17	Wed Jun 27 03:31:44 2018
+++ src/sys/dist/pf/net/if_pfsync.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_pfsync.c,v 1.17 2018/06/27 03:31:44 msaitoh Exp $	*/
+/*	$NetBSD: if_pfsync.c,v 1.18 2018/09/14 05:09:51 maxv Exp $	*/
 /*	$OpenBSD: if_pfsync.c,v 1.83 2007/06/26 14:44:12 mcbride Exp $	*/
 
 /*
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_pfsync.c,v 1.17 2018/06/27 03:31:44 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_pfsync.c,v 1.18 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -348,7 +348,7 @@ pfsync_insert_net_state(struct pfsync_st
 }
 
 void
-pfsync_input(struct mbuf *m, ...)
+pfsync_input(struct mbuf *m, int off, int proto)
 {
 	struct ip *ip = mtod(m, struct ip *);
 	struct pfsync_header *ph;

Index: src/sys/dist/pf/net/if_pfsync.h
diff -u src/sys/dist/pf/net/if_pfsync.h:1.3 src/sys/dist/pf/net/if_pfsync.h:1.4
--- src/sys/dist/pf/net/if_pfsync.h:1.3	Mon Sep 14 10:36:49 2009
+++ src/sys/dist/pf/net/if_pfsync.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_pfsync.h,v 1.3 2009/09/14 10:36:49 degroote Exp $	*/
+/*	$NetBSD: if_pfsync.h,v 1.4 2018/09/14 05:09:51 maxv Exp $	*/
 /*	$OpenBSD: if_pfsync.h,v 1.31 2007/05/31 04:11:42 mcbride Exp $	*/
 
 /*
@@ -253,7 +253,7 @@ struct pfsyncreq {
 } while (0)
 
 #ifdef _KERNEL
-void pfsync_input(struct mbuf *, ...);
+void pfsync_input(struct mbuf *, int, int);
 int pfsync_clear_states(u_int32_t, char *);
 int pfsync_pack_state(u_int8_t, struct pf_state *, int);
 #define pfsync_insert_state(st)	do {				\

Index: src/sys/netinet/dccp_usrreq.c
diff -u src/sys/netinet/dccp_usrreq.c:1.19 src/sys/netinet/dccp_usrreq.c:1.20
--- src/sys/netinet/dccp_usrreq.c:1.19	Fri May 18 18:58:51 2018
+++ src/sys/netinet/dccp_usrreq.c	Fri Sep 14 05:09:51 2018
@@ -1,5 +1,5 @@
 /*	$KAME: dccp_usrreq.c,v 1.67 2005/11/03 16:05:04 nishida Exp $	*/
-/*	$NetBSD: dccp_usrreq.c,v 1.19 2018/05/18 18:58:51 maxv Exp $ */
+/*	$NetBSD: dccp_usrreq.c,v 1.20 2018/09/14 05:09:51 maxv Exp $ */
 
 /*
  * Copyright (c) 2003 Joacim Häggmark, Magnus Erixzon, Nils-Erik Mattsson 
@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dccp_usrreq.c,v 1.19 2018/05/18 18:58:51 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dccp_usrreq.c,v 1.20 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -181,7 +181,7 @@ dccp_init(void)
 }
 
 void
-dccp_input(struct mbuf *m, ...)
+dccp_input(struct mbuf *m, int off, int proto)
 {
 	int iphlen;
 	struct ip *ip = NULL;
@@ -210,12 +210,7 @@ dccp_input(struct mbuf *m, ...)
 	struct ip6_hdr *ip6 = NULL;
 #endif
 
-	int off;
-	va_list ap;
-	
-	va_start(ap, m);
-	iphlen = off = va_arg(ap, int);
-	va_end(ap);
+	iphlen = off;
 
 	DCCP_DEBUG((LOG_INFO, "Got DCCP packet!\n"));
 

Index: src/sys/netinet/dccp_var.h
diff -u src/sys/netinet/dccp_var.h:1.4 src/sys/netinet/dccp_var.h:1.5
--- src/sys/netinet/dccp_var.h:1.4	Wed Aug 22 01:05:24 2018
+++ src/sys/netinet/dccp_var.h	Fri Sep 14 05:09:51 2018
@@ -1,5 +1,5 @@
 /*	$KAME: dccp_var.h,v 1.29 2005/11/03 14:59:28 nishida Exp $	*/
-/*	$NetBSD: dccp_var.h,v 1.4 2018/08/22 01:05:24 msaitoh Exp $ */
+/*	$NetBSD: dccp_var.h,v 1.5 2018/09/14 05:09:51 maxv Exp $ */
 
 /*
  * Copyright (c) 2003 Joacim Häggmark, Magnus Erixzon, Nils-Erik Mattsson 
@@ -287,7 +287,7 @@ extern struct inpcbtable dccpbtable;
 /* These four functions are called from inetsw (in_proto.c) */
 void	dccp_init(void);
 void	dccp_log(int, const char *, ...);
-void	dccp_input(struct mbuf *, ...);
+void	dccp_input(struct mbuf *, int, int);
 void*	dccp_ctlinput(int, const struct sockaddr *, void *);
 int	dccp_ctloutput(int , struct socket *, struct sockopt *);
 int	dccp_sysctl(int *, u_int, void *, size_t *, void *, size_t);

Index: src/sys/netinet/igmp.c
diff -u src/sys/netinet/igmp.c:1.68 src/sys/netinet/igmp.c:1.69
--- src/sys/netinet/igmp.c:1.68	Thu Jun 21 10:37:50 2018
+++ src/sys/netinet/igmp.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: igmp.c,v 1.68 2018/06/21 10:37:50 knakahara Exp $	*/
+/*	$NetBSD: igmp.c,v 1.69 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: igmp.c,v 1.68 2018/06/21 10:37:50 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: igmp.c,v 1.69 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_mrouting.h"
@@ -182,7 +182,7 @@ igmp_init(void)
 }
 
 void
-igmp_input(struct mbuf *m, ...)
+igmp_input(struct mbuf *m, int off, int proto)
 {
 	ifnet_t *ifp;
 	struct ip *ip = mtod(m, struct ip *);
@@ -190,14 +190,10 @@ igmp_input(struct mbuf *m, ...)
 	u_int minlen, timer;
 	struct in_multi *inm;
 	struct in_ifaddr *ia;
-	int proto, ip_len, iphlen;
-	va_list ap;
+	int ip_len, iphlen;
 	struct psref psref;
 
-	va_start(ap, m);
-	iphlen = va_arg(ap, int);
-	proto = va_arg(ap, int);
-	va_end(ap);
+	iphlen = off;
 
 	IGMP_STATINC(IGMP_STAT_RCV_TOTAL);
 

Index: src/sys/netinet/igmp_var.h
diff -u src/sys/netinet/igmp_var.h:1.24 src/sys/netinet/igmp_var.h:1.25
--- src/sys/netinet/igmp_var.h:1.24	Thu May 29 23:02:48 2014
+++ src/sys/netinet/igmp_var.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: igmp_var.h,v 1.24 2014/05/29 23:02:48 rmind Exp $	*/
+/*	$NetBSD: igmp_var.h,v 1.25 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -112,7 +112,7 @@
 #endif
 
 void	igmp_init(void);
-void	igmp_input(struct mbuf *, ...);
+void	igmp_input(struct mbuf *, int, int);
 int	igmp_joingroup(struct in_multi *);
 void	igmp_leavegroup(struct in_multi *);
 void	igmp_fasttimo(void);
Index: src/sys/netinet/ip_encap.h
diff -u src/sys/netinet/ip_encap.h:1.24 src/sys/netinet/ip_encap.h:1.25
--- src/sys/netinet/ip_encap.h:1.24	Wed Feb 28 10:30:20 2018
+++ src/sys/netinet/ip_encap.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_encap.h,v 1.24 2018/02/28 10:30:20 maxv Exp $	*/
+/*	$NetBSD: ip_encap.h,v 1.25 2018/09/14 05:09:51 maxv Exp $	*/
 /*	$KAME: ip_encap.h,v 1.7 2000/03/25 07:23:37 sumikawa Exp $	*/
 
 /*
@@ -100,7 +100,7 @@ struct ip_pack6 {
 void	encapinit(void);
 
 void	encap_init(void);
-void	encap4_input(struct mbuf *, ...);
+void	encap4_input(struct mbuf *, int, int);
 int	encap6_input(struct mbuf **, int *, int);
 const struct encaptab *encap_attach(int, int, const struct sockaddr *,
 	const struct sockaddr *, const struct sockaddr *,

Index: src/sys/netinet/in_proto.c
diff -u src/sys/netinet/in_proto.c:1.129 src/sys/netinet/in_proto.c:1.130
--- src/sys/netinet/in_proto.c:1.129	Tue Aug 14 14:49:14 2018
+++ src/sys/netinet/in_proto.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: in_proto.c,v 1.129 2018/08/14 14:49:14 maxv Exp $	*/
+/*	$NetBSD: in_proto.c,v 1.130 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: in_proto.c,v 1.129 2018/08/14 14:49:14 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: in_proto.c,v 1.130 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_mrouting.h"
@@ -216,18 +216,11 @@ PR_WRAP_INPUT(pim_input)
  * the ipsec shared library. We need a wrapper anyway.
  */
 static void
-ipsec4_common_input_wrapper(struct mbuf *m, ...)
+ipsec4_common_input_wrapper(struct mbuf *m, int off, int proto)
 {
 
 	if (ipsec_enabled) {
-		int off, nxt;
-		va_list args;
-		/* XXX just passing args to ipsec4_common_input doesn't work */
-		va_start(args, m);
-		off = va_arg(args, int);
-		nxt = va_arg(args, int);
-		va_end(args);
-		ipsec4_common_input(m, off, nxt);
+		ipsec4_common_input(m, off, proto);
 	} else {
 		m_freem(m);
 	}

Index: src/sys/netinet/ip_carp.c
diff -u src/sys/netinet/ip_carp.c:1.99 src/sys/netinet/ip_carp.c:1.100
--- src/sys/netinet/ip_carp.c:1.99	Tue Jun 26 06:48:03 2018
+++ src/sys/netinet/ip_carp.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_carp.c,v 1.99 2018/06/26 06:48:03 msaitoh Exp $	*/
+/*	$NetBSD: ip_carp.c,v 1.100 2018/09/14 05:09:51 maxv Exp $	*/
 /*	$OpenBSD: ip_carp.c,v 1.113 2005/11/04 08:11:54 mcbride Exp $	*/
 
 /*
@@ -33,7 +33,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_carp.c,v 1.99 2018/06/26 06:48:03 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_carp.c,v 1.100 2018/09/14 05:09:51 maxv Exp $");
 
 /*
  * TODO:
@@ -569,7 +569,7 @@ _carp_proto_input(struct mbuf *m, int hl
 }
 
 void
-carp_proto_input(struct mbuf *m, ...)
+carp_proto_input(struct mbuf *m, int off, int proto)
 {
 
 	wqinput_input(carp_wqinput, m, 0, 0);

Index: src/sys/netinet/ip_carp.h
diff -u src/sys/netinet/ip_carp.h:1.9 src/sys/netinet/ip_carp.h:1.10
--- src/sys/netinet/ip_carp.h:1.9	Wed Aug 22 01:05:24 2018
+++ src/sys/netinet/ip_carp.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_carp.h,v 1.9 2018/08/22 01:05:24 msaitoh Exp $	*/
+/*	$NetBSD: ip_carp.h,v 1.10 2018/09/14 05:09:51 maxv Exp $	*/
 /*	$OpenBSD: ip_carp.h,v 1.18 2005/04/20 23:00:41 mpf Exp $	*/
 
 /*
@@ -146,7 +146,7 @@ struct carpreq {
 #ifdef _KERNEL
 void		 carp_init(void);
 void		 carp_ifdetach(struct ifnet *);
-void		 carp_proto_input(struct mbuf *, ...);
+void		 carp_proto_input(struct mbuf *, int, int);
 void		 carp_carpdev_state(void *);
 int		 carp6_proto_input(struct mbuf **, int *, int);
 int		 carp_iamatch(struct in_ifaddr *, u_char *,

Index: src/sys/netinet/ip_encap.c
diff -u src/sys/netinet/ip_encap.c:1.69 src/sys/netinet/ip_encap.c:1.70
--- src/sys/netinet/ip_encap.c:1.69	Thu Jun 21 10:37:50 2018
+++ src/sys/netinet/ip_encap.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_encap.c,v 1.69 2018/06/21 10:37:50 knakahara Exp $	*/
+/*	$NetBSD: ip_encap.c,v 1.70 2018/09/14 05:09:51 maxv Exp $	*/
 /*	$KAME: ip_encap.c,v 1.73 2001/10/02 08:30:58 itojun Exp $	*/
 
 /*
@@ -68,7 +68,7 @@
 #define USE_RADIX
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_encap.c,v 1.69 2018/06/21 10:37:50 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_encap.c,v 1.70 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_mrouting.h"
@@ -342,19 +342,12 @@ encap4_lookup(struct mbuf *m, int off, i
 }
 
 void
-encap4_input(struct mbuf *m, ...)
+encap4_input(struct mbuf *m, int off, int proto)
 {
-	int off, proto;
-	va_list ap;
 	const struct encapsw *esw;
 	struct encaptab *match;
 	struct psref match_psref;
 
-	va_start(ap, m);
-	off = va_arg(ap, int);
-	proto = va_arg(ap, int);
-	va_end(ap);
-
 	match = encap4_lookup(m, off, proto, INBOUND, &match_psref);
 	if (match) {
 		/* found a match, "match" has the best one */

Index: src/sys/netinet/ip_icmp.c
diff -u src/sys/netinet/ip_icmp.c:1.173 src/sys/netinet/ip_icmp.c:1.174
--- src/sys/netinet/ip_icmp.c:1.173	Mon Sep  3 16:29:36 2018
+++ src/sys/netinet/ip_icmp.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_icmp.c,v 1.173 2018/09/03 16:29:36 riastradh Exp $	*/
+/*	$NetBSD: ip_icmp.c,v 1.174 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -94,7 +94,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_icmp.c,v 1.173 2018/09/03 16:29:36 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_icmp.c,v 1.174 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ipsec.h"
@@ -693,17 +693,9 @@ freeit:
 }
 
 void
-icmp_input(struct mbuf *m, ...)
+icmp_input(struct mbuf *m, int off, int proto)
 {
-	int hlen, proto;
-	va_list ap;
-
-	va_start(ap, m);
-	hlen = va_arg(ap, int);
-	proto = va_arg(ap, int);
-	va_end(ap);
-
-	wqinput_input(icmp_wqinput, m, hlen, proto);
+	wqinput_input(icmp_wqinput, m, off, proto);
 }
 
 /*

Index: src/sys/netinet/ip_icmp.h
diff -u src/sys/netinet/ip_icmp.h:1.39 src/sys/netinet/ip_icmp.h:1.40
--- src/sys/netinet/ip_icmp.h:1.39	Thu Feb  8 10:42:12 2018
+++ src/sys/netinet/ip_icmp.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_icmp.h,v 1.39 2018/02/08 10:42:12 maxv Exp $	*/
+/*	$NetBSD: ip_icmp.h,v 1.40 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (c) 1982, 1986, 1993
@@ -292,7 +292,7 @@ static const char *icmp_code_photuris[] 
 #ifdef _KERNEL
 void icmp_error(struct mbuf *, int, int, n_long, int);
 void icmp_mtudisc(struct icmp *, struct in_addr);
-void icmp_input(struct mbuf *, ...);
+void icmp_input(struct mbuf *, int, int);
 void icmp_init(void);
 void icmp_reflect(struct mbuf *);
 

Index: src/sys/netinet/ip_mroute.c
diff -u src/sys/netinet/ip_mroute.c:1.162 src/sys/netinet/ip_mroute.c:1.163
--- src/sys/netinet/ip_mroute.c:1.162	Wed Jul 11 12:48:42 2018
+++ src/sys/netinet/ip_mroute.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_mroute.c,v 1.162 2018/07/11 12:48:42 martin Exp $	*/
+/*	$NetBSD: ip_mroute.c,v 1.163 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -93,7 +93,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_mroute.c,v 1.162 2018/07/11 12:48:42 martin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_mroute.c,v 1.163 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -2919,22 +2919,16 @@ pim_register_send_rp(struct ip *ip, stru
  * is passed to if_simloop().
  */
 void
-pim_input(struct mbuf *m, ...)
+pim_input(struct mbuf *m, int off, int proto)
 {
 	struct ip *ip = mtod(m, struct ip *);
 	struct pim *pim;
 	int minlen;
 	int datalen;
 	int ip_tos;
-	int proto;
 	int iphlen;
-	va_list ap;
-
-	va_start(ap, m);
-	iphlen = va_arg(ap, int);
-	proto = va_arg(ap, int);
-	va_end(ap);
 
+	iphlen = off;
 	datalen = ntohs(ip->ip_len) - iphlen;
 
 	/* Keep statistics */

Index: src/sys/netinet/ip_var.h
diff -u src/sys/netinet/ip_var.h:1.126 src/sys/netinet/ip_var.h:1.127
--- src/sys/netinet/ip_var.h:1.126	Tue Jul 10 15:46:58 2018
+++ src/sys/netinet/ip_var.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ip_var.h,v 1.126 2018/07/10 15:46:58 maxv Exp $	*/
+/*	$NetBSD: ip_var.h,v 1.127 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (c) 1982, 1986, 1993
@@ -224,7 +224,7 @@ void	 ip_statinc(u_int);
 void *	 rip_ctlinput(int, const struct sockaddr *, void *);
 int	 rip_ctloutput(int, struct socket *, struct sockopt *);
 void	 rip_init(void);
-void	 rip_input(struct mbuf *, ...);
+void	 rip_input(struct mbuf *, int, int);
 int	 rip_output(struct mbuf *, struct inpcb *, struct mbuf *, struct lwp *);
 int	 rip_usrreq(struct socket *,
 	    int, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *);

Index: src/sys/netinet/pim_var.h
diff -u src/sys/netinet/pim_var.h:1.3 src/sys/netinet/pim_var.h:1.4
--- src/sys/netinet/pim_var.h:1.3	Wed Aug 22 01:05:24 2018
+++ src/sys/netinet/pim_var.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: pim_var.h,v 1.3 2018/08/22 01:05:24 msaitoh Exp $	*/
+/*	$NetBSD: pim_var.h,v 1.4 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998-2000
@@ -69,7 +69,7 @@ struct pimstat {
 #ifdef _KERNEL
 extern struct pimstat pimstat;
 
-void	pim_input(struct mbuf *, ...);
+void	pim_input(struct mbuf *, int, int);
 #endif
 
 #endif /* !_NETINET_PIM_VAR_H_ */

Index: src/sys/netinet/raw_ip.c
diff -u src/sys/netinet/raw_ip.c:1.177 src/sys/netinet/raw_ip.c:1.178
--- src/sys/netinet/raw_ip.c:1.177	Fri May 11 14:07:58 2018
+++ src/sys/netinet/raw_ip.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: raw_ip.c,v 1.177 2018/05/11 14:07:58 maxv Exp $	*/
+/*	$NetBSD: raw_ip.c,v 1.178 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -65,7 +65,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: raw_ip.c,v 1.177 2018/05/11 14:07:58 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: raw_ip.c,v 1.178 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -162,21 +162,15 @@ rip_sbappendaddr(struct inpcb *last, str
  * mbuf chain.
  */
 void
-rip_input(struct mbuf *m, ...)
+rip_input(struct mbuf *m, int off, int proto)
 {
-	int hlen, proto;
 	struct ip *ip = mtod(m, struct ip *);
 	struct inpcb_hdr *inph;
 	struct inpcb *inp;
 	struct inpcb *last = NULL;
 	struct mbuf *n;
 	struct sockaddr_in ripsrc;
-	va_list ap;
-
-	va_start(ap, m);
-	(void)va_arg(ap, int);		/* ignore value, advance ap */
-	proto = va_arg(ap, int);
-	va_end(ap);
+	int hlen;
 
 	sockaddr_in_init(&ripsrc, &ip->ip_src, 0);
 

Index: src/sys/netinet/sctp_input.c
diff -u src/sys/netinet/sctp_input.c:1.10 src/sys/netinet/sctp_input.c:1.11
--- src/sys/netinet/sctp_input.c:1.10	Mon Sep  3 16:29:36 2018
+++ src/sys/netinet/sctp_input.c	Fri Sep 14 05:09:51 2018
@@ -1,5 +1,5 @@
 /*	$KAME: sctp_input.c,v 1.28 2005/04/21 18:36:21 nishida Exp $	*/
-/*	$NetBSD: sctp_input.c,v 1.10 2018/09/03 16:29:36 riastradh Exp $	*/
+/*	$NetBSD: sctp_input.c,v 1.11 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (C) 2002, 2003, 2004 Cisco Systems Inc,
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sctp_input.c,v 1.10 2018/09/03 16:29:36 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sctp_input.c,v 1.11 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ipsec.h"
@@ -4049,7 +4049,7 @@ sctp_saveopt(struct sctp_inpcb *inp, str
 extern int sctp_no_csum_on_loopback;
 
 void
-sctp_input(struct mbuf *m, ...)
+sctp_input(struct mbuf *m, int off, int proto)
 {
 	int iphlen;
 	u_int8_t ecn_bits;
@@ -4069,12 +4069,7 @@ sctp_input(struct mbuf *m, ...)
 	int refcount_up = 0;
 	int length, mlen, offset;
 
-	int off;
-	va_list ap;
-
-	va_start(ap, m);
-	iphlen = off = va_arg(ap, int);
-	va_end(ap);
+	iphlen = off;
 
 	net = NULL;
 	sctp_pegs[SCTP_INPKTS]++;

Index: src/sys/netinet/sctp_var.h
diff -u src/sys/netinet/sctp_var.h:1.2 src/sys/netinet/sctp_var.h:1.3
--- src/sys/netinet/sctp_var.h:1.2	Wed Aug 22 01:05:24 2018
+++ src/sys/netinet/sctp_var.h	Fri Sep 14 05:09:51 2018
@@ -1,5 +1,5 @@
 /*	$KAME: sctp_var.h,v 1.24 2005/03/06 16:04:19 itojun Exp $	*/
-/*	$NetBSD: sctp_var.h,v 1.2 2018/08/22 01:05:24 msaitoh Exp $ */
+/*	$NetBSD: sctp_var.h,v 1.3 2018/09/14 05:09:51 maxv Exp $ */
 
 /*
  * Copyright (c) 2001, 2002, 2003, 2004 Cisco Systems, Inc.
@@ -144,7 +144,7 @@ struct sctphdr;
 
 void*	sctp_ctlinput(int, const struct sockaddr *, void *);
 int	sctp_ctloutput(int, struct socket *, struct sockopt *);
-void	sctp_input(struct mbuf *, ... );
+void	sctp_input(struct mbuf *, int, int);
 void	sctp_drain(void);
 void	sctp_init(void);
 int	sctp_shutdown(struct socket *);

Index: src/sys/netinet/tcp_input.c
diff -u src/sys/netinet/tcp_input.c:1.411 src/sys/netinet/tcp_input.c:1.412
--- src/sys/netinet/tcp_input.c:1.411	Fri Sep 14 04:29:46 2018
+++ src/sys/netinet/tcp_input.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: tcp_input.c,v 1.411 2018/09/14 04:29:46 maxv Exp $	*/
+/*	$NetBSD: tcp_input.c,v 1.412 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -148,7 +148,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tcp_input.c,v 1.411 2018/09/14 04:29:46 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcp_input.c,v 1.412 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -1172,7 +1172,7 @@ drop:
  * TCP input routine, follows pages 65-76 of RFC 793 very closely.
  */
 void
-tcp_input(struct mbuf *m, ...)
+tcp_input(struct mbuf *m, int off, int proto)
 {
 	struct tcphdr *th;
 	struct ip *ip;
@@ -1183,7 +1183,7 @@ tcp_input(struct mbuf *m, ...)
 #endif
 	u_int8_t *optp = NULL;
 	int optlen = 0;
-	int len, tlen, off, hdroptlen = 0;
+	int len, tlen, hdroptlen = 0;
 	struct tcpcb *tp = NULL;
 	int tiflags;
 	struct socket *so = NULL;
@@ -1195,7 +1195,6 @@ tcp_input(struct mbuf *m, ...)
 	u_long tiwin;
 	struct tcp_opt_info opti;
 	int thlen, iphlen;
-	va_list ap;
 	int af;		/* af on the wire */
 	struct mbuf *tcp_saveti = NULL;
 	uint32_t ts_rtt;
@@ -1206,10 +1205,6 @@ tcp_input(struct mbuf *m, ...)
 	vestige.valid = 0;
 
 	MCLAIM(m, &tcp_rx_mowner);
-	va_start(ap, m);
-	off = va_arg(ap, int);
-	(void)va_arg(ap, int);		/* ignore value, advance ap */
-	va_end(ap);
 
 	TCP_STATINC(TCP_STAT_RCVTOTAL);
 

Index: src/sys/netinet/tcp_var.h
diff -u src/sys/netinet/tcp_var.h:1.188 src/sys/netinet/tcp_var.h:1.189
--- src/sys/netinet/tcp_var.h:1.188	Mon Sep  3 16:29:36 2018
+++ src/sys/netinet/tcp_var.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: tcp_var.h,v 1.188 2018/09/03 16:29:36 riastradh Exp $	*/
+/*	$NetBSD: tcp_var.h,v 1.189 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -876,7 +876,7 @@ void	 tcp_init_common(unsigned);
 #ifdef INET6
 int	 tcp6_input(struct mbuf **, int *, int);
 #endif
-void	 tcp_input(struct mbuf *, ...);
+void	 tcp_input(struct mbuf *, int, int);
 u_int	 tcp_hdrsz(struct tcpcb *);
 u_long	 tcp_mss_to_advertise(const struct ifnet *, int);
 void	 tcp_mss_from_peer(struct tcpcb *, int);

Index: src/sys/netinet/udp_usrreq.c
diff -u src/sys/netinet/udp_usrreq.c:1.255 src/sys/netinet/udp_usrreq.c:1.256
--- src/sys/netinet/udp_usrreq.c:1.255	Sun Jul 15 05:16:45 2018
+++ src/sys/netinet/udp_usrreq.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: udp_usrreq.c,v 1.255 2018/07/15 05:16:45 maxv Exp $	*/
+/*	$NetBSD: udp_usrreq.c,v 1.256 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -66,7 +66,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: udp_usrreq.c,v 1.255 2018/07/15 05:16:45 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udp_usrreq.c,v 1.256 2018/09/14 05:09:51 maxv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -308,22 +308,16 @@ badcsum:
 }
 
 void
-udp_input(struct mbuf *m, ...)
+udp_input(struct mbuf *m, int off, int proto)
 {
-	va_list ap;
 	struct sockaddr_in src, dst;
 	struct ip *ip;
 	struct udphdr *uh;
-	int iphlen;
+	int iphlen = off;
 	int len;
 	int n;
 	u_int16_t ip_len;
 
-	va_start(ap, m);
-	iphlen = va_arg(ap, int);
-	(void)va_arg(ap, int);		/* ignore value, advance ap */
-	va_end(ap);
-
 	MCLAIM(m, &udp_rx_mowner);
 	UDP_STATINC(UDP_STAT_IPACKETS);
 

Index: src/sys/netinet/udp_var.h
diff -u src/sys/netinet/udp_var.h:1.44 src/sys/netinet/udp_var.h:1.45
--- src/sys/netinet/udp_var.h:1.44	Wed Aug 22 01:05:24 2018
+++ src/sys/netinet/udp_var.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: udp_var.h,v 1.44 2018/08/22 01:05:24 msaitoh Exp $	*/
+/*	$NetBSD: udp_var.h,v 1.45 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*
  * Copyright (c) 1982, 1986, 1989, 1993
@@ -85,7 +85,7 @@ void *udp_ctlinput(int, const struct soc
 int udp_ctloutput(int, struct socket *, struct sockopt *);
 void udp_init(void);
 void udp_init_common(void);
-void udp_input(struct mbuf *, ...);
+void udp_input(struct mbuf *, int, int);
 int udp_output(struct mbuf *, struct inpcb *, struct mbuf *, struct lwp *);
 int udp_input_checksum(int af, struct mbuf *, const struct udphdr *, int, int);
 void udp_statinc(u_int);

Index: src/sys/netipsec/ipsec.h
diff -u src/sys/netipsec/ipsec.h:1.82 src/sys/netipsec/ipsec.h:1.83
--- src/sys/netipsec/ipsec.h:1.82	Mon May 14 17:34:26 2018
+++ src/sys/netipsec/ipsec.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ipsec.h,v 1.82 2018/05/14 17:34:26 maxv Exp $	*/
+/*	$NetBSD: ipsec.h,v 1.83 2018/09/14 05:09:51 maxv Exp $	*/
 /*	$FreeBSD: ipsec.h,v 1.2.4.2 2004/02/14 22:23:23 bms Exp $	*/
 /*	$KAME: ipsec.h,v 1.53 2001/11/20 08:32:38 itojun Exp $	*/
 
@@ -291,7 +291,7 @@ void *ah4_ctlinput(int, const struct soc
 
 void ipsec_output_init(void);
 struct m_tag;
-void ipsec4_common_input(struct mbuf *m, ...);
+void ipsec4_common_input(struct mbuf *m, int, int);
 int ipsec4_common_input_cb(struct mbuf *, struct secasvar *, int, int);
 int ipsec4_process_packet(struct mbuf *, const struct ipsecrequest *, u_long *);
 int ipsec_process_done(struct mbuf *, const struct ipsecrequest *,

Index: src/sys/netipsec/ipsec_input.c
diff -u src/sys/netipsec/ipsec_input.c:1.70 src/sys/netipsec/ipsec_input.c:1.71
--- src/sys/netipsec/ipsec_input.c:1.70	Fri May 18 19:02:49 2018
+++ src/sys/netipsec/ipsec_input.c	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ipsec_input.c,v 1.70 2018/05/18 19:02:49 maxv Exp $	*/
+/*	$NetBSD: ipsec_input.c,v 1.71 2018/09/14 05:09:51 maxv Exp $	*/
 /*	$FreeBSD: ipsec_input.c,v 1.2.4.2 2003/03/28 20:32:53 sam Exp $	*/
 /*	$OpenBSD: ipsec_input.c,v 1.63 2003/02/20 18:35:43 deraadt Exp $	*/
 
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ipsec_input.c,v 1.70 2018/05/18 19:02:49 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ipsec_input.c,v 1.71 2018/09/14 05:09:51 maxv Exp $");
 
 /*
  * IPsec input processing.
@@ -295,18 +295,10 @@ ipsec_common_input(struct mbuf *m, int s
  * Common input handler for IPv4 AH, ESP, and IPCOMP.
  */
 void
-ipsec4_common_input(struct mbuf *m, ...)
+ipsec4_common_input(struct mbuf *m, int off, int proto)
 {
-	va_list ap;
-	int off, nxt;
-
-	va_start(ap, m);
-	off = va_arg(ap, int);
-	nxt = va_arg(ap, int);
-	va_end(ap);
-
 	(void)ipsec_common_input(m, off, offsetof(struct ip, ip_p),
-	    AF_INET, nxt);
+	    AF_INET, proto);
 }
 
 /*

Index: src/sys/sys/protosw.h
diff -u src/sys/sys/protosw.h:1.68 src/sys/sys/protosw.h:1.69
--- src/sys/sys/protosw.h:1.68	Wed Oct  4 02:25:07 2017
+++ src/sys/sys/protosw.h	Fri Sep 14 05:09:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: protosw.h,v 1.68 2017/10/04 02:25:07 ozaki-r Exp $	*/
+/*	$NetBSD: protosw.h,v 1.69 2018/09/14 05:09:51 maxv Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1986, 1993
@@ -76,7 +76,7 @@ struct protosw {
 
 /* protocol-protocol hooks */
 	void	(*pr_input)		/* input to protocol (from below) */
-			(struct mbuf *, ...);
+			(struct mbuf *, int, int);
 	void	*(*pr_ctlinput)		/* control input (from below) */
 			(int, const struct sockaddr *, void *);
 	int	(*pr_ctloutput)		/* control output (from above) */
@@ -498,17 +498,10 @@ name##_wrapper(int a, const struct socka
 
 #define	PR_WRAP_INPUT(name)				\
 static void						\
-name##_wrapper(struct mbuf *m, ...)			\
+name##_wrapper(struct mbuf *m, int off, int proto)	\
 {							\
-	va_list args;					\
-	int off, nxt;					\
-	/* XXX just passing args doesn't work on rump kernels */\
-	va_start(args, m);				\
-	off = va_arg(args, int);			\
-	nxt = va_arg(args, int);			\
-	va_end(args);					\
 	mutex_enter(softnet_lock);			\
-	name(m, off, nxt);				\
+	name(m, off, proto);				\
 	mutex_exit(softnet_lock);			\
 }
 

Reply via email to