On 15 May 2014 14:40, Peter Maydell <peter.mayd...@linaro.org> wrote: > If the guest's "long" type is smaller than the host's, then > our sched_getaffinity wrapper needs to round the buffer size > up to a multiple of the host sizeof(long). This means that when > we copy the data back from the host buffer to the guest's > buffer there might be more than we can fit. Rather than > overflowing the guest's buffer, handle this case by returning > EINVAL or ignoring the unused extra space, as appropriate. > > Note that only guests using the syscall interface directly might > run into this bug -- the glibc wrappers around it will always > use a buffer whose size is a multiple of 8 regardless of guest > architecture.
In fact it turns out that gcc 4.9 compiled ARM binaries will run into this, because libgomp does direct syscalls as part of its initialization: https://bugs.launchpad.net/bugs/1311614 So: Cc: qemu-sta...@nongnu.org > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Also: ping! :-) thanks -- PMM