从内核模块中的AF_UNIX套接字的fd获取绝对路径

时间:2015-07-20 12:50:59

标签: c struct linux-kernel kernel kernel-module

给定一个文件描述符,我需要得到它的绝对路径,无论它是常规文件还是AF_UNIX套接字。 How can I get a filename from a file descriptor inside a kernel module?处的代码适用于常规文件但使用AF_UNIX套接字我得到类似"socket:[12345]"的内容而不是绝对路径" /tmp/.X11-unix/X0" ;

struct sockaddr_un {
                    unsigned short   sun_family;    // AF_UNIX
                    char            sun_path[108];  // pathname
                    };

1 个答案:

答案 0 :(得分:1)

netstat -x通过咨询/proc/net/unix显示unix套接字的完整路径名,unix_seq_show填充net/unix/af_unix.c。看这里是如何完成的:

http://lxr.free-electrons.com/source/net/unix/af_unix.c?v=4.1#L2252