2 * Stub functions for the default security function pointers in case no
3 * security model is loaded.
5 * Copyright (C) 2001 WireX Communications, Inc <chris@wirex.com>
6 * Copyright (C) 2001-2002 Greg Kroah-Hartman <greg@kroah.com>
7 * Copyright (C) 2001 Networks Associates Technology, Inc <ssmalley@nai.com>
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
17 #include <linux/config.h>
18 #include <linux/module.h>
19 #include <linux/kernel.h>
20 #include <linux/mman.h>
21 #include <linux/pagemap.h>
22 #include <linux/swap.h>
23 #include <linux/security.h>
24 #include <linux/skbuff.h>
25 #include <linux/netlink.h>
27 #include <linux/xattr.h>
28 #include <linux/hugetlb.h>
29 #include <linux/ptrace.h>
30 #include <linux/file.h>
32 static int dummy_ptrace (struct task_struct
*parent
, struct task_struct
*child
)
37 static int dummy_capget (struct task_struct
*target
, kernel_cap_t
* effective
,
38 kernel_cap_t
* inheritable
, kernel_cap_t
* permitted
)
40 *effective
= *inheritable
= *permitted
= 0;
41 if (!issecure(SECURE_NOROOT
)) {
42 if (target
->euid
== 0) {
43 *permitted
|= (~0 & ~CAP_FS_MASK
);
44 *effective
|= (~0 & ~CAP_TO_MASK(CAP_SETPCAP
) & ~CAP_FS_MASK
);
46 if (target
->fsuid
== 0) {
47 *permitted
|= CAP_FS_MASK
;
48 *effective
|= CAP_FS_MASK
;
54 static int dummy_capset_check (struct task_struct
*target
,
55 kernel_cap_t
* effective
,
56 kernel_cap_t
* inheritable
,
57 kernel_cap_t
* permitted
)
62 static void dummy_capset_set (struct task_struct
*target
,
63 kernel_cap_t
* effective
,
64 kernel_cap_t
* inheritable
,
65 kernel_cap_t
* permitted
)
70 static int dummy_acct (struct file
*file
)
75 static int dummy_capable (struct task_struct
*tsk
, int cap
)
77 if (cap_raised (tsk
->cap_effective
, cap
))
82 static int dummy_sysctl (ctl_table
* table
, int op
)
87 static int dummy_quotactl (int cmds
, int type
, int id
, struct super_block
*sb
)
92 static int dummy_quota_on (struct dentry
*dentry
)
97 static int dummy_syslog (int type
)
99 if ((type
!= 3 && type
!= 10) && current
->euid
)
104 static int dummy_settime(struct timespec
*ts
, struct timezone
*tz
)
106 if (!capable(CAP_SYS_TIME
))
111 static int dummy_vm_enough_memory(long pages
)
113 int cap_sys_admin
= 0;
115 if (dummy_capable(current
, CAP_SYS_ADMIN
) == 0)
117 return __vm_enough_memory(pages
, cap_sys_admin
);
120 static int dummy_bprm_alloc_security (struct linux_binprm
*bprm
)
125 static void dummy_bprm_free_security (struct linux_binprm
*bprm
)
130 static void dummy_bprm_apply_creds (struct linux_binprm
*bprm
, int unsafe
)
132 if (bprm
->e_uid
!= current
->uid
|| bprm
->e_gid
!= current
->gid
) {
133 current
->mm
->dumpable
= suid_dumpable
;
135 if ((unsafe
& ~LSM_UNSAFE_PTRACE_CAP
) && !capable(CAP_SETUID
)) {
136 bprm
->e_uid
= current
->uid
;
137 bprm
->e_gid
= current
->gid
;
141 current
->suid
= current
->euid
= current
->fsuid
= bprm
->e_uid
;
142 current
->sgid
= current
->egid
= current
->fsgid
= bprm
->e_gid
;
144 dummy_capget(current
, ¤t
->cap_effective
, ¤t
->cap_inheritable
, ¤t
->cap_permitted
);
147 static void dummy_bprm_post_apply_creds (struct linux_binprm
*bprm
)
152 static int dummy_bprm_set_security (struct linux_binprm
*bprm
)
157 static int dummy_bprm_check_security (struct linux_binprm
*bprm
)
162 static int dummy_bprm_secureexec (struct linux_binprm
*bprm
)
164 /* The new userland will simply use the value provided
165 in the AT_SECURE field to decide whether secure mode
166 is required. Hence, this logic is required to preserve
167 the legacy decision algorithm used by the old userland. */
168 return (current
->euid
!= current
->uid
||
169 current
->egid
!= current
->gid
);
172 static int dummy_sb_alloc_security (struct super_block
*sb
)
177 static void dummy_sb_free_security (struct super_block
*sb
)
182 static int dummy_sb_copy_data (struct file_system_type
*type
,
183 void *orig
, void *copy
)
188 static int dummy_sb_kern_mount (struct super_block
*sb
, void *data
)
193 static int dummy_sb_statfs (struct super_block
*sb
)
198 static int dummy_sb_mount (char *dev_name
, struct nameidata
*nd
, char *type
,
199 unsigned long flags
, void *data
)
204 static int dummy_sb_check_sb (struct vfsmount
*mnt
, struct nameidata
*nd
)
209 static int dummy_sb_umount (struct vfsmount
*mnt
, int flags
)
214 static void dummy_sb_umount_close (struct vfsmount
*mnt
)
219 static void dummy_sb_umount_busy (struct vfsmount
*mnt
)
224 static void dummy_sb_post_remount (struct vfsmount
*mnt
, unsigned long flags
,
231 static void dummy_sb_post_mountroot (void)
236 static void dummy_sb_post_addmount (struct vfsmount
*mnt
, struct nameidata
*nd
)
241 static int dummy_sb_pivotroot (struct nameidata
*old_nd
, struct nameidata
*new_nd
)
246 static void dummy_sb_post_pivotroot (struct nameidata
*old_nd
, struct nameidata
*new_nd
)
251 static int dummy_inode_alloc_security (struct inode
*inode
)
256 static void dummy_inode_free_security (struct inode
*inode
)
261 static int dummy_inode_create (struct inode
*inode
, struct dentry
*dentry
,
267 static void dummy_inode_post_create (struct inode
*inode
, struct dentry
*dentry
,
273 static int dummy_inode_link (struct dentry
*old_dentry
, struct inode
*inode
,
274 struct dentry
*new_dentry
)
279 static void dummy_inode_post_link (struct dentry
*old_dentry
,
281 struct dentry
*new_dentry
)
286 static int dummy_inode_unlink (struct inode
*inode
, struct dentry
*dentry
)
291 static int dummy_inode_symlink (struct inode
*inode
, struct dentry
*dentry
,
297 static void dummy_inode_post_symlink (struct inode
*inode
,
298 struct dentry
*dentry
, const char *name
)
303 static int dummy_inode_mkdir (struct inode
*inode
, struct dentry
*dentry
,
309 static void dummy_inode_post_mkdir (struct inode
*inode
, struct dentry
*dentry
,
315 static int dummy_inode_rmdir (struct inode
*inode
, struct dentry
*dentry
)
320 static int dummy_inode_mknod (struct inode
*inode
, struct dentry
*dentry
,
326 static void dummy_inode_post_mknod (struct inode
*inode
, struct dentry
*dentry
,
332 static int dummy_inode_rename (struct inode
*old_inode
,
333 struct dentry
*old_dentry
,
334 struct inode
*new_inode
,
335 struct dentry
*new_dentry
)
340 static void dummy_inode_post_rename (struct inode
*old_inode
,
341 struct dentry
*old_dentry
,
342 struct inode
*new_inode
,
343 struct dentry
*new_dentry
)
348 static int dummy_inode_readlink (struct dentry
*dentry
)
353 static int dummy_inode_follow_link (struct dentry
*dentry
,
354 struct nameidata
*nameidata
)
359 static int dummy_inode_permission (struct inode
*inode
, int mask
, struct nameidata
*nd
)
364 static int dummy_inode_setattr (struct dentry
*dentry
, struct iattr
*iattr
)
369 static int dummy_inode_getattr (struct vfsmount
*mnt
, struct dentry
*dentry
)
374 static void dummy_inode_delete (struct inode
*ino
)
379 static int dummy_inode_setxattr (struct dentry
*dentry
, char *name
, void *value
,
380 size_t size
, int flags
)
382 if (!strncmp(name
, XATTR_SECURITY_PREFIX
,
383 sizeof(XATTR_SECURITY_PREFIX
) - 1) &&
384 !capable(CAP_SYS_ADMIN
))
389 static void dummy_inode_post_setxattr (struct dentry
*dentry
, char *name
, void *value
,
390 size_t size
, int flags
)
394 static int dummy_inode_getxattr (struct dentry
*dentry
, char *name
)
399 static int dummy_inode_listxattr (struct dentry
*dentry
)
404 static int dummy_inode_removexattr (struct dentry
*dentry
, char *name
)
406 if (!strncmp(name
, XATTR_SECURITY_PREFIX
,
407 sizeof(XATTR_SECURITY_PREFIX
) - 1) &&
408 !capable(CAP_SYS_ADMIN
))
413 static int dummy_inode_getsecurity(struct inode
*inode
, const char *name
, void *buffer
, size_t size
)
418 static int dummy_inode_setsecurity(struct inode
*inode
, const char *name
, const void *value
, size_t size
, int flags
)
423 static int dummy_inode_listsecurity(struct inode
*inode
, char *buffer
, size_t buffer_size
)
428 static int dummy_file_permission (struct file
*file
, int mask
)
433 static int dummy_file_alloc_security (struct file
*file
)
438 static void dummy_file_free_security (struct file
*file
)
443 static int dummy_file_ioctl (struct file
*file
, unsigned int command
,
449 static int dummy_file_mmap (struct file
*file
, unsigned long reqprot
,
456 static int dummy_file_mprotect (struct vm_area_struct
*vma
,
457 unsigned long reqprot
,
463 static int dummy_file_lock (struct file
*file
, unsigned int cmd
)
468 static int dummy_file_fcntl (struct file
*file
, unsigned int cmd
,
474 static int dummy_file_set_fowner (struct file
*file
)
479 static int dummy_file_send_sigiotask (struct task_struct
*tsk
,
480 struct fown_struct
*fown
, int sig
)
485 static int dummy_file_receive (struct file
*file
)
490 static int dummy_task_create (unsigned long clone_flags
)
495 static int dummy_task_alloc_security (struct task_struct
*p
)
500 static void dummy_task_free_security (struct task_struct
*p
)
505 static int dummy_task_setuid (uid_t id0
, uid_t id1
, uid_t id2
, int flags
)
510 static int dummy_task_post_setuid (uid_t id0
, uid_t id1
, uid_t id2
, int flags
)
512 dummy_capget(current
, ¤t
->cap_effective
, ¤t
->cap_inheritable
, ¤t
->cap_permitted
);
516 static int dummy_task_setgid (gid_t id0
, gid_t id1
, gid_t id2
, int flags
)
521 static int dummy_task_setpgid (struct task_struct
*p
, pid_t pgid
)
526 static int dummy_task_getpgid (struct task_struct
*p
)
531 static int dummy_task_getsid (struct task_struct
*p
)
536 static int dummy_task_setgroups (struct group_info
*group_info
)
541 static int dummy_task_setnice (struct task_struct
*p
, int nice
)
546 static int dummy_task_setrlimit (unsigned int resource
, struct rlimit
*new_rlim
)
551 static int dummy_task_setscheduler (struct task_struct
*p
, int policy
,
552 struct sched_param
*lp
)
557 static int dummy_task_getscheduler (struct task_struct
*p
)
562 static int dummy_task_wait (struct task_struct
*p
)
567 static int dummy_task_kill (struct task_struct
*p
, struct siginfo
*info
,
573 static int dummy_task_prctl (int option
, unsigned long arg2
, unsigned long arg3
,
574 unsigned long arg4
, unsigned long arg5
)
579 static void dummy_task_reparent_to_init (struct task_struct
*p
)
581 p
->euid
= p
->fsuid
= 0;
585 static void dummy_task_to_inode(struct task_struct
*p
, struct inode
*inode
)
588 static int dummy_ipc_permission (struct kern_ipc_perm
*ipcp
, short flag
)
593 static int dummy_msg_msg_alloc_security (struct msg_msg
*msg
)
598 static void dummy_msg_msg_free_security (struct msg_msg
*msg
)
603 static int dummy_msg_queue_alloc_security (struct msg_queue
*msq
)
608 static void dummy_msg_queue_free_security (struct msg_queue
*msq
)
613 static int dummy_msg_queue_associate (struct msg_queue
*msq
,
619 static int dummy_msg_queue_msgctl (struct msg_queue
*msq
, int cmd
)
624 static int dummy_msg_queue_msgsnd (struct msg_queue
*msq
, struct msg_msg
*msg
,
630 static int dummy_msg_queue_msgrcv (struct msg_queue
*msq
, struct msg_msg
*msg
,
631 struct task_struct
*target
, long type
,
637 static int dummy_shm_alloc_security (struct shmid_kernel
*shp
)
642 static void dummy_shm_free_security (struct shmid_kernel
*shp
)
647 static int dummy_shm_associate (struct shmid_kernel
*shp
, int shmflg
)
652 static int dummy_shm_shmctl (struct shmid_kernel
*shp
, int cmd
)
657 static int dummy_shm_shmat (struct shmid_kernel
*shp
, char __user
*shmaddr
,
663 static int dummy_sem_alloc_security (struct sem_array
*sma
)
668 static void dummy_sem_free_security (struct sem_array
*sma
)
673 static int dummy_sem_associate (struct sem_array
*sma
, int semflg
)
678 static int dummy_sem_semctl (struct sem_array
*sma
, int cmd
)
683 static int dummy_sem_semop (struct sem_array
*sma
,
684 struct sembuf
*sops
, unsigned nsops
, int alter
)
689 static int dummy_netlink_send (struct sock
*sk
, struct sk_buff
*skb
)
691 NETLINK_CB(skb
).eff_cap
= current
->cap_effective
;
695 static int dummy_netlink_recv (struct sk_buff
*skb
)
697 if (!cap_raised (NETLINK_CB (skb
).eff_cap
, CAP_NET_ADMIN
))
702 #ifdef CONFIG_SECURITY_NETWORK
703 static int dummy_unix_stream_connect (struct socket
*sock
,
704 struct socket
*other
,
710 static int dummy_unix_may_send (struct socket
*sock
,
711 struct socket
*other
)
716 static int dummy_socket_create (int family
, int type
,
717 int protocol
, int kern
)
722 static void dummy_socket_post_create (struct socket
*sock
, int family
, int type
,
723 int protocol
, int kern
)
728 static int dummy_socket_bind (struct socket
*sock
, struct sockaddr
*address
,
734 static int dummy_socket_connect (struct socket
*sock
, struct sockaddr
*address
,
740 static int dummy_socket_listen (struct socket
*sock
, int backlog
)
745 static int dummy_socket_accept (struct socket
*sock
, struct socket
*newsock
)
750 static void dummy_socket_post_accept (struct socket
*sock
,
751 struct socket
*newsock
)
756 static int dummy_socket_sendmsg (struct socket
*sock
, struct msghdr
*msg
,
762 static int dummy_socket_recvmsg (struct socket
*sock
, struct msghdr
*msg
,
768 static int dummy_socket_getsockname (struct socket
*sock
)
773 static int dummy_socket_getpeername (struct socket
*sock
)
778 static int dummy_socket_setsockopt (struct socket
*sock
, int level
, int optname
)
783 static int dummy_socket_getsockopt (struct socket
*sock
, int level
, int optname
)
788 static int dummy_socket_shutdown (struct socket
*sock
, int how
)
793 static int dummy_socket_sock_rcv_skb (struct sock
*sk
, struct sk_buff
*skb
)
798 static int dummy_socket_getpeersec(struct socket
*sock
, char __user
*optval
,
799 int __user
*optlen
, unsigned len
)
804 static inline int dummy_sk_alloc_security (struct sock
*sk
, int family
, int priority
)
809 static inline void dummy_sk_free_security (struct sock
*sk
)
812 #endif /* CONFIG_SECURITY_NETWORK */
814 static int dummy_register_security (const char *name
, struct security_operations
*ops
)
819 static int dummy_unregister_security (const char *name
, struct security_operations
*ops
)
824 static void dummy_d_instantiate (struct dentry
*dentry
, struct inode
*inode
)
829 static int dummy_getprocattr(struct task_struct
*p
, char *name
, void *value
, size_t size
)
834 static int dummy_setprocattr(struct task_struct
*p
, char *name
, void *value
, size_t size
)
840 struct security_operations dummy_security_ops
;
842 #define set_to_dummy_if_null(ops, function) \
844 if (!ops->function) { \
845 ops->function = dummy_##function; \
846 pr_debug("Had to override the " #function \
847 " security operation with the dummy one.\n");\
851 void security_fixup_ops (struct security_operations
*ops
)
853 set_to_dummy_if_null(ops
, ptrace
);
854 set_to_dummy_if_null(ops
, capget
);
855 set_to_dummy_if_null(ops
, capset_check
);
856 set_to_dummy_if_null(ops
, capset_set
);
857 set_to_dummy_if_null(ops
, acct
);
858 set_to_dummy_if_null(ops
, capable
);
859 set_to_dummy_if_null(ops
, quotactl
);
860 set_to_dummy_if_null(ops
, quota_on
);
861 set_to_dummy_if_null(ops
, sysctl
);
862 set_to_dummy_if_null(ops
, syslog
);
863 set_to_dummy_if_null(ops
, settime
);
864 set_to_dummy_if_null(ops
, vm_enough_memory
);
865 set_to_dummy_if_null(ops
, bprm_alloc_security
);
866 set_to_dummy_if_null(ops
, bprm_free_security
);
867 set_to_dummy_if_null(ops
, bprm_apply_creds
);
868 set_to_dummy_if_null(ops
, bprm_post_apply_creds
);
869 set_to_dummy_if_null(ops
, bprm_set_security
);
870 set_to_dummy_if_null(ops
, bprm_check_security
);
871 set_to_dummy_if_null(ops
, bprm_secureexec
);
872 set_to_dummy_if_null(ops
, sb_alloc_security
);
873 set_to_dummy_if_null(ops
, sb_free_security
);
874 set_to_dummy_if_null(ops
, sb_copy_data
);
875 set_to_dummy_if_null(ops
, sb_kern_mount
);
876 set_to_dummy_if_null(ops
, sb_statfs
);
877 set_to_dummy_if_null(ops
, sb_mount
);
878 set_to_dummy_if_null(ops
, sb_check_sb
);
879 set_to_dummy_if_null(ops
, sb_umount
);
880 set_to_dummy_if_null(ops
, sb_umount_close
);
881 set_to_dummy_if_null(ops
, sb_umount_busy
);
882 set_to_dummy_if_null(ops
, sb_post_remount
);
883 set_to_dummy_if_null(ops
, sb_post_mountroot
);
884 set_to_dummy_if_null(ops
, sb_post_addmount
);
885 set_to_dummy_if_null(ops
, sb_pivotroot
);
886 set_to_dummy_if_null(ops
, sb_post_pivotroot
);
887 set_to_dummy_if_null(ops
, inode_alloc_security
);
888 set_to_dummy_if_null(ops
, inode_free_security
);
889 set_to_dummy_if_null(ops
, inode_create
);
890 set_to_dummy_if_null(ops
, inode_post_create
);
891 set_to_dummy_if_null(ops
, inode_link
);
892 set_to_dummy_if_null(ops
, inode_post_link
);
893 set_to_dummy_if_null(ops
, inode_unlink
);
894 set_to_dummy_if_null(ops
, inode_symlink
);
895 set_to_dummy_if_null(ops
, inode_post_symlink
);
896 set_to_dummy_if_null(ops
, inode_mkdir
);
897 set_to_dummy_if_null(ops
, inode_post_mkdir
);
898 set_to_dummy_if_null(ops
, inode_rmdir
);
899 set_to_dummy_if_null(ops
, inode_mknod
);
900 set_to_dummy_if_null(ops
, inode_post_mknod
);
901 set_to_dummy_if_null(ops
, inode_rename
);
902 set_to_dummy_if_null(ops
, inode_post_rename
);
903 set_to_dummy_if_null(ops
, inode_readlink
);
904 set_to_dummy_if_null(ops
, inode_follow_link
);
905 set_to_dummy_if_null(ops
, inode_permission
);
906 set_to_dummy_if_null(ops
, inode_setattr
);
907 set_to_dummy_if_null(ops
, inode_getattr
);
908 set_to_dummy_if_null(ops
, inode_delete
);
909 set_to_dummy_if_null(ops
, inode_setxattr
);
910 set_to_dummy_if_null(ops
, inode_post_setxattr
);
911 set_to_dummy_if_null(ops
, inode_getxattr
);
912 set_to_dummy_if_null(ops
, inode_listxattr
);
913 set_to_dummy_if_null(ops
, inode_removexattr
);
914 set_to_dummy_if_null(ops
, inode_getsecurity
);
915 set_to_dummy_if_null(ops
, inode_setsecurity
);
916 set_to_dummy_if_null(ops
, inode_listsecurity
);
917 set_to_dummy_if_null(ops
, file_permission
);
918 set_to_dummy_if_null(ops
, file_alloc_security
);
919 set_to_dummy_if_null(ops
, file_free_security
);
920 set_to_dummy_if_null(ops
, file_ioctl
);
921 set_to_dummy_if_null(ops
, file_mmap
);
922 set_to_dummy_if_null(ops
, file_mprotect
);
923 set_to_dummy_if_null(ops
, file_lock
);
924 set_to_dummy_if_null(ops
, file_fcntl
);
925 set_to_dummy_if_null(ops
, file_set_fowner
);
926 set_to_dummy_if_null(ops
, file_send_sigiotask
);
927 set_to_dummy_if_null(ops
, file_receive
);
928 set_to_dummy_if_null(ops
, task_create
);
929 set_to_dummy_if_null(ops
, task_alloc_security
);
930 set_to_dummy_if_null(ops
, task_free_security
);
931 set_to_dummy_if_null(ops
, task_setuid
);
932 set_to_dummy_if_null(ops
, task_post_setuid
);
933 set_to_dummy_if_null(ops
, task_setgid
);
934 set_to_dummy_if_null(ops
, task_setpgid
);
935 set_to_dummy_if_null(ops
, task_getpgid
);
936 set_to_dummy_if_null(ops
, task_getsid
);
937 set_to_dummy_if_null(ops
, task_setgroups
);
938 set_to_dummy_if_null(ops
, task_setnice
);
939 set_to_dummy_if_null(ops
, task_setrlimit
);
940 set_to_dummy_if_null(ops
, task_setscheduler
);
941 set_to_dummy_if_null(ops
, task_getscheduler
);
942 set_to_dummy_if_null(ops
, task_wait
);
943 set_to_dummy_if_null(ops
, task_kill
);
944 set_to_dummy_if_null(ops
, task_prctl
);
945 set_to_dummy_if_null(ops
, task_reparent_to_init
);
946 set_to_dummy_if_null(ops
, task_to_inode
);
947 set_to_dummy_if_null(ops
, ipc_permission
);
948 set_to_dummy_if_null(ops
, msg_msg_alloc_security
);
949 set_to_dummy_if_null(ops
, msg_msg_free_security
);
950 set_to_dummy_if_null(ops
, msg_queue_alloc_security
);
951 set_to_dummy_if_null(ops
, msg_queue_free_security
);
952 set_to_dummy_if_null(ops
, msg_queue_associate
);
953 set_to_dummy_if_null(ops
, msg_queue_msgctl
);
954 set_to_dummy_if_null(ops
, msg_queue_msgsnd
);
955 set_to_dummy_if_null(ops
, msg_queue_msgrcv
);
956 set_to_dummy_if_null(ops
, shm_alloc_security
);
957 set_to_dummy_if_null(ops
, shm_free_security
);
958 set_to_dummy_if_null(ops
, shm_associate
);
959 set_to_dummy_if_null(ops
, shm_shmctl
);
960 set_to_dummy_if_null(ops
, shm_shmat
);
961 set_to_dummy_if_null(ops
, sem_alloc_security
);
962 set_to_dummy_if_null(ops
, sem_free_security
);
963 set_to_dummy_if_null(ops
, sem_associate
);
964 set_to_dummy_if_null(ops
, sem_semctl
);
965 set_to_dummy_if_null(ops
, sem_semop
);
966 set_to_dummy_if_null(ops
, netlink_send
);
967 set_to_dummy_if_null(ops
, netlink_recv
);
968 set_to_dummy_if_null(ops
, register_security
);
969 set_to_dummy_if_null(ops
, unregister_security
);
970 set_to_dummy_if_null(ops
, d_instantiate
);
971 set_to_dummy_if_null(ops
, getprocattr
);
972 set_to_dummy_if_null(ops
, setprocattr
);
973 #ifdef CONFIG_SECURITY_NETWORK
974 set_to_dummy_if_null(ops
, unix_stream_connect
);
975 set_to_dummy_if_null(ops
, unix_may_send
);
976 set_to_dummy_if_null(ops
, socket_create
);
977 set_to_dummy_if_null(ops
, socket_post_create
);
978 set_to_dummy_if_null(ops
, socket_bind
);
979 set_to_dummy_if_null(ops
, socket_connect
);
980 set_to_dummy_if_null(ops
, socket_listen
);
981 set_to_dummy_if_null(ops
, socket_accept
);
982 set_to_dummy_if_null(ops
, socket_post_accept
);
983 set_to_dummy_if_null(ops
, socket_sendmsg
);
984 set_to_dummy_if_null(ops
, socket_recvmsg
);
985 set_to_dummy_if_null(ops
, socket_getsockname
);
986 set_to_dummy_if_null(ops
, socket_getpeername
);
987 set_to_dummy_if_null(ops
, socket_setsockopt
);
988 set_to_dummy_if_null(ops
, socket_getsockopt
);
989 set_to_dummy_if_null(ops
, socket_shutdown
);
990 set_to_dummy_if_null(ops
, socket_sock_rcv_skb
);
991 set_to_dummy_if_null(ops
, socket_getpeersec
);
992 set_to_dummy_if_null(ops
, sk_alloc_security
);
993 set_to_dummy_if_null(ops
, sk_free_security
);
994 #endif /* CONFIG_SECURITY_NETWORK */