Re: net/rds: use-after-free in inet_create
From: Dmitry Vyukov <dvyukov@google.com>
Date: 2017-03-01 09:51:15
Also in:
linux-rdma, lkml
On Tue, Feb 28, 2017 at 11:24 PM, Sowmini Varadhan [off-list ref] wrote:
Actually, I'm not sure if I can assert that these are all manifestations of the same bug- was a netns-delete involved in this one as well? I see:quoted
BUG: KASAN: use-after-free in memcmp+0xe3/0x160 lib/string.c:768 at:quoted
memcmp+0xe3/0x160 lib/string.c:768:quoted
rds_find_bound+0x4fe/0x8a0 net/rds/bind.c:63 rds_recv_incoming+0x5f3/0x12c0 net/rds/recv.c:349 rds_loop_xmit+0x1c5/0x490 net/rds/loop.c:82: This appears to be for a looped back packet, and looks like there are problems with some rds_sock that got removed from the bind_hash_table.. According to the report, socket was created atquoted
Allocated: PID = 5235:quoted
sk_prot_alloc+0x65/0x2a0 net/core/sock.c:1334 sk_alloc+0x105/0x1010 net/core/sock.c:1396 rds_create+0x11c/0x600 net/rds/af_rds.c:504and closed at some point:quoted
Freed: PID = 5235:quoted
rds_release+0x3a1/0x4d0 net/rds/af_rds.c:89 sock_release+0x8d/0x1e0 net/socket.c:599This is all uspace created rds sockets, and while there may be an unrelated bug here, I'm not sure I see the netns/kernel-socket connection.. can you please clarify if this was also seen in some netns context?
Yes, these test processes run in private net namespaces.