diff --git a/sys/dev/cxgbe/tom/t4_tls.c b/sys/dev/cxgbe/tom/t4_tls.c index 936199fd18f1..eb540406a271 100644 --- a/sys/dev/cxgbe/tom/t4_tls.c +++ b/sys/dev/cxgbe/tom/t4_tls.c @@ -1035,7 +1035,7 @@ do_rx_tls_cmp(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m) /* Allocate the control message mbuf. */ control = sbcreatecontrol(NULL, sizeof(*tgr), TLS_GET_RECORD, - IPPROTO_TCP); + IPPROTO_TCP, M_NOWAIT); if (control == NULL) { m_freem(m); m_freem(tls_data); diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index 7b99c460e8de..ea20532a4d8c 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -2119,7 +2119,7 @@ ktls_decrypt(struct socket *so) tgr.tls_vminor = hdr->tls_vminor; tgr.tls_length = htobe16(tls_len - tls->params.tls_hlen - trail_len); - control = sbcreatecontrol_how(&tgr, sizeof(tgr), + control = sbcreatecontrol(&tgr, sizeof(tgr), TLS_GET_RECORD, IPPROTO_TCP, M_WAITOK); SOCKBUF_LOCK(sb); diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c index 421fa5da37d9..884562510e61 100644 --- a/sys/kern/uipc_sockbuf.c +++ b/sys/kern/uipc_sockbuf.c @@ -1760,7 +1760,7 @@ sbdroprecord(struct sockbuf *sb) * type for presentation on a socket buffer. */ struct mbuf * -sbcreatecontrol_how(void *p, int size, int type, int level, int wait) +sbcreatecontrol(void *p, int size, int type, int level, int wait) { struct cmsghdr *cp; struct mbuf *m; @@ -1792,13 +1792,6 @@ sbcreatecontrol_how(void *p, int size, int type, int level, int wait) return (m); } -struct mbuf * -sbcreatecontrol(caddr_t p, int size, int type, int level) -{ - - return (sbcreatecontrol_how(p, size, type, level, M_NOWAIT)); -} - /* * This does the same for socket buffers that sotoxsocket does for sockets: * generate an user-format data structure describing the socket buffer. Note diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index e89d7567fcda..f08b972c6de6 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -2043,7 +2043,7 @@ unp_externalize(struct mbuf *control, struct mbuf **controlp, int flags) */ newlen = newfds * sizeof(int); *controlp = sbcreatecontrol(NULL, newlen, - SCM_RIGHTS, SOL_SOCKET); + SCM_RIGHTS, SOL_SOCKET, M_NOWAIT); if (*controlp == NULL) { FILEDESC_XUNLOCK(fdesc); error = E2BIG; @@ -2081,7 +2081,7 @@ unp_externalize(struct mbuf *control, struct mbuf **controlp, int flags) if (error || controlp == NULL) goto next; *controlp = sbcreatecontrol(NULL, datalen, - cm->cmsg_type, cm->cmsg_level); + cm->cmsg_type, cm->cmsg_level, M_NOWAIT); if (*controlp == NULL) { error = ENOBUFS; goto next; @@ -2222,7 +2222,7 @@ unp_internalize(struct mbuf **controlp, struct thread *td) * Fill in credential information. */ case SCM_CREDS: - *controlp = sbcreatecontrol_how(NULL, sizeof(*cmcred), + *controlp = sbcreatecontrol(NULL, sizeof(*cmcred), SCM_CREDS, SOL_SOCKET, M_WAITOK); cmcred = (struct cmsgcred *) CMSG_DATA(mtod(*controlp, struct cmsghdr *)); @@ -2266,7 +2266,7 @@ unp_internalize(struct mbuf **controlp, struct thread *td) * file structure and capability rights. */ newlen = oldfds * sizeof(fdep[0]); - *controlp = sbcreatecontrol_how(NULL, newlen, + *controlp = sbcreatecontrol(NULL, newlen, SCM_RIGHTS, SOL_SOCKET, M_WAITOK); fdp = data; for (i = 0; i < oldfds; i++, fdp++) { @@ -2298,7 +2298,7 @@ unp_internalize(struct mbuf **controlp, struct thread *td) break; case SCM_TIMESTAMP: - *controlp = sbcreatecontrol_how(NULL, sizeof(*tv), + *controlp = sbcreatecontrol(NULL, sizeof(*tv), SCM_TIMESTAMP, SOL_SOCKET, M_WAITOK); tv = (struct timeval *) CMSG_DATA(mtod(*controlp, struct cmsghdr *)); @@ -2306,7 +2306,7 @@ unp_internalize(struct mbuf **controlp, struct thread *td) break; case SCM_BINTIME: - *controlp = sbcreatecontrol_how(NULL, sizeof(*bt), + *controlp = sbcreatecontrol(NULL, sizeof(*bt), SCM_BINTIME, SOL_SOCKET, M_WAITOK); bt = (struct bintime *) CMSG_DATA(mtod(*controlp, struct cmsghdr *)); @@ -2314,7 +2314,7 @@ unp_internalize(struct mbuf **controlp, struct thread *td) break; case SCM_REALTIME: - *controlp = sbcreatecontrol_how(NULL, sizeof(*ts), + *controlp = sbcreatecontrol(NULL, sizeof(*ts), SCM_REALTIME, SOL_SOCKET, M_WAITOK); ts = (struct timespec *) CMSG_DATA(mtod(*controlp, struct cmsghdr *)); @@ -2322,7 +2322,7 @@ unp_internalize(struct mbuf **controlp, struct thread *td) break; case SCM_MONOTONIC: - *controlp = sbcreatecontrol_how(NULL, sizeof(*ts), + *controlp = sbcreatecontrol(NULL, sizeof(*ts), SCM_MONOTONIC, SOL_SOCKET, M_WAITOK); ts = (struct timespec *) CMSG_DATA(mtod(*controlp, struct cmsghdr *)); @@ -2370,7 +2370,7 @@ unp_addsockcred(struct thread *td, struct mbuf *control, int mode) cmsgtype = SCM_CREDS; } - m = sbcreatecontrol(NULL, ctrlsz, cmsgtype, SOL_SOCKET); + m = sbcreatecontrol(NULL, ctrlsz, cmsgtype, SOL_SOCKET, M_NOWAIT); if (m == NULL) return (control); diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c b/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c index 59bacf8c965b..03894464a69a 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c @@ -460,16 +460,16 @@ ng_btsocket_hci_raw_savctl(ng_btsocket_hci_raw_pcb_p pcb, struct mbuf **ctl, if (pcb->flags & NG_BTSOCKET_HCI_RAW_DIRECTION) { dir = (m->m_flags & M_PROTO1)? 1 : 0; - *ctl = sbcreatecontrol((caddr_t) &dir, sizeof(dir), - SCM_HCI_RAW_DIRECTION, SOL_HCI_RAW); + *ctl = sbcreatecontrol(&dir, sizeof(dir), + SCM_HCI_RAW_DIRECTION, SOL_HCI_RAW, M_NOWAIT); if (*ctl != NULL) ctl = &((*ctl)->m_next); } if (pcb->so->so_options & SO_TIMESTAMP) { microtime(&tv); - *ctl = sbcreatecontrol((caddr_t) &tv, sizeof(tv), - SCM_TIMESTAMP, SOL_SOCKET); + *ctl = sbcreatecontrol(&tv, sizeof(tv), SCM_TIMESTAMP, + SOL_SOCKET, M_NOWAIT); if (*ctl != NULL) ctl = &((*ctl)->m_next); } diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c index 7c365b2e51b8..e1029920c95f 100644 --- a/sys/netinet/ip_input.c +++ b/sys/netinet/ip_input.c @@ -1167,8 +1167,8 @@ ip_savecontrol(struct inpcb *inp, struct mbuf **mp, struct ip *ip, } else { bintime(&bt); } - *mp = sbcreatecontrol((caddr_t)&bt, sizeof(bt), - SCM_BINTIME, SOL_SOCKET); + *mp = sbcreatecontrol(&bt, sizeof(bt), SCM_BINTIME, + SOL_SOCKET, M_NOWAIT); if (*mp != NULL) { mp = &(*mp)->m_next; stamped = true; @@ -1189,8 +1189,8 @@ ip_savecontrol(struct inpcb *inp, struct mbuf **mp, struct ip *ip, } else { microtime(&tv); } - *mp = sbcreatecontrol((caddr_t)&tv, sizeof(tv), - SCM_TIMESTAMP, SOL_SOCKET); + *mp = sbcreatecontrol((caddr_t)&tv, sizeof(tv), SCM_TIMESTAMP, + SOL_SOCKET, M_NOWAIT); if (*mp != NULL) { mp = &(*mp)->m_next; stamped = true; @@ -1208,8 +1208,8 @@ ip_savecontrol(struct inpcb *inp, struct mbuf **mp, struct ip *ip, } else { nanotime(&ts); } - *mp = sbcreatecontrol((caddr_t)&ts, sizeof(ts), - SCM_REALTIME, SOL_SOCKET); + *mp = sbcreatecontrol(&ts, sizeof(ts), SCM_REALTIME, + SOL_SOCKET, M_NOWAIT); if (*mp != NULL) { mp = &(*mp)->m_next; stamped = true; @@ -1222,8 +1222,8 @@ ip_savecontrol(struct inpcb *inp, struct mbuf **mp, struct ip *ip, mbuf_tstmp2timespec(m, &ts); else nanouptime(&ts); - *mp = sbcreatecontrol((caddr_t)&ts, sizeof(ts), - SCM_MONOTONIC, SOL_SOCKET); + *mp = sbcreatecontrol(&ts, sizeof(ts), SCM_MONOTONIC, + SOL_SOCKET, M_NOWAIT); if (*mp != NULL) { mp = &(*mp)->m_next; stamped = true; @@ -1237,20 +1237,20 @@ ip_savecontrol(struct inpcb *inp, struct mbuf **mp, struct ip *ip, sti.st_info_flags = ST_INFO_HW; if ((m->m_flags & M_TSTMP_HPREC) != 0) sti.st_info_flags |= ST_INFO_HW_HPREC; - *mp = sbcreatecontrol((caddr_t)&sti, sizeof(sti), SCM_TIME_INFO, - SOL_SOCKET); + *mp = sbcreatecontrol(&sti, sizeof(sti), SCM_TIME_INFO, + SOL_SOCKET, M_NOWAIT); if (*mp != NULL) mp = &(*mp)->m_next; } if (inp->inp_flags & INP_RECVDSTADDR) { - *mp = sbcreatecontrol((caddr_t)&ip->ip_dst, - sizeof(struct in_addr), IP_RECVDSTADDR, IPPROTO_IP); + *mp = sbcreatecontrol(&ip->ip_dst, sizeof(struct in_addr), + IP_RECVDSTADDR, IPPROTO_IP, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } if (inp->inp_flags & INP_RECVTTL) { - *mp = sbcreatecontrol((caddr_t)&ip->ip_ttl, - sizeof(u_char), IP_RECVTTL, IPPROTO_IP); + *mp = sbcreatecontrol(&ip->ip_ttl, sizeof(u_char), IP_RECVTTL, + IPPROTO_IP, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } @@ -1261,15 +1261,15 @@ ip_savecontrol(struct inpcb *inp, struct mbuf **mp, struct ip *ip, */ /* options were tossed already */ if (inp->inp_flags & INP_RECVOPTS) { - *mp = sbcreatecontrol((caddr_t)opts_deleted_above, - sizeof(struct in_addr), IP_RECVOPTS, IPPROTO_IP); + *mp = sbcreatecontrol(opts_deleted_above, + sizeof(struct in_addr), IP_RECVOPTS, IPPROTO_IP, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } /* ip_srcroute doesn't do what we want here, need to fix */ if (inp->inp_flags & INP_RECVRETOPTS) { - *mp = sbcreatecontrol((caddr_t)ip_srcroute(m), - sizeof(struct in_addr), IP_RECVRETOPTS, IPPROTO_IP); + *mp = sbcreatecontrol(ip_srcroute(m), sizeof(struct in_addr), + IP_RECVRETOPTS, IPPROTO_IP, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } @@ -1301,14 +1301,14 @@ ip_savecontrol(struct inpcb *inp, struct mbuf **mp, struct ip *ip, sdl2->sdl_index = 0; sdl2->sdl_nlen = sdl2->sdl_alen = sdl2->sdl_slen = 0; } - *mp = sbcreatecontrol((caddr_t)sdl2, sdl2->sdl_len, - IP_RECVIF, IPPROTO_IP); + *mp = sbcreatecontrol(sdl2, sdl2->sdl_len, IP_RECVIF, + IPPROTO_IP, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } if (inp->inp_flags & INP_RECVTOS) { - *mp = sbcreatecontrol((caddr_t)&ip->ip_tos, - sizeof(u_char), IP_RECVTOS, IPPROTO_IP); + *mp = sbcreatecontrol(&ip->ip_tos, sizeof(u_char), IP_RECVTOS, + IPPROTO_IP, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } @@ -1323,12 +1323,12 @@ ip_savecontrol(struct inpcb *inp, struct mbuf **mp, struct ip *ip, * XXX should handle the failure of one or the * other - don't populate both? */ - *mp = sbcreatecontrol((caddr_t) &flowid, - sizeof(uint32_t), IP_FLOWID, IPPROTO_IP); + *mp = sbcreatecontrol(&flowid, sizeof(uint32_t), IP_FLOWID, + IPPROTO_IP, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; - *mp = sbcreatecontrol((caddr_t) &flow_type, - sizeof(uint32_t), IP_FLOWTYPE, IPPROTO_IP); + *mp = sbcreatecontrol(&flow_type, sizeof(uint32_t), + IP_FLOWTYPE, IPPROTO_IP, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } @@ -1342,8 +1342,8 @@ ip_savecontrol(struct inpcb *inp, struct mbuf **mp, struct ip *ip, flow_type = M_HASHTYPE_GET(m); if (rss_hash2bucket(flowid, flow_type, &rss_bucketid) == 0) { - *mp = sbcreatecontrol((caddr_t) &rss_bucketid, - sizeof(uint32_t), IP_RSSBUCKETID, IPPROTO_IP); + *mp = sbcreatecontrol(&rss_bucketid, sizeof(uint32_t), + IP_RSSBUCKETID, IPPROTO_IP, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index f35ba81f3936..3b3bb71339d4 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -327,8 +327,9 @@ udp_append(struct inpcb *inp, struct ip *ip, struct mbuf *n, int off, ip_savecontrol(inp, &opts, ip, n); } if ((inp->inp_vflag & INP_IPV4) && (inp->inp_flags2 & INP_ORIGDSTADDR)) { - tmpopts = sbcreatecontrol((caddr_t)&udp_in[1], - sizeof(struct sockaddr_in), IP_ORIGDSTADDR, IPPROTO_IP); + tmpopts = sbcreatecontrol(&udp_in[1], + sizeof(struct sockaddr_in), IP_ORIGDSTADDR, IPPROTO_IP, + M_NOWAIT); if (tmpopts) { if (opts) { tmpopts->m_next = opts; diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c index 3a13d2a9dc74..9835dc495f09 100644 --- a/sys/netinet6/ip6_input.c +++ b/sys/netinet6/ip6_input.c @@ -1216,8 +1216,8 @@ ip6_savecontrol_v4(struct inpcb *inp, struct mbuf *m, struct mbuf **mp, } else { microtime(&t.tv); } - *mp = sbcreatecontrol((caddr_t) &t.tv, sizeof(t.tv), - SCM_TIMESTAMP, SOL_SOCKET); + *mp = sbcreatecontrol(&t.tv, sizeof(t.tv), + SCM_TIMESTAMP, SOL_SOCKET, M_NOWAIT); if (*mp != NULL) { mp = &(*mp)->m_next; stamped = true; @@ -1234,8 +1234,8 @@ ip6_savecontrol_v4(struct inpcb *inp, struct mbuf *m, struct mbuf **mp, } else { bintime(&t.bt); } - *mp = sbcreatecontrol((caddr_t)&t.bt, sizeof(t.bt), - SCM_BINTIME, SOL_SOCKET); + *mp = sbcreatecontrol(&t.bt, sizeof(t.bt), SCM_BINTIME, + SOL_SOCKET, M_NOWAIT); if (*mp != NULL) { mp = &(*mp)->m_next; stamped = true; @@ -1252,8 +1252,8 @@ ip6_savecontrol_v4(struct inpcb *inp, struct mbuf *m, struct mbuf **mp, } else { nanotime(&t.ts); } - *mp = sbcreatecontrol((caddr_t)&t.ts, sizeof(t.ts), - SCM_REALTIME, SOL_SOCKET); + *mp = sbcreatecontrol(&t.ts, sizeof(t.ts), + SCM_REALTIME, SOL_SOCKET, M_NOWAIT); if (*mp != NULL) { mp = &(*mp)->m_next; stamped = true; @@ -1266,8 +1266,8 @@ ip6_savecontrol_v4(struct inpcb *inp, struct mbuf *m, struct mbuf **mp, mbuf_tstmp2timespec(m, &t.ts); else nanouptime(&t.ts); - *mp = sbcreatecontrol((caddr_t)&t.ts, sizeof(t.ts), - SCM_MONOTONIC, SOL_SOCKET); + *mp = sbcreatecontrol(&t.ts, sizeof(t.ts), + SCM_MONOTONIC, SOL_SOCKET, M_NOWAIT); if (*mp != NULL) { mp = &(*mp)->m_next; stamped = true; @@ -1285,8 +1285,8 @@ ip6_savecontrol_v4(struct inpcb *inp, struct mbuf *m, struct mbuf **mp, sti.st_info_flags = ST_INFO_HW; if ((m->m_flags & M_TSTMP_HPREC) != 0) sti.st_info_flags |= ST_INFO_HW_HPREC; - *mp = sbcreatecontrol((caddr_t)&sti, sizeof(sti), - SCM_TIME_INFO, SOL_SOCKET); + *mp = sbcreatecontrol(&sti, sizeof(sti), SCM_TIME_INFO, + SOL_SOCKET, M_NOWAIT); if (*mp != NULL) mp = &(*mp)->m_next; } @@ -1318,9 +1318,9 @@ ip6_savecontrol_v4(struct inpcb *inp, struct mbuf *m, struct mbuf **mp, pi6.ipi6_ifindex = (m && m->m_pkthdr.rcvif) ? m->m_pkthdr.rcvif->if_index : 0; - *mp = sbcreatecontrol((caddr_t) &pi6, - sizeof(struct in6_pktinfo), - IS2292(inp, IPV6_2292PKTINFO, IPV6_PKTINFO), IPPROTO_IPV6); + *mp = sbcreatecontrol(&pi6, sizeof(struct in6_pktinfo), + IS2292(inp, IPV6_2292PKTINFO, IPV6_PKTINFO), IPPROTO_IPV6, + M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } @@ -1341,9 +1341,9 @@ ip6_savecontrol_v4(struct inpcb *inp, struct mbuf *m, struct mbuf **mp, } else { hlim = ip6->ip6_hlim & 0xff; } - *mp = sbcreatecontrol((caddr_t) &hlim, sizeof(int), + *mp = sbcreatecontrol(&hlim, sizeof(int), IS2292(inp, IPV6_2292HOPLIMIT, IPV6_HOPLIMIT), - IPPROTO_IPV6); + IPPROTO_IPV6, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } @@ -1368,8 +1368,8 @@ ip6_savecontrol_v4(struct inpcb *inp, struct mbuf *m, struct mbuf **mp, flowinfo >>= 20; tclass = flowinfo & 0xff; } - *mp = sbcreatecontrol((caddr_t) &tclass, sizeof(int), - IPV6_TCLASS, IPPROTO_IPV6); + *mp = sbcreatecontrol(&tclass, sizeof(int), IPV6_TCLASS, + IPPROTO_IPV6, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } @@ -1425,9 +1425,9 @@ ip6_savecontrol(struct inpcb *inp, struct mbuf *m, struct mbuf **mp) * RFC2292. * Note: this constraint is removed in RFC3542 */ - *mp = sbcreatecontrol((caddr_t)hbh, hbhlen, + *mp = sbcreatecontrol(hbh, hbhlen, IS2292(inp, IPV6_2292HOPOPTS, IPV6_HOPOPTS), - IPPROTO_IPV6); + IPPROTO_IPV6, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } @@ -1476,10 +1476,9 @@ ip6_savecontrol(struct inpcb *inp, struct mbuf *m, struct mbuf **mp) if (!(inp->inp_flags & IN6P_DSTOPTS)) break; - *mp = sbcreatecontrol((caddr_t)ip6e, elen, - IS2292(inp, - IPV6_2292DSTOPTS, IPV6_DSTOPTS), - IPPROTO_IPV6); + *mp = sbcreatecontrol(ip6e, elen, + IS2292(inp, IPV6_2292DSTOPTS, IPV6_DSTOPTS), + IPPROTO_IPV6, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; break; @@ -1487,9 +1486,9 @@ ip6_savecontrol(struct inpcb *inp, struct mbuf *m, struct mbuf **mp) if (!(inp->inp_flags & IN6P_RTHDR)) break; - *mp = sbcreatecontrol((caddr_t)ip6e, elen, + *mp = sbcreatecontrol(ip6e, elen, IS2292(inp, IPV6_2292RTHDR, IPV6_RTHDR), - IPPROTO_IPV6); + IPPROTO_IPV6, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; break; @@ -1526,12 +1525,12 @@ ip6_savecontrol(struct inpcb *inp, struct mbuf *m, struct mbuf **mp) * XXX should handle the failure of one or the * other - don't populate both? */ - *mp = sbcreatecontrol((caddr_t) &flowid, - sizeof(uint32_t), IPV6_FLOWID, IPPROTO_IPV6); + *mp = sbcreatecontrol(&flowid, sizeof(uint32_t), IPV6_FLOWID, + IPPROTO_IPV6, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; - *mp = sbcreatecontrol((caddr_t) &flow_type, - sizeof(uint32_t), IPV6_FLOWTYPE, IPPROTO_IPV6); + *mp = sbcreatecontrol(&flow_type, sizeof(uint32_t), + IPV6_FLOWTYPE, IPPROTO_IPV6, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } @@ -1545,8 +1544,8 @@ ip6_savecontrol(struct inpcb *inp, struct mbuf *m, struct mbuf **mp) flow_type = M_HASHTYPE_GET(m); if (rss_hash2bucket(flowid, flow_type, &rss_bucketid) == 0) { - *mp = sbcreatecontrol((caddr_t) &rss_bucketid, - sizeof(uint32_t), IPV6_RSSBUCKETID, IPPROTO_IPV6); + *mp = sbcreatecontrol(&rss_bucketid, sizeof(uint32_t), + IPV6_RSSBUCKETID, IPPROTO_IPV6, M_NOWAIT); if (*mp) mp = &(*mp)->m_next; } @@ -1583,8 +1582,8 @@ ip6_notify_pmtu(struct inpcb *inp, struct sockaddr_in6 *dst, u_int32_t mtu) if (sa6_recoverscope(&mtuctl.ip6m_addr)) return; - if ((m_mtu = sbcreatecontrol((caddr_t)&mtuctl, sizeof(mtuctl), - IPV6_PATHMTU, IPPROTO_IPV6)) == NULL) + if ((m_mtu = sbcreatecontrol(&mtuctl, sizeof(mtuctl), IPV6_PATHMTU, + IPPROTO_IPV6, M_NOWAIT)) == NULL) return; so = inp->inp_socket; diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index 20b78009854e..9b3bce7db7bc 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -183,8 +183,9 @@ udp6_append(struct inpcb *inp, struct mbuf *n, int off, inp->inp_socket->so_options & SO_TIMESTAMP) ip6_savecontrol(inp, n, &opts); if ((inp->inp_vflag & INP_IPV6) && (inp->inp_flags2 & INP_ORIGDSTADDR)) { - tmp_opts = sbcreatecontrol((caddr_t)&fromsa[1], - sizeof(struct sockaddr_in6), IPV6_ORIGDSTADDR, IPPROTO_IPV6); + tmp_opts = sbcreatecontrol(&fromsa[1], + sizeof(struct sockaddr_in6), IPV6_ORIGDSTADDR, + IPPROTO_IPV6, M_NOWAIT); if (tmp_opts) { if (opts) { tmp_opts->m_next = opts; diff --git a/sys/sys/sockbuf.h b/sys/sys/sockbuf.h index 2484407d557c..efa87b1f2378 100644 --- a/sys/sys/sockbuf.h +++ b/sys/sys/sockbuf.h @@ -158,10 +158,7 @@ void sbappendrecord(struct sockbuf *sb, struct mbuf *m0); void sbappendrecord_locked(struct sockbuf *sb, struct mbuf *m0); void sbcompress(struct sockbuf *sb, struct mbuf *m, struct mbuf *n); struct mbuf * - sbcreatecontrol(caddr_t p, int size, int type, int level); -struct mbuf * - sbcreatecontrol_how(void *p, int size, int type, int level, - int wait); + sbcreatecontrol(void *p, int size, int type, int level, int wait); void sbdestroy(struct socket *, sb_which); void sbdrop(struct sockbuf *sb, int len); void sbdrop_locked(struct sockbuf *sb, int len);