An error occurred fetching the project authors.
  1. 06 Nov, 2014 1 commit
  2. 05 Nov, 2014 1 commit
  3. 02 Nov, 2014 1 commit
  4. 27 Oct, 2014 3 commits
  5. 25 Oct, 2014 6 commits
  6. 24 Sep, 2014 1 commit
    • Simon Vincent's avatar
      ieee802154: 6lowpan: ensure header compression does not corrupt ipv6 header · f19f4f95
      Simon Vincent authored
      The 6lowpan ipv6 header compression was causing problems for other interfaces
      that expected a ipv6 header to still be in place, as we were replacing the
      ipv6 header with a compressed version. This happened if you sent a packet to a
      multicast address as the packet would be output on 802.15.4, ethernet, and also
      be sent to the loopback interface. The skb data was shared between these
      interfaces so all interfaces ended up with a compressed ipv6 header.
      
      The solution is to ensure that before we do any header compression we are not
      sharing the skb or skb data with any other interface. If we are then we must
      take a copy of the skb and skb data before modifying the ipv6 header.
      The only place we can copy the skb is inside the xmit function so we don't
      leave dangling references to skb.
      
      This patch moves all the header compression to inside the xmit function. Very
      little code has been changed it has mostly been moved from lowpan_header_create
      to lowpan_xmit. At the top of the xmit function we now check if the skb is
      shared and if so copy it. In lowpan_header_create all we do now is store the
      source and destination addresses for use later when we compress the header.
      Signed-off-by: default avatarSimon Vincent <simon.vincent@xsilon.com>
      Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      f19f4f95
  7. 19 Aug, 2014 2 commits
  8. 14 Aug, 2014 1 commit
  9. 08 Jul, 2014 1 commit
  10. 02 Jun, 2014 2 commits
  11. 15 May, 2014 2 commits
    • Phoebe Buckheister's avatar
      6lowpan: fix fragmentation · d4b2816d
      Phoebe Buckheister authored
      Currently, 6lowpan creates one 802.15.4 MAC header for the original
      packet the device was given by upper layers and reuses this header for
      all fragments, if fragmentation is required. This also reuses frame
      sequence numbers, which must not happen. 6lowpan also has issues with
      fragmentation in the presence of security headers, since those may imply
      the presence of trailing fields that are not accounted for by the
      fragmentation code right now.
      
      Fix both of these issues by properly allocating fragment skbs with
      headromm and tailroom as specified by the underlying device, create one
      header for each skb instead of reusing the original header, let the
      underlying device do the rest.
      Signed-off-by: default avatarPhoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d4b2816d
    • Phoebe Buckheister's avatar
      ieee802154: change _cb handling slightly · 32edc40a
      Phoebe Buckheister authored
      The current mac_cb handling of ieee802154 is rather awkward and limited.
      Decompose the single flags field into multiple fields with the meanings
      of each subfield of the flags field to make future extensions (for
      example, link-layer security) easier. Also don't set the frame sequence
      number in upper layers, since that's a thing the MAC is supposed to set
      on frame transmit - we set it on header creation, but assuming that
      upper layers do not blindly duplicate our headers, this is fine.
      Signed-off-by: default avatarPhoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      32edc40a
  12. 18 Mar, 2014 1 commit
  13. 15 Mar, 2014 5 commits
  14. 12 Mar, 2014 1 commit
  15. 06 Mar, 2014 1 commit
  16. 03 Mar, 2014 2 commits
  17. 28 Feb, 2014 5 commits
  18. 11 Feb, 2014 1 commit
  19. 10 Feb, 2014 1 commit
  20. 06 Jan, 2014 1 commit
    • Daniel Borkmann's avatar
      net: 6lowpan: fix lowpan_header_create non-compression memcpy call · 965801e1
      Daniel Borkmann authored
      In function lowpan_header_create(), we invoke the following code
      construct:
      
        struct ipv6hdr *hdr;
        ...
        hdr = ipv6_hdr(skb);
        ...
        if (...)
          memcpy(hc06_ptr + 1, &hdr->flow_lbl[1], 2);
        else
          memcpy(hc06_ptr, &hdr, 4);
      
      Where the else path of the condition, that is, non-compression
      path, calls memcpy() with a pointer to struct ipv6hdr *hdr as
      source, thus two levels of indirection. This cannot be correct,
      and likely only one level of pointer was intended as source
      buffer for memcpy() here.
      
      Fixes: 44331fe2 ("IEEE802.15.4: 6LoWPAN basic support")
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
      Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Cc: Werner Almesberger <werner@almesberger.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      965801e1
  21. 12 Dec, 2013 1 commit