lkml.org 
[lkml]   [2018]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 369/410] batman-adv: update data pointers after skb_cow()
    3.16.57-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Matthias Schiffer <mschiffer@universe-factory.net>

    commit bc44b78157f621ff2a2618fe287a827bcb094ac4 upstream.

    batadv_check_unicast_ttvn() calls skb_cow(), so pointers into the SKB data
    must be (re)set after calling it. The ethhdr variable is dropped
    altogether.

    Fixes: 7cdcf6dddc42 ("batman-adv: add UNICAST_4ADDR packet type")
    Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
    Signed-off-by: Sven Eckelmann <sven@narfation.org>
    Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
    [bwh: Backported to 3.16:
    - There's no ethhdr variable here
    - Adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    --- a/net/batman-adv/routing.c
    +++ b/net/batman-adv/routing.c
    @@ -886,8 +886,6 @@ int batadv_recv_unicast_packet(struct sk
    bool is4addr;

    unicast_packet = (struct batadv_unicast_packet *)skb->data;
    - unicast_4addr_packet = (struct batadv_unicast_4addr_packet *)skb->data;
    -
    is4addr = unicast_packet->packet_type == BATADV_UNICAST_4ADDR;
    /* the caller function should have already pulled 2 bytes */
    if (is4addr)
    @@ -907,9 +905,13 @@ int batadv_recv_unicast_packet(struct sk
    if (!batadv_check_unicast_ttvn(bat_priv, skb, hdr_size))
    return NET_RX_DROP;

    + unicast_packet = (struct batadv_unicast_packet *)skb->data;
    +
    /* packet for me */
    if (batadv_is_my_mac(bat_priv, unicast_packet->dest)) {
    if (is4addr) {
    + unicast_4addr_packet =
    + (struct batadv_unicast_4addr_packet *)skb->data;
    batadv_dat_inc_counter(bat_priv,
    unicast_4addr_packet->subtype);
    orig_addr = unicast_4addr_packet->src;
    \
     
     \ /
      Last update: 2018-06-07 17:34    [W:2.926 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site