[ofa-general] Re: Kernel panic in IPoIB stability testing
Moni Shoua
monis at Voltaire.COM
Wed Feb 4 08:16:15 PST 2009
> Still need some correction. If the path did not exist previously (i.e, !path = TRUE,
> and, below, had_path = 0), then need to call path_free or we will have a leak.
>
True
> Maybe the correct patch is:
> path = __path_find(dev, phdr->hwaddr + 4);
> if (!path || !path->valid) {
> int had_path = 0;
> if (!path)
> path = path_rec_create(dev, phdr->hwaddr + 4);
> else
> had_path = 1;
> if (path) {
> /* put pseudoheader back on for next time */
> skb_push(skb, sizeof *phdr);
> __skb_queue_tail(&path->queue, skb);
>
> if (!path->query && path_rec_start(dev, path)) {
> spin_unlock_irqrestore(&priv->lock, flags);
> if (!had_path)
> path_free(dev, path);
> return;
> } else
> __path_add(dev, path);
> } else {
> ++dev->stats.tx_dropped;
> dev_kfree_skb_any(skb);
> }
This one looks good to me.
Are you going to make a patch and submit it?
I think it would be best if you run the same test on the patched IPoIB before submission.
Do you agree?
thanks
More information about the general
mailing list