From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: Re: [Xen-devel] [PATCH 3/3] xen/blkback: Check for insane amounts of request on the ring. Date: Mon, 28 Jan 2013 11:38:50 +0000 Message-ID: <5106634A.2000308@citrix.com> References: <1359135152-30688-1-git-send-email-konrad.wilk@oracle.com> <1359135152-30688-4-git-send-email-konrad.wilk@oracle.com> <20130125184323.GC1384@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20130125184323.GC1384@phenom.dumpdata.com> Sender: stable-owner@vger.kernel.org To: Konrad Rzeszutek Wilk Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xensource.com, Konrad Rzeszutek Wilk , stable@vger.kernel.org List-Id: xen-devel@lists.xenproject.org On 25/01/13 18:43, Konrad Rzeszutek Wilk wrote: > > Check that the ring does not have an insane amount of requests > (more than there could fit on the ring). [...] > --- a/drivers/block/xen-blkback/blkback.c > +++ b/drivers/block/xen-blkback/blkback.c [...] > @@ -415,8 +415,12 @@ int xen_blkif_schedule(void *arg) > blkif->waiting_reqs = 0; > smp_mb(); /* clear flag *before* checking for work */ > > - if (do_block_io_op(blkif)) > + rc = do_block_io_op(blkif); > + if (rc > 0) > blkif->waiting_reqs = 1; > + if (rc == -EACCES) > + wait_event_interruptible(blkif->shutdown_wq, > + kthread_should_stop()); So if this happens then the backend silently stops processing any further requests? I think it should print an error and disconnect from the front end. David