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]
Date: Fri, 7 Jun 2024 13:00:20 +0200
From: Markus Elfring <Markus.Elfring@....de>
To: Louis Chauvet <louis.chauvet@...tlin.com>, Lizhi Hou <lizhi.hou@....com>,
 Brian Xu <brian.xu@....com>, Raj Kumar Rampelli
 <raj.kumar.rampelli@....com>, Vinod Koul <vkoul@...nel.org>,
 Michal Simek <michal.simek@....com>, dmaengine@...r.kernel.org,
 linux-arm-kernel@...ts.infradead.org
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [PATCH v2] dmaengine: xilinx: xdma: Fix data synchronisation in
 xdma_channel_isr()

> Requests the vchan lock before using xdma->stop_request.

Better wording alternative?:
  A data synchronisation construct was missing in this function implementation.
  Thus apply the vchan lock before checking the data structure
  member “xchan->stop_requested”.


> ---
>  drivers/dma/xilinx/xdma.c | 4 ++--

How do think about to avoid a duplicate marker line?


…
> +++ b/drivers/dma/xilinx/xdma.c
> @@ -885,11 +885,11 @@ static irqreturn_t xdma_channel_isr(int irq, void *dev_id)
>  	u32 st;
>  	bool repeat_tx;
>
> +	spin_lock(&xchan->vchan.lock);
> +
>  	if (xchan->stop_requested)
>  		complete(&xchan->last_interrupt);
>
> -	spin_lock(&xchan->vchan.lock);
> -
>  	/* get submitted request */
…

Under which circumstances will development interests grow for the usage of
a statement like “guard(raw_spinlock)(&xchan->vchan.lock);”?
https://elixir.bootlin.com/linux/v6.10-rc2/source/include/linux/cleanup.h#L124

Regards,
Markus

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ