From: Jon M. <jon...@er...> - 2019-05-20 17:50:04
|
Reviewed and tested. I found no problems with this. Reviewed-by: Jon Maloy <jon...@er...> > -----Original Message----- > From: net...@vg... <net...@vg...> > On Behalf Of David Miller > Sent: 20-May-19 13:46 > To: huj...@hu... > Cc: Jon Maloy <jon...@er...>; yin...@wi...; > wil...@gm...; sf...@ca...; > ne...@vg...; tip...@li...; linux- > ke...@vg...; min...@hu... > Subject: Re: [PATCH v4] tipc: fix modprobe tipc failed after switch order of > device registration > > 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. |