Message ID | 1262223266-19191-3-git-send-email-kirill@shutemov.name |
---|---|
State | New |
Headers | show |
"Kirill A. Shutemov" <kirill@shutemov.name> writes: Hi, > CC i386-linux-user/mmap.o > cc1: warnings being treated as errors > /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c: In function 'mmap_frag': > /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c:253: error: ignoring return value of 'pread', declared with attribute warn_unused_result > /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c: In function 'target_mmap': > /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c:477: error: ignoring return value of 'pread', declared with attribute warn_unused_result > make[1]: *** [mmap.o] Error 1 > > Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> > --- > linux-user/mmap.c | 6 ++++-- > 1 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/linux-user/mmap.c b/linux-user/mmap.c > index 144fb7c..e496c64 100644 > --- a/linux-user/mmap.c > +++ b/linux-user/mmap.c > @@ -250,7 +250,8 @@ static int mmap_frag(abi_ulong real_start, > mprotect(host_start, qemu_host_page_size, prot1 | PROT_WRITE); > > /* read the corresponding file data */ > - pread(fd, g2h(start), end - start, offset); > + if (pread(fd, g2h(start), end - start, offset) == -1) > + return -errno; This needs to be checked but iirc, it's wrong. One should set errno and return -1. Please double check and fix if needed. Thanks, Arnaud
On Thu, Dec 31, 2009 at 12:50 PM, Arnaud Patard <arnaud.patard@rtp-net.org> wrote: > "Kirill A. Shutemov" <kirill@shutemov.name> writes: > > Hi, > >> CC i386-linux-user/mmap.o >> cc1: warnings being treated as errors >> /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c: In function 'mmap_frag': >> /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c:253: error: ignoring return value of 'pread', declared with attribute warn_unused_result >> /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c: In function 'target_mmap': >> /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c:477: error: ignoring return value of 'pread', declared with attribute warn_unused_result >> make[1]: *** [mmap.o] Error 1 >> >> Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> >> --- >> linux-user/mmap.c | 6 ++++-- >> 1 files changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/linux-user/mmap.c b/linux-user/mmap.c >> index 144fb7c..e496c64 100644 >> --- a/linux-user/mmap.c >> +++ b/linux-user/mmap.c >> @@ -250,7 +250,8 @@ static int mmap_frag(abi_ulong real_start, >> mprotect(host_start, qemu_host_page_size, prot1 | PROT_WRITE); >> >> /* read the corresponding file data */ >> - pread(fd, g2h(start), end - start, offset); >> + if (pread(fd, g2h(start), end - start, offset) == -1) >> + return -errno; > > This needs to be checked but iirc, it's wrong. One should set errno and > return -1. Please double check and fix if needed. Thanks.
diff --git a/linux-user/mmap.c b/linux-user/mmap.c index 144fb7c..e496c64 100644 --- a/linux-user/mmap.c +++ b/linux-user/mmap.c @@ -250,7 +250,8 @@ static int mmap_frag(abi_ulong real_start, mprotect(host_start, qemu_host_page_size, prot1 | PROT_WRITE); /* read the corresponding file data */ - pread(fd, g2h(start), end - start, offset); + if (pread(fd, g2h(start), end - start, offset) == -1) + return -errno; /* put final protection */ if (prot_new != (prot1 | PROT_WRITE)) @@ -474,7 +475,8 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot, -1, 0); if (retaddr == -1) goto fail; - pread(fd, g2h(start), len, offset); + if (pread(fd, g2h(start), len, offset) == -1) + return -errno; if (!(prot & PROT_WRITE)) { ret = target_mprotect(start, len, prot); if (ret != 0) {
CC i386-linux-user/mmap.o cc1: warnings being treated as errors /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c: In function 'mmap_frag': /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c:253: error: ignoring return value of 'pread', declared with attribute warn_unused_result /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c: In function 'target_mmap': /usr/src/RPM/BUILD/qemu-0.11.92/linux-user/mmap.c:477: error: ignoring return value of 'pread', declared with attribute warn_unused_result make[1]: *** [mmap.o] Error 1 Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> --- linux-user/mmap.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)