Message ID | 1470068456-15064-1-git-send-email-roger.pau@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Aug 01, 2016 at 06:20:56PM +0200, Roger Pau Monne wrote: > A OS could decide to not pass arguments or any environment variables to "An" > hotplug scripts, and this will trigger a bug in device_hotplug logic, since > it expects both the argument and the environment arrays to exist. Allow > both args or env to be NULL. > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > --- > Cc: Wei Liu <wei.liu2@citrix.com> > Cc: Ian Jackson <ian.jackson@eu.citrix.com> > --- > tools/libxl/libxl_device.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c > index b9a6df2..0e5f546 100644 > --- a/tools/libxl/libxl_device.c > +++ b/tools/libxl/libxl_device.c > @@ -1132,7 +1132,7 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev) > > LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]); > LOG(DEBUG, "extra args:"); > - { > + if ( args != NULL) { Minor nit, extraneous space here. Shouldn't this check be moved before the "calling hotplug script..." line? > const char *arg; > unsigned int x; > > @@ -1140,7 +1140,7 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev) > LOG(DEBUG, "\t%s", arg); > } > LOG(DEBUG, "env:"); > - { > + if ( env != NULL) { > const char *k, *v; > unsigned int x; > > -- > 2.7.4 (Apple Git-66) >
On Tue, Aug 02, 2016 at 10:13:42AM +0100, Wei Liu wrote: > On Mon, Aug 01, 2016 at 06:20:56PM +0200, Roger Pau Monne wrote: > > A OS could decide to not pass arguments or any environment variables to > > "An" > > > hotplug scripts, and this will trigger a bug in device_hotplug logic, since > > it expects both the argument and the environment arrays to exist. Allow > > both args or env to be NULL. > > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > > --- > > Cc: Wei Liu <wei.liu2@citrix.com> > > Cc: Ian Jackson <ian.jackson@eu.citrix.com> > > --- > > tools/libxl/libxl_device.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c > > index b9a6df2..0e5f546 100644 > > --- a/tools/libxl/libxl_device.c > > +++ b/tools/libxl/libxl_device.c > > @@ -1132,7 +1132,7 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev) > > > > LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]); > > LOG(DEBUG, "extra args:"); > > - { > > + if ( args != NULL) { > > Minor nit, extraneous space here. > > Shouldn't this check be moved before the "calling hotplug script..." > line? This one should be removed, args cannot be NULL or else we won't call anything, and thus libxl__get_hotplug_script_info should return 0. > > const char *arg; > > unsigned int x; > > > > @@ -1140,7 +1140,7 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev) > > LOG(DEBUG, "\t%s", arg); > > } > > LOG(DEBUG, "env:"); > > - { > > + if ( env != NULL) { > > const char *k, *v; > > unsigned int x; > > > > -- > > 2.7.4 (Apple Git-66) > >
On Tue, Aug 02, 2016 at 11:27:13AM +0200, Roger Pau Monne wrote: > On Tue, Aug 02, 2016 at 10:13:42AM +0100, Wei Liu wrote: > > On Mon, Aug 01, 2016 at 06:20:56PM +0200, Roger Pau Monne wrote: > > > A OS could decide to not pass arguments or any environment variables to > > > > "An" > > > > > hotplug scripts, and this will trigger a bug in device_hotplug logic, since > > > it expects both the argument and the environment arrays to exist. Allow > > > both args or env to be NULL. > > > > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > > > --- > > > Cc: Wei Liu <wei.liu2@citrix.com> > > > Cc: Ian Jackson <ian.jackson@eu.citrix.com> > > > --- > > > tools/libxl/libxl_device.c | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c > > > index b9a6df2..0e5f546 100644 > > > --- a/tools/libxl/libxl_device.c > > > +++ b/tools/libxl/libxl_device.c > > > @@ -1132,7 +1132,7 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev) > > > > > > LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]); > > > LOG(DEBUG, "extra args:"); > > > - { > > > + if ( args != NULL) { > > > > Minor nit, extraneous space here. > > > > Shouldn't this check be moved before the "calling hotplug script..." > > line? > > This one should be removed, args cannot be NULL or else we won't call > anything, and thus libxl__get_hotplug_script_info should return 0. > OK, please update the patch commit message and content. I will wait for v2. > > > const char *arg; > > > unsigned int x; > > > > > > @@ -1140,7 +1140,7 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev) > > > LOG(DEBUG, "\t%s", arg); > > > } > > > LOG(DEBUG, "env:"); > > > - { > > > + if ( env != NULL) { > > > const char *k, *v; > > > unsigned int x; > > > > > > -- > > > 2.7.4 (Apple Git-66) > > >
Pushed.
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c index b9a6df2..0e5f546 100644 --- a/tools/libxl/libxl_device.c +++ b/tools/libxl/libxl_device.c @@ -1132,7 +1132,7 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev) LOG(DEBUG, "calling hotplug script: %s %s", args[0], args[1]); LOG(DEBUG, "extra args:"); - { + if ( args != NULL) { const char *arg; unsigned int x; @@ -1140,7 +1140,7 @@ static void device_hotplug(libxl__egc *egc, libxl__ao_device *aodev) LOG(DEBUG, "\t%s", arg); } LOG(DEBUG, "env:"); - { + if ( env != NULL) { const char *k, *v; unsigned int x;
A OS could decide to not pass arguments or any environment variables to hotplug scripts, and this will trigger a bug in device_hotplug logic, since it expects both the argument and the environment arrays to exist. Allow both args or env to be NULL. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> --- Cc: Wei Liu <wei.liu2@citrix.com> Cc: Ian Jackson <ian.jackson@eu.citrix.com> --- tools/libxl/libxl_device.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)