Pavel Emelyanov
dab6ba3688
[INET]: Fix potential kfree on vmalloc-ed area of request_sock_queue
...
The request_sock_queue's listen_opt is either vmalloc-ed or
kmalloc-ed depending on the number of table entries. Thus it
is expected to be handled properly on free, which is done in
the reqsk_queue_destroy().
However the error path in inet_csk_listen_start() calls
the lite version of reqsk_queue_destroy, called
__reqsk_queue_destroy, which calls the kfree unconditionally.
Fix this and move the __reqsk_queue_destroy into a .c file as
it looks too big to be inline.
As David also noticed, this is an error recovery path only,
so no locking is required and the lopt is known to be not NULL.
reqsk_queue_yank_listen_sk is also now only used in
net/core/request_sock.c so we should move it there too.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-11-15 02:57:06 -08:00
..
datagram.c
[NET]: Do not dereference iov if length is zero
2007-09-11 10:29:07 +02:00
dev.c
[NET]: Remove notifier block from chain when register_netdevice_notifier fails
2007-11-14 15:53:16 -08:00
dev_mcast.c
[NET]: Move unneeded data to initdata section.
2007-11-13 03:23:50 -08:00
dst.c
[NET]: Removing duplicit #includes
2007-11-07 04:11:44 -08:00
ethtool.c
[ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls
2007-10-10 16:51:17 -07:00
fib_rules.c
[INET]: Small possible memory leak in FIB rules
2007-11-10 22:12:03 -08:00
filter.c
[NET]: Fix bug in sk_filter race cures.
2007-10-18 21:48:39 -07:00
flow.c
[NET]: Use BUILD_BUG_ON in net/core/flowi.c
2007-10-23 21:27:57 -07:00
gen_estimator.c
remove asm/bitops.h includes
2007-10-19 11:53:41 -07:00
gen_stats.c
[SK_BUFF]: Convert skb->tail to sk_buff_data_t
2007-04-25 22:26:28 -07:00
iovec.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
kmap_skb.h
[PATCH] severing skbuff.h -> highmem.h
2006-12-04 02:00:29 -05:00
link_watch.c
[NET] link_watch: Always schedule urgent events
2007-05-10 23:45:28 -07:00
Makefile
[NET]: Fix running without sysfs
2007-10-10 16:52:46 -07:00
neighbour.c
[NET]: Remove /proc/net/stat/*_arp_cache upon module removal
2007-11-07 04:08:53 -08:00
net-sysfs.c
[NET]: Remove in-code externs for some functions from net/core/dev.c
2007-10-23 21:27:56 -07:00
net-sysfs.h
[NET]: Remove in-code externs for some functions from net/core/dev.c
2007-10-23 21:27:56 -07:00
net_namespace.c
[NET]: Cleanup pernet operation without CONFIG_NET_NS
2007-11-13 03:23:21 -08:00
netevent.c
[NET]: net/core/netevent.c should #include <net/netevent.h>
2007-07-05 17:40:27 -07:00
netpoll.c
[NET]: Fix race between poll_napi() and net_rx_action()
2007-10-29 22:37:28 -07:00
pktgen.c
[NET]: Hide the queue_mapping field inside netif_subqueue_stopped
2007-10-22 02:59:56 -07:00
request_sock.c
[INET]: Fix potential kfree on vmalloc-ed area of request_sock_queue
2007-11-15 02:57:06 -08:00
rtnetlink.c
[NETNS]: Fix get_net_ns_by_pid
2007-10-26 22:56:12 -07:00
scm.c
pid namespaces: changes to show virtual ids to user
2007-10-19 11:53:40 -07:00
skbuff.c
[SG] Get rid of __sg_mark_end()
2007-11-02 08:47:06 +01:00
sock.c
[NET]: Unexport sysctl_{r,w}mem_max.
2007-11-12 21:24:14 -08:00
stream.c
[NET] CORE: Fix whitespace errors.
2007-02-10 23:19:25 -08:00
sysctl_net_core.c
[NET]: Don't declare extern variables in net/core/sysctl_net_core.c
2007-10-23 21:27:56 -07:00
user_dma.c
[NET]: Revert sk_buff walker cleanups.
2007-04-27 15:21:23 -07:00
utils.c
[NET] net/core/utils: fix sparse warning
2007-08-07 18:02:43 -07:00