[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 2/9] bsd-user/mmap.c: check pread's return value to fix wa
From: |
Kyle Evans |
Subject: |
Re: [PATCH v3 2/9] bsd-user/mmap.c: check pread's return value to fix warnings with _FORTIFY_SOURCE |
Date: |
Thu, 14 Oct 2021 10:06:08 -0500 |
On Fri, Oct 8, 2021 at 4:24 PM Warner Losh <imp@bsdimp.com> wrote:
>
> From: Mikaël Urankar <mikael.urankar@gmail.com>
>
> Simmilar to the equivalent linux-user: commit fb7e378cf9c, which added
> checking to pread's return value. Update to current qemu standards with
> {} around the if statement.
>
> Signed-off-by: Mikaël Urankar <mikael.urankar@gmail.com>
> Signed-off-by: Warner Losh <imp@bsdimp.com>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> bsd-user/mmap.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c
> index fc3c1480f5..4f4fa3ab46 100644
> --- a/bsd-user/mmap.c
> +++ b/bsd-user/mmap.c
> @@ -174,7 +174,9 @@ 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_untagged(start), end - start, offset);
> + if (pread(fd, g2h_untagged(start), end - start, offset) == -1) {
> + return -1;
> + }
>
> /* put final protection */
> if (prot_new != (prot1 | PROT_WRITE))
> @@ -593,7 +595,9 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int
> prot,
> -1, 0);
> if (retaddr == -1)
> goto fail;
> - pread(fd, g2h_untagged(start), len, offset);
> + if (pread(fd, g2h_untagged(start), len, offset) == -1) {
> + goto fail;
> + }
> if (!(prot & PROT_WRITE)) {
> ret = target_mprotect(start, len, prot);
> if (ret != 0) {
> --
> 2.32.0
>
Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
- [PATCH v3 0/9] bsd-user mmap fixes, Warner Losh, 2021/10/08
- [PATCH v3 1/9] bsd-user/mmap.c: Always zero MAP_ANONYMOUS memory in mmap_frag(), Warner Losh, 2021/10/08
- [PATCH v3 2/9] bsd-user/mmap.c: check pread's return value to fix warnings with _FORTIFY_SOURCE, Warner Losh, 2021/10/08
- Re: [PATCH v3 2/9] bsd-user/mmap.c: check pread's return value to fix warnings with _FORTIFY_SOURCE,
Kyle Evans <=
- [PATCH v3 6/9] bsd-user/mmap.c: Convert to qemu_log logging for mmap debugging, Warner Losh, 2021/10/08
- [PATCH v3 4/9] bsd-user/mmap.c: mmap return ENOMEM on overflow, Warner Losh, 2021/10/08
- [PATCH v3 3/9] bsd-user/mmap.c: MAP_ symbols are defined, so no need for ifdefs, Warner Losh, 2021/10/08
- [PATCH v3 5/9] bsd-user/mmap.c: mmap prefer MAP_ANON for BSD, Warner Losh, 2021/10/08