On 26/01/17(Thu) 15:40, David Hill wrote:
> Hi -
>
> copypktopts is only called by ip6_setpktopts with M_NOWAIT. Drop
> canwait to make this simpler and more readable.
ok mpi@
>
> Index: ip6_output.c
> ===================================================================
> RCS file: /cvs/src/sys/netinet6/ip6_output.c,v
> retrieving revision 1.221
> diff -u -p -r1.221 ip6_output.c
> --- ip6_output.c 19 Jan 2017 14:49:19 -0000 1.221
> +++ ip6_output.c 26 Jan 2017 20:18:00 -0000
> @@ -127,7 +127,7 @@ int ip6_insertfraghdr(struct mbuf *, str
> int ip6_insert_jumboopt(struct ip6_exthdrs *, u_int32_t);
> int ip6_splithdr(struct mbuf *, struct ip6_exthdrs *);
> int ip6_getpmtu(struct rtentry *, struct ifnet *, u_long *);
> -int copypktopts(struct ip6_pktopts *, struct ip6_pktopts *, int);
> +int copypktopts(struct ip6_pktopts *, struct ip6_pktopts *);
> static __inline u_int16_t __attribute__((__unused__))
> in6_cksum_phdr(const struct in6_addr *, const struct in6_addr *,
> u_int32_t, u_int32_t);
> @@ -1839,22 +1839,22 @@ ip6_clearpktopts(struct ip6_pktopts *pkt
> do {\
> if (src->type) {\
> size_t hlen = (((struct ip6_ext *)src->type)->ip6e_len + 1) <<
> 3;\
> - dst->type = malloc(hlen, M_IP6OPT, canwait);\
> - if (dst->type == NULL && canwait == M_NOWAIT)\
> + dst->type = malloc(hlen, M_IP6OPT, M_NOWAIT);\
> + if (dst->type == NULL)\
> goto bad;\
> memcpy(dst->type, src->type, hlen);\
> }\
> } while (/*CONSTCOND*/ 0)
>
> int
> -copypktopts(struct ip6_pktopts *dst, struct ip6_pktopts *src, int canwait)
> +copypktopts(struct ip6_pktopts *dst, struct ip6_pktopts *src)
> {
> dst->ip6po_hlim = src->ip6po_hlim;
> dst->ip6po_tclass = src->ip6po_tclass;
> dst->ip6po_flags = src->ip6po_flags;
> if (src->ip6po_pktinfo) {
> dst->ip6po_pktinfo = malloc(sizeof(*dst->ip6po_pktinfo),
> - M_IP6OPT, canwait);
> + M_IP6OPT, M_NOWAIT);
> if (dst->ip6po_pktinfo == NULL)
> goto bad;
> *dst->ip6po_pktinfo = *src->ip6po_pktinfo;
> @@ -2256,7 +2256,7 @@ ip6_setpktopts(struct mbuf *control, str
> * but we can allow this since this option should be rarely
> * used.
> */
> - if ((error = copypktopts(opt, stickyopt, M_NOWAIT)) != 0)
> + if ((error = copypktopts(opt, stickyopt)) != 0)
> return (error);
> }
>
>