1. 23 8月, 2012 2 次提交
  2. 02 7月, 2012 8 次提交
  3. 28 6月, 2012 4 次提交
  4. 25 6月, 2012 6 次提交
  5. 21 6月, 2012 12 次提交
  6. 20 6月, 2012 1 次提交
    • A
      batman-adv: fix skb->data assignment · 2c995ff8
      Antonio Quartulli 提交于
      skb_linearize(skb) possibly rearranges the skb internal data and then changes
      the skb->data pointer value. For this reason any other pointer in the code that
      was assigned skb->data before invoking skb_linearise(skb) must be re-assigned.
      
      In the current tt_query message handling code this is not done and therefore, in
      case of skb linearization, the pointer used to handle the packet header ends up
      in pointing to free'd memory.
      
      This bug was introduced by a73105b8
      (batman-adv: improved client announcement mechanism)
      Signed-off-by: NAntonio Quartulli <ordex@autistici.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2c995ff8
  7. 19 6月, 2012 3 次提交
  8. 14 5月, 2012 3 次提交
    • M
    • A
      batman-adv: improve unicast packet (re)routing · 3275e7cc
      Antonio Quartulli 提交于
      In case of a client X roaming from a generic node A to another node B, it is
      possible that a third node C gets A's OGM but not B's. At this point in time, if
      C wants to send data to X it will send a unicast packet destined to A. The
      packet header will contain A's last ttvn (C got A's OGM and so it knows it).
      
      The packet will travel towards A without being intercepted because the ttvn
      contained in its header is the newest for A.
      
      Once A will receive the packet, A's state will not report to be in a "roaming
      phase" (because, after a roaming, once A sends out its OGM, all the changes are
      committed and the node is considered not to be in the roaming state anymore)
      and it will match the ttvn carried by the packet. Therefore there is no reason
      for A to try to alter the packet's route, thus dropping the packet because the
      destination client is not there anymore.
      
      However, C is well aware that it's routing information towards the client X is
      outdated as it received an OGM from A saying that the client roamed away.
      Thanks to this detail, this patch introduces a small change in behaviour: as
      long as C is in the state of not knowing the new location of client X it will
      forward the traffic to its last known location using ttvn-1 of the destination.
      By using an older ttvn node A will be forced to re-route the packet.
      Intermediate nodes are also allowed to update the packet's destination as long
      as they have the information about the client's new location.
      Signed-off-by: NAntonio Quartulli <ordex@autistici.org>
      3275e7cc
    • A
      batman-adv: avoid skb_linearise() if not needed · 8710e261
      Antonio Quartulli 提交于
      Whenever we want to access headers only, we do not need to linearise the whole
      packet. Instead we can use pskb_may_pull()
      Signed-off-by: NAntonio Quartulli <ordex@autistici.org>
      8710e261
  9. 11 5月, 2012 1 次提交