[NET]: Take dev_base_lock when moving device name hash list entry
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 30 Jul 2007 23:35:46 +0000 (16:35 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Tue, 31 Jul 2007 09:28:13 +0000 (02:28 -0700)
commit7f988eab57bd22884bbc452fb04c6c18738666b3
treed679707a0251dc3d399de7e52c5499dff521c86e
parent7ce1b0edcb11f90f6fc5e0ceecff467f329889a0
[NET]: Take dev_base_lock when moving device name hash list entry

When we added name-based hashing the dev_base_lock was designated as the
lock to take when changing the name hash list.  Unfortunately, because
it was a preexisting lock that just happened to be taken in the right
spots we neglected to take it in dev_change_name.

The race can affect calles of __dev_get_by_name that do so without taking
the RTNL.  They may end up walking down the wrong hash chain and end up
missing the device that they're looking for.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c