From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kamala Narasimhan Subject: Re: [PATCH] xl: Perform minimal validation of virtual disk file while parsing config file Date: Mon, 24 Jan 2011 09:18:01 -0500 Message-ID: <4D3D8A19.6020603@gmail.com> References: <1294995912.8240.86.camel@zakaz.uk.xensource.com> <1295024348.12018.222.camel@qabil.uk.xensource.com> <1295532296.12018.337.camel@qabil.uk.xensource.com> <19768.22912.878633.622270@mariner.uk.xensource.com> <19769.31094.274199.464586@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <19769.31094.274199.464586@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Jackson Cc: Ian Campbell , "xen-devel@lists.xensource.com" , Gianni Tedesco , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org I am resending this with tweaks though I am not sure if you plan to accept it for 4.1. Hopefully there is no word wrapping issues etc. Signed-off-by: Kamala Narasimhan Kamala diff -r fe8a177ae9cb tools/libxl/libxl.c --- a/tools/libxl/libxl.c Wed Jan 19 15:29:04 2011 +0000 +++ b/tools/libxl/libxl.c Sun Jan 23 12:42:21 2011 -0500 @@ -40,11 +40,19 @@ int libxl_ctx_init(libxl_ctx *ctx, int version, xentoollog_logger *lg) { + struct stat stat_buf; + if (version != LIBXL_VERSION) return ERROR_VERSION; memset(ctx, 0, sizeof(libxl_ctx)); ctx->lg = lg; memset(&ctx->version_info, 0, sizeof(libxl_version_info)); + + if ( stat(XENSTORE_PID_FILE, &stat_buf) != 0 ) { + LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "Is xenstore daemon running?\n" + "failed to stat %s", XENSTORE_PID_FILE); + return ERROR_FAIL; + } ctx->xch = xc_interface_open(lg,lg,0); if (!ctx->xch) { diff -r fe8a177ae9cb tools/libxl/libxl_internal.h --- a/tools/libxl/libxl_internal.h Wed Jan 19 15:29:04 2011 +0000 +++ b/tools/libxl/libxl_internal.h Sun Jan 23 12:42:21 2011 -0500 @@ -104,6 +104,7 @@ typedef struct { #define AUTO_PHP_SLOT 0x100 #define SYSFS_PCI_DEV "/sys/bus/pci/devices" #define SYSFS_PCIBACK_DRIVER "/sys/bus/pci/drivers/pciback" +#define XENSTORE_PID_FILE "/var/run/xenstore.pid" #define PROC_PCI_NUM_RESOURCES 7 #define PCI_BAR_IO 0x01