Re: Probable Bug in tcp.h

2008-06-09 Thread Bruce M. Simpson
Marc Lörner wrote: off0 is 0x14 => no problem with that but address of ip is 0xe00021c8706e => not correct aligned to 32-bits Can anyone tell me, where ip is allocated, so I can do a little bit more research? It really depends on the context! That's a very wide ranging question. It de

Re: Probable Bug in tcp.h

2008-06-09 Thread Marc Lörner
On Friday 06 June 2008 14:25, Bruce Evans wrote: > On Fri, 6 Jun 2008, Marc [iso-8859-1] Lörner wrote: > > On Friday 06 June 2008 09:52, Peter Jeremy wrote: > >> I gather from this comment that you have some code using struct tcphdr > >> that is getting alignment errors. struct tcphdr is extensive

Re: Probable Bug in tcp.h

2008-06-06 Thread Bruce Evans
On Fri, 6 Jun 2008, Marc [iso-8859-1] L?rner wrote: On Friday 06 June 2008 09:52, Peter Jeremy wrote: I gather from this comment that you have some code using struct tcphdr that is getting alignment errors. struct tcphdr is extensively used in the TCP stack within the kernel so it's likely tha

Re: Probable Bug in tcp.h

2008-06-06 Thread Bruce Evans
On Thu, 5 Jun 2008, Bruce M. Simpson wrote: Marc L?rner wrote: .. First of all I have the problam of misalignment of th_off. Because in this way always 4 bytes are read and the the bits of th_off are replaced. Then the 4 bytes are written back. But should (th_x and th_off) not only be 1 byte

Re: Probable Bug in tcp.h

2008-06-06 Thread Marc Lörner
On Friday 06 June 2008 09:52, Peter Jeremy wrote: > On 2008-Jun-06 09:30:28 +0200, Marc Lörner <[EMAIL PROTECTED]> wrote: > >th_x2 and th_off are created as a bitfield. But C-Standard says that > >bitfields are accessed as integers => 4-bytes > > > >On itanium integers are read with ld4-command but

Re: Probable Bug in tcp.h

2008-06-06 Thread Peter Jeremy
On 2008-Jun-06 09:30:28 +0200, Marc Lörner <[EMAIL PROTECTED]> wrote: >th_x2 and th_off are created as a bitfield. But C-Standard says that >bitfields are accessed as integers => 4-bytes > >On itanium integers are read with ld4-command but the address of >th_x2/th_off may not be aligned to 4-bytes

Re: Probable Bug in tcp.h

2008-06-06 Thread Bruce M. Simpson
Marc Lörner wrote: th_x2 and th_off are created as a bitfield. But C-Standard says that bitfields are accessed as integers => 4-bytes On itanium integers are read with ld4-command but the address of th_x2/th_off may not be aligned to 4-bytes => we get an unaligned reference fault. If we'd ch

Re: Probable Bug in tcp.h

2008-06-06 Thread Marc Lörner
On Thursday 05 June 2008 18:09, Bruce M. Simpson wrote: > Marc Lörner wrote: > > .. > > First of all I have the problam of misalignment of th_off. Because in > > this way always 4 bytes are read and the the bits of th_off are replaced. > > Then the 4 bytes are written back. > > > > But should (th_x

Re: Probable Bug in tcp.h

2008-06-06 Thread Marc Lörner
On Thursday 05 June 2008 17:56, Rui Paulo wrote: > On Thu, Jun 05, 2008 at 05:12:47PM +0200, =?ISO-8859-1?Q?Marc_L=F6rner_ wrote: > > Hello, > > I probably found a bug in declaration of "struct tcphdr"! > > > > struct tcphdr { > > u_short th_sport; /* source port */ > > u_sho

Re: Probable Bug in tcp.h

2008-06-05 Thread Bruce M. Simpson
Marc Lörner wrote: .. First of all I have the problam of misalignment of th_off. Because in this way always 4 bytes are read and the the bits of th_off are replaced. Then the 4 bytes are written back. But should (th_x and th_off) not only be 1 byte in whole -> only read and write 1 byte?

Re: Probable Bug in tcp.h

2008-06-05 Thread Rui Paulo
On Thu, Jun 05, 2008 at 05:12:47PM +0200, =?ISO-8859-1?Q?Marc_L=F6rner_ wrote: > Hello, > I probably found a bug in declaration of "struct tcphdr"! > > struct tcphdr { > u_short th_sport; /* source port */ > u_short th_dport; /* destination port */ > t

Probable Bug in tcp.h

2008-06-05 Thread Marc Lörner
Hello, I probably found a bug in declaration of "struct tcphdr"! struct tcphdr { u_short th_sport; /* source port */ u_short th_dport; /* destination port */ tcp_seq th_seq; /* sequence number */ tcp_seq th_ack;