netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: avillaci@ceibo.fiec.espol.edu.ec
Cc: netdev@vger.kernel.org, jarkao2@gmail.com, jussi.kivilinna@mbnet.fi
Subject: Re: Regression: Recent networking (qdisc?) patches break irda_get_next_speed()
Date: Tue, 21 Oct 2008 16:41:21 -0700 (PDT)	[thread overview]
Message-ID: <20081021.164121.257737412.davem@davemloft.net> (raw)
In-Reply-To: <48FE67D4.5060200@ceibo.fiec.espol.edu.ec>

From: Alex Villací­s Lasso <avillaci@ceibo.fiec.espol.edu.ec>
Date: Tue, 21 Oct 2008 18:37:56 -0500

> So then, the bug is that the cb field in the struct sk_buff is being
> interpreted as both a struct qdisc_skb_cb and an struct irda_skb_cb,
> for the same instance of struct sk_buff. I have just started to
> review the suggested patch, but it seems that 'struct qdisc_skb_cb'
> was meant to be aliased against the data for other layers (as
> suggested by the presence of a 'char data[]' field). If so, how come
> only IrDA is affected? How come UDP, TCP, etc. not affected by this?
> On the other hand, if qdisc_skb_cb was not meant to be aliased, then
> the IrDA case was left out while converting the rest of the layers
> so that they will skip over the member 'pkt_len' of the 'struct
> qdisc_skb_cb'.

The SKB control block is not aliased.

Once the packet is given to dev_queue_xmit() the packet scheduler
"owns" the control block of the SKB.

What IRDA is doing is illegal, and breaks in other ways without the
commit in question.

IRDA cannot depend upon the SKB control block not changing across
the dev_queue_xmit() call.

  reply	other threads:[~2008-10-21 23:41 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-21 18:20 Regression: Recent networking (qdisc?) patches break irda_get_next_speed() Alex Villací­s Lasso
2008-10-21 19:37 ` Jarek Poplawski
2008-10-21 23:37   ` Alex Villací­s Lasso
2008-10-21 23:41     ` David Miller [this message]
     [not found]       ` <20081021.164121.257737412.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-10-23  0:24         ` Alex Villací­s Lasso
2008-10-23 22:13           ` Brandeburg, Jesse
2008-10-23 23:16             ` Stephen Hemminger
2008-10-24  0:21             ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20081021.164121.257737412.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=avillaci@ceibo.fiec.espol.edu.ec \
    --cc=jarkao2@gmail.com \
    --cc=jussi.kivilinna@mbnet.fi \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).