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/capability.h>
18 #include <linux/config.h>
19 #include <linux/module.h>
20 #include <linux/kernel.h>
21 #include <linux/mman.h>
22 #include <linux/pagemap.h>
23 #include <linux/swap.h>
24 #include <linux/security.h>
25 #include <linux/skbuff.h>
26 #include <linux/netlink.h>
28 #include <linux/xattr.h>
29 #include <linux/hugetlb.h>
30 #include <linux/ptrace.h>
31 #include <linux/file.h>
33 static int dummy_ptrace (struct task_struct
*parent
, struct task_struct
*child
)
38 static int dummy_capget (struct task_struct
*target
, kernel_cap_t
* effective
,
39 kernel_cap_t
* inheritable
, kernel_cap_t
* permitted
)
41 *effective
= *inheritable
= *permitted
= 0;
42 if (!issecure(SECURE_NOROOT
)) {
43 if (target
->euid
== 0) {
44 *permitted
|= (~0 & ~CAP_FS_MASK
);
45 *effective
|= (~0 & ~CAP_TO_MASK(CAP_SETPCAP
) & ~CAP_FS_MASK
);
47 if (target
->fsuid
== 0) {
48 *permitted
|= CAP_FS_MASK
;
49 *effective
|= CAP_FS_MASK
;
55 static int dummy_capset_check (struct task_struct
*target
,
56 kernel_cap_t
* effective
,
57 kernel_cap_t
* inheritable
,
58 kernel_cap_t
* permitted
)
63 static void dummy_capset_set (struct task_struct
*target
,
64 kernel_cap_t
* effective
,
65 kernel_cap_t
* inheritable
,
66 kernel_cap_t
* permitted
)
71 static int dummy_acct (struct file
*file
)
76 static int dummy_capable (struct task_struct
*tsk
, int cap
)
78 if (cap_raised (tsk
->cap_effective
, cap
))
83 static int dummy_sysctl (ctl_table
* table
, int op
)
88 static int dummy_quotactl (int cmds
, int type
, int id
, struct super_block
*sb
)
93 static int dummy_quota_on (struct dentry
*dentry
)
98 static int dummy_syslog (int type
)
100 if ((type
!= 3 && type
!= 10) && current
->euid
)
105 static int dummy_settime(struct timespec
*ts
, struct timezone
*tz
)
107 if (!capable(CAP_SYS_TIME
))
112 static int dummy_vm_enough_memory(long pages
)
114 int cap_sys_admin
= 0;
116 if (dummy_capable(current
, CAP_SYS_ADMIN
) == 0)
118 return __vm_enough_memory(pages
, cap_sys_admin
);
121 static int dummy_bprm_alloc_security (struct linux_binprm
*bprm
)
126 static void dummy_bprm_free_security (struct linux_binprm
*bprm
)
131 static void dummy_bprm_apply_creds (struct linux_binprm
*bprm
, int unsafe
)
133 if (bprm
->e_uid
!= current
->uid
|| bprm
->e_gid
!= current
->gid
) {
134 current
->mm
->dumpable
= suid_dumpable
;
136 if ((unsafe
& ~LSM_UNSAFE_PTRACE_CAP
) && !capable(CAP_SETUID
)) {
137 bprm
->e_uid
= current
->uid
;
138 bprm
->e_gid
= current
->gid
;
142 current
->suid
= current
->euid
= current
->fsuid
= bprm
->e_uid
;
143 current
->sgid
= current
->egid
= current
->fsgid
= bprm
->e_gid
;
145 dummy_capget(current
, ¤t
->cap_effective
, ¤t
->cap_inheritable
, ¤t
->cap_permitted
);
148 static void dummy_bprm_post_apply_creds (struct linux_binprm
*bprm
)
153 static int dummy_bprm_set_security (struct linux_binprm
*bprm
)
158 static int dummy_bprm_check_security (struct linux_binprm
*bprm
)
163 static int dummy_bprm_secureexec (struct linux_binprm
*bprm
)
165 /* The new userland will simply use the value provided
166 in the AT_SECURE field to decide whether secure mode
167 is required. Hence, this logic is required to preserve
168 the legacy decision algorithm used by the old userland. */
169 return (current
->euid
!= current
->uid
||
170 current
->egid
!= current
->gid
);
173 static int dummy_sb_alloc_security (struct super_block
*sb
)
178 static void dummy_sb_free_security (struct super_block
*sb
)
183 static int dummy_sb_copy_data (struct file_system_type
*type
,
184 void *orig
, void *copy
)
189 static int dummy_sb_kern_mount (struct super_block
*sb
, void *data
)
194 static int dummy_sb_statfs (struct super_block
*sb
)
199 static int dummy_sb_mount (char *dev_name
, struct nameidata
*nd
, char *type
,
200 unsigned long flags
, void *data
)
205 static int dummy_sb_check_sb (struct vfsmount
*mnt
, struct nameidata
*nd
)
210 static int dummy_sb_umount (struct vfsmount
*mnt
, int flags
)
215 static void dummy_sb_umount_close (struct vfsmount
*mnt
)
220 static void dummy_sb_umount_busy (struct vfsmount
*mnt
)
225 static void dummy_sb_post_remount (struct vfsmount
*mnt
, unsigned long flags
,
232 static void dummy_sb_post_mountroot (void)
237 static void dummy_sb_post_addmount (struct vfsmount
*mnt
, struct nameidata
*nd
)
242 static int dummy_sb_pivotroot (struct nameidata
*old_nd
, struct nameidata
*new_nd
)
247 static void dummy_sb_post_pivotroot (struct nameidata
*old_nd
, struct nameidata
*new_nd
)
252 static int dummy_inode_alloc_security (struct inode
*inode
)
257 static void dummy_inode_free_security (struct inode
*inode
)
262 static int dummy_inode_init_security (struct inode
*inode
, struct inode
*dir
,
263 char **name
, void **value
, size_t *len
)
268 static int dummy_inode_create (struct inode
*inode
, struct dentry
*dentry
,
274 static int dummy_inode_link (struct dentry
*old_dentry
, struct inode
*inode
,
275 struct dentry
*new_dentry
)
280 static int dummy_inode_unlink (struct inode
*inode
, struct dentry
*dentry
)
285 static int dummy_inode_symlink (struct inode
*inode
, struct dentry
*dentry
,
291 static int dummy_inode_mkdir (struct inode
*inode
, struct dentry
*dentry
,
297 static int dummy_inode_rmdir (struct inode
*inode
, struct dentry
*dentry
)
302 static int dummy_inode_mknod (struct inode
*inode
, struct dentry
*dentry
,
308 static int dummy_inode_rename (struct inode
*old_inode
,
309 struct dentry
*old_dentry
,
310 struct inode
*new_inode
,
311 struct dentry
*new_dentry
)
316 static int dummy_inode_readlink (struct dentry
*dentry
)
321 static int dummy_inode_follow_link (struct dentry
*dentry
,
322 struct nameidata
*nameidata
)
327 static int dummy_inode_permission (struct inode
*inode
, int mask
, struct nameidata
*nd
)
332 static int dummy_inode_setattr (struct dentry
*dentry
, struct iattr
*iattr
)
337 static int dummy_inode_getattr (struct vfsmount
*mnt
, struct dentry
*dentry
)
342 static void dummy_inode_delete (struct inode
*ino
)
347 static int dummy_inode_setxattr (struct dentry
*dentry
, char *name
, void *value
,
348 size_t size
, int flags
)
350 if (!strncmp(name
, XATTR_SECURITY_PREFIX
,
351 sizeof(XATTR_SECURITY_PREFIX
) - 1) &&
352 !capable(CAP_SYS_ADMIN
))
357 static void dummy_inode_post_setxattr (struct dentry
*dentry
, char *name
, void *value
,
358 size_t size
, int flags
)
362 static int dummy_inode_getxattr (struct dentry
*dentry
, char *name
)
367 static int dummy_inode_listxattr (struct dentry
*dentry
)
372 static int dummy_inode_removexattr (struct dentry
*dentry
, char *name
)
374 if (!strncmp(name
, XATTR_SECURITY_PREFIX
,
375 sizeof(XATTR_SECURITY_PREFIX
) - 1) &&
376 !capable(CAP_SYS_ADMIN
))
381 static int dummy_inode_getsecurity(struct inode
*inode
, const char *name
, void *buffer
, size_t size
, int err
)
386 static int dummy_inode_setsecurity(struct inode
*inode
, const char *name
, const void *value
, size_t size
, int flags
)
391 static int dummy_inode_listsecurity(struct inode
*inode
, char *buffer
, size_t buffer_size
)
396 static int dummy_file_permission (struct file
*file
, int mask
)
401 static int dummy_file_alloc_security (struct file
*file
)
406 static void dummy_file_free_security (struct file
*file
)
411 static int dummy_file_ioctl (struct file
*file
, unsigned int command
,
417 static int dummy_file_mmap (struct file
*file
, unsigned long reqprot
,
424 static int dummy_file_mprotect (struct vm_area_struct
*vma
,
425 unsigned long reqprot
,
431 static int dummy_file_lock (struct file
*file
, unsigned int cmd
)
436 static int dummy_file_fcntl (struct file
*file
, unsigned int cmd
,
442 static int dummy_file_set_fowner (struct file
*file
)
447 static int dummy_file_send_sigiotask (struct task_struct
*tsk
,
448 struct fown_struct
*fown
, int sig
)
453 static int dummy_file_receive (struct file
*file
)
458 static int dummy_task_create (unsigned long clone_flags
)
463 static int dummy_task_alloc_security (struct task_struct
*p
)
468 static void dummy_task_free_security (struct task_struct
*p
)
473 static int dummy_task_setuid (uid_t id0
, uid_t id1
, uid_t id2
, int flags
)
478 static int dummy_task_post_setuid (uid_t id0
, uid_t id1
, uid_t id2
, int flags
)
480 dummy_capget(current
, ¤t
->cap_effective
, ¤t
->cap_inheritable
, ¤t
->cap_permitted
);
484 static int dummy_task_setgid (gid_t id0
, gid_t id1
, gid_t id2
, int flags
)
489 static int dummy_task_setpgid (struct task_struct
*p
, pid_t pgid
)
494 static int dummy_task_getpgid (struct task_struct
*p
)
499 static int dummy_task_getsid (struct task_struct
*p
)
504 static int dummy_task_setgroups (struct group_info
*group_info
)
509 static int dummy_task_setnice (struct task_struct
*p
, int nice
)
514 static int dummy_task_setrlimit (unsigned int resource
, struct rlimit
*new_rlim
)
519 static int dummy_task_setscheduler (struct task_struct
*p
, int policy
,
520 struct sched_param
*lp
)
525 static int dummy_task_getscheduler (struct task_struct
*p
)
530 static int dummy_task_wait (struct task_struct
*p
)
535 static int dummy_task_kill (struct task_struct
*p
, struct siginfo
*info
,
541 static int dummy_task_prctl (int option
, unsigned long arg2
, unsigned long arg3
,
542 unsigned long arg4
, unsigned long arg5
)
547 static void dummy_task_reparent_to_init (struct task_struct
*p
)
549 p
->euid
= p
->fsuid
= 0;
553 static void dummy_task_to_inode(struct task_struct
*p
, struct inode
*inode
)
556 static int dummy_ipc_permission (struct kern_ipc_perm
*ipcp
, short flag
)
561 static int dummy_msg_msg_alloc_security (struct msg_msg
*msg
)
566 static void dummy_msg_msg_free_security (struct msg_msg
*msg
)
571 static int dummy_msg_queue_alloc_security (struct msg_queue
*msq
)
576 static void dummy_msg_queue_free_security (struct msg_queue
*msq
)
581 static int dummy_msg_queue_associate (struct msg_queue
*msq
,
587 static int dummy_msg_queue_msgctl (struct msg_queue
*msq
, int cmd
)
592 static int dummy_msg_queue_msgsnd (struct msg_queue
*msq
, struct msg_msg
*msg
,
598 static int dummy_msg_queue_msgrcv (struct msg_queue
*msq
, struct msg_msg
*msg
,
599 struct task_struct
*target
, long type
,
605 static int dummy_shm_alloc_security (struct shmid_kernel
*shp
)
610 static void dummy_shm_free_security (struct shmid_kernel
*shp
)
615 static int dummy_shm_associate (struct shmid_kernel
*shp
, int shmflg
)
620 static int dummy_shm_shmctl (struct shmid_kernel
*shp
, int cmd
)
625 static int dummy_shm_shmat (struct shmid_kernel
*shp
, char __user
*shmaddr
,
631 static int dummy_sem_alloc_security (struct sem_array
*sma
)
636 static void dummy_sem_free_security (struct sem_array
*sma
)
641 static int dummy_sem_associate (struct sem_array
*sma
, int semflg
)
646 static int dummy_sem_semctl (struct sem_array
*sma
, int cmd
)
651 static int dummy_sem_semop (struct sem_array
*sma
,
652 struct sembuf
*sops
, unsigned nsops
, int alter
)
657 static int dummy_netlink_send (struct sock
*sk
, struct sk_buff
*skb
)
659 NETLINK_CB(skb
).eff_cap
= current
->cap_effective
;
663 static int dummy_netlink_recv (struct sk_buff
*skb
)
665 if (!cap_raised (NETLINK_CB (skb
).eff_cap
, CAP_NET_ADMIN
))
670 #ifdef CONFIG_SECURITY_NETWORK
671 static int dummy_unix_stream_connect (struct socket
*sock
,
672 struct socket
*other
,
678 static int dummy_unix_may_send (struct socket
*sock
,
679 struct socket
*other
)
684 static int dummy_socket_create (int family
, int type
,
685 int protocol
, int kern
)
690 static void dummy_socket_post_create (struct socket
*sock
, int family
, int type
,
691 int protocol
, int kern
)
696 static int dummy_socket_bind (struct socket
*sock
, struct sockaddr
*address
,
702 static int dummy_socket_connect (struct socket
*sock
, struct sockaddr
*address
,
708 static int dummy_socket_listen (struct socket
*sock
, int backlog
)
713 static int dummy_socket_accept (struct socket
*sock
, struct socket
*newsock
)
718 static void dummy_socket_post_accept (struct socket
*sock
,
719 struct socket
*newsock
)
724 static int dummy_socket_sendmsg (struct socket
*sock
, struct msghdr
*msg
,
730 static int dummy_socket_recvmsg (struct socket
*sock
, struct msghdr
*msg
,
736 static int dummy_socket_getsockname (struct socket
*sock
)
741 static int dummy_socket_getpeername (struct socket
*sock
)
746 static int dummy_socket_setsockopt (struct socket
*sock
, int level
, int optname
)
751 static int dummy_socket_getsockopt (struct socket
*sock
, int level
, int optname
)
756 static int dummy_socket_shutdown (struct socket
*sock
, int how
)
761 static int dummy_socket_sock_rcv_skb (struct sock
*sk
, struct sk_buff
*skb
)
766 static int dummy_socket_getpeersec(struct socket
*sock
, char __user
*optval
,
767 int __user
*optlen
, unsigned len
)
772 static inline int dummy_sk_alloc_security (struct sock
*sk
, int family
, gfp_t priority
)
777 static inline void dummy_sk_free_security (struct sock
*sk
)
781 static unsigned int dummy_sk_getsid(struct sock
*sk
, struct flowi
*fl
, u8 dir
)
785 #endif /* CONFIG_SECURITY_NETWORK */
787 #ifdef CONFIG_SECURITY_NETWORK_XFRM
788 static int dummy_xfrm_policy_alloc_security(struct xfrm_policy
*xp
, struct xfrm_user_sec_ctx
*sec_ctx
)
793 static inline int dummy_xfrm_policy_clone_security(struct xfrm_policy
*old
, struct xfrm_policy
*new)
798 static void dummy_xfrm_policy_free_security(struct xfrm_policy
*xp
)
802 static int dummy_xfrm_state_alloc_security(struct xfrm_state
*x
, struct xfrm_user_sec_ctx
*sec_ctx
)
807 static void dummy_xfrm_state_free_security(struct xfrm_state
*x
)
811 static int dummy_xfrm_policy_lookup(struct xfrm_policy
*xp
, u32 sk_sid
, u8 dir
)
815 #endif /* CONFIG_SECURITY_NETWORK_XFRM */
816 static int dummy_register_security (const char *name
, struct security_operations
*ops
)
821 static int dummy_unregister_security (const char *name
, struct security_operations
*ops
)
826 static void dummy_d_instantiate (struct dentry
*dentry
, struct inode
*inode
)
831 static int dummy_getprocattr(struct task_struct
*p
, char *name
, void *value
, size_t size
)
836 static int dummy_setprocattr(struct task_struct
*p
, char *name
, void *value
, size_t size
)
842 static inline int dummy_key_alloc(struct key
*key
)
847 static inline void dummy_key_free(struct key
*key
)
851 static inline int dummy_key_permission(key_ref_t key_ref
,
852 struct task_struct
*context
,
857 #endif /* CONFIG_KEYS */
859 struct security_operations dummy_security_ops
;
861 #define set_to_dummy_if_null(ops, function) \
863 if (!ops->function) { \
864 ops->function = dummy_##function; \
865 pr_debug("Had to override the " #function \
866 " security operation with the dummy one.\n");\
870 void security_fixup_ops (struct security_operations
*ops
)
872 set_to_dummy_if_null(ops
, ptrace
);
873 set_to_dummy_if_null(ops
, capget
);
874 set_to_dummy_if_null(ops
, capset_check
);
875 set_to_dummy_if_null(ops
, capset_set
);
876 set_to_dummy_if_null(ops
, acct
);
877 set_to_dummy_if_null(ops
, capable
);
878 set_to_dummy_if_null(ops
, quotactl
);
879 set_to_dummy_if_null(ops
, quota_on
);
880 set_to_dummy_if_null(ops
, sysctl
);
881 set_to_dummy_if_null(ops
, syslog
);
882 set_to_dummy_if_null(ops
, settime
);
883 set_to_dummy_if_null(ops
, vm_enough_memory
);
884 set_to_dummy_if_null(ops
, bprm_alloc_security
);
885 set_to_dummy_if_null(ops
, bprm_free_security
);
886 set_to_dummy_if_null(ops
, bprm_apply_creds
);
887 set_to_dummy_if_null(ops
, bprm_post_apply_creds
);
888 set_to_dummy_if_null(ops
, bprm_set_security
);
889 set_to_dummy_if_null(ops
, bprm_check_security
);
890 set_to_dummy_if_null(ops
, bprm_secureexec
);
891 set_to_dummy_if_null(ops
, sb_alloc_security
);
892 set_to_dummy_if_null(ops
, sb_free_security
);
893 set_to_dummy_if_null(ops
, sb_copy_data
);
894 set_to_dummy_if_null(ops
, sb_kern_mount
);
895 set_to_dummy_if_null(ops
, sb_statfs
);
896 set_to_dummy_if_null(ops
, sb_mount
);
897 set_to_dummy_if_null(ops
, sb_check_sb
);
898 set_to_dummy_if_null(ops
, sb_umount
);
899 set_to_dummy_if_null(ops
, sb_umount_close
);
900 set_to_dummy_if_null(ops
, sb_umount_busy
);
901 set_to_dummy_if_null(ops
, sb_post_remount
);
902 set_to_dummy_if_null(ops
, sb_post_mountroot
);
903 set_to_dummy_if_null(ops
, sb_post_addmount
);
904 set_to_dummy_if_null(ops
, sb_pivotroot
);
905 set_to_dummy_if_null(ops
, sb_post_pivotroot
);
906 set_to_dummy_if_null(ops
, inode_alloc_security
);
907 set_to_dummy_if_null(ops
, inode_free_security
);
908 set_to_dummy_if_null(ops
, inode_init_security
);
909 set_to_dummy_if_null(ops
, inode_create
);
910 set_to_dummy_if_null(ops
, inode_link
);
911 set_to_dummy_if_null(ops
, inode_unlink
);
912 set_to_dummy_if_null(ops
, inode_symlink
);
913 set_to_dummy_if_null(ops
, inode_mkdir
);
914 set_to_dummy_if_null(ops
, inode_rmdir
);
915 set_to_dummy_if_null(ops
, inode_mknod
);
916 set_to_dummy_if_null(ops
, inode_rename
);
917 set_to_dummy_if_null(ops
, inode_readlink
);
918 set_to_dummy_if_null(ops
, inode_follow_link
);
919 set_to_dummy_if_null(ops
, inode_permission
);
920 set_to_dummy_if_null(ops
, inode_setattr
);
921 set_to_dummy_if_null(ops
, inode_getattr
);
922 set_to_dummy_if_null(ops
, inode_delete
);
923 set_to_dummy_if_null(ops
, inode_setxattr
);
924 set_to_dummy_if_null(ops
, inode_post_setxattr
);
925 set_to_dummy_if_null(ops
, inode_getxattr
);
926 set_to_dummy_if_null(ops
, inode_listxattr
);
927 set_to_dummy_if_null(ops
, inode_removexattr
);
928 set_to_dummy_if_null(ops
, inode_getsecurity
);
929 set_to_dummy_if_null(ops
, inode_setsecurity
);
930 set_to_dummy_if_null(ops
, inode_listsecurity
);
931 set_to_dummy_if_null(ops
, file_permission
);
932 set_to_dummy_if_null(ops
, file_alloc_security
);
933 set_to_dummy_if_null(ops
, file_free_security
);
934 set_to_dummy_if_null(ops
, file_ioctl
);
935 set_to_dummy_if_null(ops
, file_mmap
);
936 set_to_dummy_if_null(ops
, file_mprotect
);
937 set_to_dummy_if_null(ops
, file_lock
);
938 set_to_dummy_if_null(ops
, file_fcntl
);
939 set_to_dummy_if_null(ops
, file_set_fowner
);
940 set_to_dummy_if_null(ops
, file_send_sigiotask
);
941 set_to_dummy_if_null(ops
, file_receive
);
942 set_to_dummy_if_null(ops
, task_create
);
943 set_to_dummy_if_null(ops
, task_alloc_security
);
944 set_to_dummy_if_null(ops
, task_free_security
);
945 set_to_dummy_if_null(ops
, task_setuid
);
946 set_to_dummy_if_null(ops
, task_post_setuid
);
947 set_to_dummy_if_null(ops
, task_setgid
);
948 set_to_dummy_if_null(ops
, task_setpgid
);
949 set_to_dummy_if_null(ops
, task_getpgid
);
950 set_to_dummy_if_null(ops
, task_getsid
);
951 set_to_dummy_if_null(ops
, task_setgroups
);
952 set_to_dummy_if_null(ops
, task_setnice
);
953 set_to_dummy_if_null(ops
, task_setrlimit
);
954 set_to_dummy_if_null(ops
, task_setscheduler
);
955 set_to_dummy_if_null(ops
, task_getscheduler
);
956 set_to_dummy_if_null(ops
, task_wait
);
957 set_to_dummy_if_null(ops
, task_kill
);
958 set_to_dummy_if_null(ops
, task_prctl
);
959 set_to_dummy_if_null(ops
, task_reparent_to_init
);
960 set_to_dummy_if_null(ops
, task_to_inode
);
961 set_to_dummy_if_null(ops
, ipc_permission
);
962 set_to_dummy_if_null(ops
, msg_msg_alloc_security
);
963 set_to_dummy_if_null(ops
, msg_msg_free_security
);
964 set_to_dummy_if_null(ops
, msg_queue_alloc_security
);
965 set_to_dummy_if_null(ops
, msg_queue_free_security
);
966 set_to_dummy_if_null(ops
, msg_queue_associate
);
967 set_to_dummy_if_null(ops
, msg_queue_msgctl
);
968 set_to_dummy_if_null(ops
, msg_queue_msgsnd
);
969 set_to_dummy_if_null(ops
, msg_queue_msgrcv
);
970 set_to_dummy_if_null(ops
, shm_alloc_security
);
971 set_to_dummy_if_null(ops
, shm_free_security
);
972 set_to_dummy_if_null(ops
, shm_associate
);
973 set_to_dummy_if_null(ops
, shm_shmctl
);
974 set_to_dummy_if_null(ops
, shm_shmat
);
975 set_to_dummy_if_null(ops
, sem_alloc_security
);
976 set_to_dummy_if_null(ops
, sem_free_security
);
977 set_to_dummy_if_null(ops
, sem_associate
);
978 set_to_dummy_if_null(ops
, sem_semctl
);
979 set_to_dummy_if_null(ops
, sem_semop
);
980 set_to_dummy_if_null(ops
, netlink_send
);
981 set_to_dummy_if_null(ops
, netlink_recv
);
982 set_to_dummy_if_null(ops
, register_security
);
983 set_to_dummy_if_null(ops
, unregister_security
);
984 set_to_dummy_if_null(ops
, d_instantiate
);
985 set_to_dummy_if_null(ops
, getprocattr
);
986 set_to_dummy_if_null(ops
, setprocattr
);
987 #ifdef CONFIG_SECURITY_NETWORK
988 set_to_dummy_if_null(ops
, unix_stream_connect
);
989 set_to_dummy_if_null(ops
, unix_may_send
);
990 set_to_dummy_if_null(ops
, socket_create
);
991 set_to_dummy_if_null(ops
, socket_post_create
);
992 set_to_dummy_if_null(ops
, socket_bind
);
993 set_to_dummy_if_null(ops
, socket_connect
);
994 set_to_dummy_if_null(ops
, socket_listen
);
995 set_to_dummy_if_null(ops
, socket_accept
);
996 set_to_dummy_if_null(ops
, socket_post_accept
);
997 set_to_dummy_if_null(ops
, socket_sendmsg
);
998 set_to_dummy_if_null(ops
, socket_recvmsg
);
999 set_to_dummy_if_null(ops
, socket_getsockname
);
1000 set_to_dummy_if_null(ops
, socket_getpeername
);
1001 set_to_dummy_if_null(ops
, socket_setsockopt
);
1002 set_to_dummy_if_null(ops
, socket_getsockopt
);
1003 set_to_dummy_if_null(ops
, socket_shutdown
);
1004 set_to_dummy_if_null(ops
, socket_sock_rcv_skb
);
1005 set_to_dummy_if_null(ops
, socket_getpeersec
);
1006 set_to_dummy_if_null(ops
, sk_alloc_security
);
1007 set_to_dummy_if_null(ops
, sk_free_security
);
1008 set_to_dummy_if_null(ops
, sk_getsid
);
1009 #endif /* CONFIG_SECURITY_NETWORK */
1010 #ifdef CONFIG_SECURITY_NETWORK_XFRM
1011 set_to_dummy_if_null(ops
, xfrm_policy_alloc_security
);
1012 set_to_dummy_if_null(ops
, xfrm_policy_clone_security
);
1013 set_to_dummy_if_null(ops
, xfrm_policy_free_security
);
1014 set_to_dummy_if_null(ops
, xfrm_state_alloc_security
);
1015 set_to_dummy_if_null(ops
, xfrm_state_free_security
);
1016 set_to_dummy_if_null(ops
, xfrm_policy_lookup
);
1017 #endif /* CONFIG_SECURITY_NETWORK_XFRM */
1019 set_to_dummy_if_null(ops
, key_alloc
);
1020 set_to_dummy_if_null(ops
, key_free
);
1021 set_to_dummy_if_null(ops
, key_permission
);
1022 #endif /* CONFIG_KEYS */