• Wei Yongjun's avatar
    net: Fix module refcount leak in kernel_accept() · 1b08534e
    Wei Yongjun authored
    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: default avatarWei Yongjun <yjwei@cn.fujitsu.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    1b08534e
Name
Last commit
Last update
..
802 Loading commit data...
8021q Loading commit data...
9p Loading commit data...
appletalk Loading commit data...
atm Loading commit data...
ax25 Loading commit data...
bluetooth Loading commit data...
bridge Loading commit data...
can Loading commit data...
core Loading commit data...
dccp Loading commit data...
decnet Loading commit data...
dsa Loading commit data...
econet Loading commit data...
ethernet Loading commit data...
ieee80211 Loading commit data...
ipv4 Loading commit data...
ipv6 Loading commit data...
ipx Loading commit data...
irda Loading commit data...
iucv Loading commit data...
key Loading commit data...
lapb Loading commit data...
llc Loading commit data...
mac80211 Loading commit data...
netfilter Loading commit data...
netlabel Loading commit data...
netlink Loading commit data...
netrom Loading commit data...
packet Loading commit data...
phonet Loading commit data...
rfkill Loading commit data...
rose Loading commit data...
rxrpc Loading commit data...
sched Loading commit data...
sctp Loading commit data...
sunrpc Loading commit data...
tipc Loading commit data...
unix Loading commit data...
wanrouter Loading commit data...
wireless Loading commit data...
x25 Loading commit data...
xfrm Loading commit data...
Kconfig Loading commit data...
Makefile Loading commit data...
TUNABLE Loading commit data...
compat.c Loading commit data...
nonet.c Loading commit data...
socket.c Loading commit data...
sysctl_net.c Loading commit data...