summaryrefslogtreecommitdiffstats
path: root/net/tipc/netlink.c
diff options
context:
space:
mode:
authorJunwei Hu <hujunwei4@huawei.com>2019-05-20 14:43:59 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-06-04 08:01:31 +0200
commit0b2265ad7ba8955233936bdfdb49046ce0dcf8ea (patch)
tree8c47848c020a7139323a996d90ee31c440129fdf /net/tipc/netlink.c
parent9d39b8878fe5079f44e12c9f4c7c7a4fc804d5c4 (diff)
downloadlinux-stable-0b2265ad7ba8955233936bdfdb49046ce0dcf8ea.tar.gz
linux-stable-0b2265ad7ba8955233936bdfdb49046ce0dcf8ea.tar.bz2
linux-stable-0b2265ad7ba8955233936bdfdb49046ce0dcf8ea.zip
tipc: fix modprobe tipc failed after switch order of device registration
commit 526f5b851a96566803ee4bee60d0a34df56c77f8 upstream. Error message printed: modprobe: ERROR: could not insert 'tipc': Address family not supported by protocol. when modprobe tipc after the following patch: switch order of device registration, commit 7e27e8d6130c ("tipc: switch order of device registration to fix a crash") Because sock_create_kern(net, AF_TIPC, ...) called by tipc_topsrv_create_listener() in the initialization process of tipc_init_net(), so tipc_socket_init() must be execute before that. Meanwhile, tipc_net_id need to be initialized when sock_create() called, and tipc_socket_init() is no need to be called for each namespace. I add a variable tipc_topsrv_net_ops, and split the register_pernet_subsys() of tipc into two parts, and split tipc_socket_init() with initialization of pernet params. By the way, I fixed resources rollback error when tipc_bcast_init() failed in tipc_init_net(). Fixes: 7e27e8d6130c ("tipc: switch order of device registration to fix a crash") Signed-off-by: Junwei Hu <hujunwei4@huawei.com> Reported-by: Wang Wang <wangwang2@huawei.com> Reported-by: syzbot+1e8114b61079bfe9cbc5@syzkaller.appspotmail.com Reviewed-by: Kang Zhou <zhoukang7@huawei.com> Reviewed-by: Suanming Mou <mousuanming@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/tipc/netlink.c')
0 files changed, 0 insertions, 0 deletions