Subject: Re: [PATCH net-2.6.23 take2] UDP: Cleanup UDP encapsulation code

From: David Miller <[email-masked]>
Date: Tue, 10 Jul 2007 23:06:54 -0700 (PDT)

From: Patrick McHardy <[email-masked]>
Date: Fri, 06 Jul 2007 15:31:56 +0200

> Rémi Denis-Courmont wrote:
> > On Thursday 05 July 2007 20:25:50 ext James Chapman wrote:
> > 
> >>Rémi Denis-Courmont wrote:
> >>
> >>>By the way, couldn't encap_type be remove altogether (using two slightly
> >>>different callbacks for ESP) from udp_sock?
> >>
> >>The notion of encap_type is needed for the setsockopt call so it would
> >>have to stay in the API. If it were removed from udp_sock, getsockopt
> >>would have to derive the encap_type from encap_rcv funcptr values, which
> >>would be messy. I think it might complicate the logic in ESP too.
> > 
> > 
> > Right. By the way, shouldn't "len" rather be signed in there?
> > 
> > 		unsigned int len;
> > 
> > 		/* if we're overly short, let UDP handle it */
> > 		len = skb->len - sizeof(struct udphdr);
> > 		if (len <= 0)
> > 			goto udp;
> 
> 
> It should, but the < 0 case can't happen since __udp4_lib_rcv
> already makes sure that we have at least a complete UDP header.
> 
> Anyways, this patch fixes it.
> 
> Signed-off-by: Patrick McHardy <[email-masked]>

Applied, thanks.