qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/17] Fix compilation with _FORTIFY_SOURCE
@ 2010-01-19 23:56 Juan Quintela
  2010-01-19 23:56 ` [Qemu-devel] [PATCH 01/17] Introduce qemu_write_full() Juan Quintela
                   ` (16 more replies)
  0 siblings, 17 replies; 38+ messages in thread
From: Juan Quintela @ 2010-01-19 23:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: kirill

Hi

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.

Comments?

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(-)

^ permalink raw reply	[flat|nested] 38+ messages in thread
* [Qemu-devel] [PATCH v2 00/17] Fix compilation with _FORTIFY_SOURCE
@ 2010-01-20 20:13 Juan Quintela
  2010-01-20 20:14 ` [Qemu-devel] [PATCH 07/17] block/vvfat.c: fix warnings " Juan Quintela
  0 siblings, 1 reply; 38+ messages in thread
From: Juan Quintela @ 2010-01-20 20:13 UTC (permalink / raw)
  To: qemu-devel

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(-)

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

end of thread, other threads:[~2010-01-26 21:34 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-19 23:56 [Qemu-devel] [PATCH 00/17] Fix compilation with _FORTIFY_SOURCE Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 01/17] Introduce qemu_write_full() Juan Quintela
2010-01-20  0:45   ` malc
2010-01-26 21:34   ` Anthony Liguori
2010-01-19 23:56 ` [Qemu-devel] [PATCH 02/17] force to test result for qemu_write_full() Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 03/17] posix-aio-compat.c: fix warning with _FORTIFY_SOURCE Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 04/17] block/cow.c: fix warnings " Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 05/17] block/qcow.c: " Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 06/17] block/vmdk.o: " Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 07/17] block/vvfat.c: " Juan Quintela
2010-01-20  6:19   ` [Qemu-devel] " Kirill A. Shutemov
2010-01-20 10:33     ` Daniel P. Berrange
2010-01-20 11:09       ` Kirill A. Shutemov
2010-01-20 11:45         ` Kevin Wolf
2010-01-20 12:15           ` Markus Armbruster
2010-01-20 12:36             ` Kirill A. Shutemov
2010-01-20 13:03               ` Markus Armbruster
2010-01-20 13:08                 ` Gleb Natapov
2010-01-20 14:02                   ` Kirill A. Shutemov
2010-01-20 14:11                     ` Gleb Natapov
2010-01-20 15:00                     ` malc
2010-01-20 13:51                 ` Kirill A. Shutemov
2010-01-20 14:42                   ` Markus Armbruster
2010-01-20 16:16                   ` Jamie Lokier
2010-01-20 15:59     ` Anthony Liguori
2010-01-19 23:56 ` [Qemu-devel] [PATCH 08/17] block/qcow2.c: " Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 09/17] net/slirp.c: fix warning " Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 10/17] usb-linux.c: " Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 11/17] vl.c: " Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 12/17] monitor.c: fix warnings " Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 13/17] linux-user/mmap.c: " Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 14/17] check pipe() return value Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 15/17] Enable _FORTIFY_SOURCE=2 Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 16/17] Check availavility of -fstack-protector-all Juan Quintela
2010-01-19 23:56 ` [Qemu-devel] [PATCH 17/17] mmap_frag() users only check for -1 error Juan Quintela
  -- strict thread matches above, loose matches on Subject: below --
2010-01-20 20:13 [Qemu-devel] [PATCH v2 00/17] Fix compilation with _FORTIFY_SOURCE Juan Quintela
2010-01-20 20:14 ` [Qemu-devel] [PATCH 07/17] block/vvfat.c: fix warnings " 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

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).