On Tue, Jun 28, 2011 at 12:21:57PM +0100, Peter Maydell wrote: > Enforce the same restriction on the size of the sigset passed to > pselect6 as the Linux kernel does. This is both correct and silences > a gcc 4.6 warning about a write-only variable.
Odd but true, after all the trouble of passing the size as packed variable, even the kernel bothers nothing but check that it matches with sizeof(sigset_t)... I'll include this and your other two patches for the next round. Riku > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > This really is the last gcc 4.6 warning fix! > > linux-user/syscall.c | 5 +++++ > 1 files changed, 5 insertions(+), 0 deletions(-) > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index fed7a8f..feb2501 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -5684,6 +5684,11 @@ abi_long do_syscall(void *cpu_env, int num, abi_long > arg1, > > if (arg_sigset) { > sig.set = &set; > + if (arg_sigsize != sizeof(*target_sigset)) { > + /* Like the kernel, we enforce correct size sigsets > */ > + ret = -TARGET_EINVAL; > + goto fail; > + } > target_sigset = lock_user(VERIFY_READ, arg_sigset, > sizeof(*target_sigset), 1); > if (!target_sigset) { > -- > 1.7.5.3