All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] libxl: check HVM direct boot parameters
@ 2015-01-15 15:11 Wei Liu
  2015-01-15 16:01 ` Wei Liu
  0 siblings, 1 reply; 3+ messages in thread
From: Wei Liu @ 2015-01-15 15:11 UTC (permalink / raw)
  To: xen-devel
  Cc: Chunyan Liu, Ian Jackson, Wei Liu, Ian Campbell,
	Stefano Stabellini

We should honour -initrd and -append iff -kernel is specified, because
that's how QEMU works.

Check direct boot parameters in libxl__domain_build_info_setdefault.
Return failure if kernel is missing while ramdisk (-initrd) and / or
cmdline (-append) is present.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Chunyan Liu <cyliu@suse.com>
---
 tools/libxl/libxl_create.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index 1198225..31f681e 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -170,6 +170,15 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
             break;
         default:abort();
         }
+
+        /* Check HVM direct boot parameters, we should honour ->ramdisk and
+         * ->cmdline iff ->kernel is set.
+         */
+        if (!b_info->kernel && (b_info->ramdisk || b_info->cmdline)) {
+            LIBXL__LOG(CTX, XLT_ERROR,
+                    "direct boot parameters specified but kernel is missing");
+            return ERROR_INVAL;
+        }
     }
 
     if (b_info->type == LIBXL_DOMAIN_TYPE_HVM &&
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] libxl: check HVM direct boot parameters
  2015-01-15 15:11 [PATCH] libxl: check HVM direct boot parameters Wei Liu
@ 2015-01-15 16:01 ` Wei Liu
  2015-01-19 15:37   ` Ian Campbell
  0 siblings, 1 reply; 3+ messages in thread
From: Wei Liu @ 2015-01-15 16:01 UTC (permalink / raw)
  To: xen-devel
  Cc: Chunyan Liu, Ian Jackson, Wei Liu, Ian Campbell,
	Stefano Stabellini

On Thu, Jan 15, 2015 at 03:11:42PM +0000, Wei Liu wrote:
> We should honour -initrd and -append iff -kernel is specified, because
> that's how QEMU works.
> 
> Check direct boot parameters in libxl__domain_build_info_setdefault.
> Return failure if kernel is missing while ramdisk (-initrd) and / or
> cmdline (-append) is present.
> 
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> Cc: Ian Campbell <ian.campbell@citrix.com>
> Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Cc: Chunyan Liu <cyliu@suse.com>
> ---
>  tools/libxl/libxl_create.c |    9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> index 1198225..31f681e 100644
> --- a/tools/libxl/libxl_create.c
> +++ b/tools/libxl/libxl_create.c
> @@ -170,6 +170,15 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
>              break;
>          default:abort();
>          }
> +
> +        /* Check HVM direct boot parameters, we should honour ->ramdisk and
> +         * ->cmdline iff ->kernel is set.
> +         */
> +        if (!b_info->kernel && (b_info->ramdisk || b_info->cmdline)) {
> +            LIBXL__LOG(CTX, XLT_ERROR,
> +                    "direct boot parameters specified but kernel is missing");

Hmm... There's a formatting error. I can resend if it's necessary.

> +            return ERROR_INVAL;
> +        }
>      }
>  
>      if (b_info->type == LIBXL_DOMAIN_TYPE_HVM &&
> -- 
> 1.7.10.4

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] libxl: check HVM direct boot parameters
  2015-01-15 16:01 ` Wei Liu
@ 2015-01-19 15:37   ` Ian Campbell
  0 siblings, 0 replies; 3+ messages in thread
From: Ian Campbell @ 2015-01-19 15:37 UTC (permalink / raw)
  To: Wei Liu; +Cc: Stefano Stabellini, Ian Jackson, Chunyan Liu, xen-devel

On Thu, 2015-01-15 at 16:01 +0000, Wei Liu wrote:
> On Thu, Jan 15, 2015 at 03:11:42PM +0000, Wei Liu wrote:
> > We should honour -initrd and -append iff -kernel is specified, because
> > that's how QEMU works.
> > 
> > Check direct boot parameters in libxl__domain_build_info_setdefault.
> > Return failure if kernel is missing while ramdisk (-initrd) and / or
> > cmdline (-append) is present.
> > 
> > Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> > Cc: Ian Campbell <ian.campbell@citrix.com>
> > Cc: Ian Jackson <ian.jackson@eu.citrix.com>
> > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > Cc: Chunyan Liu <cyliu@suse.com>
> > ---
> >  tools/libxl/libxl_create.c |    9 +++++++++
> >  1 file changed, 9 insertions(+)
> > 
> > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
> > index 1198225..31f681e 100644
> > --- a/tools/libxl/libxl_create.c
> > +++ b/tools/libxl/libxl_create.c
> > @@ -170,6 +170,15 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
> >              break;
> >          default:abort();
> >          }
> > +
> > +        /* Check HVM direct boot parameters, we should honour ->ramdisk and
> > +         * ->cmdline iff ->kernel is set.
> > +         */
> > +        if (!b_info->kernel && (b_info->ramdisk || b_info->cmdline)) {
> > +            LIBXL__LOG(CTX, XLT_ERROR,
> > +                    "direct boot parameters specified but kernel is missing");
> 
> Hmm... There's a formatting error. I can resend if it's necessary.

In trying to correctly indent this line while committing I pushed it
over 80-columns, rather than my rewrapping more, could you make this use
the LOG helper please, and thereby pull everything in a bit?

With that done:
    Acked-by: Ian Campbell <ian.campbell@citrix.com>

Ian.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-01-19 15:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-15 15:11 [PATCH] libxl: check HVM direct boot parameters Wei Liu
2015-01-15 16:01 ` Wei Liu
2015-01-19 15:37   ` Ian Campbell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.