Thread (31 messages) flat view 31 messages, 4 authors, 2011-11-18

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

From: Eric Dumazet <hidden>
Date: 2011-10-18 10:23:26
Also in: lkml

Le mardi 18 octobre 2011 à 12:05 +0200, Herbert Xu a écrit :
On Tue, Oct 18, 2011 at 12:01:33PM +0200, Eric Dumazet wrote:
quoted
Adding an RCU protected structure to hold hard_header_len /
needed_headroom / needed_tailroom should be possible, but this adds yet
another pointer dereference...
I don't think we need RCU here since the problem is simply that
we're using two different values for skb allocations and skb_reserve.

As long as we use one and the same value it should work.  The value
will rarely be incorrect and when it is, automatic reallocation will
occur.
You're right, if reallocations are OK in all paths.

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.

Thats a bit complex change, but doable.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help