ソケット関連アクセスベクタの間違い

id:himainu:20051017で間違い。
「ioctl, append, lock, setattr」は使われている。
またSmalley氏にMLで教えてもらった…
ソケットは,ファイルディスクリプタ経由で扱われるが,
ファイルディスクリプタに各種システムコールを使う時に,ファイルと同じようにチェックされる。なので,上のアクセスベクタも使われる。
それとは別に,ソケット独自のシステムコールの時もチェックされるが。

また,ソケットのアクセスベクタのうち,ファイルと共通しているものについては,2重チェックが行われることもあるかも?
以下,関連するソース解析を。かなり飛ばしてます…
例えば,
TCPソケットのファイルディスクリプタに「readシステムコール」した場合。
まず,fs/read_write.c
sys_read→vfs_readと来て,その中の
security_file_permission (file, MAY_READ);
で,一度目のreadアクセスベクタがチェック。
そこから,
do_sync_read→
filp->f_op->aio_read
(ソケットのf_opが何があるかは,net/socket.cの,static struct file_operations socket_file_ops 参照)
で,
→net/socket.c
sock_aio_read→__sock_recvmsg→
security_socket_recvmsgで,2度目のreadアクセスベクタのチェック。

つまり,VFSの段階と,VFSの操作を実装している部分の段階,
の2段階でチェックされる可能性がある。