From patchwork Sat Nov 5 06:00:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Rostedt X-Patchwork-Id: 15904 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp829422wru; Fri, 4 Nov 2022 23:03:38 -0700 (PDT) X-Google-Smtp-Source: AMsMyM62DLrG25yLbXuLo4T3YF54OSMb4WCzTPVuzRDzpP4M//JvBxm1A32+3nbF6WqPff4oM60z X-Received: by 2002:a63:4a26:0:b0:46f:7b0f:1a60 with SMTP id x38-20020a634a26000000b0046f7b0f1a60mr19573516pga.131.1667628217933; Fri, 04 Nov 2022 23:03:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667628217; cv=none; d=google.com; s=arc-20160816; b=mxHhjBdaQ7MYsGFG9Eho8h7kIoH6eHXqsTPzkY0cMV1ds0BrnpaS+vaX32z6kCtlOG +dBP944Y+B3wG4696o/NbKDMtRAhxMhqLB08h9H6aMR9IJ71EAZ+/t48xp+5CxWDQ09P o87DV9Bd72oij+ezsEOcfdIY8DEsp6pS8GbTdjD0UqUYskqTPpsO0BADEuuiZ5C8YtFh wdVAM8I/rajofZuOgDUpIOpuo8u7aZIt0rJ5raRXGFMe2q3i9milQ8NRoQIOaMsctNNj 8hyApDYCahU1xrrInIITOTH7LB5aW8gHP2GrwtXTqPiR2KSb0a2W2XrpYGJLNBVQQBfC 0/VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:subject:cc:to:from:date :user-agent:message-id; bh=Zc1wzz+5hD/3vq8JO26Hkbx8RqCHxE6rHABZUf06KKE=; b=UvaX6b604AJalkVC3c/wyj+E1mFGEfoyjveizlKHMxJ2AFTXncf4sgn4poBcBJ5OUb pA/+wxFyCfXnKNKgaA0hjTFiMJKXozptsTUPzCJbZXMe0XOITxW8MSNIx4Sbxig8sRL3 bN0KuG/wVrg00PUhBy9hV0/GxovbWwuEeLZtSoRI1jDSP+JixT6wO2ZF+B2pG58ZUHLC oIXAkwE0hS5FmAzR9uNlcXuD65dDIzFfIOTLH9qe2jO3S6g9Oy8YZk962jq1pqH5nesh pcHgdAGz2hrKLFL5XcrCezZj9M4HnknjAoX7rLXz7tX/TGDdEJo+s4qXl+Fd8APHiB51 fF0w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a10-20020a170902b58a00b00186dcc389a8si1786754pls.329.2022.11.04.23.03.25; Fri, 04 Nov 2022 23:03:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229902AbiKEGCn (ORCPT + 99 others); Sat, 5 Nov 2022 02:02:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229578AbiKEGBc (ORCPT ); Sat, 5 Nov 2022 02:01:32 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DB1C330F5F; Fri, 4 Nov 2022 23:01:30 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8683460A47; Sat, 5 Nov 2022 06:01:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 61DE5C43148; Sat, 5 Nov 2022 06:01:29 +0000 (UTC) Received: from rostedt by gandalf.local.home with local (Exim 4.96) (envelope-from ) id 1orCFh-007Omi-1s; Sat, 05 Nov 2022 02:01:57 -0400 Message-ID: <20221105060157.411823877@goodmis.org> User-Agent: quilt/0.66 Date: Sat, 05 Nov 2022 02:00:38 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Linus Torvalds , Thomas Gleixner , Stephen Boyd , Guenter Roeck , Anna-Maria Gleixner , Andrew Morton , Karsten Keil , netdev@vger.kernel.org Subject: [PATCH v4a 14/38] timers: mISDN: Use timer_shutdown_sync() before freeing timer References: <20221105060024.598488967@goodmis.org> MIME-Version: 1.0 X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748634926509234648?= X-GMAIL-MSGID: =?utf-8?q?1748634926509234648?= From: "Steven Rostedt (Google)" Before a timer is freed, timer_shutdown_sync() must be called, or at least timer_shutdown() (where sync is not possible in the context). Also remove the open coded "shutting down", and remove the unnecessary if statement of timer->function existing before calling timer_shutdown(). Link: https://lore.kernel.org/all/20221104054053.431922658@goodmis.org/ Cc: Karsten Keil Cc: netdev@vger.kernel.org Signed-off-by: Steven Rostedt (Google) --- drivers/isdn/hardware/mISDN/hfcmulti.c | 5 +---- drivers/isdn/mISDN/l1oip_core.c | 4 ++-- drivers/isdn/mISDN/timerdev.c | 4 ++-- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/isdn/hardware/mISDN/hfcmulti.c b/drivers/isdn/hardware/mISDN/hfcmulti.c index 4f7eaa17fb27..c7bb39c6b826 100644 --- a/drivers/isdn/hardware/mISDN/hfcmulti.c +++ b/drivers/isdn/hardware/mISDN/hfcmulti.c @@ -4543,10 +4543,7 @@ release_port(struct hfc_multi *hc, struct dchannel *dch) spin_lock_irqsave(&hc->lock, flags); - if (dch->timer.function) { - del_timer(&dch->timer); - dch->timer.function = NULL; - } + timer_shutdown(&dch->timer); if (hc->ctype == HFC_TYPE_E1) { /* E1 */ /* remove sync */ diff --git a/drivers/isdn/mISDN/l1oip_core.c b/drivers/isdn/mISDN/l1oip_core.c index a77195e378b7..182e3f489c60 100644 --- a/drivers/isdn/mISDN/l1oip_core.c +++ b/drivers/isdn/mISDN/l1oip_core.c @@ -1236,8 +1236,8 @@ release_card(struct l1oip *hc) hc->shutdown = true; - del_timer_sync(&hc->keep_tl); - del_timer_sync(&hc->timeout_tl); + timer_shutdown_sync(&hc->keep_tl); + timer_shutdown_sync(&hc->timeout_tl); cancel_work_sync(&hc->workq); diff --git a/drivers/isdn/mISDN/timerdev.c b/drivers/isdn/mISDN/timerdev.c index abdf36ac3bee..83d6b484d3c6 100644 --- a/drivers/isdn/mISDN/timerdev.c +++ b/drivers/isdn/mISDN/timerdev.c @@ -74,7 +74,7 @@ mISDN_close(struct inode *ino, struct file *filep) while (!list_empty(list)) { timer = list_first_entry(list, struct mISDNtimer, list); spin_unlock_irq(&dev->lock); - del_timer_sync(&timer->tl); + timer_shutdown_sync(&timer->tl); spin_lock_irq(&dev->lock); /* it might have been moved to ->expired */ list_del(&timer->list); @@ -204,7 +204,7 @@ misdn_del_timer(struct mISDNtimerdev *dev, int id) list_del_init(&timer->list); timer->id = -1; spin_unlock_irq(&dev->lock); - del_timer_sync(&timer->tl); + timer_shutdown_sync(&timer->tl); kfree(timer); return id; }