From: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
To: Markus Armbruster <armbru@redhat.com>
Cc: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>,
Kevin Wolf <kwolf@redhat.com>,
mitake.hitoshi@gmail.com, qemu-devel@nongnu.org,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] qemu-io: initialize progname with error_set_progname()
Date: Tue, 12 Aug 2014 14:17:25 +0900 [thread overview]
Message-ID: <87ha1is2vu.wl%mitake.hitoshi@lab.ntt.co.jp> (raw)
In-Reply-To: <87ha1j2ry1.fsf@blackfin.pond.sub.org>
At Mon, 11 Aug 2014 13:20:38 +0200,
Markus Armbruster wrote:
>
> Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp> writes:
>
> > Calling error_get_progname() in the context of qemu-io can cause
> > segmentation fault because qemu-io doesn't initialize its progname
> > with error_set_progname(). This patch adds the initialization.
> >
> > Cc: Kevin Wolf <kwolf@redhat.com>
> > Cc: Stefan Hajnoczi <stefanha@redhat.com>
> > Signed-off-by: Hitoshi Mitake <mitake.hitoshi@lab.ntt.co.jp>
> > ---
> > qemu-io.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/qemu-io.c b/qemu-io.c
> > index b55a550..6f08a91 100644
> > --- a/qemu-io.c
> > +++ b/qemu-io.c
> > @@ -395,6 +395,7 @@ int main(int argc, char **argv)
> > #endif
> >
> > progname = basename(argv[0]);
> > + error_set_progname(progname);
> > qemu_init_exec_dir(argv[0]);
> >
> > while ((c = getopt_long(argc, argv, sopt, lopt, &opt_index)) != -1) {
>
> Global variable progname could be replaced by error_get_progname().
Hi Markus, thanks for your comments.
Yes, replacing is possible but I think we don't have to do it. The
main purpose of error_set_progname() is improving output of
error_report(). If program uses its binary name frequently, caching it
in other variable is suitable.
>
> Can pass argv[0] directly, without basename().
Yes, as Stefan pointed, I'll do so in v2.
>
> Do any other programs besides qemu-io and qemu proper need to call
> error_set_progname()? Quick grep for main() finds
>
> qemu-bridge-helper.c
> qemu-io.c
> qemu-nbd.c
> bsd-user/main.c
> disas/m68k.c
> fsdev/virtfs-proxy-helper.c
> libcacard/link_test.c
> libcacard/vscclient.c
> linux-user/main.c
> qga/main.c
> target-ppc/mfrom_table_gen.c
> pc-bios/s390-ccw/main.c
>
> Reviewed-by: Markus Armbruster <armbru@redhat.com>
I think
qemu-io.c
qemu-nbd.c
bsd-user/main.c
linux-user/main.c
qga/main.c
should call error_get_progname() because they seem to call
error_get_progname() potentially. But others seem to be simple
utilities so calling the func might be needless.
I'll update the above utilities in v2 (except bsd-user/main.c, because
I don't have BSD environment and cannot check the change:( ).
BTW, should I split patches for each program? They seem to be
maintained by different maintainers. But the change is really trivial
so packing them in one patch is also reasonable. I'd like to hear your
opinion.
Thanks,
Hitoshi
next prev parent reply other threads:[~2014-08-12 5:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-11 6:50 [Qemu-devel] [PATCH] qemu-io: initialize progname with error_set_progname() Hitoshi Mitake
2014-08-11 11:20 ` Markus Armbruster
2014-08-12 5:17 ` Hitoshi Mitake [this message]
2014-08-11 14:38 ` Stefan Hajnoczi
2014-08-12 5:21 ` Hitoshi Mitake
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=87ha1is2vu.wl%mitake.hitoshi@lab.ntt.co.jp \
--to=mitake.hitoshi@lab.ntt.co.jp \
--cc=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=mitake.hitoshi@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).