From: "Jose A. Perez de Azpillaga" <azpijr@gmail.com>
To: syzbot <syzbot+89001660f14fb7684c83@syzkaller.appspotmail.com>
Cc: davem@davemloft.net, dhowells@redhat.com, edumazet@google.com,
horms@kernel.org, kuba@kernel.org,
linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org,
marc.dionne@auristor.com, netdev@vger.kernel.org,
pabeni@redhat.com, syzkaller-bugs@googlegroups.com
Subject: Re: [syzbot] [net?] [afs?] kernel BUG in rxrpc_destroy_all_connections (2)
Date: Sun, 27 Sep 2026 14:04:41 +0200 [thread overview]
Message-ID: <arkFzpbQnWICoJDt@gmail.com> (raw)
In-Reply-To: <6ab29768.514bccd6.255447.001e.GAE@google.com>
#syz test: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git a7bfaba4823e
diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h
index 865f05fe37ab..2ecfd58cd566 100644
--- a/net/rxrpc/ar-internal.h
+++ b/net/rxrpc/ar-internal.h
@@ -1205,2 +1205,3 @@ void rxrpc_disconnect_call(struct rxrpc_call *);
void rxrpc_kill_client_conn(struct rxrpc_connection *);
+void rxrpc_discard_unactivated_client_conn(struct rxrpc_connection *);
void rxrpc_queue_conn(struct rxrpc_connection *, enum rxrpc_conn_trace);
diff --git a/net/rxrpc/conn_client.c b/net/rxrpc/conn_client.c
index 48519f0de185..8ccf69cc973f 100644
--- a/net/rxrpc/conn_client.c
+++ b/net/rxrpc/conn_client.c
@@ -697,2 +697,13 @@ static void rxrpc_unbundle_conn(struct rxrpc_connection *conn)
+void rxrpc_discard_unactivated_client_conn(struct rxrpc_connection *conn)
+{
+ if (!rxrpc_conn_is_client(conn) || !conn->bundle)
+ return;
+ if (conn->act_chans || !list_empty(&conn->cache_link))
+ return;
+
+ _debug("C=%x never activated", conn->debug_id);
+ rxrpc_unbundle_conn(conn);
+}
+
/*
diff --git a/net/rxrpc/conn_event.c b/net/rxrpc/conn_event.c
index 611c790bc6d0..a30cbaa8a48b 100644
--- a/net/rxrpc/conn_event.c
+++ b/net/rxrpc/conn_event.c
@@ -40,2 +40,5 @@ static bool rxrpc_set_conn_aborted(struct rxrpc_connection *conn,
spin_unlock_irq(&conn->state_lock);
+
+ if (aborted)
+ rxrpc_discard_unactivated_client_conn(conn);
}
@@ -274,4 +277,10 @@ static int rxrpc_process_event(struct rxrpc_connection *conn,
- if (conn->state == RXRPC_CONN_ABORTED)
+ if (conn->state == RXRPC_CONN_ABORTED) {
+ if (sp->hdr.type == RXRPC_PACKET_TYPE_CHALLENGE &&
+ sp->chall.conn) {
+ rxrpc_put_connection(conn, rxrpc_conn_put_challenge_input);
+ sp->chall.conn = NULL;
+ }
return -ECONNABORTED;
+ }
diff --git a/net/rxrpc/conn_object.c b/net/rxrpc/conn_object.c
index 0ece717db0f8..6d453b9a9457 100644
--- a/net/rxrpc/conn_object.c
+++ b/net/rxrpc/conn_object.c
@@ -251,2 +251,3 @@ struct rxrpc_connection *rxrpc_get_connection(struct rxrpc_connection *conn,
__refcount_inc(&conn->ref, &r);
+ pr_err("AF_RXRPC: conn %x GET why=%d r=%d\n", conn->debug_id, why, r + 1);
trace_rxrpc_conn(conn->debug_id, r + 1, why);
@@ -367,2 +368,3 @@ void rxrpc_put_connection(struct rxrpc_connection *conn,
dead = __refcount_dec_and_test(&conn->ref, &r);
+ pr_err("AF_RXRPC: conn %x PUT why=%d r=%d dead=%d\n", debug_id, why, r - 1, dead);
trace_rxrpc_conn(debug_id, r - 1, why);
@@ -487,2 +489,18 @@ void rxrpc_destroy_all_connections(struct rxrpc_net *rxnet)
+ if (!list_empty(&rxnet->conn_proc_list)) {
+ struct rxrpc_connection *c;
+
+ pr_err("AF_RXRPC: conn_proc_list not empty\n");
+ write_lock(&rxnet->conn_lock);
+ list_for_each_entry(c, &rxnet->conn_proc_list, proc_link)
+ pr_err("AF_RXRPC: proc conn %x cid %x state %d ref %d act %d flags %lx cache_empty %d calls %px %px %px %px bundle %px\n",
+ c->debug_id, c->proto.cid, c->state,
+ refcount_read(&c->ref), c->act_chans, c->flags,
+ list_empty(&c->cache_link),
+ c->channels[0].call, c->channels[1].call,
+ c->channels[2].call, c->channels[3].call,
+ c->bundle);
+ write_unlock(&rxnet->conn_lock);
+ }
+
ASSERT(list_empty(&rxnet->conn_proc_list));
next prev parent reply other threads:[~2026-09-27 12:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-06 0:12 [syzbot] [afs?] [net?] " syzbot
2026-09-22 14:57 ` [syzbot] [net?] [afs?] " syzbot
2026-09-27 7:40 ` Jose A. Perez de Azpillaga
2026-09-27 7:42 ` syzbot
2026-09-27 7:48 ` Jose A. Perez de Azpillaga
2026-09-27 7:50 ` syzbot
2026-09-27 8:14 ` Jose A. Perez de Azpillaga
2026-09-27 8:29 ` syzbot
2026-09-28 17:42 ` Pimyn Girgis
2026-09-27 11:08 ` Jose A. Perez de Azpillaga
2026-09-27 11:23 ` syzbot
2026-09-27 12:04 ` Jose A. Perez de Azpillaga [this message]
2026-09-27 12:19 ` syzbot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=arkFzpbQnWICoJDt@gmail.com \
--to=azpijr@gmail.com \
--cc=davem@davemloft.net \
--cc=dhowells@redhat.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-afs@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.dionne@auristor.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=syzbot+89001660f14fb7684c83@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®