[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181105071234.GC2869@uranus.lan>
Date: Mon, 5 Nov 2018 10:12:34 +0300
From: Cyrill Gorcunov <gorcunov@...il.com>
To: Andrei Vagin <avagin@...il.com>
Cc: "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
Xin Long <lucien.xin@...il.com>
Subject: Re: [PATCH] sock_diag: fix autoloading of the raw_diag module
On Sun, Nov 04, 2018 at 10:37:15PM -0800, Andrei Vagin wrote:
> IPPROTO_TCP isn't registred as an inet protocol, so
> inet_protos[protocol] is always NULL for it.
Typo, IPPROTO_RAW
>
> Cc: Cyrill Gorcunov <gorcunov@...il.com>
> Cc: Xin Long <lucien.xin@...il.com>
> Fixes: bf2ae2e4bf93 ("sock_diag: request _diag module only when the family or proto has been registered")
> Signed-off-by: Andrei Vagin <avagin@...il.com>
> ---
> net/core/sock.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/net/core/sock.c b/net/core/sock.c
> index 6fcc4bc07d19..080a880a1761 100644
> --- a/net/core/sock.c
> +++ b/net/core/sock.c
> @@ -3279,6 +3279,7 @@ int sock_load_diag_module(int family, int protocol)
>
> #ifdef CONFIG_INET
> if (family == AF_INET &&
> + protocol != IPPROTO_RAW &&
> !rcu_access_pointer(inet_protos[protocol]))
> return -ENOENT;
> #endif
Andrew, looking into kernel code I wonder, maybe we should simply
add this protocol into inet_protos during net/ipv4/af_inet.c:inet_init?
It will require to add netns_ok into raw_prot of course.
Powered by blists - more mailing lists