Subject: Re: net/sctp/sm_make_chunk.c alignment problems on parisc64

From: Arnaldo Carvalho de Melo <[email-masked]>
Date: Sat, 20 Sep 2003 12:54:05 -0300

Em Fri, Sep 19, 2003 at 11:39:09PM -0700, David S. Miller escreveu:
> On Fri, 19 Sep 2003 15:15:53 -0700 (PDT)
> Sridhar Samudrala <[email-masked]> wrote:
> 
> > But unfortunately i am not able see this problem with a parisc64 cross compiler 
> > on i386. So it makes it hard to debug or fix it. Looks like this happens only
> > when building natively on a parisc64 machine which i don't have access to.
> 
> Did you build with or without SMP enabled?

Yes, here I'm building without SMP enabled.

> Anyways, try to work with Arnaldo to figure out the precise statement
> causing the problems.

The problem is right at:

tv_add(&asoc->cookie_life, &cookie->c.expiration);

and more specifically the problem is with cookie->c.expiration, that in
turn points to this line:

cookie = (struct sctp_signed_cookie *) retval->body;

Now retval is of this type:

/* Section 3.3.3.1 State Cookie (7) */
typedef struct sctp_cookie_param {
        sctp_paramhdr_t p;
        __u32 body[0];
} sctp_cookie_param_t __attribute__((packed));

I removed the packed attribute both from sctp_cookie_param_t and
sctp_paramhdr_t, the problem persists, ideas?

Please send any patch you come up with, I'll be happy to test it.

- Arnaldo