On Wed, Apr 3, 2019 at 11:35 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > > On Wed, Apr 03, 2019 at 03:51:18PM -0700, Cong Wang wrote: > > On Tue, Apr 2, 2019 at 1:15 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > > > > > > On Tue, Apr 02, 2019 at 10:42:38AM -0700, Cong Wang wrote: > > > > > Btw, get rid of all the likely/unlikely() macros. Then the other style > > > > > comment would be don't move the "ev = (void *)skb->data;" assignments > > > > > around. It's ok to say: > > > > > > > > > > > > Similarly, pskb_may_pull() may reallocate skb's, although very unlikely > > > > for bluetooth case (skb's are linear). At least it doesn't harm anything > > > > we move the skb->data dereference after pskb_may_pull(). > > > > > > > > > > It harms readability. > > > > Why? I can't see how it harms readability if you have pskb_may_pull() > > in mind that it potentially reallocates skb->data. > > You're making the code more complicated because you're pretending that > we didn't linearize the skb data already... :/ I am not pretending it, I just want to use a standard networking API which covers all cases.