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