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:	Tue, 6 Jan 2015 01:42:46 +0100
From:	Nicholas Mc Guire <der.herr@...r.at>
To:	"Jiang, Dave" <dave.jiang@...el.com>
Cc:	"Williams, Dan J" <dan.j.williams@...el.com>,
	"dmaengine@...r.kernel.org" <dmaengine@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"rashika.kheria@...il.com" <rashika.kheria@...il.com>,
	"Koul, Vinod" <vinod.koul@...el.com>,
	"prarit@...hat.com" <prarit@...hat.com>,
	"josh@...htriplett.org" <josh@...htriplett.org>
Subject: Re: [PATCH] ioat: fail self-test if wait_for_completion times out

On Mon, 05 Jan 2015, Jiang, Dave wrote:

> 
> 
> 
> On Sun, 2014-12-28 at 10:37 +0000, Nicholas Mc Guire wrote:
> > wait_for_completion_timeout reaching timeout was being ignored,
> > fail the self-test if timeout condition occurs.
> > 
> > Not sure about the indentations used (CodingStyle:Chapter 2)
> > 
> > this was only compile tested with
> > x86_64_defconfig + CONFIG_DMA_ENGINE=y + CONFIG_INTEL_IOATDMA=y
> > 
> > patch is against linux-next 3.19.0-rc1 -next-20141226
> > 
> > Signed-off-by: Nicholas Mc Guire <der.herr@...r.at>
> > ---
> >  drivers/dma/ioat/dma_v3.c |    9 ++++++---
> >  1 file changed, 6 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/dma/ioat/dma_v3.c b/drivers/dma/ioat/dma_v3.c
> > index be307182..0659215 100644
> > --- a/drivers/dma/ioat/dma_v3.c
> > +++ b/drivers/dma/ioat/dma_v3.c
> > @@ -1311,7 +1311,8 @@ static int ioat_xor_val_self_test(struct ioatdma_device *device)
> > 
> >  	tmo = wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000));
> > 
> > -	if (dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
> > +	if (tmo == 0 || dma->device_tx_status(dma_chan, cookie, NULL)
> > +			!= DMA_COMPLETE) {
> >  		dev_err(dev, "Self-test xor timed out\n");
> >  		err = -ENODEV;
> >  		goto dma_unmap;
> > @@ -1377,7 +1378,8 @@ static int ioat_xor_val_self_test(struct ioatdma_device *device)
> > 
> >  	tmo = wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000));
> > 
> > -	if (dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
> > +	if (tmo == 0 || dma->device_tx_status(dma_chan, cookie, NULL)
> > +			!= DMA_COMPLETE) {
> 
> Can you please do: 
> +	if (tmo == 0 ||
> +	    dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {

Documentation/CodingStyle:Chapter 2

"Statements longer than 80 columns will be broken into sensible chunks, unless
exceeding 80 columns significantly increases readability and does not hide
information. Descendants are always substantially shorter than the parent and
are placed substantially to the right. The same applies to function headers..."

am I misreading the CodingStyle here ?

> 
> Otherwise it looks good. Although I've never hit that error condition either. 
> 
> >  		dev_err(dev, "Self-test validate timed out\n");
> >  		err = -ENODEV;
> >  		goto dma_unmap;
> > @@ -1429,7 +1431,8 @@ static int ioat_xor_val_self_test(struct ioatdma_device *device)
> > 
> >  	tmo = wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000));
> > 
> > -	if (dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
> > +	if (tmo == 0 || dma->device_tx_status(dma_chan, cookie, NULL)
> > +			!= DMA_COMPLETE) {
> >  		dev_err(dev, "Self-test 2nd validate timed out\n");
> >  		err = -ENODEV;
> >  		goto dma_unmap;
> > --
> > 1.7.10.4
> > 

thx!
hofrat
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ