From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 689723CEB8E for ; Fri, 5 Jun 2026 22:01:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780696916; cv=none; b=tl7nnH34Zzfs72xheEOC4t2PRjPOmdQCtsUL10S5dSFSYDElJ2CJEG//47FovEDQzJl4bVZLJtHsHxmdOTCt50OBs1qbffuF9Sf50MUF/iZejemTFUUDDzxDRu3+CWIIdgk6qeMWU1ex3jyqr53pTkE9PjDVeRz48hE6WjuUSxU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780696916; c=relaxed/simple; bh=Bg1Ph+IpxoVLkz/WKf4vXKiBL9F/M23vAU1d0u4X7c4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pfL+7/6oCi0TQfsqHooKL2ZpW+Z1bNxz0b8T/7oI2izeGT2UN2etOEswBtf+7L00i/MhGNPoObJbUnPlutrgkqVV22BBd70CVsbSoDpYiimWU6m8XPe6AAsYLbnALy8KuxYrbXmkn/JGb4i4bujAGo72Du1BunYv78ohCZTaboQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HyR4SK9/; arc=none smtp.client-ip=209.85.210.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HyR4SK9/" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-8423f420455so1088296b3a.3 for ; Fri, 05 Jun 2026 15:01:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780696915; x=1781301715; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=W3mpU00CFRN4T3ZBRPTrtzwzlNmgP77kODqdYKCW0Ak=; b=HyR4SK9/gqvpO9ZU+iEOl4UgLCLGsilp0aduHPXIH+9RsiofvtIlgEn17SnQ6Eovaj /7+LgrnJV4m0hfprf/cvCWOLq2B+DjQCb0dZZLpV/Q67TMP9Ku/zT7WHERPCTopc/fAD tOaIRSQQPlyLA88nGMa/PLsi18mLOeKA64wLFVZ1l4bmpOZI1ww+VfjrsRWNBuE7z5j3 G8gr5VbTPRUTnQDetAB1kKE1Rinn0/SgefijMrXC4caUlsj04yrGBqFNN3Ak/jDQNdkA JlzFq+9uk+1aVjMXHr3MUXwH2uE+IkJs4qswwYsC6Dspm0PXe56+snFowrTOnn6KWiRT CesA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780696915; x=1781301715; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=W3mpU00CFRN4T3ZBRPTrtzwzlNmgP77kODqdYKCW0Ak=; b=G/CSQiK17eLB3b5/5wQCAkijAaLqIz58eRwsbshQZN9WBI45wJhdeR5ZFlIbA7GeSg wWAFdxxprrxMqToN/Unko73+C56ijhBzTEWpP9ST+AAVrABkfIduV7jXHynXljR05FZz BoQfmytqBx5pUJbTiil0thgS0onW7Cwh7BtU3tKo5CRSie4v4LZPBV4uKq+8glS5VCDQ Zc4AasQuXoiXaw4WsOzOKV4UjWIOdNOeX+65dt31yj7lYviRXrHpHD+mZPIhYuwMJptm YNti3ptuEfyZ0AaB8Vr164DHs127bD5GFpf/Asr70HDO/32mW7xgU0re3gFkwTKySVcS eU6A== X-Forwarded-Encrypted: i=1; AFNElJ99wkj9Dwr8EEek1OHRVXW9F2g4H/0c56PBr7GhAdVCBijZ2Y2JGTQg49Rtlq3Pvdlx7b9n/2im9IWNRMo=@vger.kernel.org X-Gm-Message-State: AOJu0YxZlNPv1mDwxnr5JtdrhXIawVAcrpelGKmhA7m86ZR+F0JHPCYP DQSEAi5ojypvv/SJQVb7/zsKFI/PUlTNhSdxmgwWQrF/ypUNmf6pJ/cE X-Gm-Gg: Acq92OHye6sUIeoWZkWlqu2X6RN6Y7gkEbssb0svXikLghJXo4C5OY/bu+eRVvPag8c h2ggbsWjdtq6Ybq4sPb3GXivRHZQCDV1MtkqoPG5G3qdNUkd7eyQfqOt3zynoxP/gYJW9Aa81gN utYiHJzKNk8eaXTM0naOzX8AXhO+LaaE1woSgLt9u+FqIM8p/gjY9tbBIcg5+3q/+4SYLyLF3Yu 56QPURtVcTVDResRCxj/XTBRf/EekazCBf5nf/f/mOJwuu6i1//zn0rkoEnCIWQrhMinbWfGxSR Kn4O6ZdgQM3MkuDmc+GN4ZIAqgaPC+5K0wkfFyXLnoOZ48u0zHMnGpJYobcmDw3pGDj606frvm6 n+zrjuF6W4nTojLk5Q5WOuZtxT2AZRl/Q+hbiUmluz/N8Dd7TxjulzqNHk4n4O16N641b+ka/m/ 7rCf46iRM0QtHQiAlFppIoUxk6D7bAPEAlBMe9SY39vganplao6uCRW9if5GzoztfGSniFbP5T5 9BRM5Q7KqYrDhLfJj+iJqMZGNmz7cYEz3X32EqM8HDAEw== X-Received: by 2002:a05:6a00:32c7:b0:842:422b:259f with SMTP id d2e1a72fcca58-842b0e30c6dmr5022742b3a.10.1780696914650; Fri, 05 Jun 2026 15:01:54 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-842824a1cb4sm12518883b3a.26.2026.06.05.15.01.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Jun 2026 15:01:53 -0700 (PDT) From: Rosen Penev To: dmaengine@vger.kernel.org Cc: Vinod Koul , Frank Li , Zhang Wei , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt , linux-kernel@vger.kernel.org (open list), linuxppc-dev@lists.ozlabs.org (open list:FREESCALE DMA DRIVER), llvm@lists.linux.dev (open list:CLANG/LLVM BUILD SUPPORT:Keyword:\b(?i:clang|llvm)\b) Subject: [PATCH 01/10] dmaengine: fsldma: kill tasklet before removing channel Date: Fri, 5 Jun 2026 15:01:25 -0700 Message-ID: <20260605220134.43295-2-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260605220134.43295-1-rosenp@gmail.com> References: <20260605220134.43295-1-rosenp@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add tasklet_kill() in fsl_dma_chan_remove() to prevent a race where the tasklet, scheduled by the IRQ handler, runs after the channel has been torn down. With the recent devm conversions the channel struct is no longer freed in the remove path, so this is not a use-after-free crash fix, but rather correct shutdown sequencing to avoid the tasklet operating on a logically-removed channel. Assisted-by: opencode:big-pickle Signed-off-by: Rosen Penev --- drivers/dma/fsldma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index 22d62d958abd..0e2f84862261 100644 --- a/drivers/dma/fsldma.c +++ b/drivers/dma/fsldma.c @@ -1205,6 +1205,7 @@ static int fsl_dma_chan_probe(struct fsldma_device *fdev, static void fsl_dma_chan_remove(struct fsldma_chan *chan) { + tasklet_kill(&chan->tasklet); irq_dispose_mapping(chan->irq); list_del(&chan->common.device_node); iounmap(chan->regs); -- 2.54.0