[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1372238996.3301.149.camel@edumazet-glaptop>
Date: Wed, 26 Jun 2013 02:29:56 -0700
From: Eric Dumazet <erdnetdev@...il.com>
To: Hannes Frederic Sowa <hannes@...essinduktion.org>
Cc: Dave Jones <davej@...hat.com>, David Miller <davem@...emloft.net>,
netdev@...r.kernel.org,
Steffen Klassert <steffen.klassert@...unet.com>
Subject: Re: oops in udpv6_sendmsg
On Wed, 2013-06-26 at 02:22 -0700, Eric Dumazet wrote:
> ip6_rt_put
>
> Oh well...
>
> It sounds we mix ipv4/ipv6 dst on an IPV6 socket.
>
> So an IPV4 actor thinks he got a "struct rtable" pointer and messes
> critical fields which overlay struct rt6_info components, for example
> rt6i_node
>
> rt6_inode shares the same storage with :
>
> rt_type/rt_is_input/rt_uses_gateway/rt_iif
>
> In my case, rt_iif is 0
>
> CC Steffen Klassert, because of commit
> 8141ed9fcedb278f4a3a78680591bef1e55f75fb
> ("ipv4: Add a socket release callback for datagram sockets")
ip6_sk_dst_lookup_flow()/ip6_sk_dst_check() look buggy, they assume the
socket dst is an IPv6 one.
But its not true if ip4_datagram_connect() was called before.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists