David Miller
f8d570a474
net: Fix recursive descent in __scm_destroy().
...
__scm_destroy() walks the list of file descriptors in the scm_fp_list
pointed to by the scm_cookie argument.
Those, in turn, can close sockets and invoke __scm_destroy() again.
There is nothing which limits how deeply this can occur.
The idea for how to fix this is from Linus. Basically, we do all of
the fput()s at the top level by collecting all of the scm_fp_list
objects hit by an fput(). Inside of the initial __scm_destroy() we
keep running the list until it is empty.
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-11-06 13:51:50 -08:00
..
9p
9p: fix sparse warnings
2008-10-22 18:54:47 -05:00
bluetooth
include: replace __FUNCTION__ with __func__
2008-10-16 11:21:30 -07:00
irda
include: replace __FUNCTION__ with __func__
2008-10-16 11:21:30 -07:00
iucv
netfilter
netfilter: ctnetlink: remove bogus module dependency between ctnetlink and nf_nat
2008-10-14 11:58:31 -07:00
netns
netfilter: netns: use NFPROTO_NUMPROTO instead of NUMPROTO for tables array
2008-10-20 03:31:54 -07:00
phonet
Phonet: include generic link-layer header size in MAX_PHONET_HEADER
2008-10-26 23:06:31 -07:00
sctp
sctp: Fix to handle SHUTDOWN in SHUTDOWN_RECEIVED state
2008-10-23 01:01:18 -07:00
tc_act
pkt_action: add new action skbedit
2008-09-12 16:30:20 -07:00
tipc
tipc: Remove unneeded parameter to tipc_createport_raw()
2008-07-14 22:42:19 -07:00
act_api.h
addrconf.h
netns: Add network namespace argument to rt6_fill_node() and ipv6_dev_get_saddr()
2008-08-14 15:33:21 -07:00
af_rxrpc.h
af_unix.h
[PATCH] f_count may wrap around
2008-07-26 20:53:40 -04:00
ah.h
arp.h
atmclip.h
ax25.h
[AX25] ax25_ds_timer: use mod_timer instead of add_timer
2008-02-12 17:53:34 -08:00
ax88796.h
cfg80211.h
cfg80211: show interface type
2008-09-24 16:18:00 -04:00
checksum.h
cipso_ipv4.h
cipso: Add support for native local labeling and fixup mapping names
2008-10-10 10:16:34 -04:00
compat.h
net: Use standard structures for generic socket address structures.
2008-07-19 22:35:47 -07:00
datalink.h
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dsa.h
dsa: add support for Trailer tagging format
2008-10-08 17:24:16 -07:00
dsfield.h
dst.h
net: Kill plain NET_XMIT_BYPASS.
2008-08-04 23:04:08 -07:00
esp.h
fib_rules.h
net: add fib_rules_ops to flush_cache method
2008-07-05 19:01:28 -07:00
flow.h
ipv4: Loosen source address check on IPv4 output
2008-10-01 07:28:28 -07:00
garp.h
vlan: Add GVRP support
2008-07-05 21:26:57 -07:00
gen_stats.h
genetlink.h
netlink: Improve returned error codes
2008-06-03 16:36:54 -07:00
icmp.h
mib: put icmpmsg statistics on struct net
2008-07-18 04:04:22 -07:00
ieee80211.h
include: replace __FUNCTION__ with __func__
2008-10-16 11:21:30 -07:00
ieee80211_crypt.h
ieee80211_radiotap.h
include: use get/put_unaligned_* helpers
2008-07-25 10:53:26 -07:00
if_inet6.h
ipv6: make struct ipv6_devconf static
2008-07-22 14:21:58 -07:00
inet6_connection_sock.h
inet6_hashtables.h
inet: Don't lookup the socket if there's a socket attached to the skb
2008-10-07 12:41:01 -07:00
inet_common.h
[NETNS]: Inet control socket should not hold a namespace.
2008-04-03 14:28:30 -07:00
inet_connection_sock.h
net: more #ifdef CONFIG_COMPAT
2008-08-28 02:53:51 -07:00
inet_ecn.h
[IPV6]: Use appropriate sock tclass setting for routing lookup.
2008-04-13 23:40:51 -07:00
inet_frag.h
[NET]: Rename inet_frag.h identifiers COMPLETE, FIRST_IN, LAST_IN to INET_FRAG_*
2008-03-28 16:35:27 -07:00
inet_hashtables.h
inet: Don't lookup the socket if there's a socket attached to the skb
2008-10-07 12:41:01 -07:00
inet_sock.h
tcp: Port redirection support for TCP
2008-10-01 07:46:49 -07:00
inet_timewait_sock.h
ipv4: Implement IP_TRANSPARENT socket option
2008-10-01 07:30:02 -07:00
inetpeer.h
net: remove CVS keywords
2008-06-11 21:00:38 -07:00
ip.h
sysctl: simplify ->strategy
2008-10-16 11:21:47 -07:00
ip6_checksum.h
ip6_fib.h
[NETNS][IPV6] rt6_info - move rt6_info structure inside the namespace
2008-03-04 13:48:30 -08:00
ip6_route.h
netns: Add network namespace argument to rt6_fill_node() and ipv6_dev_get_saddr()
2008-08-14 15:33:21 -07:00
ip6_tunnel.h
net: remove CVS keywords
2008-06-11 21:00:38 -07:00
ip_fib.h
ip_vs.h
include: replace __FUNCTION__ with __func__
2008-10-16 11:21:30 -07:00
ipcomp.h
ipsec: ipcomp - Merge IPComp implementations
2008-07-25 02:54:40 -07:00
ipconfig.h
net: remove CVS keywords
2008-06-11 21:00:38 -07:00
ipip.h
inet: Make tunnel RX/TX byte counters more consistent
2008-10-09 12:03:17 -07:00
ipv6.h
ipv6: making ip and icmp statistics per/namespace
2008-10-08 11:16:45 -07:00
ipx.h
iw_handler.h
wext: Emit event stream entries correctly when compat.
2008-06-16 18:50:49 -07:00
lapb.h
llc.h
[LLC]: station source mac address
2008-03-28 16:28:36 -07:00
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
[LLC]: Kill static inline llc_addrany
2008-02-29 11:46:17 -08:00
llc_pdu.h
[LLC]: skb allocation size for responses
2008-03-31 21:02:47 -07:00
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
[LLC]: skb allocation size for responses
2008-03-31 21:02:47 -07:00
mac80211.h
mac80211.h: fix kernel-doc excesses
2008-10-27 17:46:11 -04:00
mip6.h
[IPV6] MIP6: Use our standard definitions for paddings.
2008-04-12 13:43:22 +09:00
ndisc.h
sysctl: simplify ->strategy
2008-10-16 11:21:47 -07:00
neighbour.h
core: add stat to track unresolved discards in neighbor cache
2008-07-16 20:50:49 -07:00
net_namespace.h
netns: add register_pernet_gen_subsys/unregister_pernet_gen_subsys
2008-10-30 23:55:16 -07:00
netdma.h
netevent.h
netlabel.h
netlabel: Add configuration support for local labeling
2008-10-10 10:16:34 -04:00
netlink.h
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2008-10-01 06:12:56 -07:00
netrom.h
nexthop.h
p8022.h
pkt_cls.h
[PKT_SCHED]: Pass real namespace in net scheduler classifiers.
2008-03-27 16:53:37 -07:00
pkt_sched.h
pkt_sched: Remove the tx queue state check in qdisc_run()
2008-09-23 01:05:56 -07:00
protocol.h
[NETNS]: Drop packets in the non-initial namespace on the per/protocol basis.
2008-03-24 15:33:00 -07:00
psnap.h
raw.h
[RAW]: Add raw_hashinfo member on struct proto.
2008-03-22 16:56:51 -07:00
rawv6.h
red.h
request_sock.h
tcp: Fix kernel panic when calling tcp_v(4/6)_md5_do_lookup
2008-08-06 23:50:04 -07:00
rose.h
rose: improving AX25 routing frames via ROSE network
2008-06-17 17:08:32 -07:00
route.h
ipv4: Conditionally enable transparent flow flag when connecting
2008-10-01 07:35:39 -07:00
rtnetlink.h
[RTNL]: Introduce the rtnl_kill_links helper.
2008-04-16 00:46:52 -07:00
sch_generic.h
pkt_sched: Fix handling of gso skbs on requeuing
2008-10-06 09:54:39 -07:00
scm.h
net: Fix recursive descent in __scm_destroy().
2008-11-06 13:51:50 -08:00
slhc_vj.h
snmp.h
net: remove CVS keywords
2008-06-11 21:00:38 -07:00
sock.h
net: delete excess kernel-doc notation
2008-10-30 23:54:35 -07:00
stp.h
net: Add STP demux layer
2008-07-05 21:25:39 -07:00
syncppp.h
Remove bogus variables from syncppp.[ch]
2008-07-23 23:00:31 +02:00
tcp.h
net: wrap sk->sk_backlog_rcv()
2008-10-07 14:18:42 -07:00
tcp_states.h
timewait_sock.h
transp_v6.h
net: change proto destroy method to return void
2008-06-14 17:04:49 -07:00
udp.h
netns: make uplitev6 mib per/namespace
2008-10-07 14:50:06 -07:00
udplite.h
[UDP]: Revert udplite and code split.
2008-03-06 16:22:02 -08:00
wext.h
wext: Dispatch and handle compat ioctls entirely in net/wireless/wext.c
2008-06-16 18:32:46 -07:00
wireless.h
cfg80211: show interface type
2008-09-24 16:18:00 -04:00
x25.h
x25device.h
xfrm.h
xfrm: MIGRATE enhancements (draft-ebalard-mext-pfkey-enhanced-migrate)
2008-10-05 13:33:42 -07:00