On 3 September 2015 at 06:27, Jonathan Neuschäfer <[email protected]> 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 <[email protected]>
Reviewed-by: Peter Maydell <[email protected]> thanks -- PMM
