mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 07:34:12 +08:00
s390/qeth: lock IP table while applying takeover changes
Modifying the flags of an IP addr object needs to be protected against
eg. concurrent removal of the same object from the IP table.
Fixes: 5f78e29cee
("qeth: optimize IP handling in rx_mode callback")
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b22d73d668
commit
8a03a3692b
@ -395,6 +395,7 @@ static ssize_t qeth_l3_dev_ipato_enable_store(struct device *dev,
|
||||
goto out;
|
||||
card->ipato.enabled = enable;
|
||||
|
||||
spin_lock_bh(&card->ip_lock);
|
||||
hash_for_each(card->ip_htable, i, addr, hnode) {
|
||||
if (addr->type != QETH_IP_TYPE_NORMAL)
|
||||
continue;
|
||||
@ -403,6 +404,7 @@ static ssize_t qeth_l3_dev_ipato_enable_store(struct device *dev,
|
||||
else if (qeth_l3_is_addr_covered_by_ipato(card, addr))
|
||||
addr->set_flags |= QETH_IPA_SETIP_TAKEOVER_FLAG;
|
||||
}
|
||||
spin_unlock_bh(&card->ip_lock);
|
||||
out:
|
||||
mutex_unlock(&card->conf_mutex);
|
||||
return rc ? rc : count;
|
||||
|
Loading…
Reference in New Issue
Block a user