ipv4: use the right lock for ping_group_range
This reverts commita681574c99
("ipv4: disable BH in set_ping_group_range()") because we never read ping_group_range in BH context (unlike local_port_range). Then, since we already have a lock for ping_group_range, those using ip_local_ports.lock for ping_group_range are clearly typos. We might consider to share a same lock for both ping_group_range and local_port_range w.r.t. space saving, but that should be for net-next. Fixes:a681574c99
("ipv4: disable BH in set_ping_group_range()") Fixes:ba6b918ab2
("ping: move ping_group_range out of CONFIG_SYSCTL") Cc: Eric Dumazet <edumazet@google.com> Cc: Eric Salo <salo@google.com> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
860e0217fc
commit
396a30cce1
1 changed files with 4 additions and 4 deletions
|
@ -96,11 +96,11 @@ static void inet_get_ping_group_range_table(struct ctl_table *table, kgid_t *low
|
|||
container_of(table->data, struct net, ipv4.ping_group_range.range);
|
||||
unsigned int seq;
|
||||
do {
|
||||
seq = read_seqbegin(&net->ipv4.ip_local_ports.lock);
|
||||
seq = read_seqbegin(&net->ipv4.ping_group_range.lock);
|
||||
|
||||
*low = data[0];
|
||||
*high = data[1];
|
||||
} while (read_seqretry(&net->ipv4.ip_local_ports.lock, seq));
|
||||
} while (read_seqretry(&net->ipv4.ping_group_range.lock, seq));
|
||||
}
|
||||
|
||||
/* Update system visible IP port range */
|
||||
|
@ -109,10 +109,10 @@ static void set_ping_group_range(struct ctl_table *table, kgid_t low, kgid_t hig
|
|||
kgid_t *data = table->data;
|
||||
struct net *net =
|
||||
container_of(table->data, struct net, ipv4.ping_group_range.range);
|
||||
write_seqlock_bh(&net->ipv4.ip_local_ports.lock);
|
||||
write_seqlock(&net->ipv4.ping_group_range.lock);
|
||||
data[0] = low;
|
||||
data[1] = high;
|
||||
write_sequnlock_bh(&net->ipv4.ip_local_ports.lock);
|
||||
write_sequnlock(&net->ipv4.ping_group_range.lock);
|
||||
}
|
||||
|
||||
/* Validate changes from /proc interface. */
|
||||
|
|
Loading…
Reference in a new issue