Re: [PATCH 1/3] net: introduce a list of device addresses dev_addr_list

From: Patrick McHardy
Date: Wed Apr 15 2009 - 06:41:31 EST


David Miller wrote:
From: Patrick McHardy <kaber@xxxxxxxxx>
Date: Wed, 15 Apr 2009 12:13:57 +0200

David Miller wrote:
From: Eric Dumazet <dada1@xxxxxxxxxxxxx>
Date: Wed, 15 Apr 2009 11:27:50 +0200

Since you obviously need a write lock here to be sure following
can be done by one cpu only.

You have same problem all over this patch.
RTNL semaphore is held across all modification operations.
If this will also be used for multicast lists, changes can happen
(IPv6) without the RTNL.

Indeed, that is true :-/

Herbert (I think) suggested to make address list updates in softirq
context a two-step process, where addresses would first be added to
a temporary list and the final change would be done in process context
while holding the RTNL.

Given the complicated mess we currently have, this would be a very
worthwhile change IMO.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/