linux/net
Wei Yongjun 1b08534e56 net: Fix module refcount leak in kernel_accept()
The kernel_accept() does not hold the module refcount of newsock->ops->owner,
so we need __module_get(newsock->ops->owner) code after call kernel_accept()
by hand.
In sunrpc, the module refcount is missing to hold. So this cause kernel panic.

Used following script to reproduct:

while [ 1 ];
do
    mount -t nfs4 192.168.0.19:/ /mnt
    touch /mnt/file
    umount /mnt
    lsmod | grep ipv6
done

This patch fixed the problem by add __module_get(newsock->ops->owner) to
kernel_accept(). So we do not need to used __module_get(newsock->ops->owner)
in every place when used kernel_accept().

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-12-18 19:35:10 -08:00
..
9p 9p: restrict RDMA usage 2008-11-12 23:33:57 -08:00
802 net/802/fc.c: Fix compilation warnings 2008-10-15 00:13:53 -07:00
8021q vlan: Fix typos in proc output string 2008-11-10 13:37:40 -08:00
appletalk net: Rationalise email address: Network Specific Parts 2008-10-13 19:01:08 -07:00
atm ATM: CVE-2008-5079: duplicate listen() on socket corrupts the vcc table 2008-12-04 14:58:13 -08:00
ax25 ax25: Quick fix for making sure unaccepted sockets get destroyed. 2008-10-06 12:53:50 -07:00
bluetooth net: Fix module refcount leak in kernel_accept() 2008-12-18 19:35:10 -08:00
bridge bridge: netfilter: fix update_pmtu crash with GRE 2008-11-24 16:06:50 -08:00
can can: omit received RTR frames for single ID filter lists 2008-12-04 15:01:08 -08:00
core netpoll: fix race on poll_list resulting in garbage entry 2008-12-09 23:22:26 -08:00
dccp dccp: Port redirection support for DCCP 2008-10-19 23:36:47 -07:00
decnet Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-17 08:58:52 -07:00
dsa dsa: fix master interface allmulti/promisc handling 2008-11-10 21:53:12 -08:00
econet netns: Use net_eq() to compare net-namespaces for optimization. 2008-07-19 22:34:43 -07:00
ethernet dsa: add support for Trailer tagging format 2008-10-08 17:24:16 -07:00
ieee80211 net/ieee80211: adjust error handling 2008-08-22 16:29:49 -04:00
ipv4 netfilter: update rwlock initialization for nat_table 2008-12-15 00:19:14 -08:00
ipv6 ipv6: silence log messages for locally generated multicast 2008-12-09 15:48:32 -08:00
ipx netns: Use net_eq() to compare net-namespaces for optimization. 2008-07-19 22:34:43 -07:00
irda Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-20 17:43:29 -07:00
iucv iucv: Fix mismerge again. 2008-09-30 03:03:35 -07:00
key af_key: mark policy as dead before destroying 2008-11-06 23:08:37 -08:00
lapb
llc netns: Use net_eq() to compare net-namespaces for optimization. 2008-07-19 22:34:43 -07:00
mac80211 mac80211: use unaligned safe memcmp() in-place of compare_ether_addr() 2008-12-05 09:18:35 -05:00
netfilter tproxy: fixe a possible read from an invalid location in the socket match 2008-12-07 23:53:46 -08:00
netlabel netlabel: Compiler warning and NULL pointer dereference fix 2008-12-11 21:31:50 -08:00
netlink net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely) 2008-10-16 15:24:51 -07:00
netrom netrom: Fix sock_orphan() use in nr_release 2008-10-06 12:54:57 -07:00
packet net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
phonet Phonet: keep TX queue disabled when the device is off 2008-12-15 00:53:57 -08:00
rfkill Fix logic error in rfkill_check_duplicity 2008-11-06 16:37:09 -05:00
rose rose: zero length frame filtering in af_rose.c 2008-11-25 00:56:20 -08:00
rxrpc net/rxrpc: Use an IS_ERR test rather than a NULL test 2008-08-13 02:40:48 -07:00
sched SCHED: netem: Correct documentation comment in code. 2008-12-15 00:39:17 -08:00
sctp sctp: Fix to handle SHUTDOWN in SHUTDOWN_RECEIVED state 2008-10-23 01:01:18 -07:00
sunrpc Merge branch 'for-2.6.28' of git://linux-nfs.org/~bfields/linux 2008-12-03 16:40:37 -08:00
tipc tipc: Don't use structure names which easily globally conflict. 2008-09-02 23:38:32 -07:00
unix net: Fix soft lockups/OOM issues w/ unix garbage collector 2008-11-26 15:32:27 -08:00
wanrouter wanmain.c doesn't need syncppp.h 2008-07-23 23:00:36 +02:00
wireless net/wireless/reg.c: fix bad WARN_ON in if statement 2008-11-25 16:13:09 -05:00
x25 netns: Use net_eq() to compare net-namespaces for optimization. 2008-07-19 22:34:43 -07:00
xfrm xfrm: Fix kernel panic when flush and dump SPD entries 2008-12-03 00:27:18 -08:00
Kconfig net: Distributed Switch Architecture protocol support 2008-10-08 17:15:19 -07:00
Makefile net: Distributed Switch Architecture protocol support 2008-10-08 17:15:19 -07:00
TUNABLE
compat.c reintroduce accept4 2008-11-19 18:49:57 -08:00
nonet.c
socket.c net: Fix module refcount leak in kernel_accept() 2008-12-18 19:35:10 -08:00
sysctl_net.c missing bits of net-namespace / sysctl 2008-07-27 09:45:34 -07:00