[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAE1zotKPoiu9mEw5-EggOPzPjdat=VyBHfHRXA+-Y9Z6ZF=aHA@mail.gmail.com>
Date: Thu, 26 Jun 2014 18:13:39 +0300
From: Octavian Purdila <octavian.purdila@...el.com>
To: David Miller <davem@...emloft.net>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [RFC net-next 03/12] net: remove inet6_reqsk_alloc
On Thu, Jun 26, 2014 at 2:17 AM, David Miller <davem@...emloft.net> wrote:
> From: Octavian Purdila <octavian.purdila@...el.com>
> Date: Mon, 23 Jun 2014 21:42:40 +0300
>
>> Since pktops is only used for IPv6 only and opts is used for IPv4
>> only, we can move these fields into a union and this allows us to drop
>> the inet6_reqsk_alloc function as after this change it becomes
>> equivalent with inet_reqsk_alloc.
>>
>> This patch also fixes an kmemcheck issue in the IPv6 stack: the flags
>> field was not annotated after a request_sock was allocated.
>>
>> Signed-off-by: Octavian Purdila <octavian.purdila@...el.com>
>
> What about ipv4 mapped ipv6 connections? I don't think it's safe to
> share the space for these two fields.
I've spent some time researching this and I don't think that it
matters for request_sock if we do have an ipv4 mapped ipv6 connection.
In this case all of the request_sock calls will be processed with
tcp_v4_ (or dccp_v4_) functions and there is no overlap with tcp_v6_
functions. And all tcp_v4_ functions use opts while the tcp_v6_
functions use pktopts.
Later when we switch to the full socket (in tcp_v6_syn_recv_sock), for
the ipv4 mapped case ireq->pktopts is not touched and
newsk->pktoptions is set to NULL.
I have used the same connections per second test to check ipv4 mapped
sockets and it did not trigger any issues so far.
--
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