s390/qeth: lock IP table while applying takeover changes
[ Upstream commit 8a03a3692b100d84785ee7a834e9215e304c9e00 ] 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: 5f78e29ceebf ("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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e34a43e57c
commit
8658408f28
@ -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…
x
Reference in New Issue
Block a user