|
@@ -1762,11 +1762,12 @@ static int ovs_vport_cmd_dump(struct sk_buff *skb, struct netlink_callback *cb)
|
|
|
int bucket = cb->args[0], skip = cb->args[1];
|
|
int bucket = cb->args[0], skip = cb->args[1];
|
|
|
int i, j = 0;
|
|
int i, j = 0;
|
|
|
|
|
|
|
|
|
|
+ rcu_read_lock();
|
|
|
dp = get_dp(sock_net(skb->sk), ovs_header->dp_ifindex);
|
|
dp = get_dp(sock_net(skb->sk), ovs_header->dp_ifindex);
|
|
|
- if (!dp)
|
|
|
|
|
|
|
+ if (!dp) {
|
|
|
|
|
+ rcu_read_unlock();
|
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
|
-
|
|
|
|
|
- rcu_read_lock();
|
|
|
|
|
|
|
+ }
|
|
|
for (i = bucket; i < DP_VPORT_HASH_BUCKETS; i++) {
|
|
for (i = bucket; i < DP_VPORT_HASH_BUCKETS; i++) {
|
|
|
struct vport *vport;
|
|
struct vport *vport;
|
|
|
|
|
|