qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v3 00/13] linux-user: __{get, put}_user return value


From: riku . voipio
Subject: [Qemu-devel] [PATCH v3 00/13] linux-user: __{get, put}_user return value cleanup
Date: Tue, 10 Jun 2014 16:20:29 +0300

From: Riku Voipio <address@hidden>

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

Changes v3 -> pull req
 rebase against HEAD
 01/13: signal/all: remove __get/__put_user return value reading
  - Removed err variable from m68k/target_rt_restore_ucontext

Changes pull req to -> 2
 05/13: keep valid_user_regs
 08/13: remove unneccesary sigsegv label as suggested by Peter

Changes v2 ->v1
 Rebase on HEAD
 Rewrote Subject and improved commit messages of all patches


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 | 1227 +++++++++++++++++++++------------------------------
 2 files changed, 508 insertions(+), 731 deletions(-)

-- 
2.0.0.rc2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]