tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Interface for communicating from kernel to user mode
Thanks for detailed answer.
With help of your description I reached valid file_t* file_fd in kernel
module.
In kernel module I used file_fd = fd_getfile2(lwp_ptr->l_proc, user_fd);
which encapsulates your older code.
Also test for descriptor type:
if(file_fd->f_type != DTYPE_SOCKET) {...} is ok, so I have both:
valid file_fd
and
struct socket* so = file_fd->f_undata.fd_so; in kernel module.
What I cannot resolve is which function to use for receiving data sent
from user mode on retrieved file_fd in kernel module.
When I tried soo_read(file_fd,...) then OS freezes and need to reboot.
I call soo_read() in kernel thread.
Should it be functional or am I doing something wrong ?
Is needed different function for receiving data ? Or needed some
preparing of file_fd before calling soo_read(file_fd, ...) ?
Peter
Home |
Main Index |
Thread Index |
Old Index