From: Dan Carpenter <dan.carpenter@oracle.com>
To: linux-sctp@vger.kernel.org
Subject: re: net: sctp: rework multihoming retransmission path selection to rfc4960
Date: Fri, 28 Feb 2014 23:15:12 +0000 [thread overview]
Message-ID: <20140228231512.GA22115@elgon.mountain> (raw)
Hello Daniel Borkmann,
This is a semi-automatic email about new static checker warnings.
The patch 4c47af4d5eb2: "net: sctp: rework multihoming retransmission
path selection to rfc4960" from Feb 20, 2014, leads to the following
Smatch complaint:
net/sctp/associola.c:1322 sctp_assoc_update_retran_path()
warn: variable dereferenced before check 'trans_next' (see line 1319)
net/sctp/associola.c
1305 /* Iterate from retran_path's successor back to retran_path. */
1306 for (trans = list_next_entry(trans, transports); 1;
1307 trans = list_next_entry(trans, transports)) {
1308 /* Manually skip the head element. */
1309 if (&trans->transports = &asoc->peer.transport_addr_list)
1310 continue;
1311 if (trans->state = SCTP_UNCONFIRMED)
1312 continue;
1313 trans_next = sctp_trans_elect_best(trans, trans_next);
1314 /* Active is good enough for immediate return. */
1315 if (trans_next->state = SCTP_ACTIVE)
^^^^^^^^^^^^^^^^^
Dereference.
1316 break;
^^^^^^
1317 /* We've reached the end, time to update path. */
1318 if (trans = asoc->peer.retran_path)
1319 break;
^^^^^
These two breaks are the the only way to exit from the loop.
1320 }
1321
1322 if (trans_next != NULL)
^^^^^^^^^^^^^^^^^^
Check to late.
1323 asoc->peer.retran_path = trans_next;
1324
regards,
dan carpenter
next reply other threads:[~2014-02-28 23:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-28 23:15 Dan Carpenter [this message]
2014-02-28 23:30 ` net: sctp: rework multihoming retransmission path selection to rfc4960 Daniel Borkmann
2014-03-01 8:44 ` Dan Carpenter
2014-03-01 10:24 ` Daniel Borkmann
[not found] <20140305192635.6D9F7660D13@gitolite.kernel.org>
2014-03-06 6:02 ` Dave Jones
2014-03-06 9:42 ` Daniel Borkmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140228231512.GA22115@elgon.mountain \
--to=dan.carpenter@oracle.com \
--cc=linux-sctp@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.