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:	Wed, 17 Sep 2014 18:48:50 +0200
From:	Christoph Hellwig <hch@....de>
To:	Ming Lei <ming.lei@...onical.com>
Cc:	Jens Axboe <axboe@...nel.dk>, linux-kernel@...r.kernel.org,
	Christoph Hellwig <hch@....de>,
	Ming Lei <ming.lei@...oical.com>
Subject: Re: [PATCH 2/2] blk-mq: remove unnecessary blk_clear_rq_complete()

On Wed, Sep 17, 2014 at 05:47:58PM +0800, Ming Lei wrote:
> From: Ming Lei <ming.lei@...oical.com>
> 
> This patch removes two unnecessary blk_clear_rq_complete(),
> the REQ_ATOM_COMPLETE flag is cleared inside blk_mq_start_request(),
> so:
> 
> 	- The blk_clear_rq_complete() in blk_flush_restore_request()
> 	needn't because the request will be freed later, and clearing
> 	it here may open a small race window with timeout.

This one is defintively correct, blk_mq_end_io should take care of this.

> 	- The blk_clear_rq_complete() in blk_mq_requeue_request() isn't
> 	necessary too, even though REQ_ATOM_STARTED is cleared in
> 	__blk_mq_requeue_request(), in theory it still may cause a small
> 	race window with timeout since the two clear_bit() may be
> 	reordered.

Why yo you think it's not nessecary?  The request is not in the drivers
hand at this point, so it should not be marked started.  Maybe I'm missing
something, but this sounds like it could very likely cause regressions.

--
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