From: Lena Djokic <[email protected]> Calculation of 64-bit offset was not correct for all cases.
Signed-off-by: Lena Djokic <[email protected]> Reviewed-by: Peter Maydell <[email protected]> Signed-off-by: Riku Voipio <[email protected]> --- linux-user/syscall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index fccd631..3e88dd1 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -11228,7 +11228,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, arg3 = arg4; arg4 = arg5; } - ret = get_errno(readahead(arg1, ((off64_t)arg3 << 32) | arg2, arg4)); + ret = get_errno(readahead(arg1, target_offset64(arg2, arg3) , arg4)); #else ret = get_errno(readahead(arg1, arg2, arg3)); #endif -- 2.9.3
