linux-user: Correct signedness of target_flock l_start and l_len fields
commit8efb2ed5ec192f7e83c5e48753e695d5cbc161b2
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 6 Jun 2016 18:58:16 +0000 (6 19:58 +0100)
committerRiku Voipio <riku.voipio@linaro.org>
Wed, 8 Jun 2016 09:06:50 +0000 (8 12:06 +0300)
tree10344bd8c60be4053aac08f7559c2b721058aa94
parent49ca6f3e24ee45de514604b8116e541332b23a84
linux-user: Correct signedness of target_flock l_start and l_len fields

The l_start and l_len fields in the various target_flock structures are
supposed to be '__kernel_off_t' or '__kernel_loff_t', which means they
should be signed, not unsigned. Correcting the structure definitions means
that __get_user() and __put_user() will correctly sign extend them if
the guest is using 32 bit offsets and the host is using 64 bit offsets.

This fixes failures in the LTP 'fcntl14' tests where it checks that
negative seek offsets work correctly.

We reindent the structures to drop hard tabs since we're touching 40%
of the fields anyway.

RV: long long -> abi_llong as suggested by Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
linux-user/syscall_defs.h