diff options
author | Eric Dumazet <edumazet@google.com> | 2012-12-20 18:25:08 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-12-21 22:14:01 +0100 |
commit | 30e6c9fa93cf3dbc7cc6df1d748ad25e4264545a (patch) | |
tree | e313291a178010fb892d9725cbecb326bd63fdc0 /include | |
parent | ip_gre: fix possible use after free (diff) | |
download | linux-30e6c9fa93cf3dbc7cc6df1d748ad25e4264545a.tar.xz 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')
-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) \ |