On 3 September 2015 at 06:27, Jonathan Neuschäfer <j.neuschae...@gmx.net> wrote: > Currently, __target_cmsg_nxthdr compares a pointer derived from > target_cmsg against the msg_control field of target_msgh (through > subtraction). This failed for me when emulating i386 code under x86_64, > because pointers in the host address space and pointers in the guest > address space were not the same. This patch passes the initial value of > target_cmsg into __target_cmsg_nxthdr. > > I found and fixed two more related bugs: > - __target_cmsg_nxthdr now returns the new cmsg pointer instead of the > old one. > - tgt_space (in host_to_target_cmsg) doesn't count "sizeof (struct > target_cmsghdr)" twice anymore. > > Signed-off-by: Jonathan Neuschäfer <j.neuschae...@gmx.net>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM