On 1/30/08, Scott Pakin <[EMAIL PROTECTED]> wrote:
> Zhang, Xiantao wrote:
> > Scott Pakin wrote:
> >> The attached patch corrects a bug in qemu/slirp/tcp_var.h that defines
> >> the seg_next field in struct tcpcb to be 32 bits wide regardless of
> >> 32/64-bitness.  seg_next is assigned a pointer value in
> >> qemu/slirp/tcp_subr.c, then cast back to a pointer in
> >> qemu/slirp/tcp_input.c and dereferenced.  That produces a SIGSEGV on
> >> my system.
> >
> >
> > I still hit it on IA64 platform with your patch, once configured with
> > slirp.
>
> Okay, here's a more thorough patch that fixes *all* of the "cast from/to
> pointer to/from integer of a different size" mistakes that gcc warns
> about.  Does it also solve the SIGSEGV problem on IA64?

The SLIRP code is much, much more subtle than that. Please see this thread:
http://lists.gnu.org/archive/html/qemu-devel/2007-10/msg00542.html


Reply via email to