Re: [PATCH] pppoe: fix race at init time
From: Cyrill Gorcunov <hidden>
Date: 2009-07-28 18:48:45
[Eric Dumazet - Tue, Jul 28, 2009 at 07:46:37PM +0200] ... | So Igor still has a panic... lets try a third patch then :) | | [PATCH] pppoe: fix race at init time | | I believe we have a race in ppoe_init() : | | As soon as dev_add_pack(&pppoes_ptype); and/or dev_add_pack(&pppoed_ptype); | are called, we can receive packets while nets not yet fully ready | (ie : pppoe_init_net() not yet called) | | This means we should be prepared to get a NULL pointer | from net_generic(net, pppoe_net_id) call. | | We miss this NULL check in get_item() and possibly crash if this nets | has no struct pppoe_net attached yet. Other subroutines | are safe. Hmm. It seems the problem is not in pppoe_init_net since it's called *before* dev_add_pack via register_pernet_gen_device (which is protected by a global net mutex). Or I miss something? (sorry guys I have quite a limited internet connection this week) -- Cyrill