Hi,
I've posted some days ago about a problem with a lkm.
I'm trying to close all the sock that remain too much time in SYN_RECV
state.
This is how I obtain a pointer to each of them:

tcp_listen_lock();

for(i = 0; i < TCP_LHTABLE_SIZE; i++)

{

sk_copy = tcp_listening_hash[i];

while(sk_copy != NULL)

{

tp = &(sk_copy->tp_pinfo.af_tcp);

read_lock_bh(&tp->syn_wait_lock);

lopt = tp->listen_opt;

if (lopt && lopt->qlen != 0)

{

for (k=0; k<TCP_SYNQ_HSIZE; k++)

{

req = lopt->syn_table[k];

while(req != NULL)

{

req = req->dl_next;

// here I want to use tcp_synq_drop...but my system crashes!!!

num++;

}

}

}

read_unlock_bh(&tp->syn_wait_lock);

num++;

sk_copy = sk_copy->next;

}

}

tcp_listen_unlock();



How can I do it?

Thanx

damiano

[EMAIL PROTECTED]



Reply via email to