1. 05 3月, 2011 9 次提交
  2. 15 2月, 2011 1 次提交
  3. 12 2月, 2011 3 次提交
  4. 11 2月, 2011 1 次提交
    • S
      batman-adv: Use successive sequence numbers for fragments · c2f7f0e7
      Sven Eckelmann 提交于
      The two fragments of an unicast packet must have successive sequence numbers to
      allow the receiver side to detect matching fragments and merge them again. The
      current implementation doesn't provide that property because a sequence of two
      atomic_inc_return may be interleaved with another sequence which also changes
      the variable.
      
      The access to the fragment sequence number pool has either to be protected by
      correct locking or it has to reserve two sequence numbers in a single fetch.
      The latter one can easily be done by increasing the value of the last used
      sequence number by 2 in a single step. The generated window of two currently
      unused sequence numbers can now be scattered across the two fragments.
      Reported-by: NLinus Lüssing <linus.luessing@web.de>
      Signed-off-by: NSven Eckelmann <sven@narfation.org>
      c2f7f0e7
  5. 31 1月, 2011 8 次提交
  6. 16 1月, 2011 1 次提交
    • S
      batman-adv: Use "__attribute__" shortcut macros · aa0adb1a
      Sven Eckelmann 提交于
      Linux 2.6.21 defines different macros for __attribute__ which are also
      used inside batman-adv. The next version of checkpatch.pl warns about
      the usage of __attribute__((packed))).
      
      Linux 2.6.33 defines an extra macro __always_unused which is used to
      assist source code analyzers and can be used to removed the last
      existing __attribute__ inside the source code.
      Signed-off-by: NSven Eckelmann <sven@narfation.org>
      aa0adb1a
  7. 14 1月, 2011 1 次提交
    • J
      batman-adv: Even Batman should not dereference NULL pointers · ed7809d9
      Jesper Juhl 提交于
      There's a problem in net/batman-adv/unicast.c::frag_send_skb().
      dev_alloc_skb() allocates memory and may fail, thus returning NULL. If
      this happens we'll pass a NULL pointer on to skb_split() which in turn
      hands it to skb_split_inside_header() from where it gets passed to
      skb_put() that lets skb_tail_pointer() play with it and that function
      dereferences it. And thus the bat dies.
      
      While I was at it I also moved the call to dev_alloc_skb() above the
      assignment to 'unicast_packet' since there's no reason to do that
      assignment if the memory allocation fails.
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Signed-off-by: NSven Eckelmann <sven@narfation.org>
      ed7809d9
  8. 21 12月, 2010 1 次提交
  9. 17 12月, 2010 1 次提交