Re: PROBLEM: System call 'sendmsg' of process ospfd (quagga)causes kernel oops

From: Herbert Xu
Date: Tue Oct 18 2011 - 06:45:12 EST


On Tue, Oct 18, 2011 at 12:23:43PM +0200, Eric Dumazet wrote:
>
> You're right, if reallocations are OK in all paths.

If it wasn't OK then making needed_headroom constant won't work
anyway.

> We'll need to change LL_RESERVED_SPACE() / LL_RESERVED_SPACE_EXTRA() /
> LL_ALLOCATED_SPACE() macros and provide the [read once] values, instead
> of a [read once] pointer to values.

I'm not sure what you mean here. I don't see any need to change
these macros. All we need is to save the value in a local variable:

hh_len = LL_RESERVED_SPACE(dev);

skb = alloc_skb(hh_len + len);
skb_reserve(skb, hh_len);

Cheers,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
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/