Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41bdecf1 authored by stephen hemminger's avatar stephen hemminger Committed by David S. Miller
Browse files

decnet: add RTNL lock when reading address list



Add missing locking in the case of auto binding to the
default device. The address list might change while this code is looking
at the list.

Compile tested only, I am not a decnet user.

Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 08e9897d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -828,13 +828,17 @@ static int dn_dev_get_first(struct net_device *dev, __le16 *addr)
	struct dn_dev *dn_db = (struct dn_dev *)dev->dn_ptr;
	struct dn_ifaddr *ifa;
	int rv = -ENODEV;

	if (dn_db == NULL)
		goto out;

	rtnl_lock();
	ifa = dn_db->ifa_list;
	if (ifa != NULL) {
		*addr = ifa->ifa_local;
		rv = 0;
	}
	rtnl_unlock();
out:
	return rv;
}