Re: [PATCH 4.4 09/46] ipv6: Inhibit IPv4-mapped src address on the wire.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2017-06-15 at 19:52 +0200, Greg Kroah-Hartman wrote:
> 4.4-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: "Jonathan T. Leighton" <jtleight@xxxxxxxx>
> 
> 
> [ Upstream commit ec5e3b0a1d41fbda0cc33a45bc9e54e91d9d12c7 ]
> 
> This patch adds a check for the problematic case of an IPv4-mapped IPv6
> source address and a destination address that is neither an IPv4-mapped
> IPv6 address nor in6addr_any, and returns an appropriate error. The
> check in done before returning from looking up the route.

I think this needs to be followed by:

commit 00ea1ceebe0d9f2dc1cc2b7bd575a00100c27869
Author: Willem de Bruijn <willemb@xxxxxxxxxx>
Date:   Sat Feb 18 19:00:45 2017 -0500

    ipv6: release dst on error in ip6_dst_lookup_tail

Ben.

> Signed-off-by: Jonathan T. Leighton <jtleight@xxxxxxxx>
> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
>  net/ipv6/ip6_output.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> --- a/net/ipv6/ip6_output.c
> +++ b/net/ipv6/ip6_output.c
> @@ -1004,6 +1004,9 @@ static int ip6_dst_lookup_tail(struct ne
>  		}
>  	}
>  #endif
> +	if (ipv6_addr_v4mapped(&fl6->saddr) &&
> +	    !(ipv6_addr_v4mapped(&fl6->daddr) || ipv6_addr_any(&fl6->daddr)))
> +		return -EAFNOSUPPORT;
>  
>  	return 0;
>  
> 
> 
> 

-- 
Ben Hutchings
Software Developer, Codethink Ltd.





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]