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.varad...@oracle.com> Reported-by: Dmitry Vyukov <dvyu...@google.com> --- net/rds/tcp.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) 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; -- 1.7.1