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

Reply via email to