Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp828399pxk; Wed, 23 Sep 2020 18:09:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw7uVxzpiI+8LreKE4bQn0KZWZOm+EjEg60cHqvdIy5xxtTR4W9iU36ZC6GcZphXLMS7aJp X-Received: by 2002:aa7:cb8f:: with SMTP id r15mr2128595edt.356.1600909758483; Wed, 23 Sep 2020 18:09:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600909758; cv=none; d=google.com; s=arc-20160816; b=PQ0ZqT3ITJptfZvTqy1B0ZMZPdIcTaNTfnVr6vLv+7HzvX8MuhkUuNzs7COtgeKHZy QUc3xUzSJNtARnhIqEeF1ZiOIopXWzw0ouUxAAmAGd6YtvcMbNASnG/UdoKR/bvJOz5U NYY/JoyhcE9KxLY2KXoM7ZFn7jzMWXEQGG/NrdyZKR1gkC8abQVPfW9+kzQq/9X7UIkD ZNYi2WY/wgQQizgWkjQV6rTh+d3FQv0NVezt0h5cSgitrPCotZ7tIxOpK4TOozDAg1qN Jkndw/wsbN2gV3iPQ2rlgl/+0MrK+FDtNgnCotRpz5uh7QluD2FF6Pm/wXJfanUF4UjK cAvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=AtzU9j2IVKPI1js+HfqCYbfNPkUBuxHykiGDefT3GX4=; b=wKq22mqCy3pC28SFfu46cUznSG7WNDKss8EfxVJp7b3wS5VDdEVDrxLZze24TGAgnb qkeaHPdMyOmWcV1hrXKZzm55RH14ZfyA2rjtyGFr0PKW07/Nrnda15ZgZ8d4U8LRzhzR 4LNXGCeAGDy1a7VaKXiySKzctTuWHAv8s2qcRBcQlDBXDO5rl1LhFswYFiIS/14joRH0 yuJB14KMMo/XhX4dA5rhqSdMelUOj6rUaWA2Dok/vvrPkgyROdhf3DQUiZKQSUVzajac R8hRKFo1QFSo1FXWb1nXrmKgSEr/qpg/satb1O0GFT3A09ATCFJeJBu94qXZ0sCIG1AM PxIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tlGitdO2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id by16si1062218edb.294.2020.09.23.18.08.55; Wed, 23 Sep 2020 18:09:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tlGitdO2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726796AbgIXBGC (ORCPT + 99 others); Wed, 23 Sep 2020 21:06:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46938 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726466AbgIXBGC (ORCPT ); Wed, 23 Sep 2020 21:06:02 -0400 Received: from mail-pl1-x641.google.com (mail-pl1-x641.google.com [IPv6:2607:f8b0:4864:20::641]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 25137C0613CE; Wed, 23 Sep 2020 18:06:02 -0700 (PDT) Received: by mail-pl1-x641.google.com with SMTP id e4so698542pln.10; Wed, 23 Sep 2020 18:06:02 -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=AtzU9j2IVKPI1js+HfqCYbfNPkUBuxHykiGDefT3GX4=; b=tlGitdO2MdhbIvIfljqNkujgc77+mZ/rDuACm9Pw+TDpnga+QqD58kEGNEcC+7J+DW iCGzb0YwBIISAouUMK9OVbp9dFTMJARdNZwchjhhezUgvyquOjNc2KhelP6aSXxHQSqW bulNiXbjqj6pg6/nCiOioL77TDowQs17hJhGrmgVB0Nsv6C2BaND6rkdT+rO3Y1vR7J3 S8+khNZAgmVKLAHnBrITnfmID6w0UlhSWM9zN5Pv8FtHuNtUydd+VZxIKRC0xusdWPDb C3RS+Qb5RISTu01JOItRWFR9Os57gVMlWJhASKYwSGD+imJC9XrDBjA5NEqF/KuRDYO5 wl5Q== 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=AtzU9j2IVKPI1js+HfqCYbfNPkUBuxHykiGDefT3GX4=; b=DQMriBOLK5YayClYNSHDS5ziX0GM+f6DBYTq3+vAfAeaPYKu0388v6kpN592aJqhrs n5hEQou7QwcCwmSLrBeAsztKgOZK75T3swvrYBH5gyeifZ4p7RBddXn+iqU/7HE3kT7l x95oy5T7XaDL1pbmik8ZboEjX7E8kU4UQJIOxN8EuhnG3fBvl1UDzf1w5c24sM+JoXGm t6JeEkEbVzHdG1XzgExj4X1EvB0DGqGzGaQ3QwGUjsASpPemjgmYDXWUf8pB3/GyPj/w GyYT8kEWGSBc1dSGMYVeiQLN7joWMLMoS8dVsE/iKTZ4QuY02gMFbi3PHgt8ug3MUIB9 zGuw== X-Gm-Message-State: AOAM53308hMzHycb9NslhigNv7hoeg+jlv2BxsTBbuCROdvnj0KCiqLo PvCXbQU+EOLX4XlXwu2inIo= X-Received: by 2002:a17:90b:510:: with SMTP id r16mr1707948pjz.75.1600909561763; Wed, 23 Sep 2020 18:06:01 -0700 (PDT) Received: from localhost ([43.224.245.180]) by smtp.gmail.com with ESMTPSA id n21sm901910pgl.7.2020.09.23.18.06.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Sep 2020 18:06:01 -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 15/16] mptcp: add sk_stop_timer_sync helper Date: Thu, 24 Sep 2020 08:30:01 +0800 Message-Id: <31247220b62d6759de9eb91b841be449714b9d69.1600853093.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: <26617b54898c115de8d916633b8e42055ed5c678.1600853093.git.geliangtang@gmail.com> 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> <26617b54898c115de8d916633b8e42055ed5c678.1600853093.git.geliangtang@gmail.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch added a new helper sk_stop_timer_sync, it deactivates a timer like sk_stop_timer, but waits for the handler to finish. Acked-by: Paolo Abeni Signed-off-by: Geliang Tang --- include/net/sock.h | 2 ++ net/core/sock.c | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/include/net/sock.h b/include/net/sock.h index eaa5cac5e836..a5c6ae78df77 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -2195,6 +2195,8 @@ void sk_reset_timer(struct sock *sk, struct timer_list *timer, void sk_stop_timer(struct sock *sk, struct timer_list *timer); +void sk_stop_timer_sync(struct sock *sk, struct timer_list *timer); + int __sk_queue_drop_skb(struct sock *sk, struct sk_buff_head *sk_queue, struct sk_buff *skb, unsigned int flags, void (*destructor)(struct sock *sk, diff --git a/net/core/sock.c b/net/core/sock.c index ba9e7d91e2ef..d9a537e6876a 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -2947,6 +2947,13 @@ void sk_stop_timer(struct sock *sk, struct timer_list* timer) } EXPORT_SYMBOL(sk_stop_timer); +void sk_stop_timer_sync(struct sock *sk, struct timer_list *timer) +{ + if (del_timer_sync(timer)) + __sock_put(sk); +} +EXPORT_SYMBOL(sk_stop_timer_sync); + void sock_init_data(struct socket *sock, struct sock *sk) { sk_init_common(sk); -- 2.17.1