On 06.02.2012, at 22:03, Peter Maydell wrote:

> On 6 February 2012 20:45, Alexander Graf <ag...@suse.de> wrote:
>> Fallocate gets off_t parameters passed in, so we should also read them out
>> accordingly.
>> 
>> Signed-off-by: Alexander Graf <ag...@suse.de>
>> ---
>>  linux-user/syscall.c |    3 ++-
>>  1 files changed, 2 insertions(+), 1 deletions(-)
>> 
>> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
>> index ee8899e..ca63594 100644
>> --- a/linux-user/syscall.c
>> +++ b/linux-user/syscall.c
>> @@ -8237,7 +8237,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long 
>> arg1,
>>  #endif /* CONFIG_EVENTFD  */
>>  #if defined(CONFIG_FALLOCATE) && defined(TARGET_NR_fallocate)
>>     case TARGET_NR_fallocate:
>> -        ret = get_errno(fallocate(arg1, arg2, arg3, arg4));
>> +        ret = get_errno(fallocate(arg1, arg2, target_offset64(arg3, arg4),
>> +                                  target_offset64(arg5, arg6)));
>>         break;
>>  #endif
>>  #if defined(CONFIG_SYNC_FILE_RANGE)
> 
> This needs to be guarded with a TARGET_ABI_BITS == 32 conditional:
> 64 bit guests want the original version.

Good point. Thanks!


Alex

Reply via email to