From: David M. <da...@da...> - 2019-05-20 17:46:10
|
From: hujunwei <huj...@hu...> Date: Mon, 20 May 2019 14:43:59 +0800 > From: Junwei Hu <huj...@hu...> > > 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 <huj...@hu...> > Reported-by: Wang Wang <wan...@hu...> > Reported-by: syz...@sy... > Reviewed-by: Kang Zhou <zho...@hu...> > Reviewed-by: Suanming Mou <mou...@hu...> Applied. |