NFC: Close a race condition in llcp_sock_getname()
authorCong Wang <xiyou.wangcong@gmail.com>
Fri, 29 Jan 2016 19:37:40 +0000 (11:37 -0800)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 25 Feb 2016 07:41:01 +0000 (08:41 +0100)
commit03c05355543149bf610f4375e8382ee4fc0aaade
tree6173ee32c1628a3973ec9305611895434ad121e7
parent81ca7835f2cb0c3ba4236e3bcf31d997c6f5d71a
NFC: Close a race condition in llcp_sock_getname()

llcp_sock_getname() checks llcp_sock->dev to make sure
llcp_sock is already connected or bound, however, we could
be in the middle of llcp_sock_bind() where llcp_sock->dev
is bound and llcp_sock->service_name_len is set,
but llcp_sock->service_name is not, in this case we would
lead to copy some bytes from a NULL pointer.

Just lock the sock since this is not a hot path anyway.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
net/nfc/llcp_sock.c