Message ID | 20240521182323.600609-3-lars@oddbit.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v3] ax25: Fix refcount imbalance on inbound connections | expand |
On Tue, 21 May 2024 14:23:25 -0400 lars@oddbit.com wrote:
> Fixes: 7d8a3a477b
correct fixes tag for this hash would be:
Fixes: 7d8a3a477b3e ("ax25: Fix ax25 session cleanup problems")
Please post v4 as a new thread (not in reply to).
Please CC maintainers (per script/get_maintainer.pl)
On Wed, May 22, 2024 at 10:07:01AM GMT, Jakub Kicinski wrote: > correct fixes tag for this hash would be: > > Fixes: 7d8a3a477b3e ("ax25: Fix ax25 session cleanup problems") Jakub, Thanks for the correction; I'll submit a new patch with a correct Fixes: tag, but... > Please CC maintainers (per script/get_maintainer.pl) ...the ax.25 tree is currently orphaned: AX.25 NETWORK LAYER L: linux-hams@vger.kernel.org S: Orphan W: https://linux-ax25.in-berlin.de F: include/net/ax25.h F: include/uapi/linux/ax25.h F: net/ax25/
On Wed, 22 May 2024 14:25:36 -0400 Lars Kellogg-Stedman wrote: > > Please CC maintainers (per script/get_maintainer.pl) > > ...the ax.25 tree is currently orphaned: > > AX.25 NETWORK LAYER > L: linux-hams@vger.kernel.org > S: Orphan > W: https://linux-ax25.in-berlin.de > F: include/net/ax25.h > F: include/uapi/linux/ax25.h > F: net/ax25/ Fair point, but get_maintainer acts in a bit of a hierarchical fashion, so since we don't have AX25 maintainer and dedicated tree - the general networking maintainers should get CCed
diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c index 8077cf2ee44..d6f9fae06a9 100644 --- a/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c @@ -1378,8 +1378,10 @@ static int ax25_accept(struct socket *sock, struct socket *newsock, { struct sk_buff *skb; struct sock *newsk; + ax25_dev *ax25_dev; DEFINE_WAIT(wait); struct sock *sk; + ax25_cb *ax25; int err = 0; if (sock->state != SS_UNCONNECTED) @@ -1434,6 +1436,10 @@ static int ax25_accept(struct socket *sock, struct socket *newsock, kfree_skb(skb); sk_acceptq_removed(sk); newsock->state = SS_CONNECTED; + ax25 = sk_to_ax25(newsk); + ax25_dev = ax25->ax25_dev; + netdev_hold(ax25_dev->dev, &ax25->dev_tracker, GFP_ATOMIC); + ax25_dev_hold(ax25_dev); out: release_sock(sk);