Christoph Egger
2011-Apr-15 08:28 UTC
Re: [Xen-devel] [PATCH]tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL
On 04/15/11 10:33, ZhouPeng wrote:> Signed-off-by: Zhou Peng<zhoupeng@nfs.iscas.ac.cn> > > tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL >NACK! This can info->vncpasswd[0] contains ''\0'' if you have vncpasswd='''' in the guest config file. Christoph> diff -r 3f00c5faa12a tools/libxl/libxl_dm.c > --- a/tools/libxl/libxl_dm.c Wed Apr 13 16:10:26 2011 +0100 > +++ b/tools/libxl/libxl_dm.c Fri Apr 15 09:45:43 2011 +0800 > @@ -209,7 +209,7 @@ static char ** libxl__build_device_model > int display = 0; > const char *listen = "127.0.0.1"; > > - if (info->vncpasswd&& info->vncpasswd[0]) { > + if (info->vncpasswd&& !info->vncpasswd[0]) { > assert(!"missing code for supplying vnc password to qemu"); > } > flexarray_append(dm_args, "-vnc"); > > -- > Zhou Peng > Operating System Technology Group > Institute of Software, the Chinese Academy of Sciences (ISCAS) > <mailto:ailvpeng25@gmail.com> >-- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85689 Dornach b. Muenchen Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
ZhouPeng
2011-Apr-15 08:33 UTC
[Xen-devel] [PATCH]tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL
Signed-off-by: Zhou Peng <zhoupeng@nfs.iscas.ac.cn>
tools/libxl: fix a bug in libxl__build_device_model_args_new.
info->vncpasswd can''t be empty if info->vncpasswd != NULL
diff -r 3f00c5faa12a tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c Wed Apr 13 16:10:26 2011 +0100
+++ b/tools/libxl/libxl_dm.c Fri Apr 15 09:45:43 2011 +0800
@@ -209,7 +209,7 @@ static char ** libxl__build_device_model
int display = 0;
const char *listen = "127.0.0.1";
- if (info->vncpasswd && info->vncpasswd[0]) {
+ if (info->vncpasswd && !info->vncpasswd[0]) {
assert(!"missing code for supplying vnc password to
qemu");
}
flexarray_append(dm_args, "-vnc");
--
Zhou Peng
Operating System Technology Group
Institute of Software, the Chinese Academy of Sciences (ISCAS)
<ailvpeng25@gmail.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Ian Campbell
2011-Apr-15 08:42 UTC
Re: [Xen-devel] [PATCH]tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL
On Fri, 2011-04-15 at 09:28 +0100, Christoph Egger wrote:> On 04/15/11 10:33, ZhouPeng wrote: > > Signed-off-by: Zhou Peng<zhoupeng@nfs.iscas.ac.cn> > > > > tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL > > > > NACK! This can info->vncpasswd[0] contains ''\0'' if you have > > > vncpasswd='''' > > in the guest config file.perhaps a strcmp(...., "") might make this more obvious to the casual reader?> > Christoph > > > > diff -r 3f00c5faa12a tools/libxl/libxl_dm.c > > --- a/tools/libxl/libxl_dm.c Wed Apr 13 16:10:26 2011 +0100 > > +++ b/tools/libxl/libxl_dm.c Fri Apr 15 09:45:43 2011 +0800 > > @@ -209,7 +209,7 @@ static char ** libxl__build_device_model > > int display = 0; > > const char *listen = "127.0.0.1"; > > > > - if (info->vncpasswd&& info->vncpasswd[0]) { > > + if (info->vncpasswd&& !info->vncpasswd[0]) { > > assert(!"missing code for supplying vnc password to qemu"); > > } > > flexarray_append(dm_args, "-vnc"); > > > > -- > > Zhou Peng > > Operating System Technology Group > > Institute of Software, the Chinese Academy of Sciences (ISCAS) > > <mailto:ailvpeng25@gmail.com> > > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
ZhouPeng
2011-Apr-15 09:36 UTC
Re: [Xen-devel] [PATCH]tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL
2011/4/15 Christoph Egger <Christoph.Egger@amd.com>> On 04/15/11 10:33, ZhouPeng wrote: > >> Signed-off-by: Zhou Peng<zhoupeng@nfs.iscas.ac.cn> >> >> tools/libxl: fix a bug in libxl__build_device_model_args_new. >> info->vncpasswd can''t be empty if info->vncpasswd != NULL >> >> > NACK! This can info->vncpasswd[0] contains ''\0'' if you have > > > vncpasswd='''' > > in the guest config file. >" if (info->vncpasswd&& info->vncpasswd[0]) “ can vncpasswd='''' in guest cfg file, when using upstream-qemu-xen and block vncpasswd=''passwd'' Can it be reasonable? Christoph> > > diff -r 3f00c5faa12a tools/libxl/libxl_dm.c >> --- a/tools/libxl/libxl_dm.c Wed Apr 13 16:10:26 2011 +0100 >> +++ b/tools/libxl/libxl_dm.c Fri Apr 15 09:45:43 2011 +0800 >> @@ -209,7 +209,7 @@ static char ** libxl__build_device_model >> int display = 0; >> const char *listen = "127.0.0.1"; >> >> - if (info->vncpasswd&& info->vncpasswd[0]) { >> + if (info->vncpasswd&& !info->vncpasswd[0]) { >> assert(!"missing code for supplying vnc password to qemu"); >> } >> flexarray_append(dm_args, "-vnc"); >> >> -- >> Zhou Peng >> Operating System Technology Group >> Institute of Software, the Chinese Academy of Sciences (ISCAS) >> <mailto:ailvpeng25@gmail.com> >> >> > > -- > ---to satisfy European Law for business letters: > Advanced Micro Devices GmbH > Einsteinring 24, 85689 Dornach b. Muenchen > Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd > Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen > Registergericht Muenchen, HRB Nr. 43632 > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >-- Zhou Peng Operating System Technology Group Institute of Software, the Chinese Academy of Sciences (ISCAS) <ailvpeng25@gmail.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Christoph Egger
2011-Apr-15 09:37 UTC
Re: [Xen-devel] [PATCH]tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL
On 04/15/11 11:36, ZhouPeng wrote:> > > 2011/4/15 Christoph Egger<Christoph.Egger@amd.com<mailto:Christoph.Egger@amd.com>> > On 04/15/11 10:33, ZhouPeng wrote: > Signed-off-by: Zhou Peng<zhoupeng@nfs.iscas.ac.cn<mailto:zhoupeng@nfs.iscas.ac.cn>> > > tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL > > > NACK! This can info->vncpasswd[0] contains ''\0'' if you have > > > vncpasswd='''' > > in the guest config file. > > " if (info->vncpasswd&& info->vncpasswd[0]) “ can > vncpasswd='''' in guest cfg file, when using upstream-qemu-xen > and block vncpasswd=''passwd'' > Can it be reasonable? >Does that mean upstream qemu-xen and in-tree qemu-xen behave differently? Christoph -- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85689 Dornach b. Muenchen Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
ZhouPeng
2011-Apr-15 09:53 UTC
Re: [Xen-devel] [PATCH]tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL
2011/4/15 Christoph Egger <Christoph.Egger@amd.com>> On 04/15/11 11:36, ZhouPeng wrote: > >> >> >> 2011/4/15 Christoph Egger<Christoph.Egger@amd.com<mailto: >> Christoph.Egger@amd.com>> >> >> On 04/15/11 10:33, ZhouPeng wrote: >> Signed-off-by: Zhou Peng<zhoupeng@nfs.iscas.ac.cn<mailto: >> zhoupeng@nfs.iscas.ac.cn>> >> >> >> tools/libxl: fix a bug in libxl__build_device_model_args_new. >> info->vncpasswd can''t be empty if info->vncpasswd != NULL >> >> >> NACK! This can info->vncpasswd[0] contains ''\0'' if you have >> >> >> vncpasswd='''' >> >> in the guest config file. >> >> " if (info->vncpasswd&& info->vncpasswd[0]) “ can >> vncpasswd='''' in guest cfg file, when using upstream-qemu-xen >> and block vncpasswd=''passwd'' >> Can it be reasonable? >> >> > > Does that mean upstream qemu-xen and in-tree qemu-xen behave differently? >if (new_qemu == 1) { return libxl__build_device_model_args_new(gc, info, disks, num_disks, vifs, num_vifs); } else { return libxl__build_device_model_args_old(gc, info, disks, num_disks, vifs, num_vifs); }> Christoph > > > > -- > ---to satisfy European Law for business letters: > Advanced Micro Devices GmbH > Einsteinring 24, 85689 Dornach b. Muenchen > Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd > Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen > Registergericht Muenchen, HRB Nr. 43632 > >-- Zhou Peng Operating System Technology Group Institute of Software, the Chinese Academy of Sciences (ISCAS) <ailvpeng25@gmail.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
ZhouPeng
2011-Apr-15 10:02 UTC
Re: [Xen-devel] [PATCH]tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL
This patch may be more readable
=Signed-off-by: Zhou Peng <zhoupeng@nfs.iscas.ac.cn>
tools/libxl: fix a bug in libxl__build_device_model_args_new.
info->vncpasswd can''t be empty if info->vncpasswd != NULL
diff -r 3f00c5faa12a tools/libxl/libxl_dm.c
--- a/tools/libxl/libxl_dm.c Wed Apr 13 16:10:26 2011 +0100
+++ b/tools/libxl/libxl_dm.c Fri Apr 15 09:45:43 2011 +0800
@@ -209,7 +209,7 @@ static char ** libxl__build_device_model
int display = 0;
const char *listen = "127.0.0.1";
- if (info->vncpasswd && info->vncpasswd[0]) {
+ if (info->vncpasswd && (info->vncpasswd[0] ==
''\0'')) {
assert(!"missing code for supplying vnc password to
qemu");
}
flexarray_append(dm_args, "-vnc");
2011/4/15 ZhouPeng <zpengxen@gmail.com>
>
>
> 2011/4/15 Christoph Egger <Christoph.Egger@amd.com>
>
>> On 04/15/11 11:36, ZhouPeng wrote:
>>
>>>
>>>
>>> 2011/4/15 Christoph Egger<Christoph.Egger@amd.com<mailto:
>>> Christoph.Egger@amd.com>>
>>>
>>> On 04/15/11 10:33, ZhouPeng wrote:
>>> Signed-off-by: Zhou Peng<zhoupeng@nfs.iscas.ac.cn<mailto:
>>> zhoupeng@nfs.iscas.ac.cn>>
>>>
>>>
>>> tools/libxl: fix a bug in libxl__build_device_model_args_new.
>>> info->vncpasswd can''t be empty if info->vncpasswd !=
NULL
>>>
>>>
>>> NACK! This can info->vncpasswd[0] contains
''\0'' if you have
>>>
>>>
>>> vncpasswd=''''
>>>
>>> in the guest config file.
>>>
>>> " if (info->vncpasswd&& info->vncpasswd[0]) “
can
>>> vncpasswd='''' in guest cfg file, when using
upstream-qemu-xen
>>> and block vncpasswd=''passwd''
>>> Can it be reasonable?
>>>
>>>
>>
>> Does that mean upstream qemu-xen and in-tree qemu-xen behave
differently?
>>
> if (new_qemu == 1) {
> return libxl__build_device_model_args_new(gc, info, disks,
> num_disks, vifs, num_vifs);
> } else {
> return libxl__build_device_model_args_old(gc, info, disks,
> num_disks, vifs, num_vifs);
> }
>
>
>> Christoph
>>
>>
>>
>> --
>> ---to satisfy European Law for business letters:
>> Advanced Micro Devices GmbH
>> Einsteinring 24, 85689 Dornach b. Muenchen
>> Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
>> Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
>> Registergericht Muenchen, HRB Nr. 43632
>>
>>
>
>
> --
> Zhou Peng
> Operating System Technology Group
> Institute of Software, the Chinese Academy of Sciences (ISCAS)
> <ailvpeng25@gmail.com>
>
--
Zhou Peng
Operating System Technology Group
Institute of Software, the Chinese Academy of Sciences (ISCAS)
<ailvpeng25@gmail.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Ian Jackson
2011-Apr-18 15:06 UTC
Re: [Xen-devel] [PATCH]tools/libxl: fix a bug in libxl__build_device_model_args_new. info->vncpasswd can''t be empty if info->vncpasswd != NULL
ZhouPeng writes ("Re: [Xen-devel] [PATCH]tools/libxl: fix a bug in
libxl__build_device_model_args_new. info->vncpasswd can''t be empty
if info->vncpasswd != NULL"):> diff -r 3f00c5faa12a tools/libxl/libxl_dm.c
> --- a/tools/libxl/libxl_dm.c Wed Apr 13 16:10:26 2011 +0100
> +++ b/tools/libxl/libxl_dm.c Fri Apr 15 09:45:43 2011 +0800
> @@ -209,7 +209,7 @@ static char ** libxl__build_device_model
> int display = 0;
> const char *listen = "127.0.0.1";
>
> - if (info->vncpasswd && info->vncpasswd[0]) {
> + if (info->vncpasswd && (info->vncpasswd[0] ==
''\0'')) {
> assert(!"missing code for supplying vnc password to
qemu");
> }
> flexarray_append(dm_args, "-vnc");
I still think this is wrong. As I wrote on the 15th of April:
Looking just at the diff there, I think the original code is correct.
That is, the assert trips when:
* a password is supplied (info->vncpasswd != NULL)
* the password is nonemtpy (strlen(info->vncpasswd) > 0
which is the same as !!info->vncpasswd[0]
* we''re using a new qemu for which this code has not been
implemented
That the failure manifests as an assert might be argued to be
unfortunate, but this is still code under development...
I have a reply from you in my mailbox but it''s a hideously
incomprehensible HTML mess. Please post only in plain text.
Thanks,
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel