lkml.org 
[lkml]   [2009]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 12/74] inet: Call skb_orphan before tproxy activates
    2.6.30-stable review patch.  If anyone has any objections, please let us know.

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

    From: Herbert Xu <herbert@gondor.apana.org.au>

    [ Upstream commit 71f9dacd2e4d233029e9e956ca3f79531f411827 ]

    As transparent proxying looks up the socket early and assigns
    it to the skb for later processing, we must drop any existing
    socket ownership prior to that in order to distinguish between
    the case where tproxy is active and where it is not.

    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    net/ipv4/ip_input.c | 3 +++
    net/ipv6/ip6_input.c | 3 +++
    2 files changed, 6 insertions(+)

    --- a/net/ipv4/ip_input.c
    +++ b/net/ipv4/ip_input.c
    @@ -437,6 +437,9 @@ int ip_rcv(struct sk_buff *skb, struct n
    /* Remove any debris in the socket control block */
    memset(IPCB(skb), 0, sizeof(struct inet_skb_parm));

    + /* Must drop socket now because of tproxy. */
    + skb_orphan(skb);
    +
    return NF_HOOK(PF_INET, NF_INET_PRE_ROUTING, skb, dev, NULL,
    ip_rcv_finish);

    --- a/net/ipv6/ip6_input.c
    +++ b/net/ipv6/ip6_input.c
    @@ -139,6 +139,9 @@ int ipv6_rcv(struct sk_buff *skb, struct

    rcu_read_unlock();

    + /* Must drop socket now because of tproxy. */
    + skb_orphan(skb);
    +
    return NF_HOOK(PF_INET6, NF_INET_PRE_ROUTING, skb, dev, NULL,
    ip6_rcv_finish);
    err:



    \
     
     \ /
      Last update: 2009-08-13 22:25    [W:0.027 / U:30.164 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site