Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp2074988ybt; Thu, 2 Jul 2020 23:33:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwepSqvl1S9CS61OMiiFSIHn7+BEZIgeCCnhcIStJMwQ2t64fhZpHLD8tXML8KyH7+dQ6bG X-Received: by 2002:a05:6402:1605:: with SMTP id f5mr41122574edv.8.1593758001984; Thu, 02 Jul 2020 23:33:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593758001; cv=none; d=google.com; s=arc-20160816; b=FeFbntoJerL4Hfs/MUt+FYCdJnFNAwzIBhPgn7+MP+rHru1WgWCDQ9B+nYlv5L0bi1 MQ6nhkRR5Lf7DuC/qPVdY4xuxkLUtZBndxunYcOzeM0Sj/7mChSXGVnkDxp49QSHhVs5 aPgjDpZ4IYHUW4JaxjIfaWyU532ZPoVPeaP7ahj9fpySr3l2FrC22HLxe6jtYQwzrcXr Tqu8ehzxJqx6ezsEcNvQDZRfRyyvcc/f42QTu7XKAywoltKfGg8uHJUDcCAQ/SQvTE1q ZeAtaFD9NaRGPgYk4DkbVs+mgzoZd2Ctr9Omfh4gnRyiZUHKDCE87axtFeliA4BQm1Ts dN0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=hMSgEx/Gz+NhqU8RP7pcVdhkp9p4rUWgL3BRnNHqilI=; b=j8S9TOjILbmpeMFTpnwwOXyMzROB27ZLbNwmI1V3YTYDgqY6KuLLn+xNmAtS74g6oF N1GyKDD9RmQr5yNvvR2RL41fIvd5ibFkaeJD5cdqIvaz8xXmBaBJdbq2bFcFy575eOng wFvsLPbsBiQ8kfC9ZkfxAGGKw1rghjA+mXhwCh1BBb73Z8DtXt+6CbYZ2xaGwsa5x5I3 LCrZ9iAatWtQDbapzRdK3Re1ZNUeLDZx6HM4/YCisDuoX64mQWtxfYsOUtnDOfBXTINc uHViR/pTaurdj5XoM55kf4kKvSD7SUMKJhRku3cEnIaR0Ie/p1nuuiofRXU1T9VzcGkL ePlw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h20si7485209edr.281.2020.07.02.23.32.59; Thu, 02 Jul 2020 23:33:21 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725949AbgGCGah (ORCPT + 99 others); Fri, 3 Jul 2020 02:30:37 -0400 Received: from mail1.windriver.com ([147.11.146.13]:59254 "EHLO mail1.windriver.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725764AbgGCGah (ORCPT ); Fri, 3 Jul 2020 02:30:37 -0400 Received: from ALA-HCB.corp.ad.wrs.com (ala-hcb.corp.ad.wrs.com [147.11.189.41]) by mail1.windriver.com (8.15.2/8.15.2) with ESMTPS id 0636U2bb024467 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 2 Jul 2020 23:30:03 -0700 (PDT) Received: from pek-lpg-core1-vm1.wrs.com (128.224.156.106) by ALA-HCB.corp.ad.wrs.com (147.11.189.41) with Microsoft SMTP Server id 14.3.487.0; Thu, 2 Jul 2020 23:29:44 -0700 From: To: , , , , , CC: Subject: [PATCH] kthread: Don't cancel a work that is being cancelled Date: Thu, 2 Jul 2020 12:43:24 +0800 Message-ID: <20200702044324.32927-1-qiang.zhang@windriver.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Zhang Qiang When canceling a work, if it is found that the work is in the cancelling state, we should directly exit the cancelled operation. Signed-off-by: Zhang Qiang --- kernel/kthread.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/kthread.c b/kernel/kthread.c index bfbfa481be3a..1166f2043e67 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c @@ -1103,6 +1103,9 @@ static bool __kthread_cancel_work_sync(struct kthread_work *work, bool is_dwork) /* Work must not be used with >1 worker, see kthread_queue_work(). */ WARN_ON_ONCE(work->worker != worker); + if (work->canceling) + goto out_fast; + ret = __kthread_cancel_work(work, is_dwork, &flags); if (worker->current_work != work) -- 2.24.1