[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20070420.165955.52750075.davem@davemloft.net>
Date: Fri, 20 Apr 2007 16:59:55 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: mostrows@...thlink.net
Cc: mostrows@...son.ibm.com, netdev@...r.kernel.org
Subject: Re: [PATCH 4/4] PPPOE: Fix device tear-down notification.
From: Michal Ostrowski <mostrows@...thlink.net>
Date: Tue, 13 Mar 2007 09:09:35 -0500
> pppoe_flush_dev() kicks all sockets bound to a device that is going down.
> In doing so, locks must be taken in the right order consistently (sock lock,
> followed by the pppoe_hash_lock). However, the scan process is based on
> us holding the sock lock. So, when something is found in the scan we must
> release the lock we're holding and grab the sock lock.
>
> This patch fixes race conditions between this code and pppoe_release(),
> both of which perform similar functions but would naturally prefer to grab
> locks in opposing orders. Both code paths are now going after these locks
> in a consistent manner.
>
> pppoe_hash_lock protects the contents of the "pppox_sock" objects that reside
> inside the hash. Thus, NULL'ing out the pppoe_dev field should be done
> under the protection of this lock.
>
> Signed-off-by: Michal Ostrowski <mostrows@...thlink.net>
Aha, this one applies cleanly :-)
But I had to edit out some trailing whitespace this patch
added, please be mindful of this in the future, thanks!
Adds trailing whitespace.
diff:48:
Adds trailing whitespace.
diff:52: * hold the sock lock while doing any unbinding,
Adds trailing whitespace.
diff:53: * we need to release the lock we're holding.
Adds trailing whitespace.
diff:81:
Adds trailing whitespace.
diff:121: __delete_item(po->pppoe_pa.sid,
warning: 5 lines add trailing whitespaces.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists