Re: [PATCH] tun: don't zeroize sock->file on detach
From: Stanislav Kinsbursky <hidden>
Date: 2012-08-21 16:04:54
Also in:
lkml
10.08.2012 03:16, David Miller пишет:
From: Stanislav Kinsbursky <redacted> Date: Thu, 09 Aug 2012 16:50:40 +0400quoted
This is a fix for bug, introduced in 3.4 kernel by commit 1ab5ecb90cb6a3df1476e052f76a6e8f6511cb3d, which, among other things, replaced simple sock_put() by sk_release_kernel(). Below is sequence, which leads to oops for non-persistent devices: tun_chr_close() tun_detach() <== tun->socket.file = NULL tun_free_netdev() sk_release_sock() sock_release(sock->file == NULL) iput(SOCK_INODE(sock)) <== dereference on NULL pointer This patch just removes zeroing of socket's file from __tun_detach(). sock_release() will do this. Cc: stable@vger.kernel.org Reported-by: Ruan Zhijie <redacted> Tested-by: Ruan Zhijie <redacted> Acked-by: Al Viro <viro@ZenIV.linux.org.uk> Acked-by: Eric Dumazet <edumazet@google.com> Acked-by: Yuchung Cheng <redacted> Signed-off-by: Stanislav Kinsbursky <redacted>Applied, thanks.
Hi, David. I found out, that this commit: b09e786bd1dd66418b69348cb110f3a64764626a was previous attempt to fix the problem. I believe this commit have to be dropped. -- Best regards, Stanislav Kinsbursky