* [Qemu-devel] [PATCH v2 00/13] linux-user: __{get, put}_user return value cleanup
@ 2014-06-06 9:46 riku.voipio
2014-06-07 21:40 ` Peter Maydell
0 siblings, 1 reply; 3+ messages in thread
From: riku.voipio @ 2014-06-06 9:46 UTC (permalink / raw)
To: qemu-devel; +Cc: Riku Voipio
From: Riku Voipio <riku.voipio@linaro.org>
This series is a cleanup and gcc-4.9 buildfix:
linux-user/syscall.c: In function ‘host_to_target_stat64’:
linux-user/qemu.h:301:19: error: right-hand operand of comma expression has no
effect [-Werror=unused-value]
((hptr), (x)), 0)
removing the unused 0 moves the bar:
linux-user/main.c: In function ‘arm_kernel_cmpxchg64_helper’:
linux-user/qemu.h:330:15: error: void value not ignored as it ought to be
__ret = __put_user((x), __hptr); \
And after fixing that, we see there is a lot of reading the return
value of __put_user and __get_user in signal.c. A lot of this code
has been copied from kernel, where the accessor functions might fail
Qemu uses different model of accessing. Access is already checked in
lock_user(), and thus __put/__get user cannot fail.
So this patchset clears signal.c from reading __get_user and
__put_user return values, and then fixes the definitions of the macros.
Riku
Riku Voipio (13):
signal/all: remove __get/__put_user return value reading
signal/x86/setup_frame: __put_user cleanup
signal/all: remove return value from copy_siginfo_to_user
signal/all: remove return value from setup_sigcontext
signal/all: remove return value from restore_sigcontext
signal/sparc/restore_fpu_state: remove
signal/all/do_sigaltstack remove __get_user value check
signal/all/do_sigreturn - remove __get_user checks
signal/all/setup_frame remove __put_user checks
signal/ppc/{save,restore}_user_regs remove __put/get error checks
signal/sparc64_set_context: remove __get_user checks
signal/ppc/do_setcontext remove __get_user return check
linux-user: fix gcc-4.9 compiler error on __{get,put]}_user
linux-user/qemu.h | 12 +-
linux-user/signal.c | 1249 +++++++++++++++++++++------------------------------
2 files changed, 513 insertions(+), 748 deletions(-)
--
2.0.0.rc2
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v2 00/13] linux-user: __{get, put}_user return value cleanup
2014-06-06 9:46 [Qemu-devel] [PATCH v2 00/13] linux-user: __{get, put}_user return value cleanup riku.voipio
@ 2014-06-07 21:40 ` Peter Maydell
2014-06-09 12:25 ` Riku Voipio
0 siblings, 1 reply; 3+ messages in thread
From: Peter Maydell @ 2014-06-07 21:40 UTC (permalink / raw)
To: Riku Voipio; +Cc: QEMU Developers
On 6 June 2014 10:46, <riku.voipio@linaro.org> wrote:
> From: Riku Voipio <riku.voipio@linaro.org>
>
> This series is a cleanup and gcc-4.9 buildfix:
>
> linux-user/syscall.c: In function ‘host_to_target_stat64’:
> linux-user/qemu.h:301:19: error: right-hand operand of comma expression has no
> effect [-Werror=unused-value]
> ((hptr), (x)), 0)
>
> removing the unused 0 moves the bar:
>
> linux-user/main.c: In function ‘arm_kernel_cmpxchg64_helper’:
> linux-user/qemu.h:330:15: error: void value not ignored as it ought to be
> __ret = __put_user((x), __hptr); \
>
> And after fixing that, we see there is a lot of reading the return
> value of __put_user and __get_user in signal.c. A lot of this code
> has been copied from kernel, where the accessor functions might fail
> Qemu uses different model of accessing. Access is already checked in
> lock_user(), and thus __put/__get user cannot fail.
>
> So this patchset clears signal.c from reading __get_user and
> __put_user return values, and then fixes the definitions of the macros.
Other than the issue about ARM valid_user_regs(),
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
thanks
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v2 00/13] linux-user: __{get, put}_user return value cleanup
2014-06-07 21:40 ` Peter Maydell
@ 2014-06-09 12:25 ` Riku Voipio
0 siblings, 0 replies; 3+ messages in thread
From: Riku Voipio @ 2014-06-09 12:25 UTC (permalink / raw)
To: Peter Maydell; +Cc: QEMU Developers
On 8 June 2014 00:40, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 6 June 2014 10:46, <riku.voipio@linaro.org> wrote:
>> From: Riku Voipio <riku.voipio@linaro.org>
>>
>> This series is a cleanup and gcc-4.9 buildfix:
>>
>> linux-user/syscall.c: In function ‘host_to_target_stat64’:
>> linux-user/qemu.h:301:19: error: right-hand operand of comma expression has no
>> effect [-Werror=unused-value]
>> ((hptr), (x)), 0)
>>
>> removing the unused 0 moves the bar:
>>
>> linux-user/main.c: In function ‘arm_kernel_cmpxchg64_helper’:
>> linux-user/qemu.h:330:15: error: void value not ignored as it ought to be
>> __ret = __put_user((x), __hptr); \
>>
>> And after fixing that, we see there is a lot of reading the return
>> value of __put_user and __get_user in signal.c. A lot of this code
>> has been copied from kernel, where the accessor functions might fail
>> Qemu uses different model of accessing. Access is already checked in
>> lock_user(), and thus __put/__get user cannot fail.
>>
>> So this patchset clears signal.c from reading __get_user and
>> __put_user return values, and then fixes the definitions of the macros.
>
> Other than the issue about ARM valid_user_regs(),
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Ok, I've updated the two mentioned patches and added your reviewed-by.
I think instead of sending v3 round of the patches to the list, I'll
just send them in the linux-user pull req[1] - people are already
itching got gcc-4.9 builds. Even in the pull request people can still
comment if there are other issues with the patches.
Riku
[1] https://git.linaro.org/people/riku.voipio/qemu.git/shortlog/refs/heads/linux-user-for-upstream
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-06-09 12:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-06 9:46 [Qemu-devel] [PATCH v2 00/13] linux-user: __{get, put}_user return value cleanup riku.voipio
2014-06-07 21:40 ` Peter Maydell
2014-06-09 12:25 ` Riku Voipio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).