From patchwork Thu Sep 24 00:30:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geliang Tang X-Patchwork-Id: 1370194 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=AxBV5nz2; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BxcHp6NWFz9sSt for ; Thu, 24 Sep 2020 11:03:50 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726735AbgIXBDr (ORCPT ); Wed, 23 Sep 2020 21:03:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726562AbgIXBDq (ORCPT ); Wed, 23 Sep 2020 21:03:46 -0400 Received: from mail-pl1-x642.google.com (mail-pl1-x642.google.com [IPv6:2607:f8b0:4864:20::642]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9BA4BC0613CE; Wed, 23 Sep 2020 18:03:46 -0700 (PDT) Received: by mail-pl1-x642.google.com with SMTP id j7so691847plk.11; Wed, 23 Sep 2020 18:03:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=GDo7ywuW16yTRIPjlkiYS4kR39FyUMOrSMyJsiSy7mo=; b=AxBV5nz2LOn1ed183HSV1njzhM67P9iKERd/NXi9hoCS84L6DB4RR5ADpMxWIaOVUg o+pI9AeLifXWoom/WpptRrcfSGZhRDTK9JkBmxAYIWguIW/DWTtUyJwf8a9SG5w9BpXV Acz6Mvp1K6dm2hUzubCbmpk+3D1Z/Mm2XVgASYJoqtsBkXi7vgtx7i0KQTKxABNOvXjg JK5NVZ+FH93FuKmKxBaWdBPK+ey79tHczZ1qwifB/gMS15HXpeoixIHvWb2CmCoDb1sd GjdvPUQKByRvvE1nN1xyEOQ5hgwz5VxxHR6aqneJ03GCXyh1eDPTrwZ4RQ/lcexmI43D cDDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=GDo7ywuW16yTRIPjlkiYS4kR39FyUMOrSMyJsiSy7mo=; b=QjwN0gi/pYuWdbxnk3Pufs8vYQfufM9y66b9FIFetvYdIOdLttuajPtxtlIXOK6y/p XXwGXppx93SM/H/UqVE+7t9iJb/qyvYvYKmuglGhQdzj/uQBt2qVLfZpv/S57ZMduCSJ oVHbrT6mbJ4a6idsokx485011gqus8RHX2qNu8XfovFp7baXq++/G2AEwDwxFu+TIfnd rlWTr/8QrHz5NhqIA9C66B1Di/r6bWK+Ej/JUDmaZbuDStrX+1JlY7nlF0LWqemAs2lf 4rLf4kNQUUT9lxHAsBVB0ucElqgvQo6cOzlryanqDc9eiHyhyAOqD2SwRDkDnfFL/p19 kqPQ== X-Gm-Message-State: AOAM533tpYyARcFPY4Fev9WjU7KWq8Vx1Rc3Mp3mfI561rAfSe0PmB2N /KDqPNH4Ao5r/hheP1zhEc8= X-Google-Smtp-Source: ABdhPJxS6fb1EoP4wTqbwtkI8wNS8yo9woG+hiXkzF63S1UFb6UxqATcl6yqjZS9beteZq2RLNLmKA== X-Received: by 2002:a17:902:c3d3:b029:d1:e5e7:c4da with SMTP id j19-20020a170902c3d3b02900d1e5e7c4damr2366861plj.46.1600909426138; Wed, 23 Sep 2020 18:03:46 -0700 (PDT) Received: from localhost ([43.224.245.180]) by smtp.gmail.com with ESMTPSA id g26sm762856pfr.105.2020.09.23.18.03.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Sep 2020 18:03:45 -0700 (PDT) From: Geliang Tang To: Mat Martineau , Matthieu Baerts , "David S. Miller" , Jakub Kicinski Cc: Geliang Tang , netdev@vger.kernel.org, mptcp@lists.01.org, linux-kernel@vger.kernel.org Subject: [MPTCP][PATCH net-next 14/16] mptcp: add struct mptcp_pm_add_entry Date: Thu, 24 Sep 2020 08:30:00 +0800 Message-Id: <26617b54898c115de8d916633b8e42055ed5c678.1600853093.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: <430dd4f9c241ae990a5cfa6809276b36993ce91b.1600853093.git.geliangtang@gmail.com> <7b0898eff793dde434464b5fac2629739d9546fd.1600853093.git.geliangtang@gmail.com> <98bcc56283c482c294bd6ae9ce1476821ddc6837.1600853093.git.geliangtang@gmail.com> <37f2befac450fb46367f62446a4bb2c9d0a5986a.1600853093.git.geliangtang@gmail.com> <5018fd495529e058ea866e8d8edbe0bb98ec733a.1600853093.git.geliangtang@gmail.com> <644420f22ba6f0b9f9f3509c081d8d639ff4bbf3.1600853093.git.geliangtang@gmail.com> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Add a new struct mptcp_pm_add_entry to describe add_addr's entry. Acked-by: Paolo Abeni Signed-off-by: Geliang Tang Reviewed-by: Mat Martineau --- net/mptcp/pm_netlink.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index b33aebd85bd5..701972b55a45 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -28,6 +28,11 @@ struct mptcp_pm_addr_entry { struct rcu_head rcu; }; +struct mptcp_pm_add_entry { + struct list_head list; + struct mptcp_addr_info addr; +}; + struct pm_nl_pernet { /* protects pernet updates */ spinlock_t lock; @@ -181,7 +186,7 @@ static void check_work_pending(struct mptcp_sock *msk) static bool lookup_anno_list_by_saddr(struct mptcp_sock *msk, struct mptcp_addr_info *addr) { - struct mptcp_pm_addr_entry *entry; + struct mptcp_pm_add_entry *entry; list_for_each_entry(entry, &msk->pm.anno_list, list) { if (addresses_equal(&entry->addr, addr, false)) @@ -194,23 +199,23 @@ static bool lookup_anno_list_by_saddr(struct mptcp_sock *msk, static bool mptcp_pm_alloc_anno_list(struct mptcp_sock *msk, struct mptcp_pm_addr_entry *entry) { - struct mptcp_pm_addr_entry *clone = NULL; + struct mptcp_pm_add_entry *add_entry = NULL; if (lookup_anno_list_by_saddr(msk, &entry->addr)) return false; - clone = kmemdup(entry, sizeof(*entry), GFP_ATOMIC); - if (!clone) + add_entry = kmalloc(sizeof(*add_entry), GFP_ATOMIC); + if (!add_entry) return false; - list_add(&clone->list, &msk->pm.anno_list); + list_add(&add_entry->list, &msk->pm.anno_list); return true; } void mptcp_pm_free_anno_list(struct mptcp_sock *msk) { - struct mptcp_pm_addr_entry *entry, *tmp; + struct mptcp_pm_add_entry *entry, *tmp; pr_debug("msk=%p", msk); @@ -654,7 +659,7 @@ __lookup_addr_by_id(struct pm_nl_pernet *pernet, unsigned int id) static bool remove_anno_list_by_saddr(struct mptcp_sock *msk, struct mptcp_addr_info *addr) { - struct mptcp_pm_addr_entry *entry, *tmp; + struct mptcp_pm_add_entry *entry, *tmp; list_for_each_entry_safe(entry, tmp, &msk->pm.anno_list, list) { if (addresses_equal(&entry->addr, addr, false)) {