diff mbox

[RFC,net-next] Cancel any pending connection attempts before taking down connection

Message ID 1488246240-159171-1-git-send-email-sowmini.varadhan@oracle.com
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

Sowmini Varadhan Feb. 28, 2017, 1:44 a.m. UTC
This is a test patch being supplied for a trial run on syzkaller.

Explicitly cancel the workq before releasing resources that
will allow netns deletion, so that the connect request does
not trip up on a use-after free of the netns afterward.

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
---
 net/rds/tcp.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff mbox

Patch

diff --git a/net/rds/tcp.c b/net/rds/tcp.c
index 57bb523..2568eb1 100644
--- a/net/rds/tcp.c
+++ b/net/rds/tcp.c
@@ -509,6 +509,8 @@  static void rds_tcp_conn_paths_destroy(struct rds_connection *conn)
 
 	for (i = 0; i < RDS_MPATH_WORKERS; i++) {
 		cp = &conn->c_path[i];
+		if (cancel_delayed_work_sync(&cp->cp_conn_w))
+			pr_info("cancelled on path %d\n", i);
 		tc = cp->cp_transport_data;
 		if (!tc->t_sock)
 			continue;