lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <829601a5-f39e-43a1-bec5-80195a8833da@deltatee.com>
Date: Fri, 6 Feb 2026 11:43:59 -0700
From: Logan Gunthorpe <logang@...tatee.com>
To: Pat Somaru <patso@...ewhatevs.io>, Tejun Heo <tj@...nel.org>,
 Vinod Koul <vkoul@...nel.org>
Cc: dmaengine@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] dma: plx_dma: Convert from tasklet to BH workqueue



On 2026-02-06 2:00 a.m., Pat Somaru wrote:
> The only generic interface to execute asynchronously in the BH context
> is tasklet; however, it's marked deprecated and has some design flaws
> such as the execution code accessing the tasklet item after the
> execution is complete which can lead to subtle use-after-free in certain
> usage scenarios and less-developed flush and cancel mechanisms.
> 
> To replace tasklets, BH workqueue support was recently added. A BH
> workqueue behaves similarly to regular workqueues except that the queued
> work items are executed in the BH context.
> 
> This patch converts drivers/dma/plx_dma.c from tasklet to BH workqueue.
> 
> The PLX DMA driver uses a single tasklet to process completed DMA
> descriptors in BH context after an interrupt signals descriptor
> completion. This conversion maintains the same execution semantics while
> using the modern BH workqueue infrastructure.
> 
> This patch was tested by:
>     - Building with allmodconfig: no new warnings (compared to v6.18)
>     - Building with allyesconfig: no new warnings (compared to v6.18)
>     - Booting defconfig kernel via vng and running `uname -a`:
>     Linux virtme-ng 6.18.0-virtme #1 SMP PREEMPT_DYNAMIC 0 x86_64 GNU/Linux
> 
> Semantically, this is an equivalent conversion and there shouldn't be
> any user-visible behavior changes. The BH workqueue implementation uses
> the same softirq infrastructure, and performance-critical networking
> conversions have shown no measurable performance impact.
> 
> Maintainers can apply this directly to the DMA subsystem tree or ack it
> for the workqueue tree to carry.
> 
> Signed-off-by: Pat Somaru <patso@...ewhatevs.io>

Looks good to me, thanks!

Reviewed-by: Logan Gunthorpe <logang@...tatee.com>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ