From patchwork Fri May 13 19:36:56 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Suthikulpanit, Suravee" X-Patchwork-Id: 67798 Delivered-To: patch@linaro.org Received: by 10.140.92.199 with SMTP id b65csp430272qge; Fri, 13 May 2016 12:39:00 -0700 (PDT) X-Received: by 10.31.162.203 with SMTP id l194mr8809900vke.116.1463168340820; Fri, 13 May 2016 12:39:00 -0700 (PDT) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id c10si5735628vkf.59.2016.05.13.12.39.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 May 2016 12:39:00 -0700 (PDT) Received-SPF: neutral (google.com: 192.237.175.120 is neither permitted nor denied by best guess record for domain of xen-devel-bounces@lists.xen.org) client-ip=192.237.175.120; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@amdcloud.onmicrosoft.com; spf=neutral (google.com: 192.237.175.120 is neither permitted nor denied by best guess record for domain of xen-devel-bounces@lists.xen.org) smtp.mailfrom=xen-devel-bounces@lists.xen.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b1Itt-00060V-9q; Fri, 13 May 2016 19:37:29 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b1Itr-00060N-SA for xen-devel@lists.xen.org; Fri, 13 May 2016 19:37:27 +0000 Received: from [85.158.137.68] by server-10.bemta-3.messagelabs.com id 77/3A-03002-6FC26375; Fri, 13 May 2016 19:37:26 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrFKsWRWlGSWpSXmKPExsUy1yIvQvebjlm 4wa2vghZLPi5mcWD0OLr7N1MAYxRrZl5SfkUCa8aZa6wF27gqOidMYm9gfMzRxcjFwSLQziyx fM5qVhCHUaCfUWLPtiMsII6QwCFGidUdT9i6GDk52ARUJZbe3ccOYosI+EnM3NPNDFLELNDLK DHr+ERGkISwgLPEg/ZHYDYLUMOte6fBbF4BX4nNn9pYQWwJATmJk8cmg9mcQIOabp0FWyAEVP P8VytUvaDEyZlPWEBsZgEJiYMvXjBD9CpIbP/+nQ1ksYRAG6PEwj3XGSGatSQuHznIBlHkK/H sWCtU0XI2iXtr9wBN4gBy3CTu39OBqLnILtH2MRrCzpH4vGc/O4StJbHu6kdmiN6djBJXtzyB 2iwjsezfb1aIxFQWia9tG6CqrnBJ3J/+EKr9A6vEt0vxELaExPzTjcwQm/0lDs5RgwgbSbz7t wAaFA4Sl+7PZJ3AqDALydezkHy9gJFpFaN6cWpRWWqRroleUlFmekZJbmJmjq6hgbFebmpxcW J6ak5iUrFecn7uJkZgOmAAgh2MjV+cDjFKcjApifIyaZuFC/El5adUZiQWZ8QXleakFh9ilOH gUJLgfQiSEyxKTU+tSMvMASYmmLQEB4+SCK8jMDkJ8RYXJOYWZ6ZDpE4x6nJcmHpvLZMQS15+ XqqUOO89kBkCIEUZpXlwI2BJ8hKjrJQwLyPQUUI8BalFuZklqPKvGMU5GJWEeQVBVvFk5pXAb XoFdAQT0BHV141AjihJREhJNTBOfJj6Q7b65Q3vpcE2+ZF6b1g4Y9c+eSy37c2z1Pj4tSs9lS bsvdt1xv3A2hyDyWfOv5xReapjh+mn8hO1Moxyd/jitE8F9T+vXsk9Wzv52uV7W8/x6zdXPhT OZo5RX2u/OFj11JyPX1apv7yQrLWg/gfLev7r3PYHZjK8+37BfbpykkrP0pIpSizFGYmGWsxF xYkA9YsjpY0DAAA= X-Env-Sender: Suravee.Suthikulpanit@amd.com X-Msg-Ref: server-6.tower-31.messagelabs.com!1463168245!13796063!1 X-Originating-IP: [157.56.110.88] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 8.34; banners=-,-,- X-VirusChecked: Checked Received: (qmail 32602 invoked from network); 13 May 2016 19:37:26 -0000 Received: from mail-bn1on0088.outbound.protection.outlook.com (HELO na01-bn1-obe.outbound.protection.outlook.com) (157.56.110.88) by server-6.tower-31.messagelabs.com with AES256-SHA256 encrypted SMTP; 13 May 2016 19:37:26 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=W1cHOYf7MQcVE9l4wV2PGvTyHH4gjplU6uEMDoTuFsc=; b=K1/9c6MY9wKO/C1mubaSqhqgsSrqrgNZb1nN0Lfe7dzKw1hXm9tpiUxHPzv5PFWffE7N4K4QpcpAVyH0L90+QGzqzVDQB72vqjS7rMUVCR0X6Xe/ur/lRo5OYPcYKcvFEWf8r+8yvyIvctvgKMF2EEuJVierUn7stjScvXkF550= Received: from ssuthiku-cz-dev.amd.com (165.204.77.1) by BLUPR12MB0434.namprd12.prod.outlook.com (10.162.92.14) with Microsoft SMTP Server (TLS) id 15.1.492.11; Fri, 13 May 2016 19:37:17 +0000 From: To: , , Date: Fri, 13 May 2016 14:36:56 -0500 Message-ID: <1463168217-16080-2-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1463168217-16080-1-git-send-email-suravee.suthikulpanit@amd.com> References: <1463168217-16080-1-git-send-email-suravee.suthikulpanit@amd.com> MIME-Version: 1.0 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: SN1PR07CA0001.namprd07.prod.outlook.com (10.162.170.139) To BLUPR12MB0434.namprd12.prod.outlook.com (10.162.92.14) X-MS-Office365-Filtering-Correlation-Id: a91d42c1-27cf-4282-acc0-08d37b660192 X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0434; 2:u9VjdaOpIT9+JJcF+YYYkBMoAI96+89IVdzUjAb9pWbhEaufKT6IgcrvGFG8GM3q7E4I/Moh/vPj5z4I4hE9TPR0Hxdp/73yXy+ZqLmBlhjpHOq9mW0K+M3CPxQmUAcEIM8yEff1Bo2clY1tCscG4JcTR9N3qIjVNSjKp72pErpnB/527wJaoGotTmtHtdDm; 3:cMOesGJkzAm8+14f3wcwuzUQgV6r7zK2C/nWehT6/kUGQWDJzqyz/mjIdeCm4xzg4WIDOq/OzfX0QMvgBkV6vuxdlSmuQOjq+7Np8i7+8Wk9hh65U5qh35H21N8NAYgJ; 25:P+93ELLCA0ar/qWvfra24e8f3fp6zuwxhSCGw9FGyXIxMxpfkDA4WgDsqdpwAt66B3Mmfa4JwN1ExLA0/0zuffN+vkGzPBqRg1DDMzZt94HjzIsCQgM8Tp7k62rLx9bdQfDXzaIr0k995/kII+BehmuEEBR/04Oo8+Rwwwb1/fKGTIp8S9wh6C195bnLr+5AS2lBq2TnTSODPYMg7XOzKdBVTdWU9KF0wZEOoXcPmogDKJLS/S8u7wr0BYThNZcfNsdQ1U4BVIYUovMLBaW0PP9SEsrIDfNvBlFksTsF1mJAGCEgxEH4STkcGn0VCFYfX7g5AIcmtebR4KaFdIJLbyJvBrPnPL5cAyV9JO8mX6NkDfYXcqf+ljzJdJJoNNri8IGxhdzY97B068v1O+kMsiQDjJZPbms5mbJrKC6hVwk= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR12MB0434; X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0434; 20:tjDytgpJr2UIZAbufV4JzHLccKaavYJtgOR6zuTUQrjdtLdtDBL82edOoZeeuNluNDCKPs25H7qnAqsiEe22cAnUzUVZ89gXzemRsKSbHqXnp3U1hD2McwBXuOPUk+n9eNNgjScnAFYp2omoawNGC/gN+GeGSB27j8mRzfd1edt1auowAEB8TTJNvxjuRBQMtdg8hZv6tmXoVYFQnbU6puSNKmlmQNexTef/SFLfR7F1ehz+NcP+9RqG2jpfGC4Zrv3eEsX6p//wYp9T7gJz3KXcRC2x5fpH+xE9/8KgNdSrRkSTejpX78LBjWIP5bGuEnSU0d0Ca4uJ49u4cPAj0lu02eq4BbLIVjdgUDSUefSR9K6CSUVEBR6SSZoO40hrtRmCTbv3LnxnjCxYFxKcd5GeWqKhaXpmlTrznqK+HKrQLcolKjtwsTQ7c8hTsIiDb6ndZB2KRk2BzrzLkcAug2zcqCEnA1PhNfSFU08w7LdsMzLSeFJsSR9dLZvHk6qr; 4:Y/hgIPKicOb6JE/4XOFqvGwOmyutjcplp8mqrG05VUBrIzdzXkkmWAK/FkMn4seImekggsPw1ne9HIOJkVI/k3Oz9L2KrXz4U7uV/2YvCjY34PApN13Fc47JntTONFVEdmx5r1WW1T4ghEjo9JNSHHL0CqT1SRCXaxtvZ/8eHEUBs9Stkuv8hc6ZKX6hnYi0wYpnk6CFZVftdAxLBT9JzqeTnfwePTT2dzwerqi0lgS4WazGbnn6sq2Az0X2qKUyCtbsgfUVcjYLmSiLlp/zH0QyjWqfuTdox3Lk/a6zIz2AeITzd97O0m/vM27viO85THb1hITFE/FyiJcs70WYWG28gkA2wlILuyfApsZHivwInc0XiZrW/PknOWGZTe1bLumHtas3J/FCFxEZmK44TQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026); SRVR:BLUPR12MB0434; BCL:0; PCL:0; RULEID:; SRVR:BLUPR12MB0434; X-Forefront-PRVS: 0941B96580 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(8676002)(86362001)(2950100001)(42186005)(2906002)(92566002)(5004730100002)(4326007)(2876002)(33646002)(229853001)(81166006)(50466002)(76176999)(189998001)(5001770100001)(48376002)(50986999)(6116002)(3846002)(50226002)(66066001)(5003940100001)(586003)(53416004)(86152002)(2201001)(19580405001)(19580395003)(77096005)(5008740100001)(36756003)(47776003)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR12MB0434; H:ssuthiku-cz-dev.amd.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR12MB0434; 23:csuKlsiWEc+j1FACsHIe4TAQRvvpoHKrGxjarKAl4?= =?us-ascii?Q?bLEEa0a7UUOsLzwxPy61ibu7NcnCYDWP5tTRQZb8BGfZX9djNxeunUUDljZZ?= =?us-ascii?Q?ev/P8R+e5BAmnzyzI1HRevE8j2aQxNk5GlQWKxTCBbeuCyof3IysP9VMEInc?= =?us-ascii?Q?qY/2YRSOhTwzhJzGFSr93DcQlv1Qcq+DWbbWScu06AUopT+ZoUknVLmI+9rq?= =?us-ascii?Q?ZYR9FsAdE86RXj10p2WSN+fQNSJuIR4+TP7FDTt4I9CH0ElGipzmSK1YVMk4?= =?us-ascii?Q?Ivd9WL5CeaTrWTkA4DWVmjUQl+f1wXOQ5ukYxW53pCFgaumN+GEM2QTLbon1?= =?us-ascii?Q?UsKsrg/iYQv9+tY67Uz3kroTGW6TOK8rpGBnVEihCTSfSgStl1003LUDwqJV?= =?us-ascii?Q?F5sJ/gebCGCgylM3CQo/6mnMGdh8wmCcQZ0Bl/DAmiFt/8eakzqJSch/qHtj?= =?us-ascii?Q?gBPodeGOfztGDLKGoR3o/Ao9B2NN3N4AxlHhoRnD+RX6eNY278Qxgfg0d7Zv?= =?us-ascii?Q?FUY9L3sZdcqfLt3TdU+owT415JbGy0q+cICU5ZvfarRLK2ypX5T0/eN50dsU?= =?us-ascii?Q?nhOnWiMrPYYMMivnHo8qqqCh97d9AlUiN8ZRUs9e6LHmYb8PXAJWqK3WqanT?= =?us-ascii?Q?9fQkdhzZVp6x/jVL/17ZNI1x1dcpGVSHmW+sPSgTNXFRjibDeVI1lIcYIW7J?= =?us-ascii?Q?vySX6Pt0YL7Y37A087IJaTOGz42NUrsGRFkfjG3DPceb3aLXVNXFlzt0dAdT?= =?us-ascii?Q?yzIwzkzC9ewK9Qhgx17oHsOepbU+qA0tF7OKuot4Vlx0X2tfY8nbx4CqgzIK?= =?us-ascii?Q?TyFyBGf7rh2s2BUsD4B2kxct80TPwW4XTCPRdYZHgSGu8V6/kXtheA97UjIL?= =?us-ascii?Q?IJZ6BtcwefKns5CBvHRevvBBB1DcaKooOJe16QdfXkB1O+tUdn+zRmVlqxww?= =?us-ascii?Q?84SERc4V/0S3VdfwmZLZJB8biWFLDx7voSR1SxGfwCuAcYtxZQ/a0T+U7rEM?= =?us-ascii?Q?d4=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR12MB0434; 5:geRDNUK7OMZfQBTsPABPoWYd9uSqCHwxZWqRPNdCriH5/mydPBb2tbBpSgYdfkT/2N0ums0X/fS5UIiOtiiw0CeOPpVrTap99TquqS3ippgVk8DMadPYVRGUDKRopRpRWgwXhPLzEMpJecviiaBzGQ==; 24:p1oan/bAjlpBY8zywqT41BykkzkKSeBgGnzQtRJSK8+69xMArEgkmzjfLDDk8FguBYd09h9vjPKR7rdhE4968cD4biiARiZpvebKpDX2Wgk=; 7:uJUV85tJ2Pprz6i6wG9mZQG3jK29jjJM+EWgf3vIHMl1FNRfbUcJTF/2avAzezzhBx3r1QXxkXaVnYkvuIojg9alQJcL4a5Vju22NCn0995trKr18zuTaHCzSFbUZ3tyDkFzddZ1qwasB4SiJnQcF7whvd3Bjie94JZUCQYObig=; 20:GNGhOyXBTyf8EXbm9s+hjbFmXxdRdyHCnJYwyUGyejE0YmlL3yqqn0t9J2GDWhJQ1zK61esRf1pPSC2vNUD3ZEDaNK+stQCHNmAIOJGEOqQd3MrmirIbGnIIl8687BNBYUndHwdskcgeKlB5WVZ1cvG//NAr9ei3kgBWYurKm8gl28eT+whD2at7d//upGDEfF1l/Ph1DZBplUDBd17wkneN9eD16aciQA/p7CZkpZhn0DRuNe1bp3itA2RdTOSa X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2016 19:37:17.8266 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR12MB0434 Cc: paul.durrant@citrix.com, Suravee Suthikulpanit Subject: [Xen-devel] [PATCH V2 1/2] x86/hvm: Add check when register io handler X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" From: Suravee Suthikulpanit At the time of registering HVM I/O handler, the HVM domain might not have been initialized, which means the hvm_domain.io_handler would be NULL. In the hvm_next_io_handler(), this should be checked before returning and referencing the array. Also, the io_handler_count should only be incremented on success. So, this patch adds error handling in hvm_next_io_handler. Signed-off-by: Suravee Suthikulpanit --- xen/arch/x86/hvm/intercept.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/intercept.c b/xen/arch/x86/hvm/intercept.c index 7096d74..b837f5f 100644 --- a/xen/arch/x86/hvm/intercept.c +++ b/xen/arch/x86/hvm/intercept.c @@ -248,7 +248,10 @@ int hvm_io_intercept(ioreq_t *p) struct hvm_io_handler *hvm_next_io_handler(struct domain *d) { - unsigned int i = d->arch.hvm_domain.io_handler_count++; + unsigned int i = d->arch.hvm_domain.io_handler_count; + + if ( !d->arch.hvm_domain.io_handler ) + return NULL; if ( i == NR_IO_HANDLERS ) { @@ -256,6 +259,7 @@ struct hvm_io_handler *hvm_next_io_handler(struct domain *d) return NULL; } + d->arch.hvm_domain.io_handler_count++; return &d->arch.hvm_domain.io_handler[i]; }