User: | Jiri Slaby |
Error type: | Invalid Pointer Dereference |
Error type description: | A pointer which is invalid is being dereferenced |
File location: | net/sctp/output.c |
Line in file: | 578 |
Project: | Linux Kernel |
Project version: | 2.6.28 |
Tools: |
Smatch
(1.59)
|
Entered: | 2013-09-11 08:47:26 UTC |
548 * transport protocol are ECN-capable." 549 * 550 * Now setting the ECT bit all the time, as it should not cause 551 * any problems protocol-wise even if our peer ignores it. 552 * 553 * Note: The works for IPv6 layer checks this bit too later 554 * in transmission. See IP6_ECN_flow_xmit(). 555 */ 556 (*tp->af_specific->ecn_capable)(nskb->sk); 557 558 /* Set up the IP options. */ 559 /* BUG: not implemented 560 * For v4 this all lives somewhere in sk->sk_opt... 561 */ 562 563 /* Dump that on IP! */ 564 if (asoc && asoc->peer.last_sent_to != tp) { 565 /* Considering the multiple CPU scenario, this is a 566 * "correcter" place for last_sent_to. --xguo 567 */ 568 asoc->peer.last_sent_to = tp; 569 } 570 571 if (has_data) { 572 struct timer_list *timer; 573 unsigned long timeout; 574 575 tp->last_time_used = jiffies; 576 577 /* Restart the AUTOCLOSE timer when sending data. */ 578 if (sctp_state(asoc, ESTABLISHED) && asoc->autoclose) { 579 timer = &asoc->timers[SCTP_EVENT_TIMEOUT_AUTOCLOSE]; 580 timeout = asoc->timeouts[SCTP_EVENT_TIMEOUT_AUTOCLOSE]; 581 582 if (!mod_timer(timer, jiffies + timeout)) 583 sctp_association_hold(asoc); 584 } 585 } 586 587 SCTP_DEBUG_PRINTK("***sctp_transmit_packet*** skb len %d\n", 588 nskb->len);