Fix compilation with _FORTIFY_SOURCE
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
Changes in v2 from the cover letter
- 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)
Patches in v2 No applies recorded yet
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.
Cover letter [Qemu-devel] [PATCH v2 00/17] Fix compilation with _FORTIFY_SOURCE
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(-)