unix_stream_read_generic这个函数一般是通过哪个用户态函数调用到的
时间: 2023-08-03 16:03:41 浏览: 260
`unix_stream_read_generic` 函数是 Linux 内核中用于读取 UNIX 域套接字数据的通用函数,它一般是通过 `sys_read` 系统调用函数间接调用的。
`sys_read` 是 Linux 内核中用于从文件描述符读取数据的系统调用函数之一,它的原型定义在 `fs/read_write.c` 文件中,其定义如下:
```c
ssize_t sys_read(unsigned int fd, char __user *buf, size_t count);
```
在应用程序中,当我们调用 `read` 函数读取 UNIX 域套接字数据时,系统会将该请求转换为 `sys_read` 系统调用,并将 UNIX 域套接字文件描述符和用户缓冲区作为参数传递给它。在内核中,`sys_read` 会调用文件系统的 `read` 函数,而对于 UNIX 域套接字,它的 `read` 函数最终会调用 `unix_stream_read_generic` 函数来读取数据。
因此,`unix_stream_read_generic` 函数一般是通过 `sys_read` 系统调用间接调用的。
阅读全文