Commit 3f2f406a authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 'mptcp-pm-fix-wrong-perm-and-sock-kfree'

Matthieu Baerts says:

====================
mptcp: pm: fix wrong perm and sock kfree

Two small fixes related to the MPTCP path-manager:

- Patch 1: remove an accidental restriction to admin users to list MPTCP
  endpoints. A regression from v6.7.

- Patch 2: correctly use sock_kfree_s() instead of kfree() in the
  userspace PM. A fix for another fix introduced in v6.4 and
  backportable up to v5.19.
====================

Link: https://patch.msgid.link/20241104-net-mptcp-misc-6-12-v1-0-c13f2ff1656f@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 256748d5 99635c91
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -293,7 +293,6 @@ operations:
      doc: Get endpoint information
      attribute-set: attr
      dont-validate: [ strict ]
      flags: [ uns-admin-perm ]
      do: &get-addr-attrs
        request:
          attributes:
+0 −1
Original line number Diff line number Diff line
@@ -112,7 +112,6 @@ const struct genl_ops mptcp_pm_nl_ops[11] = {
		.dumpit		= mptcp_pm_nl_get_addr_dumpit,
		.policy		= mptcp_pm_get_addr_nl_policy,
		.maxattr	= MPTCP_PM_ATTR_TOKEN,
		.flags		= GENL_UNS_ADMIN_PERM,
	},
	{
		.cmd		= MPTCP_PM_CMD_FLUSH_ADDRS,
+2 −1
Original line number Diff line number Diff line
@@ -91,6 +91,7 @@ static int mptcp_userspace_pm_delete_local_addr(struct mptcp_sock *msk,
						struct mptcp_pm_addr_entry *addr)
{
	struct mptcp_pm_addr_entry *entry, *tmp;
	struct sock *sk = (struct sock *)msk;

	list_for_each_entry_safe(entry, tmp, &msk->pm.userspace_pm_local_addr_list, list) {
		if (mptcp_addresses_equal(&entry->addr, &addr->addr, false)) {
@@ -98,7 +99,7 @@ static int mptcp_userspace_pm_delete_local_addr(struct mptcp_sock *msk,
			 * be used multiple times (e.g. fullmesh mode).
			 */
			list_del_rcu(&entry->list);
			kfree(entry);
			sock_kfree_s(sk, entry, sizeof(*entry));
			msk->pm.local_addr_used--;
			return 0;
		}