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: 1370195 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.01.org (client-ip=198.145.21.10; helo=ml01.01.org; envelope-from=mptcp-bounces@lists.01.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (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 ml01.01.org (ml01.01.org [198.145.21.10]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BxcHr34m7z9sSt for ; Thu, 24 Sep 2020 11:03:51 +1000 (AEST) Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 5B1731522EF16; Wed, 23 Sep 2020 18:03:49 -0700 (PDT) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::1042; helo=mail-pj1-x1042.google.com; envelope-from=geliangtang@gmail.com; receiver= Received: from mail-pj1-x1042.google.com (mail-pj1-x1042.google.com [IPv6:2607:f8b0:4864:20::1042]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A724B15215846 for ; Wed, 23 Sep 2020 18:03:46 -0700 (PDT) Received: by mail-pj1-x1042.google.com with SMTP id mm21so710301pjb.4 for ; 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=MPJ2GYopMjNlnz/TJ79hxxDtPmnG/0/VBCydAMZiuQ8vJNp9Am184bQi2C/Qppp/wX 7iyDezLKY6AQIYecAHZBAP/rlmVO+PcfyqpzJJU1w4fJbXCP1xXwa8KniIkABXAQCexb dtnztislU31mqt2cBvwyjC8xX7zA2r8Ym4EyO5BubmztFl0ZAHcK/ZD/7bZO8XgFBurE RpGbHhM0a8HRaFdvYG899bxUd1ZaWAXy4kk6QTOGVgDzIP7p7Hr6h9eso1S+O8NCvZ6w aMu6PXc/vzj6tupnHkSzwxHTxkDx6alChpMgMx70RZEYpCrPawf3vU93qAo39bGseUVE Ym+A== X-Gm-Message-State: AOAM533RQYnkS3+zYyMVH4EHjXEXb+cuGaNPNtoAVk3FUwca50vp+uz4 URmSpMJ+wDyApnwKgfiXrCA= 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 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> Message-ID-Hash: 63WFDY62M2UGRQ422XPOSJEGREHXYHFA X-Message-ID-Hash: 63WFDY62M2UGRQ422XPOSJEGREHXYHFA X-MailFrom: geliangtang@gmail.com X-Mailman-Rule-Hits: member-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address CC: Geliang Tang , netdev@vger.kernel.org, mptcp@lists.01.org, linux-kernel@vger.kernel.org X-Mailman-Version: 3.1.1 Precedence: list Subject: [MPTCP] [MPTCP][PATCH net-next 14/16] mptcp: add struct mptcp_pm_add_entry List-Id: Discussions regarding MPTCP upstreaming Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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)) {