~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise-security

« back to all changes in this revision

Viewing changes to net/ipv4/ip_fragment.c

  • Committer: Package Import Robot
  • Author(s): Brad Figg, Brad Figg
  • Date: 2013-06-07 14:50:17 UTC
  • Revision ID: package-import@ubuntu.com-20130607145017-i528vbpfwhfynprn
Tags: 3.2.0-1433.44
* Release Tracking Bug
  - LP: #1188464

[ Brad Figg ]

* UBUNTU: Fixup missing abi files causing FTBS

Show diffs side-by-side

added added

removed removed

Lines of Context:
251
251
                if (!head->dev)
252
252
                        goto out_rcu_unlock;
253
253
 
254
 
                /* skb dst is stale, drop it, and perform route lookup again */
255
 
                skb_dst_drop(head);
 
254
                /* skb has no dst, perform route lookup again */
256
255
                iph = ip_hdr(head);
257
256
                err = ip_route_input_noref(head, iph->daddr, iph->saddr,
258
257
                                           iph->tos, head->dev);
518
517
                qp->q.last_in |= INET_FRAG_FIRST_IN;
519
518
 
520
519
        if (qp->q.last_in == (INET_FRAG_FIRST_IN | INET_FRAG_LAST_IN) &&
521
 
            qp->q.meat == qp->q.len)
522
 
                return ip_frag_reasm(qp, prev, dev);
 
520
            qp->q.meat == qp->q.len) {
 
521
                unsigned long orefdst = skb->_skb_refdst;
 
522
 
 
523
                skb->_skb_refdst = 0UL;
 
524
                err = ip_frag_reasm(qp, prev, dev);
 
525
                skb->_skb_refdst = orefdst;
 
526
                return err;
 
527
        }
 
528
 
 
529
        skb_dst_drop(skb);
523
530
 
524
531
        write_lock(&ip4_frags.lock);
525
532
        list_move_tail(&qp->q.lru_list, &qp->q.net->lru_list);