Thread (1 message) 1 message, 1 author, 2011-12-03

Re: pull request: batman-adv 2011-11-26

From: Antonio Quartulli <hidden>
Date: 2011-12-03 01:55:29
Also in: batman

On Fri, Dec 02, 2011 at 12:57:25 -0500, David Miller wrote:
From: Antonio Quartulli <redacted>
Date: Fri, 2 Dec 2011 18:12:16 +0100
quoted
First of all I think you are referring to patch 08/10, in which I moved a
skb_linearise() operation.

To be sure it is really needed, I backtracked the code flow and noted down any
eventual psbk_may_pull() (or any other linearisation operation). The result is:

=> in batman_skb_recv()
	- pskb_may_pull(2)
  => in recv_tt_query()
  	  - pskb_may_pull(sizeof(header))
	  - skb_linearise()

Actually it seems we haven't any useless linearisation.
Would you mind explain us where you actually found the problem, please?

It might also be that I misunderstood your advice.
You only need to call pskb_may_pull() on the parts of the packet you want to
access directly to parse headers etc.

If you use that interface properly, you never need to linearize, ever.
Sorry for being too generic: we actually invoke skb_linearise() because
we want to access the whole skb.

We first call pskb_may_pull() to pull the header only and then, under certain
conditions, we linearise the whole skb to access it all. Should I use
pskb_may_pull() even in this case?

Sorry for stealing you so much time on this issue, but I would like to fully
understand it in order to avoid any further mistake.


Thank you again.

Best Regards,

-- 
Antonio Quartulli

..each of us alone is worth nothing..
Ernesto "Che" Guevara
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help