Showing error 1899

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


Source:

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);
Show full sources