linux-stable/net/mac80211
Remi Pommarel 5e43540c2a mac80211: mesh: Free pending skb when destroying a mpath
A mpath object can hold reference on a list of skb that are waiting for
mpath resolution to be sent. When destroying a mpath this skb list
should be cleaned up in order to not leak memory.

Fixing that kind of leak:

unreferenced object 0xffff0000181c9300 (size 1088):
  comm "openvpn", pid 1782, jiffies 4295071698 (age 80.416s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 f9 80 36 00 00 00 00 00  ..........6.....
    02 00 07 40 00 00 00 00 00 00 00 00 00 00 00 00  ...@............
  backtrace:
    [<000000004bc6a443>] kmem_cache_alloc+0x1a4/0x2f0
    [<000000002caaef13>] sk_prot_alloc.isra.39+0x34/0x178
    [<00000000ceeaa916>] sk_alloc+0x34/0x228
    [<00000000ca1f1d04>] inet_create+0x198/0x518
    [<0000000035626b1c>] __sock_create+0x134/0x328
    [<00000000a12b3a87>] __sys_socket+0xb0/0x158
    [<00000000ff859f23>] __arm64_sys_socket+0x40/0x58
    [<00000000263486ec>] el0_svc_handler+0xd0/0x1a0
    [<0000000005b5157d>] el0_svc+0x8/0xc
unreferenced object 0xffff000012973a40 (size 216):
  comm "openvpn", pid 1782, jiffies 4295082137 (age 38.660s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 c0 06 16 00 00 ff ff 00 93 1c 18 00 00 ff ff  ................
  backtrace:
    [<000000004bc6a443>] kmem_cache_alloc+0x1a4/0x2f0
    [<0000000023c8c8f9>] __alloc_skb+0xc0/0x2b8
    [<000000007ad950bb>] alloc_skb_with_frags+0x60/0x320
    [<00000000ef90023a>] sock_alloc_send_pskb+0x388/0x3c0
    [<00000000104fb1a3>] sock_alloc_send_skb+0x1c/0x28
    [<000000006919d2dd>] __ip_append_data+0xba4/0x11f0
    [<0000000083477587>] ip_make_skb+0x14c/0x1a8
    [<0000000024f3d592>] udp_sendmsg+0xaf0/0xcf0
    [<000000005aabe255>] inet_sendmsg+0x5c/0x80
    [<000000008651ea08>] __sys_sendto+0x15c/0x218
    [<000000003505c99b>] __arm64_sys_sendto+0x74/0x90
    [<00000000263486ec>] el0_svc_handler+0xd0/0x1a0
    [<0000000005b5157d>] el0_svc+0x8/0xc

Fixes: 2bdaf386f9 (mac80211: mesh: move path tables into if_mesh)
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Link: https://lore.kernel.org/r/20200704135419.27703-1-repk@triplefau.lt
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2020-07-30 10:23:48 +02:00
..
aead_api.c
aead_api.h
aes_ccm.h
aes_cmac.c mac80211: Update BIP to support Beacon frames 2020-02-24 10:36:03 +01:00
aes_cmac.h
aes_gcm.h
aes_gmac.c mac80211: Update BIP to support Beacon frames 2020-02-24 10:36:03 +01:00
aes_gmac.h
agg-rx.c mac80211: accept aggregation sessions on 6 GHz 2020-05-31 11:27:16 +02:00
agg-tx.c mac80211: accept aggregation sessions on 6 GHz 2020-05-31 11:27:16 +02:00
airtime.c
cfg.c mac80211: mesh: Free ie data when leaving mesh 2020-07-30 10:23:35 +02:00
chan.c mac80211: handle channel frequency offset 2020-04-24 12:33:43 +02:00
debug.h
debugfs.c
debugfs.h
debugfs_key.c mac80211: Support BIGTK configuration for Beacon protection 2020-02-24 10:35:57 +01:00
debugfs_key.h mac80211: Support BIGTK configuration for Beacon protection 2020-02-24 10:35:57 +01:00
debugfs_netdev.c mac80211: mlme: remove duplicate AID bookkeeping 2020-04-24 11:46:11 +02:00
debugfs_netdev.h
debugfs_sta.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2020-03-29 21:25:29 -07:00
debugfs_sta.h
driver-ops.c
driver-ops.h mac80211: fix variable names in TID config methods 2020-05-27 10:02:01 +02:00
ethtool.c
fils_aead.c
fils_aead.h
he.c mac80211: use HE 6 GHz band capability and pass it to the driver 2020-05-31 11:27:03 +02:00
ht.c
ibss.c mac80211: avoid using ext NSS high BW if not supported 2020-05-31 11:26:50 +02:00
ieee80211_i.h mac80211: Add HE 6GHz capabilities element to probe request 2020-05-31 11:27:05 +02:00
iface.c mac80211: fix drv_config_iface_filter() behaviour 2020-04-24 11:46:17 +02:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
key.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2020-03-29 21:25:29 -07:00
key.h mac80211: Support BIGTK configuration for Beacon protection 2020-02-24 10:35:57 +01:00
led.c
led.h
main.c mac80211: support control port TX status reporting 2020-05-28 09:02:14 +02:00
Makefile
mesh.c mac80211: fix warning in 6 GHz IE addition in mesh mode 2020-07-30 10:20:37 +02:00
mesh.h mac80211: add HE 6 GHz Band Capability element 2020-05-31 11:26:39 +02:00
mesh_hwmp.c mac80211: simplify mesh code 2020-06-25 10:54:09 +02:00
mesh_pathtbl.c mac80211: mesh: Free pending skb when destroying a mpath 2020-07-30 10:23:48 +02:00
mesh_plink.c mac80211: use HE 6 GHz band capability and pass it to the driver 2020-05-31 11:27:03 +02:00
mesh_ps.c
mesh_sync.c
michael.c
michael.h
mlme.c mac80211: initialize return flags in HE 6 GHz operation parsing 2020-06-05 14:33:51 +02:00
ocb.c
offchannel.c mac80211: handle channel frequency offset 2020-04-24 12:33:43 +02:00
pm.c
rate.c mac80211: populate debugfs only after cfg80211 init 2020-04-24 11:30:13 +02:00
rate.h mac80211: populate debugfs only after cfg80211 init 2020-04-24 11:30:13 +02:00
rc80211_minstrel.c
rc80211_minstrel.h
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht.c One batch of changes, containing: 2020-05-26 20:17:35 -07:00
rc80211_minstrel_ht.h
rc80211_minstrel_ht_debugfs.c
rx.c mac80211: allow rx of mesh eapol frames with default rx key 2020-06-25 12:55:45 +02:00
scan.c mac80211: Add HE 6GHz capabilities element to probe request 2020-05-31 11:27:05 +02:00
spectmgmt.c mac80211: avoid using ext NSS high BW if not supported 2020-05-31 11:26:50 +02:00
sta_info.c mac80211: sta_info: Add lockdep condition for RCU list usage 2020-04-24 11:31:20 +02:00
sta_info.h mac80211: fix two missing documentation entries 2020-04-24 12:40:20 +02:00
status.c mac80211: fix control port tx status check 2020-06-25 10:48:09 +02:00
tdls.c mac80211: support control port TX status reporting 2020-05-28 09:02:14 +02:00
tkip.c
tkip.h
trace.c
trace.h mac80211: handle channel frequency offset 2020-04-24 12:33:43 +02:00
trace_msg.h
tx.c mac80211: skip mpath lookup also for control port tx 2020-06-25 10:59:27 +02:00
util.c mac80211: fix warning in 6 GHz IE addition in mesh mode 2020-07-30 10:20:37 +02:00
vht.c mac80211: implement Operating Mode Notification extended NSS support 2020-04-24 12:33:42 +02:00
wep.c
wep.h
wme.c
wme.h
wpa.c
wpa.h