netsniff-ng-libs = $(shell pkg-config --libs libnl-3.0) \
$(shell pkg-config --libs libnl-genl-3.0) \
-lpthread
ifeq ($(CONFIG_LIBPCAP), 1)
netsniff-ng-libs += -lpcap
endif
ifeq ($(CONFIG_GEOIP), 1)
netsniff-ng-libs += -lGeoIP \
-lz
endif
netsniff-ng-objs = dissector.o \
dissector_eth.o \
dissector_80211.o \
proto_arp.o \
proto_ethernet.o \
proto_icmpv4.o \
proto_icmpv6.o \
proto_igmp.o \
proto_ip_authentication_hdr.o \
proto_ip_esp.o \
proto_ipv4.o \
proto_ipv6.o \
proto_ipv6_dest_opts.o \
proto_ipv6_fragm.o \
proto_ipv6_hop_by_hop.o \
proto_ipv6_in_ipv4.o \
proto_ipv6_mobility_hdr.o \
proto_ipv6_no_nxt_hdr.o \
proto_ipv6_routing.o \
proto_lldp.o \
proto_none.o \
proto_tcp.o \
proto_udp.o \
proto_vlan.o \
proto_vlan_q_in_q.o \
proto_mpls_unicast.o \
proto_80211_mac_hdr.o \
privs.o \
proc.o \
dev.o \
str.o \
sig.o \
sock.o \
irq.o \
iosched.o \
ioops.o \
link.o \
xmalloc.o \
hash.o \
bpf.o \
oui.o \
pcap_rw.o \
pcap_sg.o \
pcap_mm.o \
ring_rx.o \
ring_tx.o \
ring.o \
tprintf.o \
timer.o \
mac80211.o \
netsniff-ng.o
ifeq ($(CONFIG_LIBPCAP), 1)
netsniff-ng-objs += bpf_comp.o
endif
ifeq ($(CONFIG_GEOIP), 1)
netsniff-ng-objs += geoip.o
endif
ifeq ($(CONFIG_HWTSTAMP), 1)
netsniff-ng-objs += tstamping.o
endif
netsniff-ng-eflags = $(shell pkg-config --cflags libnl-3.0) \
$(shell pkg-config --cflags libnl-genl-3.0) \
-DHAVE_DISSECTOR_PROTOS -DNEED_TCPDUMP_LIKE_FILTER
netsniff-ng-confs = ether.conf \
tcp.conf \
udp.conf \
oui.conf \
geoip.conf
fs/?id=c929ea0b910355e1876c64431f3d5802f95b3d75'>refslogtreecommitdiff
SUNRPC: cleanup ida information when removing sunrpc module
After removing sunrpc module, I get many kmemleak information as,
unreferenced object 0xffff88003316b1e0 (size 544):
comm "gssproxy", pid 2148, jiffies 4294794465 (age 4200.081s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<ffffffffb0cfb58a>] kmemleak_alloc+0x4a/0xa0
[<ffffffffb03507fe>] kmem_cache_alloc+0x15e/0x1f0
[<ffffffffb0639baa>] ida_pre_get+0xaa/0x150
[<ffffffffb0639cfd>] ida_simple_get+0xad/0x180
[<ffffffffc06054fb>] nlmsvc_lookup_host+0x4ab/0x7f0 [lockd]
[<ffffffffc0605e1d>] lockd+0x4d/0x270 [lockd]
[<ffffffffc06061e5>] param_set_timeout+0x55/0x100 [lockd]
[<ffffffffc06cba24>] svc_defer+0x114/0x3f0 [sunrpc]
[<ffffffffc06cbbe7>] svc_defer+0x2d7/0x3f0 [sunrpc]
[<ffffffffc06c71da>] rpc_show_info+0x8a/0x110 [sunrpc]
[<ffffffffb044a33f>] proc_reg_write+0x7f/0xc0
[<ffffffffb038e41f>] __vfs_write+0xdf/0x3c0
[<ffffffffb0390f1f>] vfs_write+0xef/0x240
[<ffffffffb0392fbd>] SyS_write+0xad/0x130
[<ffffffffb0d06c37>] entry_SYSCALL_64_fastpath+0x1a/0xa9
[<ffffffffffffffff>] 0xffffffffffffffff
I found, the ida information (dynamic memory) isn't cleanup.
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Fixes: 2f048db4680a ("SUNRPC: Add an identifier for struct rpc_clnt")
Cc: stable@vger.kernel.org # v3.12+
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>