All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: net/mptcp/options.c:291:3: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing
Date: Fri, 12 Feb 2021 20:29:15 +0800	[thread overview]
Message-ID: <202102122012.8htxIA4O-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 23064 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Florian Westphal <fw@strlen.de>
CC: Jakub Kicinski <kuba@kernel.org>
CC: Matthieu Baerts <matthieu.baerts@tessares.net>
CC: Mat Martineau <mathew.j.martineau@linux.intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   dcc0b49040c70ad827a7f3d58a21b01fdb14e749
commit: 50c504a20a754ca37b5e1f4e660cd687769a7dca mptcp: parse and act on incoming FASTCLOSE option
date:   8 weeks ago
:::::: branch date: 13 hours ago
:::::: commit date: 8 weeks ago
compiler: h8300-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> net/mptcp/options.c:291:3: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg]
     ptr += 8;
     ^
>> net/mptcp/options.c:515:3: warning: Assignment of function parameter has no effect outside the function. [uselessAssignmentArg]
     remaining -= map_size;
     ^
   net/mptcp/options.c:718:3: warning: Assignment of function parameter has no effect outside the function. [uselessAssignmentArg]
     remaining -= opt_size;
     ^

vim +291 net/mptcp/options.c

65492c5a6ab5df Paolo Abeni      2020-01-21   20  
cfde141ea3faa3 Paolo Abeni      2020-04-30   21  static void mptcp_parse_option(const struct sk_buff *skb,
cfde141ea3faa3 Paolo Abeni      2020-04-30   22  			       const unsigned char *ptr, int opsize,
cfde141ea3faa3 Paolo Abeni      2020-04-30   23  			       struct mptcp_options_received *mp_opt)
eda7acddf8080b Peter Krystad    2020-01-21   24  {
eda7acddf8080b Peter Krystad    2020-01-21   25  	u8 subtype = *ptr >> 4;
648ef4b88673da Mat Martineau    2020-01-21   26  	int expected_opsize;
eda7acddf8080b Peter Krystad    2020-01-21   27  	u8 version;
eda7acddf8080b Peter Krystad    2020-01-21   28  	u8 flags;
eda7acddf8080b Peter Krystad    2020-01-21   29  
eda7acddf8080b Peter Krystad    2020-01-21   30  	switch (subtype) {
eda7acddf8080b Peter Krystad    2020-01-21   31  	case MPTCPOPT_MP_CAPABLE:
cc7972ea193233 Christoph Paasch 2020-01-21   32  		/* strict size checking */
cc7972ea193233 Christoph Paasch 2020-01-21   33  		if (!(TCP_SKB_CB(skb)->tcp_flags & TCPHDR_SYN)) {
cc7972ea193233 Christoph Paasch 2020-01-21   34  			if (skb->len > tcp_hdr(skb)->doff << 2)
cc7972ea193233 Christoph Paasch 2020-01-21   35  				expected_opsize = TCPOLEN_MPTCP_MPC_ACK_DATA;
cc7972ea193233 Christoph Paasch 2020-01-21   36  			else
cc7972ea193233 Christoph Paasch 2020-01-21   37  				expected_opsize = TCPOLEN_MPTCP_MPC_ACK;
cc7972ea193233 Christoph Paasch 2020-01-21   38  		} else {
cc7972ea193233 Christoph Paasch 2020-01-21   39  			if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_ACK)
cc7972ea193233 Christoph Paasch 2020-01-21   40  				expected_opsize = TCPOLEN_MPTCP_MPC_SYNACK;
cc7972ea193233 Christoph Paasch 2020-01-21   41  			else
cc7972ea193233 Christoph Paasch 2020-01-21   42  				expected_opsize = TCPOLEN_MPTCP_MPC_SYN;
cc7972ea193233 Christoph Paasch 2020-01-21   43  		}
cc7972ea193233 Christoph Paasch 2020-01-21   44  		if (opsize != expected_opsize)
eda7acddf8080b Peter Krystad    2020-01-21   45  			break;
eda7acddf8080b Peter Krystad    2020-01-21   46  
cc7972ea193233 Christoph Paasch 2020-01-21   47  		/* try to be gentle vs future versions on the initial syn */
eda7acddf8080b Peter Krystad    2020-01-21   48  		version = *ptr++ & MPTCP_VERSION_MASK;
cc7972ea193233 Christoph Paasch 2020-01-21   49  		if (opsize != TCPOLEN_MPTCP_MPC_SYN) {
eda7acddf8080b Peter Krystad    2020-01-21   50  			if (version != MPTCP_SUPPORTED_VERSION)
eda7acddf8080b Peter Krystad    2020-01-21   51  				break;
cc7972ea193233 Christoph Paasch 2020-01-21   52  		} else if (version < MPTCP_SUPPORTED_VERSION) {
cc7972ea193233 Christoph Paasch 2020-01-21   53  			break;
cc7972ea193233 Christoph Paasch 2020-01-21   54  		}
eda7acddf8080b Peter Krystad    2020-01-21   55  
eda7acddf8080b Peter Krystad    2020-01-21   56  		flags = *ptr++;
65492c5a6ab5df Paolo Abeni      2020-01-21   57  		if (!mptcp_cap_flag_sha256(flags) ||
eda7acddf8080b Peter Krystad    2020-01-21   58  		    (flags & MPTCP_CAP_EXTENSIBILITY))
eda7acddf8080b Peter Krystad    2020-01-21   59  			break;
eda7acddf8080b Peter Krystad    2020-01-21   60  
eda7acddf8080b Peter Krystad    2020-01-21   61  		/* RFC 6824, Section 3.1:
eda7acddf8080b Peter Krystad    2020-01-21   62  		 * "For the Checksum Required bit (labeled "A"), if either
eda7acddf8080b Peter Krystad    2020-01-21   63  		 * host requires the use of checksums, checksums MUST be used.
eda7acddf8080b Peter Krystad    2020-01-21   64  		 * In other words, the only way for checksums not to be used
eda7acddf8080b Peter Krystad    2020-01-21   65  		 * is if both hosts in their SYNs set A=0."
eda7acddf8080b Peter Krystad    2020-01-21   66  		 *
eda7acddf8080b Peter Krystad    2020-01-21   67  		 * Section 3.3.0:
eda7acddf8080b Peter Krystad    2020-01-21   68  		 * "If a checksum is not present when its use has been
eda7acddf8080b Peter Krystad    2020-01-21   69  		 * negotiated, the receiver MUST close the subflow with a RST as
eda7acddf8080b Peter Krystad    2020-01-21   70  		 * it is considered broken."
eda7acddf8080b Peter Krystad    2020-01-21   71  		 *
eda7acddf8080b Peter Krystad    2020-01-21   72  		 * We don't implement DSS checksum - fall back to TCP.
eda7acddf8080b Peter Krystad    2020-01-21   73  		 */
eda7acddf8080b Peter Krystad    2020-01-21   74  		if (flags & MPTCP_CAP_CHECKSUM_REQD)
eda7acddf8080b Peter Krystad    2020-01-21   75  			break;
eda7acddf8080b Peter Krystad    2020-01-21   76  
eda7acddf8080b Peter Krystad    2020-01-21   77  		mp_opt->mp_capable = 1;
cc7972ea193233 Christoph Paasch 2020-01-21   78  		if (opsize >= TCPOLEN_MPTCP_MPC_SYNACK) {
eda7acddf8080b Peter Krystad    2020-01-21   79  			mp_opt->sndr_key = get_unaligned_be64(ptr);
eda7acddf8080b Peter Krystad    2020-01-21   80  			ptr += 8;
cc7972ea193233 Christoph Paasch 2020-01-21   81  		}
cc7972ea193233 Christoph Paasch 2020-01-21   82  		if (opsize >= TCPOLEN_MPTCP_MPC_ACK) {
eda7acddf8080b Peter Krystad    2020-01-21   83  			mp_opt->rcvr_key = get_unaligned_be64(ptr);
eda7acddf8080b Peter Krystad    2020-01-21   84  			ptr += 8;
eda7acddf8080b Peter Krystad    2020-01-21   85  		}
cc7972ea193233 Christoph Paasch 2020-01-21   86  		if (opsize == TCPOLEN_MPTCP_MPC_ACK_DATA) {
cc7972ea193233 Christoph Paasch 2020-01-21   87  			/* Section 3.1.:
cc7972ea193233 Christoph Paasch 2020-01-21   88  			 * "the data parameters in a MP_CAPABLE are semantically
cc7972ea193233 Christoph Paasch 2020-01-21   89  			 * equivalent to those in a DSS option and can be used
cc7972ea193233 Christoph Paasch 2020-01-21   90  			 * interchangeably."
cc7972ea193233 Christoph Paasch 2020-01-21   91  			 */
cc7972ea193233 Christoph Paasch 2020-01-21   92  			mp_opt->dss = 1;
cc7972ea193233 Christoph Paasch 2020-01-21   93  			mp_opt->use_map = 1;
cc7972ea193233 Christoph Paasch 2020-01-21   94  			mp_opt->mpc_map = 1;
cc7972ea193233 Christoph Paasch 2020-01-21   95  			mp_opt->data_len = get_unaligned_be16(ptr);
cc7972ea193233 Christoph Paasch 2020-01-21   96  			ptr += 2;
cc7972ea193233 Christoph Paasch 2020-01-21   97  		}
cc7972ea193233 Christoph Paasch 2020-01-21   98  		pr_debug("MP_CAPABLE version=%x, flags=%x, optlen=%d sndr=%llu, rcvr=%llu len=%d",
cc7972ea193233 Christoph Paasch 2020-01-21   99  			 version, flags, opsize, mp_opt->sndr_key,
cc7972ea193233 Christoph Paasch 2020-01-21  100  			 mp_opt->rcvr_key, mp_opt->data_len);
eda7acddf8080b Peter Krystad    2020-01-21  101  		break;
eda7acddf8080b Peter Krystad    2020-01-21  102  
f296234c98a8fc Peter Krystad    2020-03-27  103  	case MPTCPOPT_MP_JOIN:
f296234c98a8fc Peter Krystad    2020-03-27  104  		mp_opt->mp_join = 1;
f296234c98a8fc Peter Krystad    2020-03-27  105  		if (opsize == TCPOLEN_MPTCP_MPJ_SYN) {
f296234c98a8fc Peter Krystad    2020-03-27  106  			mp_opt->backup = *ptr++ & MPTCPOPT_BACKUP;
f296234c98a8fc Peter Krystad    2020-03-27  107  			mp_opt->join_id = *ptr++;
f296234c98a8fc Peter Krystad    2020-03-27  108  			mp_opt->token = get_unaligned_be32(ptr);
f296234c98a8fc Peter Krystad    2020-03-27  109  			ptr += 4;
f296234c98a8fc Peter Krystad    2020-03-27  110  			mp_opt->nonce = get_unaligned_be32(ptr);
f296234c98a8fc Peter Krystad    2020-03-27  111  			ptr += 4;
f296234c98a8fc Peter Krystad    2020-03-27  112  			pr_debug("MP_JOIN bkup=%u, id=%u, token=%u, nonce=%u",
f296234c98a8fc Peter Krystad    2020-03-27  113  				 mp_opt->backup, mp_opt->join_id,
f296234c98a8fc Peter Krystad    2020-03-27  114  				 mp_opt->token, mp_opt->nonce);
f296234c98a8fc Peter Krystad    2020-03-27  115  		} else if (opsize == TCPOLEN_MPTCP_MPJ_SYNACK) {
f296234c98a8fc Peter Krystad    2020-03-27  116  			mp_opt->backup = *ptr++ & MPTCPOPT_BACKUP;
f296234c98a8fc Peter Krystad    2020-03-27  117  			mp_opt->join_id = *ptr++;
f296234c98a8fc Peter Krystad    2020-03-27  118  			mp_opt->thmac = get_unaligned_be64(ptr);
f296234c98a8fc Peter Krystad    2020-03-27  119  			ptr += 8;
f296234c98a8fc Peter Krystad    2020-03-27  120  			mp_opt->nonce = get_unaligned_be32(ptr);
f296234c98a8fc Peter Krystad    2020-03-27  121  			ptr += 4;
f296234c98a8fc Peter Krystad    2020-03-27  122  			pr_debug("MP_JOIN bkup=%u, id=%u, thmac=%llu, nonce=%u",
f296234c98a8fc Peter Krystad    2020-03-27  123  				 mp_opt->backup, mp_opt->join_id,
f296234c98a8fc Peter Krystad    2020-03-27  124  				 mp_opt->thmac, mp_opt->nonce);
f296234c98a8fc Peter Krystad    2020-03-27  125  		} else if (opsize == TCPOLEN_MPTCP_MPJ_ACK) {
f296234c98a8fc Peter Krystad    2020-03-27  126  			ptr += 2;
f296234c98a8fc Peter Krystad    2020-03-27  127  			memcpy(mp_opt->hmac, ptr, MPTCPOPT_HMAC_LEN);
f296234c98a8fc Peter Krystad    2020-03-27  128  			pr_debug("MP_JOIN hmac");
f296234c98a8fc Peter Krystad    2020-03-27  129  		} else {
f296234c98a8fc Peter Krystad    2020-03-27  130  			pr_warn("MP_JOIN bad option size");
f296234c98a8fc Peter Krystad    2020-03-27  131  			mp_opt->mp_join = 0;
f296234c98a8fc Peter Krystad    2020-03-27  132  		}
f296234c98a8fc Peter Krystad    2020-03-27  133  		break;
f296234c98a8fc Peter Krystad    2020-03-27  134  
eda7acddf8080b Peter Krystad    2020-01-21  135  	case MPTCPOPT_DSS:
eda7acddf8080b Peter Krystad    2020-01-21  136  		pr_debug("DSS");
648ef4b88673da Mat Martineau    2020-01-21  137  		ptr++;
648ef4b88673da Mat Martineau    2020-01-21  138  
cc7972ea193233 Christoph Paasch 2020-01-21  139  		/* we must clear 'mpc_map' be able to detect MP_CAPABLE
cc7972ea193233 Christoph Paasch 2020-01-21  140  		 * map vs DSS map in mptcp_incoming_options(), and reconstruct
cc7972ea193233 Christoph Paasch 2020-01-21  141  		 * map info accordingly
cc7972ea193233 Christoph Paasch 2020-01-21  142  		 */
cc7972ea193233 Christoph Paasch 2020-01-21  143  		mp_opt->mpc_map = 0;
648ef4b88673da Mat Martineau    2020-01-21  144  		flags = (*ptr++) & MPTCP_DSS_FLAG_MASK;
648ef4b88673da Mat Martineau    2020-01-21  145  		mp_opt->data_fin = (flags & MPTCP_DSS_DATA_FIN) != 0;
648ef4b88673da Mat Martineau    2020-01-21  146  		mp_opt->dsn64 = (flags & MPTCP_DSS_DSN64) != 0;
648ef4b88673da Mat Martineau    2020-01-21  147  		mp_opt->use_map = (flags & MPTCP_DSS_HAS_MAP) != 0;
648ef4b88673da Mat Martineau    2020-01-21  148  		mp_opt->ack64 = (flags & MPTCP_DSS_ACK64) != 0;
648ef4b88673da Mat Martineau    2020-01-21  149  		mp_opt->use_ack = (flags & MPTCP_DSS_HAS_ACK);
648ef4b88673da Mat Martineau    2020-01-21  150  
648ef4b88673da Mat Martineau    2020-01-21  151  		pr_debug("data_fin=%d dsn64=%d use_map=%d ack64=%d use_ack=%d",
648ef4b88673da Mat Martineau    2020-01-21  152  			 mp_opt->data_fin, mp_opt->dsn64,
648ef4b88673da Mat Martineau    2020-01-21  153  			 mp_opt->use_map, mp_opt->ack64,
648ef4b88673da Mat Martineau    2020-01-21  154  			 mp_opt->use_ack);
648ef4b88673da Mat Martineau    2020-01-21  155  
648ef4b88673da Mat Martineau    2020-01-21  156  		expected_opsize = TCPOLEN_MPTCP_DSS_BASE;
648ef4b88673da Mat Martineau    2020-01-21  157  
648ef4b88673da Mat Martineau    2020-01-21  158  		if (mp_opt->use_ack) {
648ef4b88673da Mat Martineau    2020-01-21  159  			if (mp_opt->ack64)
648ef4b88673da Mat Martineau    2020-01-21  160  				expected_opsize += TCPOLEN_MPTCP_DSS_ACK64;
648ef4b88673da Mat Martineau    2020-01-21  161  			else
648ef4b88673da Mat Martineau    2020-01-21  162  				expected_opsize += TCPOLEN_MPTCP_DSS_ACK32;
648ef4b88673da Mat Martineau    2020-01-21  163  		}
648ef4b88673da Mat Martineau    2020-01-21  164  
648ef4b88673da Mat Martineau    2020-01-21  165  		if (mp_opt->use_map) {
648ef4b88673da Mat Martineau    2020-01-21  166  			if (mp_opt->dsn64)
648ef4b88673da Mat Martineau    2020-01-21  167  				expected_opsize += TCPOLEN_MPTCP_DSS_MAP64;
648ef4b88673da Mat Martineau    2020-01-21  168  			else
648ef4b88673da Mat Martineau    2020-01-21  169  				expected_opsize += TCPOLEN_MPTCP_DSS_MAP32;
648ef4b88673da Mat Martineau    2020-01-21  170  		}
648ef4b88673da Mat Martineau    2020-01-21  171  
648ef4b88673da Mat Martineau    2020-01-21  172  		/* RFC 6824, Section 3.3:
648ef4b88673da Mat Martineau    2020-01-21  173  		 * If a checksum is present, but its use had
648ef4b88673da Mat Martineau    2020-01-21  174  		 * not been negotiated in the MP_CAPABLE handshake,
648ef4b88673da Mat Martineau    2020-01-21  175  		 * the checksum field MUST be ignored.
648ef4b88673da Mat Martineau    2020-01-21  176  		 */
648ef4b88673da Mat Martineau    2020-01-21  177  		if (opsize != expected_opsize &&
648ef4b88673da Mat Martineau    2020-01-21  178  		    opsize != expected_opsize + TCPOLEN_MPTCP_DSS_CHECKSUM)
648ef4b88673da Mat Martineau    2020-01-21  179  			break;
648ef4b88673da Mat Martineau    2020-01-21  180  
eda7acddf8080b Peter Krystad    2020-01-21  181  		mp_opt->dss = 1;
648ef4b88673da Mat Martineau    2020-01-21  182  
648ef4b88673da Mat Martineau    2020-01-21  183  		if (mp_opt->use_ack) {
648ef4b88673da Mat Martineau    2020-01-21  184  			if (mp_opt->ack64) {
648ef4b88673da Mat Martineau    2020-01-21  185  				mp_opt->data_ack = get_unaligned_be64(ptr);
648ef4b88673da Mat Martineau    2020-01-21  186  				ptr += 8;
648ef4b88673da Mat Martineau    2020-01-21  187  			} else {
648ef4b88673da Mat Martineau    2020-01-21  188  				mp_opt->data_ack = get_unaligned_be32(ptr);
648ef4b88673da Mat Martineau    2020-01-21  189  				ptr += 4;
648ef4b88673da Mat Martineau    2020-01-21  190  			}
648ef4b88673da Mat Martineau    2020-01-21  191  
648ef4b88673da Mat Martineau    2020-01-21  192  			pr_debug("data_ack=%llu", mp_opt->data_ack);
648ef4b88673da Mat Martineau    2020-01-21  193  		}
648ef4b88673da Mat Martineau    2020-01-21  194  
648ef4b88673da Mat Martineau    2020-01-21  195  		if (mp_opt->use_map) {
648ef4b88673da Mat Martineau    2020-01-21  196  			if (mp_opt->dsn64) {
648ef4b88673da Mat Martineau    2020-01-21  197  				mp_opt->data_seq = get_unaligned_be64(ptr);
648ef4b88673da Mat Martineau    2020-01-21  198  				ptr += 8;
648ef4b88673da Mat Martineau    2020-01-21  199  			} else {
648ef4b88673da Mat Martineau    2020-01-21  200  				mp_opt->data_seq = get_unaligned_be32(ptr);
648ef4b88673da Mat Martineau    2020-01-21  201  				ptr += 4;
648ef4b88673da Mat Martineau    2020-01-21  202  			}
648ef4b88673da Mat Martineau    2020-01-21  203  
648ef4b88673da Mat Martineau    2020-01-21  204  			mp_opt->subflow_seq = get_unaligned_be32(ptr);
648ef4b88673da Mat Martineau    2020-01-21  205  			ptr += 4;
648ef4b88673da Mat Martineau    2020-01-21  206  
648ef4b88673da Mat Martineau    2020-01-21  207  			mp_opt->data_len = get_unaligned_be16(ptr);
648ef4b88673da Mat Martineau    2020-01-21  208  			ptr += 2;
648ef4b88673da Mat Martineau    2020-01-21  209  
648ef4b88673da Mat Martineau    2020-01-21  210  			pr_debug("data_seq=%llu subflow_seq=%u data_len=%u",
648ef4b88673da Mat Martineau    2020-01-21  211  				 mp_opt->data_seq, mp_opt->subflow_seq,
648ef4b88673da Mat Martineau    2020-01-21  212  				 mp_opt->data_len);
648ef4b88673da Mat Martineau    2020-01-21  213  		}
648ef4b88673da Mat Martineau    2020-01-21  214  
eda7acddf8080b Peter Krystad    2020-01-21  215  		break;
eda7acddf8080b Peter Krystad    2020-01-21  216  
3df523ab582c52 Peter Krystad    2020-03-27  217  	case MPTCPOPT_ADD_ADDR:
3df523ab582c52 Peter Krystad    2020-03-27  218  		mp_opt->echo = (*ptr++) & MPTCP_ADDR_ECHO;
3df523ab582c52 Peter Krystad    2020-03-27  219  		if (!mp_opt->echo) {
3df523ab582c52 Peter Krystad    2020-03-27  220  			if (opsize == TCPOLEN_MPTCP_ADD_ADDR ||
3df523ab582c52 Peter Krystad    2020-03-27  221  			    opsize == TCPOLEN_MPTCP_ADD_ADDR_PORT)
3df523ab582c52 Peter Krystad    2020-03-27  222  				mp_opt->family = MPTCP_ADDR_IPVERSION_4;
3df523ab582c52 Peter Krystad    2020-03-27  223  #if IS_ENABLED(CONFIG_MPTCP_IPV6)
3df523ab582c52 Peter Krystad    2020-03-27  224  			else if (opsize == TCPOLEN_MPTCP_ADD_ADDR6 ||
3df523ab582c52 Peter Krystad    2020-03-27  225  				 opsize == TCPOLEN_MPTCP_ADD_ADDR6_PORT)
3df523ab582c52 Peter Krystad    2020-03-27  226  				mp_opt->family = MPTCP_ADDR_IPVERSION_6;
3df523ab582c52 Peter Krystad    2020-03-27  227  #endif
3df523ab582c52 Peter Krystad    2020-03-27  228  			else
3df523ab582c52 Peter Krystad    2020-03-27  229  				break;
3df523ab582c52 Peter Krystad    2020-03-27  230  		} else {
3df523ab582c52 Peter Krystad    2020-03-27  231  			if (opsize == TCPOLEN_MPTCP_ADD_ADDR_BASE ||
3df523ab582c52 Peter Krystad    2020-03-27  232  			    opsize == TCPOLEN_MPTCP_ADD_ADDR_BASE_PORT)
3df523ab582c52 Peter Krystad    2020-03-27  233  				mp_opt->family = MPTCP_ADDR_IPVERSION_4;
3df523ab582c52 Peter Krystad    2020-03-27  234  #if IS_ENABLED(CONFIG_MPTCP_IPV6)
3df523ab582c52 Peter Krystad    2020-03-27  235  			else if (opsize == TCPOLEN_MPTCP_ADD_ADDR6_BASE ||
3df523ab582c52 Peter Krystad    2020-03-27  236  				 opsize == TCPOLEN_MPTCP_ADD_ADDR6_BASE_PORT)
3df523ab582c52 Peter Krystad    2020-03-27  237  				mp_opt->family = MPTCP_ADDR_IPVERSION_6;
3df523ab582c52 Peter Krystad    2020-03-27  238  #endif
3df523ab582c52 Peter Krystad    2020-03-27  239  			else
3df523ab582c52 Peter Krystad    2020-03-27  240  				break;
3df523ab582c52 Peter Krystad    2020-03-27  241  		}
3df523ab582c52 Peter Krystad    2020-03-27  242  
3df523ab582c52 Peter Krystad    2020-03-27  243  		mp_opt->add_addr = 1;
3df523ab582c52 Peter Krystad    2020-03-27  244  		mp_opt->addr_id = *ptr++;
3df523ab582c52 Peter Krystad    2020-03-27  245  		if (mp_opt->family == MPTCP_ADDR_IPVERSION_4) {
3df523ab582c52 Peter Krystad    2020-03-27  246  			memcpy((u8 *)&mp_opt->addr.s_addr, (u8 *)ptr, 4);
3df523ab582c52 Peter Krystad    2020-03-27  247  			ptr += 4;
3df523ab582c52 Peter Krystad    2020-03-27  248  			if (opsize == TCPOLEN_MPTCP_ADD_ADDR_PORT ||
3df523ab582c52 Peter Krystad    2020-03-27  249  			    opsize == TCPOLEN_MPTCP_ADD_ADDR_BASE_PORT) {
3df523ab582c52 Peter Krystad    2020-03-27  250  				mp_opt->port = get_unaligned_be16(ptr);
3df523ab582c52 Peter Krystad    2020-03-27  251  				ptr += 2;
3df523ab582c52 Peter Krystad    2020-03-27  252  			}
3df523ab582c52 Peter Krystad    2020-03-27  253  		}
3df523ab582c52 Peter Krystad    2020-03-27  254  #if IS_ENABLED(CONFIG_MPTCP_IPV6)
3df523ab582c52 Peter Krystad    2020-03-27  255  		else {
3df523ab582c52 Peter Krystad    2020-03-27  256  			memcpy(mp_opt->addr6.s6_addr, (u8 *)ptr, 16);
3df523ab582c52 Peter Krystad    2020-03-27  257  			ptr += 16;
3df523ab582c52 Peter Krystad    2020-03-27  258  			if (opsize == TCPOLEN_MPTCP_ADD_ADDR6_PORT ||
3df523ab582c52 Peter Krystad    2020-03-27  259  			    opsize == TCPOLEN_MPTCP_ADD_ADDR6_BASE_PORT) {
3df523ab582c52 Peter Krystad    2020-03-27  260  				mp_opt->port = get_unaligned_be16(ptr);
3df523ab582c52 Peter Krystad    2020-03-27  261  				ptr += 2;
3df523ab582c52 Peter Krystad    2020-03-27  262  			}
3df523ab582c52 Peter Krystad    2020-03-27  263  		}
3df523ab582c52 Peter Krystad    2020-03-27  264  #endif
3df523ab582c52 Peter Krystad    2020-03-27  265  		if (!mp_opt->echo) {
3df523ab582c52 Peter Krystad    2020-03-27  266  			mp_opt->ahmac = get_unaligned_be64(ptr);
3df523ab582c52 Peter Krystad    2020-03-27  267  			ptr += 8;
3df523ab582c52 Peter Krystad    2020-03-27  268  		}
90a4aea8b6edff Geliang Tang     2020-12-09  269  		pr_debug("ADD_ADDR%s: id=%d, ahmac=%llu, echo=%d, port=%d",
90a4aea8b6edff Geliang Tang     2020-12-09  270  			 (mp_opt->family == MPTCP_ADDR_IPVERSION_6) ? "6" : "",
90a4aea8b6edff Geliang Tang     2020-12-09  271  			 mp_opt->addr_id, mp_opt->ahmac, mp_opt->echo, mp_opt->port);
3df523ab582c52 Peter Krystad    2020-03-27  272  		break;
3df523ab582c52 Peter Krystad    2020-03-27  273  
3df523ab582c52 Peter Krystad    2020-03-27  274  	case MPTCPOPT_RM_ADDR:
3df523ab582c52 Peter Krystad    2020-03-27  275  		if (opsize != TCPOLEN_MPTCP_RM_ADDR_BASE)
3df523ab582c52 Peter Krystad    2020-03-27  276  			break;
3df523ab582c52 Peter Krystad    2020-03-27  277  
8e60eed6b38e46 Geliang Tang     2020-06-08  278  		ptr++;
8e60eed6b38e46 Geliang Tang     2020-06-08  279  
3df523ab582c52 Peter Krystad    2020-03-27  280  		mp_opt->rm_addr = 1;
3df523ab582c52 Peter Krystad    2020-03-27  281  		mp_opt->rm_id = *ptr++;
3df523ab582c52 Peter Krystad    2020-03-27  282  		pr_debug("RM_ADDR: id=%d", mp_opt->rm_id);
3df523ab582c52 Peter Krystad    2020-03-27  283  		break;
3df523ab582c52 Peter Krystad    2020-03-27  284  
50c504a20a754c Florian Westphal 2020-12-10  285  	case MPTCPOPT_MP_FASTCLOSE:
50c504a20a754c Florian Westphal 2020-12-10  286  		if (opsize != TCPOLEN_MPTCP_FASTCLOSE)
50c504a20a754c Florian Westphal 2020-12-10  287  			break;
50c504a20a754c Florian Westphal 2020-12-10  288  
50c504a20a754c Florian Westphal 2020-12-10  289  		ptr += 2;
50c504a20a754c Florian Westphal 2020-12-10  290  		mp_opt->rcvr_key = get_unaligned_be64(ptr);
50c504a20a754c Florian Westphal 2020-12-10 @291  		ptr += 8;
50c504a20a754c Florian Westphal 2020-12-10  292  		mp_opt->fastclose = 1;
50c504a20a754c Florian Westphal 2020-12-10  293  		break;
50c504a20a754c Florian Westphal 2020-12-10  294  
eda7acddf8080b Peter Krystad    2020-01-21  295  	default:
eda7acddf8080b Peter Krystad    2020-01-21  296  		break;
eda7acddf8080b Peter Krystad    2020-01-21  297  	}
eda7acddf8080b Peter Krystad    2020-01-21  298  }
eda7acddf8080b Peter Krystad    2020-01-21  299  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

             reply	other threads:[~2021-02-12 12:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-12 12:29 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-01-19 10:20 net/mptcp/options.c:291:3: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing kernel test robot

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=202102122012.8htxIA4O-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.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.