Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752184AbcJJKNw convert rfc822-to-8bit (ORCPT ); Mon, 10 Oct 2016 06:13:52 -0400 Received: from smtp.eu.citrix.com ([185.25.65.24]:6918 "EHLO SMTP.EU.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751725AbcJJKNv (ORCPT ); Mon, 10 Oct 2016 06:13:51 -0400 X-IronPort-AV: E=Sophos;i="5.31,471,1473120000"; d="scan'208";a="32755359" From: Paul Durrant To: Juergen Gross , "linux-kernel@vger.kernel.org" , "xen-devel@lists.xenproject.org" CC: Boris Ostrovsky , David Vrabel Subject: RE: [PATCH] xenbus: advertize control feature flags Thread-Topic: [PATCH] xenbus: advertize control feature flags Thread-Index: AQHSIsy+n10Y6szmpUyYuIjLOHBhz6ChRxgAgAAkgNA= Date: Mon, 10 Oct 2016 09:28:51 +0000 Message-ID: <662d464cd3394fa8a5e2b1800bfb8ced@AMSPEX02CL03.citrite.net> References: <1476085386-4544-1-git-send-email-paul.durrant@citrix.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-DLP: AMS1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1951 Lines: 65 > -----Original Message----- > From: Juergen Gross [mailto:jgross@suse.com] > Sent: 10 October 2016 10:17 > To: Paul Durrant ; linux-kernel@vger.kernel.org; > xen-devel@lists.xenproject.org > Cc: Boris Ostrovsky ; David Vrabel > > Subject: Re: [PATCH] xenbus: advertize control feature flags > > On 10/10/16 09:43, Paul Durrant wrote: > > The Xen docs specify several flags which a guest can set to advertize > > which values of the xenstore control/shutdown key it will recognize. > > This patch adds code to write all the relevant feature-flag keys. > > > > Signed-off-by: Paul Durrant > > Cc: Boris Ostrovsky > > Cc: David Vrabel > > Cc: Juergen Gross > > --- > > drivers/xen/manage.c | 45 +++++++++++++++++++++++++++++++++++-- > -------- > > 1 file changed, 35 insertions(+), 10 deletions(-) > > > > diff --git a/drivers/xen/manage.c b/drivers/xen/manage.c > > index e12bd36..86cf57c 100644 > > --- a/drivers/xen/manage.c > > +++ b/drivers/xen/manage.c > > > @@ -309,8 +311,31 @@ static struct notifier_block xen_reboot_nb = { > > > > static int setup_shutdown_watcher(void) > > { > > + static struct shutdown_handler *handler; > > int err; > > > > + for (handler = &shutdown_handlers[0]; handler->command; > handler++) { > > + const char *fmt = "feature-%s"; > > + int size; > > + char *node; > > + > > + if (!handler->flag) > > + continue; > > + > > + size = snprintf(NULL, 0, fmt, handler->command); > > + > > + node = kmalloc(++size, GFP_KERNEL); > > + if (!node) { > > + pr_err("Failed to allocate feature flag\n"); > > + return -ENOMEM; > > + } > > + > > + (void) snprintf(node, size, fmt, handler->command); > > One other nit: please us kasprintf() instead of open coding it. > Yes, that would be better. Cheers, Paul > > Juergen