[ewg] problem with ipoib_mcast_fix_ip_ib_mc_map_to_2_6_24.patch
Jason Gunthorpe
jgunthorpe at obsidianresearch.com
Wed Mar 10 09:42:22 PST 2010
On Wed, Mar 10, 2010 at 02:17:44PM +0200, Eli Cohen wrote:
> This text is from https://bugs.openfabrics.org/show_bug.cgi?id=1926
>
> The source of this problem is this commit by Jason Gunthorpe:
> c12481586c4ba09cb88dc2090c67fdce7c856cde
>
> This commit fixes a deficiency in ip_ib_mc_map() by changing the
> multicast address in dev->mc_list. However, doing so causes a
> subsequent call to dev_mc_delete() to fail to decrease dmi->dmi_users
> and when to the appearance
> of the following messages:
> Feb 11 10:27:17 sw226 kernel: dev_mc_discard: multicast leakage! dmi_users=1
>
> Jason,
> can you look at this?
Ah, this was just a suggested approach, I didn't really write it,
never compiled it..
I guess the problem is that the delete operation is a key lookup still
based on the broken ip_ib_mc_map and by changing dmi_addr we miss it.
And, I suppose this points to a larger problem than module unload, all
group unsubscribe is probably broken.
So you can't change the dmi_addr, which means that the ip maddr output
will be wrong on systems running this patch set.
I guess, the best fix is to revert c12481586c4ba09cb88dc2090c67fdce7c856cde,
alter ipoib_mcast_addr_is_valid to not compare bytes 5, 8 and 9, and
fixup the 'Add in the P_Key' hunk to also fixup the scope byte too.
Jason
More information about the ewg
mailing list