diff options
author | Eric Dumazet <edumazet@google.com> | 2012-12-20 17:25:08 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-12-21 13:14:01 -0800 |
commit | 30e6c9fa93cf3dbc7cc6df1d748ad25e4264545a (patch) | |
tree | e313291a178010fb892d9725cbecb326bd63fdc0 /include/linux | |
parent | f7e75ba1772bc712af0070655ffd8b09906993b5 (diff) | |
download | linux-30e6c9fa93cf3dbc7cc6df1d748ad25e4264545a.tar.gz linux-30e6c9fa93cf3dbc7cc6df1d748ad25e4264545a.tar.bz2 linux-30e6c9fa93cf3dbc7cc6df1d748ad25e4264545a.zip |
net: devnet_rename_seq should be a seqcount
Using a seqlock for devnet_rename_seq is not a good idea,
as device_rename() can sleep.
As we hold RTNL, we dont need a protection for writers,
and only need a seqcount so that readers can catch a change done
by a writer.
Bug added in commit c91f6df2db4972d3 (sockopt: Change getsockopt() of
SO_BINDTODEVICE to return an interface name)
Reported-by: Dave Jones <davej@redhat.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Brian Haley <brian.haley@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/netdevice.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 02e0f6b156c3..c599e4782d45 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1576,7 +1576,7 @@ extern int call_netdevice_notifiers(unsigned long val, struct net_device *dev); extern rwlock_t dev_base_lock; /* Device list lock */ -extern seqlock_t devnet_rename_seq; /* Device rename lock */ +extern seqcount_t devnet_rename_seq; /* Device rename seq */ #define for_each_netdev(net, d) \ |