From: Jacques Gelinas (jack_at_solucorp.qc.ca)
Date: Fri 31 Jan 2003 - 23:25:58 GMT
On Mon, 30 Dec 2002 19:48:01 -0500, =?iso-8859-1?Q?jean-philippe_b=E9=EFque?= wrote
> Dear, Jacques Gelinas
> What do you mean by *I was fiddling improperly in struct sock and
> there is another struct (tcp_tw_bucket) which is a clone of struct sock and
> must remain that way*
Here is how it works in the 2.4 kernel currently (don't know about 2.5).
Basically, you have two type of socket: struct sock and struct tcp_tw_bucket. One
is used at connect time and the other is used later when the socket is closing
(not sure). Because a lot of code have to deal with both type, the author (not me)
did the following: He built both struct with the same start
// some stuff specific to sock
// other stuff
And in the kernel, there is some table like this
struct sock *tb[ ];
holding both struct sock and struct tcp_tw_bucket objects. I added some stuff
at the end of struct sock without knowing that the table above does not really
contain only struct sock object, but also struct tcp_tw_bucket. The code I wrote
was handling this table and checking for the new field I just added. In some
case (when handling a tcp_tw_bucket), I was addressing garbage behond the object.
When I found the problem, I moved my field in the common area of both struct
and things became reliable.
> What can we do with CTX16.....
What is the status. It is working for me. How many people are running CTX16
now. This is the default kernel available from the web page, so I guess quite
a few are running it right now.
So is this a ctx16 issue or something else. Someone reported there was a bug
with the via chipset in 2.4.20. Is this the real problem ?
Jacques Gelinas <jack_at_solucorp.qc.ca>
vserver: run general purpose virtual servers on one box, full speed!