qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH v2 00/17] Fix compilation with _FORTIFY_SOURCE
Date: Wed, 20 Jan 2010 21:13:56 +0100	[thread overview]
Message-ID: <cover.1264017981.git.quintela@redhat.com> (raw)

changes in v2:

- we retry the write in the signal handler when error is -EINTR
  (just use the qemu_write_full() function) (spoted by Jamie Lokier)
- we don't do arith on void * anymore (spoted by malc)

and there were no more pending commets.

you can get it as a branch at:
   git://repo.or.cz/qemu/quintela.git fortify

Later, Juan.

v1:

This series is a work on top of Kirill previous patches.
Changes are:
- I addressed all reviewers comments
- Improved some error messages
- Check that it is valid to return -errno (switched lots of places to just
  return -1).
- check correctly system() result for errors.
- -fstack-protector-all is only used if compiler accept it

And new additions:
- add WARN_UNUSED_RESULT
- check pipe() use in xen code.
- fix mmap_frag() returned -EINVAL when users only deal with -1 for errors.

Kirill, could you coment on the series?

Still not completely happy:
- qemu_write_full() just loops if write() returns 0.  it is only
  used for pipes and files, but pipes and files shouldn't give you
  short writes in the 1st place.  Not sure what to do here.

- check write() errors against -EINVAL/-EINTR/-EAGAIN
  series where not consistent on this regard.  I didn't changed
  any.

You can pull this series from:

	git://repo.or.cz/qemu/quintela.git fortify

With this changes, I am able to compile qemu for all architectures in
a linux host without a single warning.

This is important for us (Fedora) because F12 compile all packages with
-Wp,-D_FORTIFY_SOURCE=2, and we had -Werror disabled due to this.



Juan Quintela (4):
  force to test result for qemu_write_full()
  check pipe() return value
  Check availavility of -fstack-protector-all
  mmap_frag() users only check for -1 error

Kirill A. Shutemov (13):
  Introduce qemu_write_full()
  posix-aio-compat.c: fix warning with _FORTIFY_SOURCE
  block/cow.c: fix warnings with _FORTIFY_SOURCE
  block/qcow.c: fix warnings with _FORTIFY_SOURCE
  block/vmdk.o: fix warnings with _FORTIFY_SOURCE
  block/vvfat.c: fix warnings with _FORTIFY_SOURCE
  block/qcow2.c: fix warnings with _FORTIFY_SOURCE
  net/slirp.c: fix warning with _FORTIFY_SOURCE
  usb-linux.c: fix warning with _FORTIFY_SOURCE
  vl.c: fix warning with _FORTIFY_SOURCE
  monitor.c: fix warnings with _FORTIFY_SOURCE
  linux-user/mmap.c: fix warnings with _FORTIFY_SOURCE
  Enable _FORTIFY_SOURCE=2

 block/cow.c          |   19 ++++++++++++++--
 block/qcow.c         |   26 ++++++++++++++++++++---
 block/qcow2.c        |   55 ++++++++++++++++++++++++++++++++++++++++---------
 block/vmdk.c         |   50 ++++++++++++++++++++++++++++++++++++---------
 block/vvfat.c        |    9 ++++++-
 configure            |    4 +-
 hw/xen_domainbuild.c |   13 ++++++++---
 linux-user/mmap.c    |    8 ++++--
 monitor.c            |   12 +++++++++-
 net/slirp.c          |    9 +++++++-
 osdep.c              |   27 ++++++++++++++++++++++++
 posix-aio-compat.c   |    5 +++-
 qemu-common.h        |    2 +
 usb-linux.c          |    3 +-
 vl.c                 |   22 ++++++++++++++++---
 15 files changed, 216 insertions(+), 48 deletions(-)

             reply	other threads:[~2010-01-20 20:14 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-20 20:13 Juan Quintela [this message]
2010-01-20 20:13 ` [Qemu-devel] [PATCH 01/17] Introduce qemu_write_full() Juan Quintela
2010-01-20 20:13 ` [Qemu-devel] [PATCH 02/17] force to test result for qemu_write_full() Juan Quintela
2010-01-20 20:13 ` [Qemu-devel] [PATCH 03/17] posix-aio-compat.c: fix warning with _FORTIFY_SOURCE Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 04/17] block/cow.c: fix warnings " Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 05/17] block/qcow.c: " Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 06/17] block/vmdk.o: " Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 07/17] block/vvfat.c: " Juan Quintela
2010-01-21  7:37   ` Gleb Natapov
2010-01-21  8:17     ` [Qemu-devel] " Juan Quintela
2010-01-21  8:18       ` Gleb Natapov
2010-01-21  9:28       ` Markus Armbruster
2010-01-20 20:14 ` [Qemu-devel] [PATCH 08/17] block/qcow2.c: " Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 09/17] net/slirp.c: fix warning " Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 10/17] usb-linux.c: " Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 11/17] vl.c: " Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 12/17] monitor.c: fix warnings " Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 13/17] linux-user/mmap.c: " Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 14/17] check pipe() return value Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 15/17] Enable _FORTIFY_SOURCE=2 Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 16/17] Check availavility of -fstack-protector-all Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 17/17] mmap_frag() users only check for -1 error Juan Quintela
2010-01-25  8:53   ` Laurent Desnogues

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=cover.1264017981.git.quintela@redhat.com \
    --to=quintela@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 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).