lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221025181526.80400-1-kuniyu@amazon.com>
Date:   Tue, 25 Oct 2022 11:15:26 -0700
From:   Kuniyuki Iwashima <kuniyu@...zon.com>
To:     <edumazet@...gle.com>
CC:     <davem@...emloft.net>, <eric.dumazet@...il.com>, <kuba@...nel.org>,
        <kuniyu@...zon.com>, <mathew.j.martineau@...ux.intel.com>,
        <matthieu.baerts@...sares.net>, <netdev@...r.kernel.org>,
        <pabeni@...hat.com>, <syzkaller@...glegroups.com>
Subject: Re: [PATCH net-next] mptcp: fix tracking issue in mptcp_subflow_create_socket()

From:   Eric Dumazet <edumazet@...gle.com>
Date:   Tue, 25 Oct 2022 18:05:46 +0000
> My recent patch missed that mptcp_subflow_create_socket()
> was creating a 'kernel' socket, then converted it to 'user' socket.
> 
> Fixes: 0cafd77dcd03 ("net: add a refcount tracker for kernel sockets")
> Reported-by: syzbot <syzkaller@...glegroups.com>
> Signed-off-by: Eric Dumazet <edumazet@...gle.com>

Reviewed-by: Kuniyuki Iwashima <kuniyu@...zon.com>

I missed that, thanks for the fix!


> Cc: Mat Martineau <mathew.j.martineau@...ux.intel.com>
> Cc: Matthieu Baerts <matthieu.baerts@...sares.net>
> Cc: Kuniyuki Iwashima <kuniyu@...zon.com>
> ---
>  net/mptcp/subflow.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c
> index 07dd23d0fe04ac37f4cc66c0c21d4d41f50fb3f4..120f792fda9764271f020771b36d27c6e44d8618 100644
> --- a/net/mptcp/subflow.c
> +++ b/net/mptcp/subflow.c
> @@ -1595,7 +1595,9 @@ int mptcp_subflow_create_socket(struct sock *sk, struct socket **new_sock)
>  
>  	/* kernel sockets do not by default acquire net ref, but TCP timer
>  	 * needs it.
> +	 * Update ns_tracker to current stack trace and refcounted tracker.
>  	 */
> +	__netns_tracker_free(net, &sf->sk->ns_tracker, false);
>  	sf->sk->sk_net_refcnt = 1;
>  	get_net_track(net, &sf->sk->ns_tracker, GFP_KERNEL);
>  	sock_inuse_add(net, 1);
> -- 
> 2.38.0.135.g90850a2211-goog

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ