mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
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 <[email protected]> Cc: Eric Salo <[email protected]> Signed-off-by: Cong Wang <[email protected]> Signed-off-by: David S. Miller <[email protected]>
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