From: kernel test robot <lkp@intel.com>
To: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>, mptcp@lists.linux.dev
Cc: oe-kbuild-all@lists.linux.dev, Paolo Abeni <pabeni@redhat.com>,
"Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Subject: Re: [PATCH mptcp-net v4 23/23] mptcp: pm: reduce entries iterations on connect
Date: Tue, 23 Jul 2024 10:56:54 +0800 [thread overview]
Message-ID: <202407231046.JRpmrtkT-lkp@intel.com> (raw)
In-Reply-To: <20240722-mptcp-pm-avail-v4-23-15bfd73de384@kernel.org>
Hi Matthieu,
kernel test robot noticed the following build errors:
[auto build test ERROR on 140ff27ee47286bb0a270f3aa275fc319724da8d]
url: https://github.com/intel-lab-lkp/linux/commits/Matthieu-Baerts-NGI0/mptcp-fully-established-after-ADD_ADDR-echo-on-MPJ/20240723-035843
base: 140ff27ee47286bb0a270f3aa275fc319724da8d
patch link: https://lore.kernel.org/r/20240722-mptcp-pm-avail-v4-23-15bfd73de384%40kernel.org
patch subject: [PATCH mptcp-net v4 23/23] mptcp: pm: reduce entries iterations on connect
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20240723/202407231046.JRpmrtkT-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240723/202407231046.JRpmrtkT-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407231046.JRpmrtkT-lkp@intel.com/
All errors (new ones prefixed by >>):
net/mptcp/subflow.c: In function '__mptcp_subflow_connect':
>> net/mptcp/subflow.c:1580:48: error: 'const struct mptcp_addr_info' has no member named 'addr6'; did you mean 'addr'?
1580 | if (ipv6_addr_any(&local->addr.addr6))
| ^~~~~
| addr
vim +1580 net/mptcp/subflow.c
1546
1547 int __mptcp_subflow_connect(struct sock *sk, const struct mptcp_pm_addr_entry *local,
1548 const struct mptcp_addr_info *remote)
1549 {
1550 struct mptcp_sock *msk = mptcp_sk(sk);
1551 struct mptcp_subflow_context *subflow;
1552 int local_id = local->addr.id;
1553 struct sockaddr_storage addr;
1554 int remote_id = remote->id;
1555 int err = -ENOTCONN;
1556 struct socket *sf;
1557 struct sock *ssk;
1558 u32 remote_token;
1559 int addrlen;
1560
1561 if (!mptcp_is_fully_established(sk))
1562 goto err_out;
1563
1564 err = mptcp_subflow_create_socket(sk, local->addr.family, &sf);
1565 if (err)
1566 goto err_out;
1567
1568 ssk = sf->sk;
1569 subflow = mptcp_subflow_ctx(ssk);
1570 do {
1571 get_random_bytes(&subflow->local_nonce, sizeof(u32));
1572 } while (!subflow->local_nonce);
1573
1574 /* if 'IPADDRANY', the ID will be set later, after the routing */
1575 if (local->addr.family == AF_INET) {
1576 if (!local->addr.addr.s_addr)
1577 local_id = -1;
1578 #if IS_ENABLED(CONFIG_IPV6)
1579 } else if (sk->sk_family == AF_INET6) {
> 1580 if (ipv6_addr_any(&local->addr.addr6))
1581 local_id = -1;
1582 #endif
1583 }
1584
1585 if (local_id >= 0)
1586 subflow_set_local_id(subflow, local_id);
1587
1588 subflow->remote_key_valid = 1;
1589 subflow->remote_key = READ_ONCE(msk->remote_key);
1590 subflow->local_key = READ_ONCE(msk->local_key);
1591 subflow->token = msk->token;
1592 mptcp_info2sockaddr(&local->addr, &addr, ssk->sk_family);
1593
1594 addrlen = sizeof(struct sockaddr_in);
1595 #if IS_ENABLED(CONFIG_MPTCP_IPV6)
1596 if (addr.ss_family == AF_INET6)
1597 addrlen = sizeof(struct sockaddr_in6);
1598 #endif
1599 ssk->sk_bound_dev_if = local->ifindex;
1600 err = kernel_bind(sf, (struct sockaddr *)&addr, addrlen);
1601 if (err)
1602 goto failed;
1603
1604 mptcp_crypto_key_sha(subflow->remote_key, &remote_token, NULL);
1605 pr_debug("msk=%p remote_token=%u local_id=%d remote_id=%d", msk,
1606 remote_token, local_id, remote_id);
1607 subflow->remote_token = remote_token;
1608 WRITE_ONCE(subflow->remote_id, remote_id);
1609 subflow->request_join = 1;
1610 subflow->request_bkup = !!(local->flags & MPTCP_PM_ADDR_FLAG_BACKUP);
1611 subflow->subflow_id = msk->subflow_id++;
1612 mptcp_info2sockaddr(remote, &addr, ssk->sk_family);
1613
1614 sock_hold(ssk);
1615 list_add_tail(&subflow->node, &msk->conn_list);
1616 err = kernel_connect(sf, (struct sockaddr *)&addr, addrlen, O_NONBLOCK);
1617 if (err && err != -EINPROGRESS)
1618 goto failed_unlink;
1619
1620 /* discard the subflow socket */
1621 mptcp_sock_graft(ssk, sk->sk_socket);
1622 iput(SOCK_INODE(sf));
1623 WRITE_ONCE(msk->allow_infinite_fallback, false);
1624 mptcp_stop_tout_timer(sk);
1625 return 0;
1626
1627 failed_unlink:
1628 list_del(&subflow->node);
1629 sock_put(mptcp_subflow_tcp_sock(subflow));
1630
1631 failed:
1632 subflow->disposable = 1;
1633 sock_release(sf);
1634
1635 err_out:
1636 /* we account subflows before the creation, and this failures will not
1637 * be caught by sk_state_change()
1638 */
1639 mptcp_pm_close_subflow(msk);
1640 return err;
1641 }
1642
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-07-23 2:57 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-22 19:35 [PATCH mptcp-net v4 00/23] mptcp: fix endpoints with 'signal' and 'subflow' flags Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 01/23] mptcp: fully established after ADD_ADDR echo on MPJ Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 02/23] mptcp: pm: deny endp with signal + subflow + port Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 03/23] mptcp: pm: reduce indentation blocks Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 04/23] mptcp: pm: don't try to create sf if alloc failed Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 05/23] mptcp: pm: do not ignore 'subflow' if 'signal' flag is also set Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 06/23] selftests: mptcp: join: ability to invert ADD_ADDR check Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 07/23] selftests: mptcp: join: test both signal & subflow Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 08/23] mptcp: pm: re-using ID of unused removed ADD_ADDR Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 09/23] selftests: mptcp: join: check re-using ID of unused ADD_ADDR Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 10/23] mptcp: pm: re-using ID of unused removed subflows Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 11/23] selftests: mptcp: join: check re-using ID of closed subflow Matthieu Baerts (NGI0)
2024-07-24 17:14 ` Mat Martineau
2024-07-26 10:38 ` Matthieu Baerts
2024-07-22 19:35 ` [PATCH mptcp-net v4 12/23] mptcp: pm: re-using ID of unused flushed subflows Matthieu Baerts (NGI0)
2024-07-23 22:00 ` Mat Martineau
2024-07-22 19:35 ` [PATCH mptcp-net v4 13/23] selftests: mptcp: join: test for flush/re-add endpoints Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 14/23] mptcp: pm: remove mptcp_pm_remove_subflow() Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 15/23] mptcp: pm: only mark 'subflow' endp as available Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 16/23] mptcp: pm: only decrement add_addr_accepted for MPJ req Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 17/23] mptcp: pm: check add_addr_accept_max before accepting new ADD_ADDR Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 18/23] mptcp: pm: only in-kernel cannot have entries with ID 0 Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 19/23] mptcp: pm: fullmesh: select the right ID later Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 20/23] selftests: mptcp: join: validate fullmesh endp on 1st sf Matthieu Baerts (NGI0)
2024-07-22 19:35 ` [PATCH mptcp-net v4 21/23] mptcp: pm: avoid possible UaF whend selecting endp Matthieu Baerts (NGI0)
2024-07-23 22:01 ` Mat Martineau
2024-07-25 15:43 ` Paolo Abeni
2024-07-22 19:36 ` [PATCH mptcp-net v4 22/23] mptcp: pm: reuse ID 0 after delete and re-add Matthieu Baerts (NGI0)
2024-07-23 22:02 ` Mat Martineau
2024-07-22 19:36 ` [PATCH mptcp-net v4 23/23] mptcp: pm: reduce entries iterations on connect Matthieu Baerts (NGI0)
2024-07-23 2:56 ` kernel test robot [this message]
2024-07-23 5:52 ` kernel test robot
2024-07-23 10:19 ` Matthieu Baerts
2024-07-22 20:32 ` [PATCH mptcp-net v4 00/23] mptcp: fix endpoints with 'signal' and 'subflow' flags MPTCP CI
2024-07-23 22:04 ` Mat Martineau
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=202407231046.JRpmrtkT-lkp@intel.com \
--to=lkp@intel.com \
--cc=matttbe@kernel.org \
--cc=mptcp@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=pabeni@redhat.com \
/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.