summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/raw_ip6.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet6/raw_ip6.c')
-rw-r--r--sys/netinet6/raw_ip6.c29
1 files changed, 14 insertions, 15 deletions
diff --git a/sys/netinet6/raw_ip6.c b/sys/netinet6/raw_ip6.c
index 9b217f42aa1..c9da7afb9ba 100644
--- a/sys/netinet6/raw_ip6.c
+++ b/sys/netinet6/raw_ip6.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: raw_ip6.c,v 1.103 2017/01/23 16:31:24 bluhm Exp $ */
+/* $OpenBSD: raw_ip6.c,v 1.104 2017/02/01 20:59:47 dhill Exp $ */
/* $KAME: raw_ip6.c,v 1.69 2001/03/04 15:55:44 itojun Exp $ */
/*
@@ -474,7 +474,7 @@ rip6_output(struct mbuf *m, ...)
*/
int
rip6_ctloutput(int op, struct socket *so, int level, int optname,
- struct mbuf **mp)
+ struct mbuf *m)
{
struct inpcb *inp = sotoinpcb(so);
int error = 0;
@@ -487,11 +487,11 @@ rip6_ctloutput(int op, struct socket *so, int level, int optname,
case IP_DIVERTFL:
switch (op) {
case PRCO_SETOPT:
- if (*mp == NULL || (*mp)->m_len < sizeof(int)) {
+ if (m == NULL || m->m_len < sizeof(int)) {
error = EINVAL;
break;
}
- dir = *mtod(*mp, int *);
+ dir = *mtod(m, int *);
if (inp->inp_divertfl > 0)
error = ENOTSUP;
else if ((dir & IPPROTO_DIVERT_RESP) ||
@@ -502,9 +502,8 @@ rip6_ctloutput(int op, struct socket *so, int level, int optname,
break;
case PRCO_GETOPT:
- *mp = m_get(M_WAIT, M_SOOPTS);
- (*mp)->m_len = sizeof(int);
- *mtod(*mp, int *) = inp->inp_divertfl;
+ m->m_len = sizeof(int);
+ *mtod(m, int *) = inp->inp_divertfl;
break;
default:
@@ -513,7 +512,7 @@ rip6_ctloutput(int op, struct socket *so, int level, int optname,
}
if (op == PRCO_SETOPT)
- (void)m_free(*mp);
+ (void)m_free(m);
return (error);
#ifdef MROUTING
@@ -524,18 +523,18 @@ rip6_ctloutput(int op, struct socket *so, int level, int optname,
case MRT6_ADD_MFC:
case MRT6_DEL_MFC:
if (op == PRCO_SETOPT) {
- error = ip6_mrouter_set(optname, so, *mp);
- m_free(*mp);
+ error = ip6_mrouter_set(optname, so, m);
+ m_free(m);
} else if (op == PRCO_GETOPT)
- error = ip6_mrouter_get(optname, so, mp);
+ error = ip6_mrouter_get(optname, so, m);
else
error = EINVAL;
return (error);
#endif
case IPV6_CHECKSUM:
- return (ip6_raw_ctloutput(op, so, level, optname, mp));
+ return (ip6_raw_ctloutput(op, so, level, optname, m));
default:
- return (ip6_ctloutput(op, so, level, optname, mp));
+ return (ip6_ctloutput(op, so, level, optname, m));
}
case IPPROTO_ICMPV6:
@@ -543,11 +542,11 @@ rip6_ctloutput(int op, struct socket *so, int level, int optname,
* XXX: is it better to call icmp6_ctloutput() directly
* from protosw?
*/
- return (icmp6_ctloutput(op, so, level, optname, mp));
+ return (icmp6_ctloutput(op, so, level, optname, m));
default:
if (op == PRCO_SETOPT)
- m_free(*mp);
+ m_free(m);
return EINVAL;
}
}