| SCTP client implementation in kernel space I want to make a simple SCTP client server module in kernel space.
I used Fedora core 6 (kernel 2.6.18.1) and installed lksctp 1.0.6.
I run the SCTP client and server in user space normally by lksctp.
I already made the server side in kernel space and tested it with the client side in user space.
Then, the association was established successfully.(INIT, INIT_ACK, COOKIE_ECHO and COOKIE ACK)
So, I am working on the client side in kernel space.
When I try to test connect function, it has this error message "BUG: unable to handle kernel NULL pointer dereference at virtual address 00000018".
I traced code and found this error.
It occurred when call sock_sndtimeo() in __sctp_connect() of net/sctp/socket.c .
The sk->sk_socket->file is NULL in sock_sndtimeo().
The client code is given below.
--for running this i have to insmod --
struct socket *sock;
struct sockaddr_in seraddr;
int err;
err=sock_create_kern(AF_INET,SOCK_STREAM,IPPROTO_S CTP,&sock);
memset((void*)&seraddr, 0, sizeof(seraddr));
seraddr.sin_family=AF_INET;
seraddr.sin_port=htons (19000);
seraddr.sin_addr.s_addr=(unsigned int)0x0A01A8C0; //192.168.1.10;
err=sock->ops->connect(sock,(struct sockaddr*)&seraddr,sizeof(seraddr),0);
return 0;
------------
Jinkle Wei |