On Tue, Jan 5, 2016 at 5:22 PM, Eric Dumazet <eric.duma...@gmail.com> wrote:
> On Tue, 2016-01-05 at 14:08 -0800, Eric Dumazet wrote:
>> From: Eric Dumazet <eduma...@google.com>
>>
>> udp_dump_one() uses __udp4_lib_lookup() & __udp6_lib_lookup()
>> which cannot properly handle the provided cookie when SO_REUSEPORT
>> is used, as many sockets share the same 4-tuple
>>
>> Instead, let's use the provided 64bit cookie to uniquely identify
>> the socket.
>>
>> This will allow us to remove a check against skb being NULL in
>> reuseport_select_sock(), as we no longer share __udp4_lib_lookup() &
>> __udp6_lib_lookup() with packet processing path.
>>
>> Signed-off-by: Eric Dumazet <eduma...@google.com>
>> ---
>
> I'll send a v2, removing the EXPORT_SYMBOL(__udp4_lib_lookup) and add a
> static qualifier. (Same for v6)
>
> Also, INET_UDP_DIAG can depends on INET_DIAG instead of "depends on
> INET_DIAG && (IPV6 || IPV6=n)"

Thanks Eric! Still reading through this, but I noticed a couple other
paths as well.  Anything that comes through the exported
udp4_lib_lookup.  Currently xt_TPROXY.c and xt_socket.c.  Though,
these could probably be changed to pass through the skb.  That may be
worth addressing in a separate patch, though...
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to