From: Simon Vincent <simon.vincent@xsilon.com>
To: Alexander Aring <alex.aring@gmail.com>
Cc: linux-wpan@vger.kernel.org, werner@almesberger.net
Subject: Re: 6lowpan raw socket problems
Date: Thu, 18 Sep 2014 16:54:53 +0100 [thread overview]
Message-ID: <541B004D.1020609@xsilon.com> (raw)
In-Reply-To: <20140918141911.GA9262@omega>
It looks like in 6lowpan_iphc.c lowpan_header_compress the original ipv6
header is removed and the compressed header is attached.
These four lines are responsible.
skb_pull(skb, sizeof(struct ipv6hdr));
skb_reset_transport_header(skb);
memcpy(skb_push(skb, hc06_ptr - head), head, hc06_ptr - head);
skb_reset_network_header(skb);
I don't think we can do this as the skb is being used in other parts of
the ip stack. Hence when the ipv6 header is read elsewhere the addresses
become corrupt as they have been overwritten by the 6lowpan compressed
header.
Any ideas on how to fix this?
Simon
On 18/09/14 15:19, Alexander Aring wrote:
> On Thu, Sep 18, 2014 at 03:02:17PM +0100, Simon Vincent wrote:
>> I have created a small test program that shows this problem. It looks like a
>> race condition as sometimes the addresses are not corrupt.
>>
> Mhh maybe some used after freed and then we copy somewhere garbage sometimes.
> Don't know right now.
>
>> It looks like if the RAW socket gets the packet before the packet hits the
>> 6lowpan layer the addresses are fine. If the packet hits the 6lowpan layer
>> before the RAW socket gets the packet then the addresses are corrupt.
>>
>> The test program can be found here.
>> https://github.com/xsilon/sockdebug
>>
>> I will continue debugging!
>>
> ok, good luck.
>
> - Alex
next prev parent reply other threads:[~2014-09-18 15:54 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-18 7:46 6lowpan raw socket problems Simon Vincent
2014-09-18 8:33 ` Alexander Aring
2014-09-18 8:37 ` Simon Vincent
2014-09-18 8:45 ` Alexander Aring
2014-09-18 8:54 ` Alexander Aring
2014-09-18 9:03 ` Simon Vincent
2014-09-18 9:44 ` Alexander Aring
2014-09-18 9:45 ` Alexander Aring
2014-09-18 14:02 ` Simon Vincent
2014-09-18 14:19 ` Alexander Aring
2014-09-18 15:54 ` Simon Vincent [this message]
2014-09-18 16:30 ` Alexander Aring
2014-09-18 16:37 ` Alexander Aring
2014-09-18 17:03 ` Simon Vincent
2014-09-18 17:09 ` Alexander Aring
2014-09-19 8:27 ` Simon Vincent
2014-09-19 9:33 ` Alexander Aring
2014-09-19 9:57 ` Simon Vincent
2014-09-19 10:15 ` Alexander Aring
2014-09-19 10:39 ` Alexander Aring
2014-09-19 11:08 ` Alexander Aring
2014-09-19 11:27 ` Simon Vincent
2014-09-19 11:45 ` Alexander Aring
2014-09-19 11:50 ` Alexander Aring
2014-09-19 11:59 ` Alexander Aring
2014-09-19 12:00 ` Simon Vincent
2014-09-19 12:06 ` Alexander Aring
2014-09-19 12:38 ` Alexander Aring
2014-09-19 12:44 ` Simon Vincent
2014-09-19 12:55 ` Alexander Aring
2014-09-19 12:57 ` Alexander Aring
2014-09-19 14:14 ` Simon Vincent
2014-09-19 14:21 ` Alexander Aring
2014-09-19 14:22 ` Alexander Aring
[not found] <5419ABD6.70607@xsilon.com>
2014-09-17 15:43 ` Simon Vincent
[not found] <1409567774.3120.57.camel@jrissane-mobl.ger.corp.intel.com>
2014-09-01 11:38 ` 6lowpan status Alexander Aring
2014-09-02 6:08 ` Jukka Rissanen
2014-09-02 7:12 ` Alexander Aring
2014-09-02 7:26 ` Alexander Aring
2014-09-02 14:21 ` 6lowpan raw socket problems Simon Vincent
2014-09-02 14:43 ` Alexander Aring
2014-09-02 14:51 ` Simon Vincent
2014-09-02 15:18 ` Alexander Aring
2014-09-02 15:37 ` Alexander Aring
2014-09-02 16:06 ` Simon Vincent
2014-09-02 16:26 ` Alexander Aring
2014-09-02 18:53 ` Martin Townsend
2014-09-08 10:43 ` Alexander Aring
2014-09-17 13:30 ` Simon Vincent
2014-09-17 13:57 ` Alexander Aring
[not found] ` <5419A9DD.5070804@xsilon.com>
2014-09-17 16:03 ` Alexander Aring
2014-09-17 16:17 ` Alexander Aring
2014-09-18 7:55 ` Simon Vincent
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=541B004D.1020609@xsilon.com \
--to=simon.vincent@xsilon.com \
--cc=alex.aring@gmail.com \
--cc=linux-wpan@vger.kernel.org \
--cc=werner@almesberger.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.