diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2026-04-14 11:54:21 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-04-14 12:04:00 -0700 |
| commit | 35c2c39832e569449b9192fa1afbbc4c66227af7 (patch) | |
| tree | 35b026a5e0bda47904dd6e52ff970bc933b9c916 /net/can | |
| parent | 6bb6bafa88b4edfea59d931c8d85b73dd7a662ae (diff) | |
| parent | b9d8b856689d2b968495d79fe653d87fcb8ad98c (diff) | |
| download | wireguard-linux-devel.tar.xz wireguard-linux-devel.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netdeveldavem/net-next
Merge in late fixes in preparation for the net-next PR.
Conflicts:
include/net/sch_generic.h
a6bd339dbb351 ("net_sched: fix skb memory leak in deferred qdisc drops")
ff2998f29f390 ("net: sched: introduce qdisc-specific drop reason tracing")
https://lore.kernel.org/adz0iX85FHMz0HdO@sirena.org.uk
drivers/net/ethernet/airoha/airoha_eth.c
1acdfbdb516b ("net: airoha: Fix VIP configuration for AN7583 SoC")
bf3471e6e6c0 ("net: airoha: Make flow control source port mapping dependent on nbq parameter")
Adjacent changes:
drivers/net/ethernet/airoha/airoha_ppe.c
f44218cd5e6a ("net: airoha: Reset PPE cpu port configuration in airoha_ppe_hw_init()")
7da62262ec96 ("inet: add ip_local_port_step_width sysctl to improve port usage distribution")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/can')
| -rw-r--r-- | net/can/raw.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/net/can/raw.c b/net/can/raw.c index a0c0f5e946d8..a26942e78e68 100644 --- a/net/can/raw.c +++ b/net/can/raw.c @@ -362,6 +362,14 @@ static int raw_notifier(struct notifier_block *nb, unsigned long msg, return NOTIFY_DONE; } +static void raw_sock_destruct(struct sock *sk) +{ + struct raw_sock *ro = raw_sk(sk); + + free_percpu(ro->uniq); + can_sock_destruct(sk); +} + static int raw_init(struct sock *sk) { struct raw_sock *ro = raw_sk(sk); @@ -388,6 +396,8 @@ static int raw_init(struct sock *sk) if (unlikely(!ro->uniq)) return -ENOMEM; + sk->sk_destruct = raw_sock_destruct; + /* set notifier */ spin_lock(&raw_notifier_lock); list_add_tail(&ro->notifier, &raw_notifier_list); @@ -437,7 +447,6 @@ static int raw_release(struct socket *sock) ro->bound = 0; ro->dev = NULL; ro->count = 0; - free_percpu(ro->uniq); sock_orphan(sk); sock->sk = NULL; |
