WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] Make xenstored EOF-safe

To: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Make xenstored EOF-safe
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Wed, 28 Nov 2007 03:34:07 +0000
Delivery-date: Tue, 27 Nov 2007 19:35:02 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20071127150012.GA17443@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acgxb4fTxoDvaJ1iEdyY7wAX8io7RQ==
Thread-topic: [Xen-devel] [PATCH] Make xenstored EOF-safe
User-agent: Microsoft-Entourage/11.3.6.070618
Xen-unstable 15643 introduced this bug, but it should have been fixed
satisfactorily by 15644 I think? The idea being that the read hook function
is responsible for turning EOF into an explicit error with rc==-1.

 -- Keir

On 27/11/07 15:00, "Samuel Thibault" <samuel.thibault@xxxxxxxxxxxxx> wrote:

> As bug 968 suggests, xenstored must properly handle EOF from clients.
> 
> From: Pavel Kankovsky <peak@xxxxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxx>
> 
> diff -r 6fd17d0dcbcd tools/xenstore/xenstored_core.c
> --- a/tools/xenstore/xenstored_core.c Tue Nov 27 12:49:16 2007 +0000
> +++ b/tools/xenstore/xenstored_core.c Tue Nov 27 14:56:35 2007 +0000
> @@ -1266,7 +1266,7 @@ static void handle_input(struct connecti
> if (in->inhdr) {
> bytes = conn->read(conn, in->hdr.raw + in->used,
>   sizeof(in->hdr) - in->used);
> -  if (bytes < 0)
> +  if (bytes <= 0)
> goto bad_client;
> in->used += bytes;
> if (in->used != sizeof(in->hdr))
> @@ -1288,7 +1288,7 @@ static void handle_input(struct connecti
>  
> bytes = conn->read(conn, in->buffer + in->used,
>   in->hdr.msg.len - in->used);
> - if (bytes < 0)
> + if (bytes <= 0)
> goto bad_client;
>  
> in->used += bytes;
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>