分类: Linux学习 os 2014-03-24 09:32 1147人阅读 举报
01)系统调用信息保存在哪儿?
保存在sys_call_table当中。以X86为例,sys_call_table的初始化如下:
arch/x86/kernel/syscall_32.c
-
#define __SYSCALL_I386(nr, sym, compat) [nr] = sym,
-
-
typedef asmlinkage void (*sys_call_ptr_t)(void);
-
-
extern asmlinkage void sys_ni_syscall(void);
-
-
__visible const sys_call_ptr_t sys_call_table[__NR_syscall_max+1] = {
-
-
-
-
-
[0 ... __NR_syscall_max] = &sys_ni_syscall,
-
#include
-
};
-
其中
sys_call_table数组的初始化使用GCC的扩展语法,语句[0 ... __NR_syscall_max] = &sys_ni_syscall将数组内容全部初始化为未实现版本,然后包含asm/syscalls_32.h当中逐项初始化的内容进行初始化。
asm/syscalls_32.h为编译期间生成的一个头文件,该内容由/include/uapi/asm-generic/unistd.h等头文件共同生成,其内容如下:
-
__SYSCALL_I386(0, sys_restart_syscall, sys_restart_syscall)
-
__SYSCALL_I386(1, sys_exit, sys_exit)
-
__SYSCALL_I386(2, sys_fork, stub32_fork)
-
__SYSCALL_I386(3, sys_read, sys_read)
-
__SYSCALL_I386(4, sys_write, sys_write)
-
__SYSCALL_I386(5, sys_open, compat_sys_open)
-
__SYSCALL_I386(6, sys_close, sys_close)
-
__SYSCALL_I386(7, sys_waitpid, sys32_waitpid)
-
__SYSCALL_I386(8, sys_creat, sys_creat)
-
__SYSCALL_I386(9, sys_link, sys_link)
-
__SYSCALL_I386(10, sys_unlink, sys_unlink)
-
__SYSCALL_I386(11, sys_execve, stub32_execve)
-
__SYSCALL_I386(12, sys_chdir, sys_chdir)
-
__SYSCALL_I386(13, sys_time, compat_sys_time)
-
__SYSCALL_I386(14, sys_mknod, sys_mknod)
-
__SYSCALL_I386(15, sys_chmod, sys_chmod)
-
__SYSCALL_I386(16, sys_lchown16, sys_lchown16)
-
__SYSCALL_I386(18, sys_stat, sys_stat)
-
__SYSCALL_I386(19, sys_lseek, compat_sys_lseek)
-
__SYSCALL_I386(20, sys_getpid, sys_getpid)
-
__SYSCALL_I386(21, sys_mount, compat_sys_mount)
-
__SYSCALL_I386(22, sys_oldumount, sys_oldumount)
-
__SYSCALL_I386(23, sys_setuid16, sys_setuid16)
-
__SYSCALL_I386(24, sys_getuid16, sys_getuid16)
-
__SYSCALL_I386(25, sys_stime, compat_sys_stime)
-
__SYSCALL_I386(26, sys_ptrace, compat_sys_ptrace)
-
__SYSCALL_I386(27, sys_alarm, sys_alarm)
-
__SYSCALL_I386(28, sys_fstat, sys_fstat)
-
__SYSCALL_I386(29, sys_pause, sys_pause)
-
__SYSCALL_I386(30, sys_utime, compat_sys_utime)
-
__SYSCALL_I386(33, sys_access, sys_access)
-
__SYSCALL_I386(34, sys_nice, sys_nice)
-
__SYSCALL_I386(36, sys_sync, sys_sync)
-
__SYSCALL_I386(37, sys_kill, sys_kill)
-
__SYSCALL_I386(38, sys_rename, sys_rename)
-
__SYSCALL_I386(39, sys_mkdir, sys_mkdir)
-
__SYSCALL_I386(40, sys_rmdir, sys_rmdir)
-
__SYSCALL_I386(41, sys_dup, sys_dup)
-
__SYSCALL_I386(42, sys_pipe, sys_pipe)
-
__SYSCALL_I386(43, sys_times, compat_sys_times)
-
__SYSCALL_I386(45, sys_brk, sys_brk)
-
__SYSCALL_I386(46, sys_setgid16, sys_setgid16)
-
__SYSCALL_I386(47, sys_getgid16, sys_getgid16)
-
__SYSCALL_I386(48, sys_signal, sys_signal)
-
__SYSCALL_I386(49, sys_geteuid16, sys_geteuid16)
-
__SYSCALL_I386(50, sys_getegid16, sys_getegid16)
-
__SYSCALL_I386(51, sys_acct, sys_acct)
-
__SYSCALL_I386(52, sys_umount, sys_umount)
-
__SYSCALL_I386(54, sys_ioctl, compat_sys_ioctl)
-
__SYSCALL_I386(55, sys_fcntl, compat_sys_fcntl64)
-
__SYSCALL_I386(57, sys_setpgid, sys_setpgid)
-
__SYSCALL_I386(59, sys_olduname, sys_olduname)
-
__SYSCALL_I386(60, sys_umask, sys_umask)
-
__SYSCALL_I386(61, sys_chroot, sys_chroot)
-
__SYSCALL_I386(62, sys_ustat, compat_sys_ustat)
-
__SYSCALL_I386(63, sys_dup2, sys_dup2)
-
__SYSCALL_I386(64, sys_getppid, sys_getppid)
-
__SYSCALL_I386(65, sys_getpgrp, sys_getpgrp)
-
__SYSCALL_I386(66, sys_setsid, sys_setsid)
-
__SYSCALL_I386(67, sys_sigaction, compat_sys_sigaction)
-
__SYSCALL_I386(68, sys_sgetmask, sys_sgetmask)
-
__SYSCALL_I386(69, sys_ssetmask, sys_ssetmask)
-
__SYSCALL_I386(70, sys_setreuid16, sys_setreuid16)
-
__SYSCALL_I386(71, sys_setregid16, sys_setregid16)
-
__SYSCALL_I386(72, sys_sigsuspend, sys_sigsuspend)
-
__SYSCALL_I386(73, sys_sigpending, compat_sys_sigpending)
-
__SYSCALL_I386(74, sys_sethostname, sys_sethostname)
-
__SYSCALL_I386(75, sys_setrlimit, compat_sys_setrlimit)
-
__SYSCALL_I386(76, sys_old_getrlimit, compat_sys_old_getrlimit)
-
__SYSCALL_I386(77, sys_getrusage, compat_sys_getrusage)
-
__SYSCALL_I386(78, sys_gettimeofday, compat_sys_gettimeofday)
-
__SYSCALL_I386(79, sys_settimeofday, compat_sys_settimeofday)
-
__SYSCALL_I386(80, sys_getgroups16, sys_getgroups16)
-
__SYSCALL_I386(81, sys_setgroups16, sys_setgroups16)
-
__SYSCALL_I386(82, sys_old_select, compat_sys_old_select)
-
__SYSCALL_I386(83, sys_symlink, sys_symlink)
-
__SYSCALL_I386(84, sys_lstat, sys_lstat)
-
__SYSCALL_I386(85, sys_readlink, sys_readlink)
-
__SYSCALL_I386(86, sys_uselib, sys_uselib)
-
__SYSCALL_I386(87, sys_swapon, sys_swapon)
-
__SYSCALL_I386(88, sys_reboot, sys_reboot)
-
__SYSCALL_I386(89, sys_old_readdir, compat_sys_old_readdir)
-
__SYSCALL_I386(90, sys_old_mmap, sys32_mmap)
-
__SYSCALL_I386(91, sys_munmap, sys_munmap)
-
__SYSCALL_I386(92, sys_truncate, compat_sys_truncate)
-
__SYSCALL_I386(93, sys_ftruncate, compat_sys_ftruncate)
-
__SYSCALL_I386(94, sys_fchmod, sys_fchmod)
-
__SYSCALL_I386(95, sys_fchown16, sys_fchown16)
-
__SYSCALL_I386(96, sys_getpriority, sys_getpriority)
-
__SYSCALL_I386(97, sys_setpriority, sys_setpriority)
-
__SYSCALL_I386(99, sys_statfs, compat_sys_statfs)
-
__SYSCALL_I386(100, sys_fstatfs, compat_sys_fstatfs)
-
__SYSCALL_I386(101, sys_ioperm, sys_ioperm)
-
__SYSCALL_I386(102, sys_socketcall, compat_sys_socketcall)
-
__SYSCALL_I386(103, sys_syslog, sys_syslog)
-
__SYSCALL_I386(104, sys_setitimer, compat_sys_setitimer)
-
__SYSCALL_I386(105, sys_getitimer, compat_sys_getitimer)
-
__SYSCALL_I386(106, sys_newstat, compat_sys_newstat)
-
__SYSCALL_I386(107, sys_newlstat, compat_sys_newlstat)
-
__SYSCALL_I386(108, sys_newfstat, compat_sys_newfstat)
-
__SYSCALL_I386(109, sys_uname, sys_uname)
-
__SYSCALL_I386(110, sys_iopl, sys_iopl)
-
__SYSCALL_I386(111, sys_vhangup, sys_vhangup)
-
__SYSCALL_I386(113, sys_vm86old, sys32_vm86_warning)
-
__SYSCALL_I386(114, sys_wait4, compat_sys_wait4)
-
__SYSCALL_I386(115, sys_swapoff, sys_swapoff)
-
__SYSCALL_I386(116, sys_sysinfo, compat_sys_sysinfo)
-
__SYSCALL_I386(117, sys_ipc, compat_sys_ipc)
-
__SYSCALL_I386(118, sys_fsync, sys_fsync)
-
__SYSCALL_I386(119, sys_sigreturn, stub32_sigreturn)
-
__SYSCALL_I386(120, sys_clone, stub32_clone)
-
__SYSCALL_I386(121, sys_setdomainname, sys_setdomainname)
-
__SYSCALL_I386(122, sys_newuname, sys_newuname)
-
__SYSCALL_I386(123, sys_modify_ldt, sys_modify_ldt)
-
__SYSCALL_I386(124, sys_adjtimex, compat_sys_adjtimex)
-
__SYSCALL_I386(125, sys_mprotect, sys_mprotect)
-
__SYSCALL_I386(126, sys_sigprocmask, compat_sys_sigprocmask)
-
__SYSCALL_I386(128, sys_init_module, sys_init_module)
-
__SYSCALL_I386(129, sys_delete_module, sys_delete_module)
-
__SYSCALL_I386(131, sys_quotactl, sys32_quotactl)
-
__SYSCALL_I386(132, sys_getpgid, sys_getpgid)
-
__SYSCALL_I386(133, sys_fchdir, sys_fchdir)
-
__SYSCALL_I386(134, sys_bdflush, sys_bdflush)
-
__SYSCALL_I386(135, sys_sysfs, sys_sysfs)
-
__SYSCALL_I386(136, sys_personality, sys_personality)
-
__SYSCALL_I386(138, sys_setfsuid16, sys_setfsuid16)
-
__SYSCALL_I386(139, sys_setfsgid16, sys_setfsgid16)
-
__SYSCALL_I386(140, sys_llseek, sys_llseek)
-
__SYSCALL_I386(141, sys_getdents, compat_sys_getdents)
-
__SYSCALL_I386(142, sys_select, compat_sys_select)
-
__SYSCALL_I386(143, sys_flock, sys_flock)
-
__SYSCALL_I386(144, sys_msync, sys_msync)
-
__SYSCALL_I386(145, sys_readv, compat_sys_readv)
-
__SYSCALL_I386(146, sys_writev, compat_sys_writev)
-
__SYSCALL_I386(147, sys_getsid, sys_getsid)
-
__SYSCALL_I386(148, sys_fdatasync, sys_fdatasync)
-
__SYSCALL_I386(149, sys_sysctl, compat_sys_sysctl)
-
__SYSCALL_I386(150, sys_mlock, sys_mlock)
-
__SYSCALL_I386(151, sys_munlock, sys_munlock)
-
__SYSCALL_I386(152, sys_mlockall, sys_mlockall)
-
__SYSCALL_I386(153, sys_munlockall, sys_munlockall)
-
__SYSCALL_I386(154, sys_sched_setparam, sys_sched_setparam)
-
__SYSCALL_I386(155, sys_sched_getparam, sys_sched_getparam)
-
__SYSCALL_I386(156, sys_sched_setscheduler, sys_sched_setscheduler)
-
__SYSCALL_I386(157, sys_sched_getscheduler, sys_sched_getscheduler)
-
__SYSCALL_I386(158, sys_sched_yield, sys_sched_yield)
-
__SYSCALL_I386(159, sys_sched_get_priority_max, sys_sched_get_priority_max)
-
__SYSCALL_I386(160, sys_sched_get_priority_min, sys_sched_get_priority_min)
-
__SYSCALL_I386(161, sys_sched_rr_get_interval, compat_sys_sched_rr_get_interval)
-
__SYSCALL_I386(162, sys_nanosleep, compat_sys_nanosleep)
-
__SYSCALL_I386(163, sys_mremap, sys_mremap)
-
__SYSCALL_I386(164, sys_setresuid16, sys_setresuid16)
-
__SYSCALL_I386(165, sys_getresuid16, sys_getresuid16)
-
__SYSCALL_I386(166, sys_vm86, sys32_vm86_warning)
-
__SYSCALL_I386(168, sys_poll, sys_poll)
-
__SYSCALL_I386(170, sys_setresgid16, sys_setresgid16)
-
__SYSCALL_I386(171, sys_getresgid16, sys_getresgid16)
-
__SYSCALL_I386(172, sys_prctl, sys_prctl)
-
__SYSCALL_I386(173, sys_rt_sigreturn, stub32_rt_sigreturn)
-
__SYSCALL_I386(174, sys_rt_sigaction, compat_sys_rt_sigaction)
-
__SYSCALL_I386(175, sys_rt_sigprocmask, sys_rt_sigprocmask)
-
__SYSCALL_I386(176, sys_rt_sigpending, compat_sys_rt_sigpending)
-
__SYSCALL_I386(177, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait)
-
__SYSCALL_I386(178, sys_rt_sigqueueinfo, compat_sys_rt_sigqueueinfo)
-
__SYSCALL_I386(179, sys_rt_sigsuspend, sys_rt_sigsuspend)
-
__SYSCALL_I386(180, sys_pread64, sys32_pread)
-
__SYSCALL_I386(181, sys_pwrite64, sys32_pwrite)
-
__SYSCALL_I386(182, sys_chown16, sys_chown16)
-
__SYSCALL_I386(183, sys_getcwd, sys_getcwd)
-
__SYSCALL_I386(184, sys_capget, sys_capget)
-
__SYSCALL_I386(185, sys_capset, sys_capset)
-
__SYSCALL_I386(186, sys_sigaltstack, compat_sys_sigaltstack)
-
__SYSCALL_I386(187, sys_sendfile, compat_sys_sendfile)
-
__SYSCALL_I386(190, sys_vfork, stub32_vfork)
-
__SYSCALL_I386(191, sys_getrlimit, compat_sys_getrlimit)
-
__SYSCALL_I386(192, sys_mmap_pgoff, sys_mmap_pgoff)
-
__SYSCALL_I386(193, sys_truncate64, sys32_truncate64)
-
__SYSCALL_I386(194, sys_ftruncate64, sys32_ftruncate64)
-
__SYSCALL_I386(195, sys_stat64, sys32_stat64)
-
__SYSCALL_I386(196, sys_lstat64, sys32_lstat64)
-
__SYSCALL_I386(197, sys_fstat64, sys32_fstat64)
-
__SYSCALL_I386(198, sys_lchown, sys_lchown)
-
__SYSCALL_I386(199, sys_getuid, sys_getuid)
-
__SYSCALL_I386(200, sys_getgid, sys_getgid)
-
__SYSCALL_I386(201, sys_geteuid, sys_geteuid)
-
__SYSCALL_I386(202, sys_getegid, sys_getegid)
-
__SYSCALL_I386(203, sys_setreuid, sys_setreuid)
-
__SYSCALL_I386(204, sys_setregid, sys_setregid)
-
__SYSCALL_I386(205, sys_getgroups, sys_getgroups)
-
__SYSCALL_I386(206, sys_setgroups, sys_setgroups)
-
__SYSCALL_I386(207, sys_fchown, sys_fchown)
-
__SYSCALL_I386(208, sys_setresuid, sys_setresuid)
-
__SYSCALL_I386(209, sys_getresuid, sys_getresuid)
-
__SYSCALL_I386(210, sys_setresgid, sys_setresgid)
-
__SYSCALL_I386(211, sys_getresgid, sys_getresgid)
-
__SYSCALL_I386(212, sys_chown, sys_chown)
-
__SYSCALL_I386(213, sys_setuid, sys_setuid)
-
__SYSCALL_I386(214, sys_setgid, sys_setgid)
-
__SYSCALL_I386(215, sys_setfsuid, sys_setfsuid)
-
__SYSCALL_I386(216, sys_setfsgid, sys_setfsgid)
-
__SYSCALL_I386(217, sys_pivot_root, sys_pivot_root)
-
__SYSCALL_I386(218, sys_mincore, sys_mincore)
-
__SYSCALL_I386(219, sys_madvise, sys_madvise)
-
__SYSCALL_I386(220, sys_getdents64, compat_sys_getdents64)
-
__SYSCALL_I386(221, sys_fcntl64, compat_sys_fcntl64)
-
__SYSCALL_I386(224, sys_gettid, sys_gettid)
-
__SYSCALL_I386(225, sys_readahead, sys32_readahead)
-
__SYSCALL_I386(226, sys_setxattr, sys_setxattr)
-
__SYSCALL_I386(227, sys_lsetxattr, sys_lsetxattr)
-
__SYSCALL_I386(228, sys_fsetxattr, sys_fsetxattr)
-
__SYSCALL_I386(229, sys_getxattr, sys_getxattr)
-
__SYSCALL_I386(230, sys_lgetxattr, sys_lgetxattr)
-
__SYSCALL_I386(231, sys_fgetxattr, sys_fgetxattr)
-
__SYSCALL_I386(232, sys_listxattr, sys_listxattr)
-
__SYSCALL_I386(233, sys_llistxattr, sys_llistxattr)
-
__SYSCALL_I386(234, sys_flistxattr, sys_flistxattr)
-
__SYSCALL_I386(235, sys_removexattr, sys_removexattr)
-
__SYSCALL_I386(236, sys_lremovexattr, sys_lremovexattr)
-
__SYSCALL_I386(237, sys_fremovexattr, sys_fremovexattr)
-
__SYSCALL_I386(238, sys_tkill, sys_tkill)
-
__SYSCALL_I386(239, sys_sendfile64, sys_sendfile64)
-
__SYSCALL_I386(240, sys_futex, compat_sys_futex)
-
__SYSCALL_I386(241, sys_sched_setaffinity, compat_sys_sched_setaffinity)
-
__SYSCALL_I386(242, sys_sched_getaffinity, compat_sys_sched_getaffinity)
-
__SYSCALL_I386(243, sys_set_thread_area, sys_set_thread_area)
-
__SYSCALL_I386(244, sys_get_thread_area, sys_get_thread_area)
-
__SYSCALL_I386(245, sys_io_setup, compat_sys_io_setup)
-
__SYSCALL_I386(246, sys_io_destroy, sys_io_destroy)
-
__SYSCALL_I386(247, sys_io_getevents, compat_sys_io_getevents)
-
__SYSCALL_I386(248, sys_io_submit, compat_sys_io_submit)
-
__SYSCALL_I386(249, sys_io_cancel, sys_io_cancel)
-
__SYSCALL_I386(250, sys_fadvise64, sys32_fadvise64)
-
__SYSCALL_I386(252, sys_exit_group, sys_exit_group)
-
__SYSCALL_I386(253, sys_lookup_dcookie, compat_sys_lookup_dcookie)
-
__SYSCALL_I386(254, sys_epoll_create, sys_epoll_create)
-
__SYSCALL_I386(255, sys_epoll_ctl, sys_epoll_ctl)
-
__SYSCALL_I386(256, sys_epoll_wait, sys_epoll_wait)
-
__SYSCALL_I386(257, sys_remap_file_pages, sys_remap_file_pages)
-
__SYSCALL_I386(258, sys_set_tid_address, sys_set_tid_address)
-
__SYSCALL_I386(259, sys_timer_create, compat_sys_timer_create)
-
__SYSCALL_I386(260, sys_timer_settime, compat_sys_timer_settime)
-
__SYSCALL_I386(261, sys_timer_gettime, compat_sys_timer_gettime)
-
__SYSCALL_I386(262, sys_timer_getoverrun, sys_timer_getoverrun)
-
__SYSCALL_I386(263, sys_timer_delete, sys_timer_delete)
-
__SYSCALL_I386(264, sys_clock_settime, compat_sys_clock_settime)
-
__SYSCALL_I386(265, sys_clock_gettime, compat_sys_clock_gettime)
-
__SYSCALL_I386(266, sys_clock_getres, compat_sys_clock_getres)
-
__SYSCALL_I386(267, sys_clock_nanosleep, compat_sys_clock_nanosleep)
-
__SYSCALL_I386(268, sys_statfs64, compat_sys_statfs64)
-
__SYSCALL_I386(269, sys_fstatfs64, compat_sys_fstatfs64)
-
__SYSCALL_I386(270, sys_tgkill, sys_tgkill)
-
__SYSCALL_I386(271, sys_utimes, compat_sys_utimes)
-
__SYSCALL_I386(272, sys_fadvise64_64, sys32_fadvise64_64)
-
__SYSCALL_I386(274, sys_mbind, sys_mbind)
-
__SYSCALL_I386(275, sys_get_mempolicy, compat_sys_get_mempolicy)
-
__SYSCALL_I386(276, sys_set_mempolicy, sys_set_mempolicy)
-
__SYSCALL_I386(277, sys_mq_open, compat_sys_mq_open)
-
__SYSCALL_I386(278, sys_mq_unlink, sys_mq_unlink)
-
__SYSCALL_I386(279, sys_mq_timedsend, compat_sys_mq_timedsend)
-
__SYSCALL_I386(280, sys_mq_timedreceive, compat_sys_mq_timedreceive)
-
__SYSCALL_I386(281, sys_mq_notify, compat_sys_mq_notify)
-
__SYSCALL_I386(282, sys_mq_getsetattr, compat_sys_mq_getsetattr)
-
__SYSCALL_I386(283, sys_kexec_load, compat_sys_kexec_load)
-
__SYSCALL_I386(284, sys_waitid, compat_sys_waitid)
-
__SYSCALL_I386(286, sys_add_key, sys_add_key)
-
__SYSCALL_I386(287, sys_request_key, sys_request_key)
-
__SYSCALL_I386(288, sys_keyctl, sys_keyctl)
-
__SYSCALL_I386(289, sys_ioprio_set, sys_ioprio_set)
-
__SYSCALL_I386(290, sys_ioprio_get, sys_ioprio_get)
-
__SYSCALL_I386(291, sys_inotify_init, sys_inotify_init)
-
__SYSCALL_I386(292, sys_inotify_add_watch, sys_inotify_add_watch)
-
__SYSCALL_I386(293, sys_inotify_rm_watch, sys_inotify_rm_watch)
-
__SYSCALL_I386(294, sys_migrate_pages, sys_migrate_pages)
-
__SYSCALL_I386(295, sys_openat, compat_sys_openat)
-
__SYSCALL_I386(296, sys_mkdirat, sys_mkdirat)
-
__SYSCALL_I386(297, sys_mknodat, sys_mknodat)
-
__SYSCALL_I386(298, sys_fchownat, sys_fchownat)
-
__SYSCALL_I386(299, sys_futimesat, compat_sys_futimesat)
-
__SYSCALL_I386(300, sys_fstatat64, sys32_fstatat)
-
__SYSCALL_I386(301, sys_unlinkat, sys_unlinkat)
-
__SYSCALL_I386(302, sys_renameat, sys_renameat)
-
__SYSCALL_I386(303, sys_linkat, sys_linkat)
-
__SYSCALL_I386(304, sys_symlinkat, sys_symlinkat)
-
__SYSCALL_I386(305, sys_readlinkat, sys_readlinkat)
-
__SYSCALL_I386(306, sys_fchmodat, sys_fchmodat)
-
__SYSCALL_I386(307, sys_faccessat, sys_faccessat)
-
__SYSCALL_I386(308, sys_pselect6, compat_sys_pselect6)
-
__SYSCALL_I386(309, sys_ppoll, compat_sys_ppoll)
-
__SYSCALL_I386(310, sys_unshare, sys_unshare)
-
__SYSCALL_I386(311, sys_set_robust_list, compat_sys_set_robust_list)
-
__SYSCALL_I386(312, sys_get_robust_list, compat_sys_get_robust_list)
-
__SYSCALL_I386(313, sys_splice, sys_splice)
-
__SYSCALL_I386(314, sys_sync_file_range, sys32_sync_file_range)
-
__SYSCALL_I386(315, sys_tee, sys_tee)
-
__SYSCALL_I386(316, sys_vmsplice, compat_sys_vmsplice)
-
__SYSCALL_I386(317, sys_move_pages, compat_sys_move_pages)
-
__SYSCALL_I386(318, sys_getcpu, sys_getcpu)
-
__SYSCALL_I386(319, sys_epoll_pwait, sys_epoll_pwait)
-
__SYSCALL_I386(320, sys_utimensat, compat_sys_utimensat)
-
__SYSCALL_I386(321, sys_signalfd, compat_sys_signalfd)
-
__SYSCALL_I386(322, sys_timerfd_create, sys_timerfd_create)
-
__SYSCALL_I386(323, sys_eventfd, sys_eventfd)
-
__SYSCALL_I386(324, sys_fallocate, sys32_fallocate)
-
__SYSCALL_I386(325, sys_timerfd_settime, compat_sys_timerfd_settime)
-
__SYSCALL_I386(326, sys_timerfd_gettime, compat_sys_timerfd_gettime)
-
__SYSCALL_I386(327, sys_signalfd4, compat_sys_signalfd4)
-
__SYSCALL_I386(328, sys_eventfd2, sys_eventfd2)
-
__SYSCALL_I386(329, sys_epoll_create1, sys_epoll_create1)
-
__SYSCALL_I386(330, sys_dup3, sys_dup3)
-
__SYSCALL_I386(331, sys_pipe2, sys_pipe2)
-
__SYSCALL_I386(332, sys_inotify_init1, sys_inotify_init1)
-
__SYSCALL_I386(333, sys_preadv, compat_sys_preadv)
-
__SYSCALL_I386(334, sys_pwritev, compat_sys_pwritev)
-
__SYSCALL_I386(335, sys_rt_tgsigqueueinfo, compat_sys_rt_tgsigqueueinfo)
-
__SYSCALL_I386(336, sys_perf_event_open, sys_perf_event_open)
-
__SYSCALL_I386(337, sys_recvmmsg, compat_sys_recvmmsg)
-
__SYSCALL_I386(338, sys_fanotify_init, sys_fanotify_init)
-
__SYSCALL_I386(339, sys_fanotify_mark, compat_sys_fanotify_mark)
-
__SYSCALL_I386(340, sys_prlimit64, sys_prlimit64)
-
__SYSCALL_I386(341, sys_name_to_handle_at, sys_name_to_handle_at)
-
__SYSCALL_I386(342, sys_open_by_handle_at, compat_sys_open_by_handle_at)
-
__SYSCALL_I386(343, sys_clock_adjtime, compat_sys_clock_adjtime)
-
__SYSCALL_I386(344, sys_syncfs, sys_syncfs)
-
__SYSCALL_I386(345, sys_sendmmsg, compat_sys_sendmmsg)
-
__SYSCALL_I386(346, sys_setns, sys_setns)
-
__SYSCALL_I386(347, sys_process_vm_readv, compat_sys_process_vm_readv)
-
__SYSCALL_I386(348, sys_process_vm_writev, compat_sys_process_vm_writev)
-
__SYSCALL_I386(349, sys_kcmp, sys_kcmp)
-
__SYSCALL_I386(350, sys_finit_module, sys_finit_module)
02)系统调用如何被初始化?
将系统调用初始化到中断向量表当中,以便使用int 0x80可以触发。
见linux-3.12.4\arch\x86\kernel\traps.c:trap_init()
-
#ifdef CONFIG_X86_32
-
set_system_trap_gate(SYSCALL_VECTOR, &system_call);
-
set_bit(SYSCALL_VECTOR, used_vectors);
-
#endif
03)system_call函数是在哪儿定义的?。
见./arch/x86/kernel/entry_32.S:ENTRY(system_call)
该汇编主要做了下面几件事:
1.进入ring0特权级。
2.保存寄存器值。
3.检查trace标志是否被设置,若设置,为strace做额外工作。(主要供strace命令使用)
4.执行syscall_call函数,调用sys_call_table[%eax]中的系统调用服务例程。
5.退出,恢复信息。
-
/*
-
* syscall stub including irq exit should be protected against kprobes
-
*/
-
.pushsection .kprobes.text, "ax"
-
-
ENTRY(system_call)
-
RING0_INT_FRAME
-
ASM_CLAC
-
pushl_cfi %eax
-
SAVE_ALL
-
GET_THREAD_INFO(%ebp)
-
-
testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp)
-
jnz syscall_trace_entry
-
cmpl $(NR_syscalls), %eax
-
jae syscall_badsys
-
syscall_call:
-
call *sys_call_table(,%eax,4)
-
movl %eax,PT_EAX(%esp)
-
syscall_exit:
-
LOCKDEP_SYS_EXIT
-
DISABLE_INTERRUPTS(CLBR_ANY)
-
-
-
TRACE_IRQS_OFF
-
movl TI_flags(%ebp), %ecx
-
testl $_TIF_ALLWORK_MASK, %ecx
-
jne syscall_exit_work
-
-
restore_all:
-
TRACE_IRQS_IRET
-
restore_all_notrace:
-
movl PT_EFLAGS(%esp), %eax
-
-
-
-
movb PT_OLDSS(%esp), %ah
-
movb PT_CS(%esp), %al
-
andl $(X86_EFLAGS_VM | (SEGMENT_TI_MASK << 8) | SEGMENT_RPL_MASK), %eax
-
cmpl $((SEGMENT_LDT << 8) | USER_RPL), %eax
-
CFI_REMEMBER_STATE
-
je ldt_ss
-
restore_nocheck:
-
RESTORE_REGS 4
-
irq_return:
-
INTERRUPT_RETURN
-
.section .fixup,"ax"
-
ENTRY(iret_exc)
-
pushl $0
-
pushl $do_iret_error
-
jmp error_code
-
.previous
-
_ASM_EXTABLE(irq_return,iret_exc)
-
-
CFI_RESTORE_STATE
-
ldt_ss:
-
larl PT_OLDSS(%esp), %eax
-
jnz restore_nocheck
-
testl $0x00400000, %eax
-
jnz restore_nocheck
-
-
-
/*
-
* The kernel can't run on a non-flat stack if paravirt mode
-
* is active. Rather than try to fixup the high bits of
-
* ESP, bypass this code entirely. This may break DOSemu
-
* and/or Wine support in a paravirt VM, although the option
-
* is still available to implement the setting of the high
-
* 16-bits in the INTERRUPT_RETURN paravirt-op.
-
*/
-
cmpl $0, pv_info+PARAVIRT_enabled
-
jne restore_nocheck
-
-
-
/*
-
* Setup and switch to ESPFIX stack
-
*
-
* We're returning to userspace with a 16 bit stack. The CPU will not
-
* restore the high word of ESP for us on executing iret... This is an
-
* "official" bug of all the x86-compatible CPUs, which we can work
-
* around to make dosemu and wine happy. We do this by preloading the
-
* high word of ESP with the high word of the userspace ESP while
-
* compensating for the offset by changing to the ESPFIX segment with
-
* a base address that matches for the difference.
-
*/
-
-
mov %esp, %edx /* load kernel esp */
-
mov PT_OLDESP(%esp), %eax /* load userspace esp */
-
mov %dx, %ax /* eax: new kernel esp */
-
sub %eax, %edx /* offset (low word is 0) */
-
shr $16, %edx
-
mov %dl, GDT_ESPFIX_SS + 4 /* bits 16..23 */
-
mov %dh, GDT_ESPFIX_SS + 7 /* bits 24..31 */
-
pushl_cfi $__ESPFIX_SS
-
pushl_cfi %eax /* new kernel esp */
-
/* Disable interrupts, but do not irqtrace this section: we
-
* will soon execute iret and the tracer was already set to
-
* the irqstate after the iret */
-
DISABLE_INTERRUPTS(CLBR_EAX)
-
lss (%esp), %esp /* switch to espfix segment */
-
CFI_ADJUST_CFA_OFFSET -8
-
jmp restore_nocheck
-
CFI_ENDPROC
-
ENDPROC(system_call
04)系统调用实现例程到底是如何定义的?
先来看看open系统调用的实现。open定义在fs/open.c当中,如下,其调用了SYSCALL_DEFINE3宏,该宏定义在include/linux/syscalls.h当中。
-
SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode)
-
{
-
if (force_o_largefile())
-
flags |= O_LARGEFILE;
-
-
return do_sys_open(AT_FDCWD, filename, flags, mode);
-
}
我们根据
include/linux/syscalls.h当中的宏定义进行展开,得如下具体定义:
-
-
static const char *types__open[] =
-
{
-
__MAP(3,__SC_STR_TDECL,__VA_ARGS__)
-
};
-
-
static const char *args__open[] =
-
{
-
__MAP(3,__SC_STR_ADECL,__VA_ARGS__)
-
};
-
-
static struct syscall_metadata __used __syscall_meta__open =
-
{
-
.name = "sys_open",
-
.syscall_nr = -1,
-
.nb_args = 3,
-
.types = 3 ? types__open : NULL,
-
.args = 3 ? args__open : NULL,
-
.enter_event = &event_enter__open,
-
.exit_event = &event_exit__open,
-
.enter_fields = LIST_HEAD_INIT(__syscall_meta__open.enter_fields),
-
};
-
static struct syscall_metadata __used __attribute__((section("__syscalls_metadata"))) *__p_syscall_meta__open = &__syscall_meta__open;
-
-
static struct ftrace_event_call __used event_enter__open =
-
{
-
.name = "sys_enter_open",
-
.class = &event_class_syscall_enter,
-
.event.funcs = &enter_syscall_print_funcs,
-
.data = (void *)&__syscall_meta__open,
-
.flags = TRACE_EVENT_FL_CAP_ANY,
-
};
-
-
static struct ftrace_event_call __used __attribute__((section("_ftrace_events"))) *__event_enter__open = &event_enter__open;
-
-
-
static struct ftrace_event_call __used event_exit__open =
-
{
-
.name = "sys_exit_open",
-
.class = &event_class_syscall_exit,
-
.event.funcs = &exit_syscall_print_funcs,
-
.data = (void *)&__syscall_meta__open,
-
.flags = TRACE_EVENT_FL_CAP_ANY,
-
};
-
static struct ftrace_event_call __used __attribute__((section("_ftrace_events"))) *__event_exit__open = &event_exit__open;
-
-
-
asmlinkage long sys_open(__MAP(3,__SC_DECL,__VA_ARGS__));
-
-
static inline long SYSC_open(__MAP(3,__SC_DECL,__VA_ARGS__));
-
-
asmlinkage long SyS_open(__MAP(3,__SC_LONG,__VA_ARGS__));
-
-
static inline long SYSC_open(__MAP(3,__SC_DECL,__VA_ARGS__))
-
{
-
if (force_o_largefile())
-
flags |= O_LARGEFILE;
-
-
return do_sys_open(AT_FDCWD, filename, flags, mode);
-
}
-
asmlinkage long SyS_open(__MAP(3,__SC_LONG,__VA_ARGS__))
-
{
-
long ret = SYSC_open(__MAP(3,__SC_CAST,__VA_ARGS__));
-
__MAP(3,__SC_TEST,__VA_ARGS__);
-
__PROTECT(3, ret,__MAP(3,__SC_ARGS,__VA_ARGS__));
-
return ret;
-
}
-
-
SYSCALL_ALIAS(sys_open, SyS_open);
由上可知每一个系统调用都会定义一个syscall_metadata类型的静态数据变量,该变量的名称为__syscall_meta__name,name为系统变量的名称。
定义一个系统调用可以使用7种宏进行实现,它们分别是:
SYSCALL_DEFINE0
SYSCALL_DEFINE1
SYSCALL_DEFINE2
SYSCALL_DEFINE3
SYSCALL_DEFINE4
SYSCALL_DEFINE5
SYSCALL_DEFINE6
这7个宏后面的数字表示参数的个数,由此可见系统调用最多可支持6个参数,多余6个参数就要考虑使用指针进行传递,另外值得注意的是这7个宏的参数,它们在类型和名称之间添加了逗号,像open系统调用:
SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode)
这看起来像是有7个参数,但是恰恰是使用这种方式include/linux/syscalls.h当中的__MAP宏才能知道参数的类型名和参数名称。
05)如何找到系统调用的具体函数位置?
这个根据经验进行判断。
系统及进程相关的系统调用在kernel/sys.c。
文件系统相关的在fs/open.c和fs/read_write.c当中。
进程通信的在ipc目录下。
内存相关的在mm目录下。
网络相关的在net目录下。
另外一个很简答的方法是使用grep进行查找
-
zhangys@debian:/usr/src/linux-3.12.4$ find . -name *.c | xargs grep SYSCALL_DEFINE[0-6] 2&> syscall.txt
下面是我查找好的,希望对你有帮助
-
grep: 2: No such file or directory
-
./security/keys/keyctl.c:SYSCALL_DEFINE5(add_key, const char __user *, _type,
-
./security/keys/keyctl.c:SYSCALL_DEFINE4(request_key, const char __user *, _type,
-
./security/keys/keyctl.c:SYSCALL_DEFINE5(keyctl, int, option, unsigned long, arg2, unsigned long, arg3,
-
grep: 2: No such file or directory
-
./drivers/pci/syscall.c:SYSCALL_DEFINE5(pciconfig_read, unsigned long, bus, unsigned long, dfn,
-
./drivers/pci/syscall.c:SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn,
-
grep: 2: No such file or directory
-
grep: 2: No such file or directory
-
./kernel/signal.c:SYSCALL_DEFINE0(restart_syscall)
-
./kernel/signal.c:SYSCALL_DEFINE4(rt_sigprocmask, int, how, sigset_t __user *, nset,
-
./kernel/signal.c:COMPAT_SYSCALL_DEFINE4(rt_sigprocmask, int, how, compat_sigset_t __user *, nset,
-
./kernel/signal.c:SYSCALL_DEFINE2(rt_sigpending, sigset_t __user *, uset, size_t, sigsetsize)
-
./kernel/signal.c:COMPAT_SYSCALL_DEFINE2(rt_sigpending, compat_sigset_t __user *, uset,
-
./kernel/signal.c:SYSCALL_DEFINE4(rt_sigtimedwait, const sigset_t __user *, uthese,
-
./kernel/signal.c:SYSCALL_DEFINE2(kill, pid_t, pid, int, sig)
-
./kernel/signal.c:SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid_t, pid, int, sig)
-
./kernel/signal.c:SYSCALL_DEFINE2(tkill, pid_t, pid, int, sig)
-
./kernel/signal.c:SYSCALL_DEFINE3(rt_sigqueueinfo, pid_t, pid, int, sig,
-
./kernel/signal.c:COMPAT_SYSCALL_DEFINE3(rt_sigqueueinfo,
-
./kernel/signal.c:SYSCALL_DEFINE4(rt_tgsigqueueinfo, pid_t, tgid, pid_t, pid, int, sig,
-
./kernel/signal.c:COMPAT_SYSCALL_DEFINE4(rt_tgsigqueueinfo,
-
./kernel/signal.c:SYSCALL_DEFINE2(sigaltstack,const stack_t __user *,uss, stack_t __user *,uoss)
-
./kernel/signal.c:COMPAT_SYSCALL_DEFINE2(sigaltstack,
-
./kernel/signal.c:SYSCALL_DEFINE1(sigpending, old_sigset_t __user *, set)
-
./kernel/signal.c:SYSCALL_DEFINE3(sigprocmask, int, how, old_sigset_t __user *, nset,
-
./kernel/signal.c:SYSCALL_DEFINE4(rt_sigaction, int, sig,
-
./kernel/signal.c:COMPAT_SYSCALL_DEFINE4(rt_sigaction, int, sig,
-
./kernel/signal.c:SYSCALL_DEFINE3(sigaction, int, sig,
-
./kernel/signal.c:COMPAT_SYSCALL_DEFINE3(sigaction, int, sig,
-
./kernel/signal.c:SYSCALL_DEFINE0(sgetmask)
-
./kernel/signal.c:SYSCALL_DEFINE1(ssetmask, int, newmask)
-
./kernel/signal.c:SYSCALL_DEFINE2(signal, int, sig, __sighandler_t, handler)
-
./kernel/signal.c:SYSCALL_DEFINE0(pause)
-
./kernel/signal.c:SYSCALL_DEFINE2(rt_sigsuspend, sigset_t __user *, unewset, size_t, sigsetsize)
-
./kernel/signal.c:COMPAT_SYSCALL_DEFINE2(rt_sigsuspend, compat_sigset_t __user *, unewset, compat_size_t, sigsetsize)
-
./kernel/signal.c:SYSCALL_DEFINE1(sigsuspend, old_sigset_t, mask)
-
./kernel/signal.c:SYSCALL_DEFINE3(sigsuspend, int, unused1, int, unused2, old_sigset_t, mask)
-
./kernel/exec_domain.c:SYSCALL_DEFINE1(personality, unsigned int, personality)
-
./kernel/kcmp.c:SYSCALL_DEFINE5(kcmp, pid_t, pid1, pid_t, pid2, int, type,
-
./kernel/futex.c:SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head,
-
./kernel/futex.c:SYSCALL_DEFINE3(get_robust_list, int, pid,
-
./kernel/futex.c:SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
-
./kernel/reboot.c:SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd,
-
./kernel/itimer.c:SYSCALL_DEFINE2(getitimer, int, which, struct itimerval __user *, value)
-
./kernel/itimer.c:SYSCALL_DEFINE3(setitimer, int, which, struct itimerval __user *, value,
-
./kernel/exit.c:SYSCALL_DEFINE1(exit, int, error_code)
-
./kernel/exit.c:SYSCALL_DEFINE1(exit_group, int, error_code)
-
./kernel/exit.c:SYSCALL_DEFINE5(waitid, int, which, pid_t, upid, struct siginfo __user *,
-
./kernel/exit.c:SYSCALL_DEFINE4(wait4, pid_t, upid, int __user *, stat_addr,
-
./kernel/exit.c:SYSCALL_DEFINE3(waitpid, pid_t, pid, int __user *, stat_addr, int, options)
-
./kernel/events/core.c:SYSCALL_DEFINE5(perf_event_open,
-
./kernel/fork.c:SYSCALL_DEFINE1(set_tid_address, int __user *, tidptr)
-
./kernel/fork.c:SYSCALL_DEFINE0(fork)
-
./kernel/fork.c:SYSCALL_DEFINE0(vfork)
-
./kernel/fork.c:SYSCALL_DEFINE5(clone, unsigned long, clone_flags, unsigned long, newsp,
-
./kernel/fork.c:SYSCALL_DEFINE5(clone, unsigned long, newsp, unsigned long, clone_flags,
-
./kernel/fork.c:SYSCALL_DEFINE6(clone, unsigned long, clone_flags, unsigned long, newsp,
-
./kernel/fork.c:SYSCALL_DEFINE5(clone, unsigned long, clone_flags, unsigned long, newsp,
-
./kernel/fork.c:SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
-
./kernel/uid16.c:SYSCALL_DEFINE3(chown16, const char __user *, filename, old_uid_t, user, old_gid_t, group)
-
./kernel/uid16.c:SYSCALL_DEFINE3(lchown16, const char __user *, filename, old_uid_t, user, old_gid_t, group)
-
./kernel/uid16.c:SYSCALL_DEFINE3(fchown16, unsigned int, fd, old_uid_t, user, old_gid_t, group)
-
./kernel/uid16.c:SYSCALL_DEFINE2(setregid16, old_gid_t, rgid, old_gid_t, egid)
-
./kernel/uid16.c:SYSCALL_DEFINE1(setgid16, old_gid_t, gid)
-
./kernel/uid16.c:SYSCALL_DEFINE2(setreuid16, old_uid_t, ruid, old_uid_t, euid)
-
./kernel/uid16.c:SYSCALL_DEFINE1(setuid16, old_uid_t, uid)
-
./kernel/uid16.c:SYSCALL_DEFINE3(setresuid16, old_uid_t, ruid, old_uid_t, euid, old_uid_t, suid)
-
./kernel/uid16.c:SYSCALL_DEFINE3(getresuid16, old_uid_t __user *, ruidp, old_uid_t __user *, euidp, old_uid_t __user *, suidp)
-
./kernel/uid16.c:SYSCALL_DEFINE3(setresgid16, old_gid_t, rgid, old_gid_t, egid, old_gid_t, sgid)
-
./kernel/uid16.c:SYSCALL_DEFINE3(getresgid16, old_gid_t __user *, rgidp, old_gid_t __user *, egidp, old_gid_t __user *, sgidp)
-
./kernel/uid16.c:SYSCALL_DEFINE1(setfsuid16, old_uid_t, uid)
-
./kernel/uid16.c:SYSCALL_DEFINE1(setfsgid16, old_gid_t, gid)
-
./kernel/uid16.c:SYSCALL_DEFINE2(getgroups16, int, gidsetsize, old_gid_t __user *, grouplist)
-
./kernel/uid16.c:SYSCALL_DEFINE2(setgroups16, int, gidsetsize, old_gid_t __user *, grouplist)
-
./kernel/uid16.c:SYSCALL_DEFINE0(getuid16)
-
./kernel/uid16.c:SYSCALL_DEFINE0(geteuid16)
-
./kernel/uid16.c:SYSCALL_DEFINE0(getgid16)
-
./kernel/uid16.c:SYSCALL_DEFINE0(getegid16)
-
./kernel/sysctl_binary.c:SYSCALL_DEFINE1(sysctl, struct __sysctl_args __user *, args)
-
./kernel/sysctl_binary.c:COMPAT_SYSCALL_DEFINE1(sysctl, struct compat_sysctl_args __user *, args)
-
./kernel/timer.c:SYSCALL_DEFINE1(alarm, unsigned int, seconds)
-
./kernel/hrtimer.c:SYSCALL_DEFINE2(nanosleep, struct timespec __user *, rqtp,
-
./kernel/acct.c:SYSCALL_DEFINE1(acct, const char __user *, name)
-
./kernel/module.c:SYSCALL_DEFINE2(delete_module, const char __user *, name_user,
-
./kernel/module.c:SYSCALL_DEFINE3(init_module, void __user *, umod,
-
./kernel/module.c:SYSCALL_DEFINE3(finit_module, int, fd, const char __user *, uargs, int, flags)
-
./kernel/nsproxy.c:SYSCALL_DEFINE2(setns, int, fd, int, nstype)
-
./kernel/sched/core.c:SYSCALL_DEFINE1(nice, int, increment)
-
./kernel/sched/core.c:SYSCALL_DEFINE3(sched_setscheduler, pid_t, pid, int, policy,
-
./kernel/sched/core.c:SYSCALL_DEFINE2(sched_setparam, pid_t, pid, struct sched_param __user *, param)
-
./kernel/sched/core.c:SYSCALL_DEFINE1(sched_getscheduler, pid_t, pid)
-
./kernel/sched/core.c:SYSCALL_DEFINE2(sched_getparam, pid_t, pid, struct sched_param __user *, param)
-
./kernel/sched/core.c:SYSCALL_DEFINE3(sched_setaffinity, pid_t, pid, unsigned int, len,
-
./kernel/sched/core.c:SYSCALL_DEFINE3(sched_getaffinity, pid_t, pid, unsigned int, len,
-
./kernel/sched/core.c:SYSCALL_DEFINE0(sched_yield)
-
./kernel/sched/core.c:SYSCALL_DEFINE1(sched_get_priority_max, int, policy)
-
./kernel/sched/core.c:SYSCALL_DEFINE1(sched_get_priority_min, int, policy)
-
./kernel/sched/core.c:SYSCALL_DEFINE2(sched_rr_get_interval, pid_t, pid,
-
./kernel/capability.c:SYSCALL_DEFINE2(capget, cap_user_header_t, header, cap_user_data_t, dataptr)
-
./kernel/capability.c:SYSCALL_DEFINE2(capset, cap_user_header_t, header, const cap_user_data_t, data)
-
./kernel/ptrace.c:SYSCALL_DEFINE4(ptrace, long, request, long, pid, unsigned long, addr,
-
./kernel/groups.c:SYSCALL_DEFINE2(getgroups, int, gidsetsize, gid_t __user *, grouplist)
-
./kernel/groups.c:SYSCALL_DEFINE2(setgroups, int, gidsetsize, gid_t __user *, grouplist)
-
./kernel/time.c:SYSCALL_DEFINE1(time, time_t __user *, tloc)
-
./kernel/time.c:SYSCALL_DEFINE1(stime, time_t __user *, tptr)
-
./kernel/time.c:SYSCALL_DEFINE2(gettimeofday, struct timeval __user *, tv,
-
./kernel/time.c:SYSCALL_DEFINE2(settimeofday, struct timeval __user *, tv,
-
./kernel/time.c:SYSCALL_DEFINE1(adjtimex, struct timex __user *, txc_p)
-
./kernel/kexec.c:SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments,
-
./kernel/futex_compat.c:COMPAT_SYSCALL_DEFINE2(set_robust_list,
-
./kernel/futex_compat.c:COMPAT_SYSCALL_DEFINE3(get_robust_list, int, pid,
-
./kernel/futex_compat.c:COMPAT_SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
-
./kernel/sys.c:SYSCALL_DEFINE3(setpriority, int, which, int, who, int, niceval)
-
./kernel/sys.c:SYSCALL_DEFINE2(getpriority, int, which, int, who)
-
./kernel/sys.c:SYSCALL_DEFINE2(setregid, gid_t, rgid, gid_t, egid)
-
./kernel/sys.c:SYSCALL_DEFINE1(setgid, gid_t, gid)
-
./kernel/sys.c:SYSCALL_DEFINE2(setreuid, uid_t, ruid, uid_t, euid)
-
./kernel/sys.c:SYSCALL_DEFINE1(setuid, uid_t, uid)
-
./kernel/sys.c:SYSCALL_DEFINE3(setresuid, uid_t, ruid, uid_t, euid, uid_t, suid)
-
./kernel/sys.c:SYSCALL_DEFINE3(getresuid, uid_t __user *, ruidp, uid_t __user *, euidp, uid_t __user *, suidp)
-
./kernel/sys.c:SYSCALL_DEFINE3(setresgid, gid_t, rgid, gid_t, egid, gid_t, sgid)
-
./kernel/sys.c:SYSCALL_DEFINE3(getresgid, gid_t __user *, rgidp, gid_t __user *, egidp, gid_t __user *, sgidp)
-
./kernel/sys.c:SYSCALL_DEFINE1(setfsuid, uid_t, uid)
-
./kernel/sys.c:SYSCALL_DEFINE1(setfsgid, gid_t, gid)
-
./kernel/sys.c:SYSCALL_DEFINE0(getpid)
-
./kernel/sys.c:SYSCALL_DEFINE0(gettid)
-
./kernel/sys.c:SYSCALL_DEFINE0(getppid)
-
./kernel/sys.c:SYSCALL_DEFINE0(getuid)
-
./kernel/sys.c:SYSCALL_DEFINE0(geteuid)
-
./kernel/sys.c:SYSCALL_DEFINE0(getgid)
-
./kernel/sys.c:SYSCALL_DEFINE0(getegid)
-
./kernel/sys.c:SYSCALL_DEFINE1(times, struct tms __user *, tbuf)
-
./kernel/sys.c:SYSCALL_DEFINE2(setpgid, pid_t, pid, pid_t, pgid)
-
./kernel/sys.c:SYSCALL_DEFINE1(getpgid, pid_t, pid)
-
./kernel/sys.c:SYSCALL_DEFINE0(getpgrp)
-
./kernel/sys.c:SYSCALL_DEFINE1(getsid, pid_t, pid)
-
./kernel/sys.c:SYSCALL_DEFINE0(setsid)
-
./kernel/sys.c:SYSCALL_DEFINE1(newuname, struct new_utsname __user *, name)
-
./kernel/sys.c:SYSCALL_DEFINE1(uname, struct old_utsname __user *, name)
-
./kernel/sys.c:SYSCALL_DEFINE1(olduname, struct oldold_utsname __user *, name)
-
./kernel/sys.c:SYSCALL_DEFINE2(sethostname, char __user *, name, int, len)
-
./kernel/sys.c:SYSCALL_DEFINE2(gethostname, char __user *, name, int, len)
-
./kernel/sys.c:SYSCALL_DEFINE2(setdomainname, char __user *, name, int, len)
-
./kernel/sys.c:SYSCALL_DEFINE2(getrlimit, unsigned int, resource, struct rlimit __user *, rlim)
-
./kernel/sys.c:SYSCALL_DEFINE2(old_getrlimit, unsigned int, resource,
-
./kernel/sys.c:SYSCALL_DEFINE4(prlimit64, pid_t, pid, unsigned int, resource,
-
./kernel/sys.c:SYSCALL_DEFINE2(setrlimit, unsigned int, resource, struct rlimit __user *, rlim)
-
./kernel/sys.c:SYSCALL_DEFINE2(getrusage, int, who, struct rusage __user *, ru)
-
./kernel/sys.c:COMPAT_SYSCALL_DEFINE2(getrusage, int, who, struct compat_rusage __user *, ru)
-
./kernel/sys.c:SYSCALL_DEFINE1(umask, int, mask)
-
./kernel/sys.c:SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
-
./kernel/sys.c:SYSCALL_DEFINE3(getcpu, unsigned __user *, cpup, unsigned __user *, nodep,
-
./kernel/sys.c:SYSCALL_DEFINE1(sysinfo, struct sysinfo __user *, info)
-
./kernel/sys.c:COMPAT_SYSCALL_DEFINE1(sysinfo, struct compat_sysinfo __user *, info)
-
./kernel/printk/printk.c:SYSCALL_DEFINE3(syslog, int, type, char __user *, buf, int, len)
-
./kernel/posix-timers.c:SYSCALL_DEFINE3(timer_create, const clockid_t, which_clock,
-
./kernel/posix-timers.c:SYSCALL_DEFINE2(timer_gettime, timer_t, timer_id,
-
./kernel/posix-timers.c:SYSCALL_DEFINE1(timer_getoverrun, timer_t, timer_id)
-
./kernel/posix-timers.c:SYSCALL_DEFINE4(timer_settime, timer_t, timer_id, int, flags,
-
./kernel/posix-timers.c:SYSCALL_DEFINE1(timer_delete, timer_t, timer_id)
-
./kernel/posix-timers.c:SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,
-
./kernel/posix-timers.c:SYSCALL_DEFINE2(clock_gettime, const clockid_t, which_clock,
-
./kernel/posix-timers.c:SYSCALL_DEFINE2(clock_adjtime, const clockid_t, which_clock,
-
./kernel/posix-timers.c:SYSCALL_DEFINE2(clock_getres, const clockid_t, which_clock,
-
./kernel/posix-timers.c:SYSCALL_DEFINE4(clock_nanosleep, const clockid_t, which_clock, int, flags,
-
./kernel/compat.c:COMPAT_SYSCALL_DEFINE2(getitimer, int, which,
-
./kernel/compat.c:COMPAT_SYSCALL_DEFINE3(setitimer, int, which,
-
./kernel/compat.c:COMPAT_SYSCALL_DEFINE3(sigprocmask, int, how,
-
./kernel/compat.c:COMPAT_SYSCALL_DEFINE4(wait4,
-
./kernel/compat.c:COMPAT_SYSCALL_DEFINE5(waitid,
-
./kernel/compat.c:COMPAT_SYSCALL_DEFINE4(rt_sigtimedwait, compat_sigset_t __user *, uthese,
-
./kernel/compat.c:COMPAT_SYSCALL_DEFINE2(sched_rr_get_interval,
-
./mm/process_vm_access.c:SYSCALL_DEFINE6(process_vm_readv, pid_t, pid, const struct iovec __user *, lvec,
-
./mm/process_vm_access.c:SYSCALL_DEFINE6(process_vm_writev, pid_t, pid,
-
./mm/mincore.c:SYSCALL_DEFINE3(mincore, unsigned long, start, size_t, len,
-
./mm/madvise.c:SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior)
-
./mm/mlock.c:SYSCALL_DEFINE2(mlock, unsigned long, start, size_t, len)
-
./mm/mlock.c:SYSCALL_DEFINE2(munlock, unsigned long, start, size_t, len)
-
./mm/mlock.c:SYSCALL_DEFINE1(mlockall, int, flags)
-
./mm/mlock.c:SYSCALL_DEFINE0(munlockall)
-
./mm/fremap.c:SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
-
./mm/fadvise.c:SYSCALL_DEFINE4(fadvise64_64, int, fd, loff_t, offset, loff_t, len, int, advice)
-
./mm/fadvise.c:SYSCALL_DEFINE4(fadvise64, int, fd, loff_t, offset, size_t, len, int, advice)
-
./mm/mremap.c:SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len,
-
./mm/swapfile.c:SYSCALL_DEFINE1(swapoff, const char __user *, specialfile)
-
./mm/swapfile.c:SYSCALL_DEFINE2(swapon, const char __user *, specialfile, int, swap_flags)
-
./mm/msync.c:SYSCALL_DEFINE3(msync, unsigned long, start, size_t, len, int, flags)
-
./mm/readahead.c:SYSCALL_DEFINE3(readahead, int, fd, loff_t, offset, size_t, count)
-
./mm/nommu.c:SYSCALL_DEFINE1(brk, unsigned long, brk)
-
./mm/nommu.c:SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len,
-
./mm/nommu.c:SYSCALL_DEFINE1(old_mmap, struct mmap_arg_struct __user *, arg)
-
./mm/nommu.c:SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len)
-
./mm/nommu.c:SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len,
-
./mm/migrate.c:SYSCALL_DEFINE6(move_pages, pid_t, pid, unsigned long, nr_pages,
-
./mm/mempolicy.c:SYSCALL_DEFINE6(mbind, unsigned long, start, unsigned long, len,
-
./mm/mempolicy.c:SYSCALL_DEFINE3(set_mempolicy, int, mode, unsigned long __user *, nmask,
-
./mm/mempolicy.c:SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,
-
./mm/mempolicy.c:SYSCALL_DEFINE5(get_mempolicy, int __user *, policy,
-
./mm/mprotect.c:SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
-
./mm/mmap.c:SYSCALL_DEFINE1(brk, unsigned long, brk)
-
./mm/mmap.c:SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len,
-
./mm/mmap.c:SYSCALL_DEFINE1(old_mmap, struct mmap_arg_struct __user *, arg)
-
./mm/mmap.c:SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len)
-
./arch/sparc/kernel/sys_sparc32.c:COMPAT_SYSCALL_DEFINE3(sparc_sigaction, int, sig,
-
./arch/sparc/kernel/sys_sparc32.c:COMPAT_SYSCALL_DEFINE5(rt_sigaction, int, sig,
-
./arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE1(sparc_pipe_real, struct pt_regs *, regs)
-
./arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE6(sparc_ipc, unsigned int, call, int, first, unsigned long, second,
-
./arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE1(sparc64_personality, unsigned long, personality)
-
./arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
-
./arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE2(64_munmap, unsigned long, addr, size_t, len)
-
./arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE5(64_mremap, unsigned long, addr, unsigned long, old_len,
-
./arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE2(getdomainname, char __user *, name, int, len)
-
./arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE5(utrap_install, utrap_entry_t, type,
-
./arch/sparc/kernel/sys_sparc_64.c:SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
-
./arch/sparc/kernel/sys_sparc_32.c:SYSCALL_DEFINE3(sparc_sigaction, int, sig,
-
./arch/sparc/kernel/sys_sparc_32.c:SYSCALL_DEFINE5(rt_sigaction, int, sig,
-
./arch/tile/kernel/signal.c:SYSCALL_DEFINE0(rt_sigreturn)
-
./arch/tile/kernel/sys.c:SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, len,
-
./arch/tile/kernel/sys.c:SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len,
-
./arch/tile/kernel/sys.c:SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
-
./arch/tile/kernel/compat.c:COMPAT_SYSCALL_DEFINE4(truncate64, char __user *, filename, u32, dummy,
-
./arch/tile/kernel/compat.c:COMPAT_SYSCALL_DEFINE4(ftruncate64, unsigned int, fd, u32, dummy,
-
./arch/tile/kernel/compat.c:COMPAT_SYSCALL_DEFINE6(pread64, unsigned int, fd, char __user *, ubuf,
-
./arch/tile/kernel/compat.c:COMPAT_SYSCALL_DEFINE6(pwrite64, unsigned int, fd, char __user *, ubuf,
-
./arch/tile/kernel/compat.c:COMPAT_SYSCALL_DEFINE6(sync_file_range2, int, fd, unsigned int, flags,
-
./arch/tile/kernel/compat.c:COMPAT_SYSCALL_DEFINE6(fallocate, int, fd, int, mode,
-
./arch/tile/kernel/compat.c:COMPAT_SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned int, offset_high,
-
./arch/tile/mm/fault.c:SYSCALL_DEFINE1(cmpxchg_badaddr, unsigned long, address)
-
./arch/x86/um/tls_32.c:SYSCALL_DEFINE1(set_thread_area, struct user_desc __user *, user_desc)
-
./arch/x86/um/tls_32.c:SYSCALL_DEFINE1(get_thread_area, struct user_desc __user *, user_desc)
-
./arch/x86/kernel/vm86_32.c:SYSCALL_DEFINE1(vm86old, struct vm86_struct __user *, v86)
-
./arch/x86/kernel/vm86_32.c:SYSCALL_DEFINE2(vm86, unsigned long, cmd, unsigned long, arg)
-
./arch/x86/kernel/sys_x86_64.c:SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
-
./arch/x86/kernel/tls.c:SYSCALL_DEFINE1(set_thread_area, struct user_desc __user *, u_info)
-
./arch/x86/kernel/tls.c:SYSCALL_DEFINE1(get_thread_area, struct user_desc __user *, u_info)
-
./arch/x86/kernel/ioport.c:SYSCALL_DEFINE1(iopl, unsigned int, level)
-
grep: 2: No such file or directory
-
./arch/powerpc/platforms/cell/spu_syscalls.c:SYSCALL_DEFINE4(spu_create, const char __user *, name, unsigned int, flags,
-
./arch/mips/kernel/signal.c:SYSCALL_DEFINE1(sigsuspend, sigset_t __user *, uset)
-
./arch/mips/kernel/signal.c:SYSCALL_DEFINE3(sigaction, int, sig, const struct sigaction __user *, act,
-
./arch/mips/kernel/signal32.c:SYSCALL_DEFINE3(32_sigaction, long, sig, const struct compat_sigaction __user *, act,
-
./arch/mips/kernel/syscall.c:SYSCALL_DEFINE6(mips_mmap, unsigned long, addr, unsigned long, len,
-
./arch/mips/kernel/syscall.c:SYSCALL_DEFINE6(mips_mmap2, unsigned long, addr, unsigned long, len,
-
./arch/mips/kernel/syscall.c:SYSCALL_DEFINE1(set_thread_area, unsigned long, addr)
-
./arch/mips/kernel/syscall.c:SYSCALL_DEFINE3(sysmips, long, cmd, long, arg1, long, arg2)
-
./arch/mips/kernel/syscall.c:SYSCALL_DEFINE3(cachectl, char *, addr, int, nbytes, int, op)
-
./arch/mips/kernel/linux32.c:SYSCALL_DEFINE6(32_mmap2, unsigned long, addr, unsigned long, len,
-
./arch/mips/kernel/linux32.c:SYSCALL_DEFINE4(32_truncate64, const char __user *, path,
-
./arch/mips/kernel/linux32.c:SYSCALL_DEFINE4(32_ftruncate64, unsigned long, fd, unsigned long, __dummy,
-
./arch/mips/kernel/linux32.c:SYSCALL_DEFINE5(32_llseek, unsigned int, fd, unsigned int, offset_high,
-
./arch/mips/kernel/linux32.c:SYSCALL_DEFINE6(32_pread, unsigned long, fd, char __user *, buf, size_t, count,
-
./arch/mips/kernel/linux32.c:SYSCALL_DEFINE6(32_pwrite, unsigned int, fd, const char __user *, buf,
-
./arch/mips/kernel/linux32.c:SYSCALL_DEFINE1(32_personality, unsigned long, personality)
-
./arch/mips/mm/cache.c:SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, bytes,
-
./arch/s390/kernel/signal.c:SYSCALL_DEFINE0(sigreturn)
-
./arch/s390/kernel/signal.c:SYSCALL_DEFINE0(rt_sigreturn)
-
./arch/s390/kernel/sys_s390.c:SYSCALL_DEFINE1(mmap2, struct s390_mmap_arg_struct __user *, arg)
-
./arch/s390/kernel/sys_s390.c:SYSCALL_DEFINE5(s390_ipc, uint, call, int, first, unsigned long, second,
-
./arch/s390/kernel/sys_s390.c:SYSCALL_DEFINE1(s390_personality, unsigned int, personality)
-
./arch/s390/kernel/sys_s390.c:SYSCALL_DEFINE5(s390_fadvise64, int, fd, u32, offset_high, u32, offset_low,
-
./arch/s390/kernel/sys_s390.c:SYSCALL_DEFINE1(s390_fadvise64_64, struct fadvise64_64_args __user *, args)
-
./arch/s390/kernel/sys_s390.c:SYSCALL_DEFINE5(s390_fallocate, int, fd, int, mode, loff_t, offset,
-
./arch/s390/kernel/runtime_instr.c:SYSCALL_DEFINE2(s390_runtime_instr, int, command, int, signum)
-
./arch/s390/kernel/compat_linux.c:COMPAT_SYSCALL_DEFINE5(s390_ipc, uint, call, int, first, unsigned long, second,
-
./arch/blackfin/kernel/sys_bfin.c:SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, len, int, op)
-
./arch/arc/kernel/signal.c:SYSCALL_DEFINE0(rt_sigreturn)
-
./arch/arc/kernel/process.c:SYSCALL_DEFINE1(arc_settls, void *, user_tls_data_ptr)
-
./arch/arc/kernel/process.c:SYSCALL_DEFINE0(arc_gettls)
-
./arch/arc/mm/cache_arc700.c:SYSCALL_DEFINE3(cacheflush, uint32_t, start, uint32_t, sz, uint32_t, flags)
-
./arch/alpha/kernel/signal.c:SYSCALL_DEFINE2(osf_sigprocmask, int, how, unsigned long, newmask)
-
./arch/alpha/kernel/signal.c:SYSCALL_DEFINE3(osf_sigaction, int, sig,
-
./arch/alpha/kernel/signal.c:SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE1(osf_brk, unsigned long, brk)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE4(osf_getdirentries, unsigned int, fd,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE6(osf_mmap, unsigned long, addr, unsigned long, len,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE3(osf_statfs, const char __user *, pathname,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_stat, char __user *, name, struct osf_stat __user *, buf)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_lstat, char __user *, name, struct osf_stat __user *, buf)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_fstat, int, fd, struct osf_stat __user *, buf)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE3(osf_fstatfs, unsigned long, fd,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE3(osf_statfs64, char __user *, pathname,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE3(osf_fstatfs64, unsigned long, fd,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, const char __user *, path,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE1(osf_utsname, char __user *, name)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE0(getpagesize)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE0(getdtablesize)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_sigstack, struct sigstack __user *, uss,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE3(osf_sysinfo, int, command, char __user *, buf, long, count)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE5(osf_getsysinfo, unsigned long, op, void __user *, buffer,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE5(osf_setsysinfo, unsigned long, op, void __user *, buffer,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_gettimeofday, struct timeval32 __user *, tv,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_settimeofday, struct timeval32 __user *, tv,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_getitimer, int, which, struct itimerval32 __user *, it)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE3(osf_setitimer, int, which, struct itimerval32 __user *, in,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_utimes, const char __user *, filename,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE5(osf_select, int, n, fd_set __user *, inp, fd_set __user *, outp,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_getrusage, int, who, struct rusage32 __user *, ru)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE4(osf_wait4, pid_t, pid, int __user *, ustatus, int, options,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_usleep_thread, struct timeval32 __user *, sleep,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE1(old_adjtimex, struct timex32 __user *, txc_p)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE3(osf_readv, unsigned long, fd,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE3(osf_writev, unsigned long, fd,
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE2(osf_getpriority, int, which, int, who)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE0(getxuid)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE0(getxgid)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE0(getxpid)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE0(alpha_pipe)
-
./arch/alpha/kernel/osf_sys.c:SYSCALL_DEFINE1(sethae, unsigned long, val)
-
./ipc/mqueue.c:SYSCALL_DEFINE4(mq_open, const char __user *, u_name, int, oflag, umode_t, mode,
-
./ipc/mqueue.c:SYSCALL_DEFINE1(mq_unlink, const char __user *, u_name)
-
./ipc/mqueue.c:SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr,
-
./ipc/mqueue.c:SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr,
-
./ipc/mqueue.c:SYSCALL_DEFINE2(mq_notify, mqd_t, mqdes,
-
./ipc/mqueue.c:SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes,
-
./ipc/sem.c:SYSCALL_DEFINE3(semget, key_t, key, int, nsems, int, semflg)
-
./ipc/sem.c:SYSCALL_DEFINE4(semctl, int, semid, int, semnum, int, cmd, unsigned long, arg)
-
./ipc/sem.c:SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops,
-
./ipc/sem.c:SYSCALL_DEFINE3(semop, int, semid, struct sembuf __user *, tsops,
-
./ipc/msg.c:SYSCALL_DEFINE2(msgget, key_t, key, int, msgflg)
-
./ipc/msg.c:SYSCALL_DEFINE3(msgctl, int, msqid, int, cmd, struct msqid_ds __user *, buf)
-
./ipc/msg.c:SYSCALL_DEFINE4(msgsnd, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz,
-
./ipc/msg.c:SYSCALL_DEFINE5(msgrcv, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz,
-
./ipc/shm.c:SYSCALL_DEFINE3(shmget, key_t, key, size_t, size, int, shmflg)
-
./ipc/shm.c:SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf)
-
./ipc/shm.c:SYSCALL_DEFINE3(shmat, int, shmid, char __user *, shmaddr, int, shmflg)
-
./ipc/shm.c:SYSCALL_DEFINE1(shmdt, char __user *, shmaddr)
-
./ipc/syscall.c:SYSCALL_DEFINE6(ipc, unsigned int, call, int, first, unsigned long, second,
-
./ipc/compat.c:COMPAT_SYSCALL_DEFINE6(ipc, u32, call, int, first, int, second,
-
./ipc/compat.c:COMPAT_SYSCALL_DEFINE4(semctl, int, semid, int, semnum, int, cmd, int, arg)
-
./ipc/compat.c:COMPAT_SYSCALL_DEFINE4(msgsnd, int, msqid, compat_uptr_t, msgp,
-
./ipc/compat.c:COMPAT_SYSCALL_DEFINE5(msgrcv, int, msqid, compat_uptr_t, msgp,
-
./ipc/compat.c:COMPAT_SYSCALL_DEFINE3(shmat, int, shmid, compat_uptr_t, shmaddr, int, shmflg)
-
./fs/statfs.c:SYSCALL_DEFINE2(statfs, const char __user *, pathname, struct statfs __user *, buf)
-
./fs/statfs.c:SYSCALL_DEFINE3(statfs64, const char __user *, pathname, size_t, sz, struct statfs64 __user *, buf)
-
./fs/statfs.c:SYSCALL_DEFINE2(fstatfs, unsigned int, fd, struct statfs __user *, buf)
-
./fs/statfs.c:SYSCALL_DEFINE3(fstatfs64, unsigned int, fd, size_t, sz, struct statfs64 __user *, buf)
-
./fs/statfs.c:SYSCALL_DEFINE2(ustat, unsigned, dev, struct ustat __user *, ubuf)
-
./fs/namei.c:SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, umode_t, mode,
-
./fs/namei.c:SYSCALL_DEFINE3(mknod, const char __user *, filename, umode_t, mode, unsigned, dev)
-
./fs/namei.c:SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, umode_t, mode)
-
./fs/namei.c:SYSCALL_DEFINE2(mkdir, const char __user *, pathname, umode_t, mode)
-
./fs/namei.c:SYSCALL_DEFINE1(rmdir, const char __user *, pathname)
-
./fs/namei.c:SYSCALL_DEFINE3(unlinkat, int, dfd, const char __user *, pathname, int, flag)
-
./fs/namei.c:SYSCALL_DEFINE1(unlink, const char __user *, pathname)
-
./fs/namei.c:SYSCALL_DEFINE3(symlinkat, const char __user *, oldname,
-
./fs/namei.c:SYSCALL_DEFINE2(symlink, const char __user *, oldname, const char __user *, newname)
-
./fs/namei.c:SYSCALL_DEFINE5(linkat, int, olddfd, const char __user *, oldname,
-
./fs/namei.c:SYSCALL_DEFINE2(link, const char __user *, oldname, const char __user *, newname)
-
./fs/namei.c:SYSCALL_DEFINE4(renameat, int, olddfd, const char __user *, oldname,
-
./fs/namei.c:SYSCALL_DEFINE2(rename, const char __user *, oldname, const char __user *, newname)
-
./fs/pipe.c:SYSCALL_DEFINE2(pipe2, int __user *, fildes, int, flags)
-
./fs/pipe.c:SYSCALL_DEFINE1(pipe, int __user *, fildes)
-
./fs/open.c:SYSCALL_DEFINE2(truncate, const char __user *, path, long, length)
-
./fs/open.c:COMPAT_SYSCALL_DEFINE2(truncate, const char __user *, path, compat_off_t, length)
-
./fs/open.c:SYSCALL_DEFINE2(ftruncate, unsigned int, fd, unsigned long, length)
-
./fs/open.c:COMPAT_SYSCALL_DEFINE2(ftruncate, unsigned int, fd, compat_ulong_t, length)
-
./fs/open.c:SYSCALL_DEFINE2(truncate64, const char __user *, path, loff_t, length)
-
./fs/open.c:SYSCALL_DEFINE2(ftruncate64, unsigned int, fd, loff_t, length)
-
./fs/open.c:SYSCALL_DEFINE4(fallocate, int, fd, int, mode, loff_t, offset, loff_t, len)
-
./fs/open.c:SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
-
./fs/open.c:SYSCALL_DEFINE2(access, const char __user *, filename, int, mode)
-
./fs/open.c:SYSCALL_DEFINE1(chdir, const char __user *, filename)
-
./fs/open.c:SYSCALL_DEFINE1(fchdir, unsigned int, fd)
-
./fs/open.c:SYSCALL_DEFINE1(chroot, const char __user *, filename)
-
./fs/open.c:SYSCALL_DEFINE2(fchmod, unsigned int, fd, umode_t, mode)
-
./fs/open.c:SYSCALL_DEFINE3(fchmodat, int, dfd, const char __user *, filename, umode_t, mode)
-
./fs/open.c:SYSCALL_DEFINE2(chmod, const char __user *, filename, umode_t, mode)
-
./fs/open.c:SYSCALL_DEFINE5(fchownat, int, dfd, const char __user *, filename, uid_t, user,
-
./fs/open.c:SYSCALL_DEFINE3(chown, const char __user *, filename, uid_t, user, gid_t, group)
-
./fs/open.c:SYSCALL_DEFINE3(lchown, const char __user *, filename, uid_t, user, gid_t, group)
-
./fs/open.c:SYSCALL_DEFINE3(fchown, unsigned int, fd, uid_t, user, gid_t, group)
-
./fs/open.c:SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode)
-
./fs/open.c:SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags,
-
./fs/open.c:SYSCALL_DEFINE2(creat, const char __user *, pathname, umode_t, mode)
-
./fs/open.c:SYSCALL_DEFINE1(close, unsigned int, fd)
-
./fs/open.c:SYSCALL_DEFINE0(vhangup)
-
./fs/timerfd.c:SYSCALL_DEFINE2(timerfd_create, int, clockid, int, flags)
-
./fs/timerfd.c:SYSCALL_DEFINE4(timerfd_settime, int, ufd, int, flags,
-
./fs/timerfd.c:SYSCALL_DEFINE2(timerfd_gettime, int, ufd, struct itimerspec __user *, otmr)
-
./fs/timerfd.c:COMPAT_SYSCALL_DEFINE4(timerfd_settime, int, ufd, int, flags,
-
./fs/timerfd.c:COMPAT_SYSCALL_DEFINE2(timerfd_gettime, int, ufd,
-
./fs/buffer.c:SYSCALL_DEFINE2(bdflush, int, func, long, data)
-
./fs/filesystems.c:SYSCALL_DEFINE3(sysfs, int, option, unsigned long, arg1, unsigned long, arg2)
-
./fs/aio.c:SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
-
./fs/aio.c:SYSCALL_DEFINE1(io_destroy, aio_context_t, ctx)
-
./fs/aio.c:SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
-
./fs/aio.c:SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
-
./fs/aio.c:SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
-
./fs/dcookies.c:SYSCALL_DEFINE3(lookup_dcookie, u64, cookie64, char __user *, buf, size_t, len)
-
./fs/dcookies.c:COMPAT_SYSCALL_DEFINE4(lookup_dcookie, u32, w0, u32, w1, char __user *, buf, size_t, len)
-
./fs/utimes.c:SYSCALL_DEFINE2(utime, char __user *, filename, struct utimbuf __user *, times)
-
./fs/utimes.c:SYSCALL_DEFINE4(utimensat, int, dfd, const char __user *, filename,
-
./fs/utimes.c:SYSCALL_DEFINE3(futimesat, int, dfd, const char __user *, filename,
-
./fs/utimes.c:SYSCALL_DEFINE2(utimes, char __user *, filename,
-
./fs/signalfd.c:SYSCALL_DEFINE4(signalfd4, int, ufd, sigset_t __user *, user_mask,
-
./fs/signalfd.c:SYSCALL_DEFINE3(signalfd, int, ufd, sigset_t __user *, user_mask,
-
./fs/signalfd.c:COMPAT_SYSCALL_DEFINE4(signalfd4, int, ufd,
-
./fs/signalfd.c:COMPAT_SYSCALL_DEFINE3(signalfd, int, ufd,
-
./fs/fhandle.c:SYSCALL_DEFINE5(name_to_handle_at, int, dfd, const char __user *, name,
-
./fs/fhandle.c:SYSCALL_DEFINE3(open_by_handle_at, int, mountdirfd,
-
./fs/read_write.c:SYSCALL_DEFINE3(lseek, unsigned int, fd, off_t, offset, unsigned int, whence)
-
./fs/read_write.c:COMPAT_SYSCALL_DEFINE3(lseek, unsigned int, fd, compat_off_t, offset, unsigned int, whence)
-
./fs/read_write.c:SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned long, offset_high,
-
./fs/read_write.c:SYSCALL_DEFINE3(read, unsigned int, fd, char __user *, buf, size_t, count)
-
./fs/read_write.c:SYSCALL_DEFINE3(write, unsigned int, fd, const char __user *, buf,
-
./fs/read_write.c:SYSCALL_DEFINE4(pread64, unsigned int, fd, char __user *, buf,
-
./fs/read_write.c:SYSCALL_DEFINE4(pwrite64, unsigned int, fd, const char __user *, buf,
-
./fs/read_write.c:SYSCALL_DEFINE3(readv, unsigned long, fd, const struct iovec __user *, vec,
-
./fs/read_write.c:SYSCALL_DEFINE3(writev, unsigned long, fd, const struct iovec __user *, vec,
-
./fs/read_write.c:SYSCALL_DEFINE5(preadv, unsigned long, fd, const struct iovec __user *, vec,
-
./fs/read_write.c:SYSCALL_DEFINE5(pwritev, unsigned long, fd, const struct iovec __user *, vec,
-
./fs/read_write.c:COMPAT_SYSCALL_DEFINE3(readv, unsigned long, fd,
-
./fs/read_write.c:COMPAT_SYSCALL_DEFINE4(preadv64, unsigned long, fd,
-
./fs/read_write.c:COMPAT_SYSCALL_DEFINE5(preadv, unsigned long, fd,
-
./fs/read_write.c:COMPAT_SYSCALL_DEFINE3(writev, unsigned long, fd,
-
./fs/read_write.c:COMPAT_SYSCALL_DEFINE4(pwritev64, unsigned long, fd,
-
./fs/read_write.c:COMPAT_SYSCALL_DEFINE5(pwritev, unsigned long, fd,
-
./fs/read_write.c:SYSCALL_DEFINE4(sendfile, int, out_fd, int, in_fd, off_t __user *, offset, size_t, count)
-
./fs/read_write.c:SYSCALL_DEFINE4(sendfile64, int, out_fd, int, in_fd, loff_t __user *, offset, size_t, count)
-
./fs/read_write.c:COMPAT_SYSCALL_DEFINE4(sendfile, int, out_fd, int, in_fd,
-
./fs/read_write.c:COMPAT_SYSCALL_DEFINE4(sendfile64, int, out_fd, int, in_fd,
-
./fs/file.c:SYSCALL_DEFINE3(dup3, unsigned int, oldfd, unsigned int, newfd, int, flags)
-
./fs/file.c:SYSCALL_DEFINE2(dup2, unsigned int, oldfd, unsigned int, newfd)
-
./fs/file.c:SYSCALL_DEFINE1(dup, unsigned int, fildes)
-
./fs/ioprio.c:SYSCALL_DEFINE3(ioprio_set, int, which, int, who, int, ioprio)
-
./fs/ioprio.c:SYSCALL_DEFINE2(ioprio_get, int, which, int, who)
-
./fs/exec.c:SYSCALL_DEFINE1(uselib, const char __user *, library)
-
./fs/exec.c:SYSCALL_DEFINE3(execve,
-
./fs/dcache.c:SYSCALL_DEFINE2(getcwd, char __user *, buf, unsigned long, size)
-
./fs/eventfd.c:SYSCALL_DEFINE2(eventfd2, unsigned int, count, int, flags)
-
./fs/eventfd.c:SYSCALL_DEFINE1(eventfd, unsigned int, count)
-
./fs/ioctl.c:SYSCALL_DEFINE3(ioctl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)
-
./fs/splice.c:SYSCALL_DEFINE4(vmsplice, int, fd, const struct iovec __user *, iov,
-
./fs/splice.c:COMPAT_SYSCALL_DEFINE4(vmsplice, int, fd, const struct compat_iovec __user *, iov32,
-
./fs/splice.c:SYSCALL_DEFINE6(splice, int, fd_in, loff_t __user *, off_in,
-
./fs/splice.c:SYSCALL_DEFINE4(tee, int, fdin, int, fdout, size_t, len, unsigned int, flags)
-
./fs/namespace.c:SYSCALL_DEFINE2(umount, char __user *, name, int, flags)
-
./fs/namespace.c:SYSCALL_DEFINE1(oldumount, char __user *, name)
-
./fs/namespace.c:SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name,
-
./fs/namespace.c:SYSCALL_DEFINE2(pivot_root, const char __user *, new_root,
-
./fs/fcntl.c:SYSCALL_DEFINE3(fcntl, unsigned int, fd, unsigned int, cmd, unsigned long, arg)
-
./fs/fcntl.c:SYSCALL_DEFINE3(fcntl64, unsigned int, fd, unsigned int, cmd,
-
grep: 2: No such file or directory
-
./fs/stat.c:SYSCALL_DEFINE2(stat, const char __user *, filename,
-
./fs/stat.c:SYSCALL_DEFINE2(lstat, const char __user *, filename,
-
./fs/stat.c:SYSCALL_DEFINE2(fstat, unsigned int, fd, struct __old_kernel_stat __user *, statbuf)
-
./fs/stat.c:SYSCALL_DEFINE2(newstat, const char __user *, filename,
-
./fs/stat.c:SYSCALL_DEFINE2(newlstat, const char __user *, filename,
-
./fs/stat.c:SYSCALL_DEFINE4(newfstatat, int, dfd, const char __user *, filename,
-
./fs/stat.c:SYSCALL_DEFINE2(newfstat, unsigned int, fd, struct stat __user *, statbuf)
-
./fs/stat.c:SYSCALL_DEFINE4(readlinkat, int, dfd, const char __user *, pathname,
-
./fs/stat.c:SYSCALL_DEFINE3(readlink, const char __user *, path, char __user *, buf,
-
./fs/stat.c:SYSCALL_DEFINE2(stat64, const char __user *, filename,
-
./fs/stat.c:SYSCALL_DEFINE2(lstat64, const char __user *, filename,
-
./fs/stat.c:SYSCALL_DEFINE2(fstat64, unsigned long, fd, struct stat64 __user *, statbuf)
-
./fs/stat.c:SYSCALL_DEFINE4(fstatat64, int, dfd, const char __user *, filename,
-
./fs/xattr.c:SYSCALL_DEFINE5(setxattr, const char __user *, pathname,
-
./fs/xattr.c:SYSCALL_DEFINE5(lsetxattr, const char __user *, pathname,
-
./fs/xattr.c:SYSCALL_DEFINE5(fsetxattr, int, fd, const char __user *, name,
-
./fs/xattr.c:SYSCALL_DEFINE4(getxattr, const char __user *, pathname,
-
./fs/xattr.c:SYSCALL_DEFINE4(lgetxattr, const char __user *, pathname,
-
./fs/xattr.c:SYSCALL_DEFINE4(fgetxattr, int, fd, const char __user *, name,
-
./fs/xattr.c:SYSCALL_DEFINE3(listxattr, const char __user *, pathname, char __user *, list,
-
./fs/xattr.c:SYSCALL_DEFINE3(llistxattr, const char __user *, pathname, char __user *, list,
-
./fs/xattr.c:SYSCALL_DEFINE3(flistxattr, int, fd, char __user *, list, size_t, size)
-
./fs/xattr.c:SYSCALL_DEFINE2(removexattr, const char __user *, pathname,
-
./fs/xattr.c:SYSCALL_DEFINE2(lremovexattr, const char __user *, pathname,
-
./fs/xattr.c:SYSCALL_DEFINE2(fremovexattr, int, fd, const char __user *, name)
-
./fs/sync.c:SYSCALL_DEFINE0(sync)
-
./fs/sync.c:SYSCALL_DEFINE1(syncfs, int, fd)
-
./fs/sync.c:SYSCALL_DEFINE1(fsync, unsigned int, fd)
-
./fs/sync.c:SYSCALL_DEFINE1(fdatasync, unsigned int, fd)
-
./fs/sync.c:SYSCALL_DEFINE4(sync_file_range, int, fd, loff_t, offset, loff_t, nbytes,
-
./fs/sync.c:SYSCALL_DEFINE4(sync_file_range2, int, fd, unsigned int, flags,
-
./fs/readdir.c:SYSCALL_DEFINE3(old_readdir, unsigned int, fd,
-
./fs/readdir.c:SYSCALL_DEFINE3(getdents, unsigned int, fd,
-
./fs/readdir.c:SYSCALL_DEFINE3(getdents64, unsigned int, fd,
-
./fs/notify/fanotify/fanotify_user.c:SYSCALL_DEFINE2(fanotify_init, unsigned int, flags, unsigned int, event_f_flags)
-
./fs/notify/fanotify/fanotify_user.c:SYSCALL_DEFINE5(fanotify_mark, int, fanotify_fd, unsigned int, flags,
-
./fs/notify/fanotify/fanotify_user.c:COMPAT_SYSCALL_DEFINE6(fanotify_mark,
-
./fs/notify/inotify/inotify_user.c:SYSCALL_DEFINE1(inotify_init1, int, flags)
-
./fs/notify/inotify/inotify_user.c:SYSCALL_DEFINE0(inotify_init)
-
./fs/notify/inotify/inotify_user.c:SYSCALL_DEFINE3(inotify_add_watch, int, fd, const char __user *, pathname,
-
./fs/notify/inotify/inotify_user.c:SYSCALL_DEFINE2(inotify_rm_watch, int, fd, __s32, wd)
-
./fs/eventpoll.c:SYSCALL_DEFINE1(epoll_create1, int, flags)
-
./fs/eventpoll.c:SYSCALL_DEFINE1(epoll_create, int, size)
-
./fs/eventpoll.c:SYSCALL_DEFINE4(epoll_ctl, int, epfd, int, op, int, fd,
-
./fs/eventpoll.c:SYSCALL_DEFINE4(epoll_wait, int, epfd, struct epoll_event __user *, events,
-
./fs/eventpoll.c:SYSCALL_DEFINE6(epoll_pwait, int, epfd, struct epoll_event __user *, events,
-
./fs/eventpoll.c:COMPAT_SYSCALL_DEFINE6(epoll_pwait, int, epfd,
-
./fs/select.c:SYSCALL_DEFINE5(select, int, n, fd_set __user *, inp, fd_set __user *, outp,
-
./fs/select.c:SYSCALL_DEFINE6(pselect6, int, n, fd_set __user *, inp, fd_set __user *, outp,
-
./fs/select.c:SYSCALL_DEFINE1(old_select, struct sel_arg_struct __user *, arg)
-
./fs/select.c:SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, nfds,
-
./fs/select.c:SYSCALL_DEFINE5(ppoll, struct pollfd __user *, ufds, unsigned int, nfds,
-
./fs/locks.c:SYSCALL_DEFINE2(flock, unsigned int, fd, unsigned int, cmd)
-
./fs/quota/quota.c:SYSCALL_DEFINE4(quotactl, unsigned int, cmd, const char __user *, special,
-
./fs/compat.c:COMPAT_SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode)
-
./fs/compat.c:COMPAT_SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags, umode_t, mode)
-
./fs/compat.c:COMPAT_SYSCALL_DEFINE3(open_by_handle_at, int, mountdirfd,
-
./net/socket.c:SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol)
-
./net/socket.c:SYSCALL_DEFINE4(socketpair, int, family, int, type, int, protocol,
-
./net/socket.c:SYSCALL_DEFINE3(bind, int, fd, struct sockaddr __user *, umyaddr, int, addrlen)
-
./net/socket.c:SYSCALL_DEFINE2(listen, int, fd, int, backlog)
-
./net/socket.c:SYSCALL_DEFINE4(accept4, int, fd, struct sockaddr __user *, upeer_sockaddr,
-
./net/socket.c:SYSCALL_DEFINE3(accept, int, fd, struct sockaddr __user *, upeer_sockaddr,
-
./net/socket.c:SYSCALL_DEFINE3(connect, int, fd, struct sockaddr __user *, uservaddr,
-
./net/socket.c:SYSCALL_DEFINE3(getsockname, int, fd, struct sockaddr __user *, usockaddr,
-
./net/socket.c:SYSCALL_DEFINE3(getpeername, int, fd, struct sockaddr __user *, usockaddr,
-
./net/socket.c:SYSCALL_DEFINE6(sendto, int, fd, void __user *, buff, size_t, len,
-
./net/socket.c:SYSCALL_DEFINE4(send, int, fd, void __user *, buff, size_t, len,
-
./net/socket.c:SYSCALL_DEFINE6(recvfrom, int, fd, void __user *, ubuf, size_t, size,
-
./net/socket.c:SYSCALL_DEFINE5(setsockopt, int, fd, int, level, int, optname,
-
./net/socket.c:SYSCALL_DEFINE5(getsockopt, int, fd, int, level, int, optname,
-
./net/socket.c:SYSCALL_DEFINE2(shutdown, int, fd, int, how)
-
./net/socket.c:SYSCALL_DEFINE3(sendmsg, int, fd, struct msghdr __user *, msg, unsigned int, flags)
-
./net/socket.c:SYSCALL_DEFINE4(sendmmsg, int, fd, struct mmsghdr __user *, mmsg,
-
./net/socket.c:SYSCALL_DEFINE3(recvmsg, int, fd, struct msghdr __user *, msg,
-
./net/socket.c:SYSCALL_DEFINE5(recvmmsg, int, fd, struct mmsghdr __user *, mmsg,
-
./net/socket.c:SYSCALL_DEFINE2(socketcall, int, call, unsigned long __user *, args)
阅读(2368) | 评论(0) | 转发(0) |