From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Dumazet Subject: Re: kernel panic in latest vanilla stable, while using nameif with "alive" pppoe interfaces Date: Tue, 20 Oct 2009 07:05:28 +0200 Message-ID: <4ADD4518.8020909@gmail.com> References: <200910190002.39937.denys@visp.net.lb> <4ADC5D3B.8010006@gmail.com> <20091019155034.GA5233@lenovo> <4ADC9DE2.5010308@gmail.com> <4ADCB3A4.8060408@gmail.com> <4ADD31A2.4030702@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Michal Ostrowski , Denys Fedoryschenko , netdev , linux-ppp@vger.kernel.org, paulus@samba.org, mostrows@earthlink.net To: Cyrill Gorcunov Return-path: In-Reply-To: Sender: linux-ppp-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Cyrill Gorcunov a =E9crit : > On 10/20/09, Eric Dumazet wrote: >> Michal Ostrowski a =E9crit : >>> Access of po->pppoe_dev is guarded by sk->sk_state & PPPOX_CONNECTE= D, >>> and all use cases now rely on the socket lock. Because of this, th= e >>> ref-count on the namespace held by the socket object suffices to ho= ld >>> the namespace in existence and so we don't need to ref-count the >>> namespace in PPPoE. The flush_lock is gone. >>> >> Seems good ! >> >> But can we use lock_sock() in __pppoe_xmit() context ? >> >=20 > Eric, most probably i miss something, but how lock sock protect us > from mtu changed via sysfs. This action calls change mtu notifier > which doesn't care about sockets at all... This ultimately calls pppoe_flush_dev() and this function takes care of taking appropriate sock_locks() on each sockets ?