All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Cody <jcody@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: Max Reitz <mreitz@redhat.com>,
	qemu-devel@nongnu.org, kwolf@redhat.com, jdurgin@redhat.com
Subject: Re: [Qemu-devel] [PATCH RFC v3 for-2.9 02/11] rbd: Fix to cleanly reject -drive without pool or image
Date: Mon, 27 Mar 2017 17:33:47 -0400	[thread overview]
Message-ID: <20170327213347.GF22342@localhost.localdomain> (raw)
In-Reply-To: <8737dybl7v.fsf@dusky.pond.sub.org>

On Mon, Mar 27, 2017 at 08:58:28PM +0200, Markus Armbruster wrote:
> Markus Armbruster <armbru@redhat.com> writes:
> 
> > Max Reitz <mreitz@redhat.com> writes:
> >
> >> On 27.03.2017 18:10, Max Reitz wrote:
> >>> On 27.03.2017 15:26, Markus Armbruster wrote:
> >>>> qemu_rbd_open() neglects to check pool and image are present.
> >>>> Reproducer:
> >>>>
> >>>>     $ qemu-system-x86_64 -nodefaults -drive if=none,driver=rbd,pool=p
> >>>>     Segmentation fault (core dumped)
> >>>>     $ qemu-system-x86_64 -nodefaults -drive if=none,driver=rbd,image=i
> >>>>     qemu-system-x86_64: -drive if=none,driver=rbd,image=i: error opening pool (null)
> >>>>
> >>>> Doesn't affect -drive with file=..., because qemu_rbd_parse_filename()
> >>>> always sets both pool and image.
> >>>>
> >>>> Doesn't affect -blockdev, because pool and image are mandatory in the
> >>>> QAPI schema.
> >>>>
> >>>> Fix by adding the missing checks.
> >>>>
> >>>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> >>>> Reviewed-by: Eric Blake <eblake@redhat.com>
> >>>> ---
> >>>>  block/rbd.c | 10 +++++++---
> >>>>  1 file changed, 7 insertions(+), 3 deletions(-)
> >>> 
> >>> Reviewed-by: Max Reitz <mreitz@redhat.com>
> >>
> >> That said, don't we have a similar issue with qemu_rbd_create()? It too
> >> doesn't check whether those options are given but I guess they're just
> >> as mandatory.
> >
> > Looks like it.  I'll try to stick a fix into v4.
> 
> Hmm, ignorant question: how can I reach qemu_rbd_create() without going
> through qemu_rbd_parse_filename()?

You can't -- commit c7cacb3e7 forces qemu_rbd_create() to call
qemu_rbd_parse_filename().  And in qemu_rbd_parse_filename(), it will
complain if pool is not provided (and that is what causes the abort, not the
missing image parameter).  So I think we are safe, but a nicer error message
for a missing 'image' parameter might be nice anyway.

  reply	other threads:[~2017-03-27 21:33 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-27 13:26 [Qemu-devel] [PATCH RFC v3 for-2.9 00/11] rbd: Clean up API and code Markus Armbruster
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 01/11] rbd: Reject -blockdev server.*.{numeric, to, ipv4, ipv6} Markus Armbruster
2017-03-27 16:03   ` Max Reitz
2017-03-27 19:56   ` Jeff Cody
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 02/11] rbd: Fix to cleanly reject -drive without pool or image Markus Armbruster
2017-03-27 16:10   ` Max Reitz
2017-03-27 16:12     ` Max Reitz
2017-03-27 18:23       ` Markus Armbruster
2017-03-27 18:58         ` Markus Armbruster
2017-03-27 21:33           ` Jeff Cody [this message]
2017-03-28  7:54             ` Markus Armbruster
2017-03-28 11:56               ` Jeff Cody
2017-03-28 12:16                 ` Jeff Cody
2017-03-27 21:34   ` Jeff Cody
2017-03-28  7:31     ` Markus Armbruster
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 03/11] rbd: Don't limit length of parameter values Markus Armbruster
2017-03-27 16:22   ` Max Reitz
2017-03-28  2:12   ` Jeff Cody
2017-03-28  8:14     ` Markus Armbruster
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 04/11] rbd: Clean up after the previous commit Markus Armbruster
2017-03-27 16:27   ` Max Reitz
2017-03-28  2:13   ` Jeff Cody
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 05/11] rbd: Don't accept -drive driver=rbd, keyvalue-pairs= Markus Armbruster
2017-03-27 16:29   ` Max Reitz
2017-03-27 18:26     ` Markus Armbruster
2017-03-28  2:15   ` Jeff Cody
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 06/11] rbd: Clean up runtime_opts, fix -drive to reject filename Markus Armbruster
2017-03-27 16:38   ` Max Reitz
2017-03-28  2:16   ` Jeff Cody
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 07/11] rbd: Clean up qemu_rbd_create()'s detour through QemuOpts Markus Armbruster
2017-03-27 16:42   ` Max Reitz
2017-03-27 18:27     ` Markus Armbruster
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 08/11] rbd: Revert -blockdev and -drive parameter auth-supported Markus Armbruster
2017-03-27 16:51   ` Max Reitz
2017-03-27 17:03   ` Eric Blake
2017-03-27 18:31     ` Markus Armbruster
2017-03-27 19:00       ` Eric Blake
2017-03-27 19:14         ` Markus Armbruster
2017-03-27 19:27           ` Eric Blake
2017-03-27 19:30   ` Eric Blake
2017-03-28  8:24     ` Markus Armbruster
2017-03-28 13:26       ` Eric Blake
2017-03-28  2:23   ` Jeff Cody
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 09/11] rbd: Revert -blockdev parameter password-secret Markus Armbruster
2017-03-27 16:52   ` Max Reitz
2017-03-27 17:10   ` Eric Blake
2017-03-28  2:32   ` Jeff Cody
2017-03-28  3:51     ` Jeff Cody
2017-03-28  7:58       ` Markus Armbruster
2017-04-03 11:37   ` Daniel P. Berrange
2017-04-03 12:42     ` Max Reitz
2017-04-03 13:04       ` Daniel P. Berrange
2017-04-03 13:06         ` Jeff Cody
2017-04-03 13:06         ` Max Reitz
2017-04-11 13:11     ` Markus Armbruster
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 10/11] Revert "rbd: add support for getting password from QCryptoSecret object" Markus Armbruster
2017-03-27 17:15   ` Eric Blake
2017-03-27 18:36     ` Markus Armbruster
2017-03-27 13:26 ` [Qemu-devel] [PATCH RFC v3 for-2.9 11/11] rbd: Fix bugs around -drive parameter "server" Markus Armbruster
2017-03-27 17:25   ` Eric Blake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170327213347.GF22342@localhost.localdomain \
    --to=jcody@redhat.com \
    --cc=armbru@redhat.com \
    --cc=jdurgin@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.