From: Johann Baudy <johann.baudy@gnu-log.net>
To: Evgeniy Polyakov <zbr@ioremap.net>
Cc: Herbert Xu <herbert@gondor.apana.org.au>,
netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
Patrick McHardy <kaber@trash.net>, jamal <hadi@cyberus.ca>
Subject: Re: [PATCH] TX_RING and packet mmap
Date: Sun, 12 Apr 2009 21:27:37 +0200 [thread overview]
Message-ID: <7e0dd21a0904121227n3b03f2c7v8bf30c45667603a1@mail.gmail.com> (raw)
In-Reply-To: <20090412142451.GA2694@ioremap.net>
I've seen that during skb_linearize(), skb_shinfo(skb)->frags[i].page
is not lost even if pages has been put. So I can get back original
frag address from this info in skb destructor. Can I rely on
skb_shinfo(skb)->frags[i].page on more complicated sending paths ... ?
Thanks in advance,
Johann
On Sun, Apr 12, 2009 at 4:24 PM, Evgeniy Polyakov <zbr@ioremap.net> wrote:
> On Sun, Apr 12, 2009 at 01:23:30PM +0200, Johann Baudy (johann.baudy@gnu-log.net) wrote:
>> > Page itself will live until destruction time, when skb is linearized
>> > page is freed, so your own destructor will find that given page is no
>> > longer used, and appropriate memory area can be overwritten.
>> Ok, so if my understanding is correct, fragment data is copied, frags
>> info (page, offset, size ...) of skb_shinfo(skb) remain available and
>> skb->data_len is equal to 0 (to tag it as linear).
>> Then I can use address of skb_shinfo(n)->frags[0].page to derive my
>> header whatever sending path.
>
> No, I was wrong, linearization may silently put pages without calling a
> destructor.
>
> --
> Evgeniy Polyakov
>
--
Johann Baudy
johaahn@gmail.com
next prev parent reply other threads:[~2009-04-12 19:27 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-02 19:48 [PATCH] TX_RING and packet mmap Johann Baudy
2009-04-07 7:26 ` Herbert Xu
2009-04-07 12:48 ` jamal
2009-04-07 13:04 ` Herbert Xu
2009-04-07 13:47 ` jamal
2009-04-07 14:17 ` Herbert Xu
2009-04-07 14:40 ` Johann Baudy
[not found] ` <7e0dd21a0904070738jd8a2714wd840352699f1e9f1@mail.gmail.com>
2009-04-07 20:56 ` jamal
2009-04-07 21:11 ` Evgeniy Polyakov
2009-04-08 21:06 ` Johann Baudy
2009-04-12 10:27 ` Johann Baudy
2009-04-12 10:32 ` Evgeniy Polyakov
2009-04-12 11:23 ` Johann Baudy
2009-04-12 14:24 ` Evgeniy Polyakov
2009-04-12 19:27 ` Johann Baudy [this message]
2009-04-12 19:52 ` Evgeniy Polyakov
2009-04-12 20:30 ` Johann Baudy
2009-04-12 20:53 ` Evgeniy Polyakov
2009-04-12 23:31 ` Johann Baudy
2009-04-15 7:10 ` Evgeniy Polyakov
2009-04-15 13:14 ` Johann Baudy
2009-04-16 11:16 ` Evgeniy Polyakov
2009-04-18 21:38 ` Johann Baudy
2009-04-21 9:41 ` Evgeniy Polyakov
2009-04-21 13:16 ` Johann Baudy
2009-04-21 13:56 ` Evgeniy Polyakov
2009-04-08 6:51 ` Herbert Xu
2009-04-21 15:36 ` Christoph Lameter
2009-04-21 20:13 ` Johann Baudy
2009-04-21 20:42 ` Christoph Lameter
2009-04-21 21:00 ` Johann Baudy
2009-04-21 21:00 ` Christoph Lameter
2009-04-21 21:13 ` Johann Baudy
2009-04-21 20:46 ` Johann Baudy
2009-04-21 20:43 ` Christoph Lameter
2009-04-21 21:05 ` Johann Baudy
2009-04-21 21:08 ` Christoph Lameter
-- strict thread matches above, loose matches on Subject: below --
2009-04-26 13:06 Johann Baudy
2009-04-29 9:18 ` Evgeniy Polyakov
2009-04-30 20:17 ` Johann Baudy
2009-05-05 21:38 Johann Baudy
2009-05-06 7:07 ` Jarek Poplawski
2009-05-06 9:38 ` Jarek Poplawski
2009-05-09 20:31 ` David Miller
2009-05-11 21:21 Johann Baudy
2009-05-12 16:11 ` Andi Kleen
[not found] ` <7e0dd21a0905121058m1f894de6q9805e5392aef3aea@mail.gmail.com>
2009-05-12 18:00 ` Johann Baudy
[not found] ` <7e0dd21a0905121058m1f894de6q9805e5392aef3aea-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-12 18:15 ` Andi Kleen
2009-05-19 5:12 ` 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=7e0dd21a0904121227n3b03f2c7v8bf30c45667603a1@mail.gmail.com \
--to=johann.baudy@gnu-log.net \
--cc=davem@davemloft.net \
--cc=hadi@cyberus.ca \
--cc=herbert@gondor.apana.org.au \
--cc=kaber@trash.net \
--cc=netdev@vger.kernel.org \
--cc=zbr@ioremap.net \
/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).