RHEL4/security/dummy.c
<<
>>
Prefs
   1/*
   2 * Stub functions for the default security function pointers in case no
   3 * security model is loaded.
   4 *
   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>
   8 *
   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.
  13 */
  14
  15#undef DEBUG
  16
  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>
  26#include <net/sock.h>
  27#include <linux/xattr.h>
  28#include <linux/hugetlb.h>
  29#include <linux/ptrace.h>
  30#include <linux/file.h>
  31
  32static int dummy_ptrace (struct task_struct *parent, struct task_struct *child)
  33{
  34        return 0;
  35}
  36
  37static int dummy_capget (struct task_struct *target, kernel_cap_t * effective,
  38                         kernel_cap_t * inheritable, kernel_cap_t * permitted)
  39{
  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);
  45                }
  46                if (target->fsuid == 0) {
  47                        *permitted |= CAP_FS_MASK;
  48                        *effective |= CAP_FS_MASK;
  49                }
  50        }
  51        return 0;
  52}
  53
  54static int dummy_capset_check (struct task_struct *target,
  55                               kernel_cap_t * effective,
  56                               kernel_cap_t * inheritable,
  57                               kernel_cap_t * permitted)
  58{
  59        return -EPERM;
  60}
  61
  62static void dummy_capset_set (struct task_struct *target,
  63                              kernel_cap_t * effective,
  64                              kernel_cap_t * inheritable,
  65                              kernel_cap_t * permitted)
  66{
  67        return;
  68}
  69
  70static int dummy_acct (struct file *file)
  71{
  72        return 0;
  73}
  74
  75static int dummy_capable (struct task_struct *tsk, int cap)
  76{
  77        if (cap_is_fs_cap (cap) ? tsk->fsuid == 0 : tsk->euid == 0)
  78                /* capability granted */
  79                return 0;
  80
  81        /* capability denied */
  82        return -EPERM;
  83}
  84
  85static int dummy_sysctl (ctl_table * table, int op)
  86{
  87        return 0;
  88}
  89
  90static int dummy_quotactl (int cmds, int type, int id, struct super_block *sb)
  91{
  92        return 0;
  93}
  94
  95static int dummy_quota_on (struct file *f)
  96{
  97        return 0;
  98}
  99
 100static int dummy_syslog (int type)
 101{
 102        if ((type != 3 && type != 10) && current->euid)
 103                return -EPERM;
 104        return 0;
 105}
 106
 107/*
 108 * Check that a process has enough memory to allocate a new virtual
 109 * mapping. 0 means there is enough memory for the allocation to
 110 * succeed and -ENOMEM implies there is not.
 111 *
 112 * We currently support three overcommit policies, which are set via the
 113 * vm.overcommit_memory sysctl.  See Documentation/vm/overcommit-accounting
 114 */
 115static int dummy_vm_enough_memory(long pages)
 116{
 117        unsigned long free, allowed;
 118
 119        vm_acct_memory(pages);
 120
 121        /*
 122         * Sometimes we want to use more memory than we have
 123         */
 124        if (sysctl_overcommit_memory == OVERCOMMIT_ALWAYS)
 125                return 0;
 126
 127        if (sysctl_overcommit_memory == OVERCOMMIT_GUESS) {
 128                free = get_page_cache_size();
 129                free += nr_free_pages();
 130                free += nr_swap_pages;
 131
 132                /*
 133                 * Any slabs which are created with the
 134                 * SLAB_RECLAIM_ACCOUNT flag claim to have contents
 135                 * which are reclaimable, under pressure.  The dentry
 136                 * cache and most inode caches should fall into this
 137                 */
 138                free += atomic_read(&slab_reclaim_pages);
 139
 140                /*
 141                 * Leave the last 3% for root
 142                 */
 143                if (current->euid)
 144                        free -= free / 32;
 145
 146                if (free > pages)
 147                        return 0;
 148                vm_unacct_memory(pages);
 149                return -ENOMEM;
 150        }
 151
 152        allowed = (totalram_pages - hugetlb_total_pages())
 153                * sysctl_overcommit_ratio / 100;
 154        allowed += total_swap_pages;
 155
 156        if (atomic_read(&vm_committed_space) < (long)allowed)
 157                return 0;
 158
 159        vm_unacct_memory(pages);
 160
 161        return -ENOMEM;
 162}
 163
 164static int dummy_bprm_alloc_security (struct linux_binprm *bprm)
 165{
 166        return 0;
 167}
 168
 169static void dummy_bprm_free_security (struct linux_binprm *bprm)
 170{
 171        return;
 172}
 173
 174static void dummy_bprm_apply_creds (struct linux_binprm *bprm, int unsafe)
 175{
 176        if (bprm->e_uid != current->uid || bprm->e_gid != current->gid) {
 177                current->mm->dumpable = suid_dumpable;
 178
 179                if ((unsafe & ~LSM_UNSAFE_PTRACE_CAP) && !capable(CAP_SETUID)) {
 180                        bprm->e_uid = current->uid;
 181                        bprm->e_gid = current->gid;
 182                }
 183        }
 184
 185        current->suid = current->euid = current->fsuid = bprm->e_uid;
 186        current->sgid = current->egid = current->fsgid = bprm->e_gid;
 187}
 188
 189static int dummy_bprm_set_security (struct linux_binprm *bprm)
 190{
 191        return 0;
 192}
 193
 194static int dummy_bprm_check_security (struct linux_binprm *bprm)
 195{
 196        return 0;
 197}
 198
 199static int dummy_bprm_secureexec (struct linux_binprm *bprm)
 200{
 201        /* The new userland will simply use the value provided
 202           in the AT_SECURE field to decide whether secure mode
 203           is required.  Hence, this logic is required to preserve
 204           the legacy decision algorithm used by the old userland. */
 205        return (current->euid != current->uid ||
 206                current->egid != current->gid);
 207}
 208
 209static int dummy_sb_alloc_security (struct super_block *sb)
 210{
 211        return 0;
 212}
 213
 214static void dummy_sb_free_security (struct super_block *sb)
 215{
 216        return;
 217}
 218
 219static int dummy_sb_copy_data (struct file_system_type *type,
 220                               void *orig, void *copy)
 221{
 222        return 0;
 223}
 224
 225static int dummy_sb_kern_mount (struct super_block *sb, void *data)
 226{
 227        return 0;
 228}
 229
 230static int dummy_sb_statfs (struct super_block *sb)
 231{
 232        return 0;
 233}
 234
 235static int dummy_sb_mount (char *dev_name, struct nameidata *nd, char *type,
 236                           unsigned long flags, void *data)
 237{
 238        return 0;
 239}
 240
 241static int dummy_sb_check_sb (struct vfsmount *mnt, struct nameidata *nd)
 242{
 243        return 0;
 244}
 245
 246static int dummy_sb_umount (struct vfsmount *mnt, int flags)
 247{
 248        return 0;
 249}
 250
 251static void dummy_sb_umount_close (struct vfsmount *mnt)
 252{
 253        return;
 254}
 255
 256static void dummy_sb_umount_busy (struct vfsmount *mnt)
 257{
 258        return;
 259}
 260
 261static void dummy_sb_post_remount (struct vfsmount *mnt, unsigned long flags,
 262                                   void *data)
 263{
 264        return;
 265}
 266
 267
 268static void dummy_sb_post_mountroot (void)
 269{
 270        return;
 271}
 272
 273static void dummy_sb_post_addmount (struct vfsmount *mnt, struct nameidata *nd)
 274{
 275        return;
 276}
 277
 278static int dummy_sb_pivotroot (struct nameidata *old_nd, struct nameidata *new_nd)
 279{
 280        return 0;
 281}
 282
 283static void dummy_sb_post_pivotroot (struct nameidata *old_nd, struct nameidata *new_nd)
 284{
 285        return;
 286}
 287
 288static int dummy_inode_alloc_security (struct inode *inode)
 289{
 290        return 0;
 291}
 292
 293static void dummy_inode_free_security (struct inode *inode)
 294{
 295        return;
 296}
 297
 298static int dummy_inode_create (struct inode *inode, struct dentry *dentry,
 299                               int mask)
 300{
 301        return 0;
 302}
 303
 304static void dummy_inode_post_create (struct inode *inode, struct dentry *dentry,
 305                                     int mask)
 306{
 307        return;
 308}
 309
 310static int dummy_inode_link (struct dentry *old_dentry, struct inode *inode,
 311                             struct dentry *new_dentry)
 312{
 313        return 0;
 314}
 315
 316static void dummy_inode_post_link (struct dentry *old_dentry,
 317                                   struct inode *inode,
 318                                   struct dentry *new_dentry)
 319{
 320        return;
 321}
 322
 323static int dummy_inode_unlink (struct inode *inode, struct dentry *dentry)
 324{
 325        return 0;
 326}
 327
 328static int dummy_inode_symlink (struct inode *inode, struct dentry *dentry,
 329                                const char *name)
 330{
 331        return 0;
 332}
 333
 334static void dummy_inode_post_symlink (struct inode *inode,
 335                                      struct dentry *dentry, const char *name)
 336{
 337        return;
 338}
 339
 340static int dummy_inode_mkdir (struct inode *inode, struct dentry *dentry,
 341                              int mask)
 342{
 343        return 0;
 344}
 345
 346static void dummy_inode_post_mkdir (struct inode *inode, struct dentry *dentry,
 347                                    int mask)
 348{
 349        return;
 350}
 351
 352static int dummy_inode_rmdir (struct inode *inode, struct dentry *dentry)
 353{
 354        return 0;
 355}
 356
 357static int dummy_inode_mknod (struct inode *inode, struct dentry *dentry,
 358                              int mode, dev_t dev)
 359{
 360        return 0;
 361}
 362
 363static void dummy_inode_post_mknod (struct inode *inode, struct dentry *dentry,
 364                                    int mode, dev_t dev)
 365{
 366        return;
 367}
 368
 369static int dummy_inode_rename (struct inode *old_inode,
 370                               struct dentry *old_dentry,
 371                               struct inode *new_inode,
 372                               struct dentry *new_dentry)
 373{
 374        return 0;
 375}
 376
 377static void dummy_inode_post_rename (struct inode *old_inode,
 378                                     struct dentry *old_dentry,
 379                                     struct inode *new_inode,
 380                                     struct dentry *new_dentry)
 381{
 382        return;
 383}
 384
 385static int dummy_inode_readlink (struct dentry *dentry)
 386{
 387        return 0;
 388}
 389
 390static int dummy_inode_follow_link (struct dentry *dentry,
 391                                    struct nameidata *nameidata)
 392{
 393        return 0;
 394}
 395
 396static int dummy_inode_permission (struct inode *inode, int mask, struct nameidata *nd)
 397{
 398        return 0;
 399}
 400
 401static int dummy_inode_setattr (struct dentry *dentry, struct iattr *iattr)
 402{
 403        return 0;
 404}
 405
 406static int dummy_inode_getattr (struct vfsmount *mnt, struct dentry *dentry)
 407{
 408        return 0;
 409}
 410
 411static void dummy_inode_delete (struct inode *ino)
 412{
 413        return;
 414}
 415
 416static int dummy_inode_setxattr (struct dentry *dentry, char *name, void *value,
 417                                size_t size, int flags)
 418{
 419        if (!strncmp(name, XATTR_SECURITY_PREFIX,
 420                     sizeof(XATTR_SECURITY_PREFIX) - 1) &&
 421            !capable(CAP_SYS_ADMIN))
 422                return -EPERM;
 423        return 0;
 424}
 425
 426static void dummy_inode_post_setxattr (struct dentry *dentry, char *name, void *value,
 427                                       size_t size, int flags)
 428{
 429}
 430
 431static int dummy_inode_getxattr (struct dentry *dentry, char *name)
 432{
 433        return 0;
 434}
 435
 436static int dummy_inode_listxattr (struct dentry *dentry)
 437{
 438        return 0;
 439}
 440
 441static int dummy_inode_removexattr (struct dentry *dentry, char *name)
 442{
 443        if (!strncmp(name, XATTR_SECURITY_PREFIX,
 444                     sizeof(XATTR_SECURITY_PREFIX) - 1) &&
 445            !capable(CAP_SYS_ADMIN))
 446                return -EPERM;
 447        return 0;
 448}
 449
 450static int dummy_inode_getsecurity(struct inode *inode, const char *name, void *buffer, size_t size)
 451{
 452        return -EOPNOTSUPP;
 453}
 454
 455static int dummy_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags)
 456{
 457        return -EOPNOTSUPP;
 458}
 459
 460static int dummy_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer_size)
 461{
 462        return 0;
 463}
 464
 465static int dummy_file_permission (struct file *file, int mask)
 466{
 467        return 0;
 468}
 469
 470static int dummy_file_alloc_security (struct file *file)
 471{
 472        return 0;
 473}
 474
 475static void dummy_file_free_security (struct file *file)
 476{
 477        return;
 478}
 479
 480static int dummy_file_ioctl (struct file *file, unsigned int command,
 481                             unsigned long arg)
 482{
 483        return 0;
 484}
 485
 486static int dummy_file_mmap (struct file *file, unsigned long prot,
 487                            unsigned long flags)
 488{
 489        return 0;
 490}
 491
 492static int dummy_file_mprotect (struct vm_area_struct *vma, unsigned long prot)
 493{
 494        return 0;
 495}
 496
 497static int dummy_file_lock (struct file *file, unsigned int cmd)
 498{
 499        return 0;
 500}
 501
 502static int dummy_file_fcntl (struct file *file, unsigned int cmd,
 503                             unsigned long arg)
 504{
 505        return 0;
 506}
 507
 508static int dummy_file_set_fowner (struct file *file)
 509{
 510        return 0;
 511}
 512
 513static int dummy_file_send_sigiotask (struct task_struct *tsk,
 514                                      struct fown_struct *fown, int sig)
 515{
 516        return 0;
 517}
 518
 519static int dummy_file_receive (struct file *file)
 520{
 521        return 0;
 522}
 523
 524static int dummy_task_create (unsigned long clone_flags)
 525{
 526        return 0;
 527}
 528
 529static int dummy_task_alloc_security (struct task_struct *p)
 530{
 531        return 0;
 532}
 533
 534static void dummy_task_free_security (struct task_struct *p)
 535{
 536        return;
 537}
 538
 539static int dummy_task_setuid (uid_t id0, uid_t id1, uid_t id2, int flags)
 540{
 541        return 0;
 542}
 543
 544static int dummy_task_post_setuid (uid_t id0, uid_t id1, uid_t id2, int flags)
 545{
 546        return 0;
 547}
 548
 549static int dummy_task_setgid (gid_t id0, gid_t id1, gid_t id2, int flags)
 550{
 551        return 0;
 552}
 553
 554static int dummy_task_setpgid (struct task_struct *p, pid_t pgid)
 555{
 556        return 0;
 557}
 558
 559static int dummy_task_getpgid (struct task_struct *p)
 560{
 561        return 0;
 562}
 563
 564static int dummy_task_getsid (struct task_struct *p)
 565{
 566        return 0;
 567}
 568
 569static int dummy_task_setgroups (struct group_info *group_info)
 570{
 571        return 0;
 572}
 573
 574static int dummy_task_setnice (struct task_struct *p, int nice)
 575{
 576        return 0;
 577}
 578
 579static int dummy_task_setrlimit (unsigned int resource, struct rlimit *new_rlim)
 580{
 581        return 0;
 582}
 583
 584static int dummy_task_setscheduler (struct task_struct *p, int policy,
 585                                    struct sched_param *lp)
 586{
 587        return 0;
 588}
 589
 590static int dummy_task_getscheduler (struct task_struct *p)
 591{
 592        return 0;
 593}
 594
 595static int dummy_task_wait (struct task_struct *p)
 596{
 597        return 0;
 598}
 599
 600static int dummy_task_kill (struct task_struct *p, struct siginfo *info,
 601                            int sig)
 602{
 603        return 0;
 604}
 605
 606static int dummy_task_prctl (int option, unsigned long arg2, unsigned long arg3,
 607                             unsigned long arg4, unsigned long arg5)
 608{
 609        return 0;
 610}
 611
 612static void dummy_task_reparent_to_init (struct task_struct *p)
 613{
 614        p->euid = p->fsuid = 0;
 615        return;
 616}
 617
 618static void dummy_task_to_inode(struct task_struct *p, struct inode *inode)
 619{ }
 620
 621static int dummy_ipc_permission (struct kern_ipc_perm *ipcp, short flag)
 622{
 623        return 0;
 624}
 625
 626static int dummy_msg_msg_alloc_security (struct msg_msg *msg)
 627{
 628        return 0;
 629}
 630
 631static void dummy_msg_msg_free_security (struct msg_msg *msg)
 632{
 633        return;
 634}
 635
 636static int dummy_msg_queue_alloc_security (struct msg_queue *msq)
 637{
 638        return 0;
 639}
 640
 641static void dummy_msg_queue_free_security (struct msg_queue *msq)
 642{
 643        return;
 644}
 645
 646static int dummy_msg_queue_associate (struct msg_queue *msq, 
 647                                      int msqflg)
 648{
 649        return 0;
 650}
 651
 652static int dummy_msg_queue_msgctl (struct msg_queue *msq, int cmd)
 653{
 654        return 0;
 655}
 656
 657static int dummy_msg_queue_msgsnd (struct msg_queue *msq, struct msg_msg *msg,
 658                                   int msgflg)
 659{
 660        return 0;
 661}
 662
 663static int dummy_msg_queue_msgrcv (struct msg_queue *msq, struct msg_msg *msg,
 664                                   struct task_struct *target, long type,
 665                                   int mode)
 666{
 667        return 0;
 668}
 669
 670static int dummy_shm_alloc_security (struct shmid_kernel *shp)
 671{
 672        return 0;
 673}
 674
 675static void dummy_shm_free_security (struct shmid_kernel *shp)
 676{
 677        return;
 678}
 679
 680static int dummy_shm_associate (struct shmid_kernel *shp, int shmflg)
 681{
 682        return 0;
 683}
 684
 685static int dummy_shm_shmctl (struct shmid_kernel *shp, int cmd)
 686{
 687        return 0;
 688}
 689
 690static int dummy_shm_shmat (struct shmid_kernel *shp, char __user *shmaddr,
 691                            int shmflg)
 692{
 693        return 0;
 694}
 695
 696static int dummy_sem_alloc_security (struct sem_array *sma)
 697{
 698        return 0;
 699}
 700
 701static void dummy_sem_free_security (struct sem_array *sma)
 702{
 703        return;
 704}
 705
 706static int dummy_sem_associate (struct sem_array *sma, int semflg)
 707{
 708        return 0;
 709}
 710
 711static int dummy_sem_semctl (struct sem_array *sma, int cmd)
 712{
 713        return 0;
 714}
 715
 716static int dummy_sem_semop (struct sem_array *sma, 
 717                            struct sembuf *sops, unsigned nsops, int alter)
 718{
 719        return 0;
 720}
 721
 722static int dummy_netlink_send (struct sock *sk, struct sk_buff *skb)
 723{
 724        NETLINK_CB(skb).eff_cap = current->cap_effective;
 725        return 0;
 726}
 727
 728static int dummy_netlink_recv (struct sk_buff *skb)
 729{
 730        if (!cap_raised (NETLINK_CB (skb).eff_cap, CAP_NET_ADMIN))
 731                return -EPERM;
 732        return 0;
 733}
 734
 735#ifdef CONFIG_SECURITY_NETWORK
 736static int dummy_unix_stream_connect (struct socket *sock,
 737                                      struct socket *other,
 738                                      struct sock *newsk)
 739{
 740        return 0;
 741}
 742
 743static int dummy_unix_may_send (struct socket *sock,
 744                                struct socket *other)
 745{
 746        return 0;
 747}
 748
 749static int dummy_socket_create (int family, int type,
 750                                int protocol, int kern)
 751{
 752        return 0;
 753}
 754
 755static void dummy_socket_post_create (struct socket *sock, int family, int type,
 756                                      int protocol, int kern)
 757{
 758        return;
 759}
 760
 761static int dummy_socket_bind (struct socket *sock, struct sockaddr *address,
 762                              int addrlen)
 763{
 764        return 0;
 765}
 766
 767static int dummy_socket_connect (struct socket *sock, struct sockaddr *address,
 768                                 int addrlen)
 769{
 770        return 0;
 771}
 772
 773static int dummy_socket_listen (struct socket *sock, int backlog)
 774{
 775        return 0;
 776}
 777
 778static int dummy_socket_accept (struct socket *sock, struct socket *newsock)
 779{
 780        return 0;
 781}
 782
 783static void dummy_socket_post_accept (struct socket *sock, 
 784                                      struct socket *newsock)
 785{
 786        return;
 787}
 788
 789static int dummy_socket_sendmsg (struct socket *sock, struct msghdr *msg,
 790                                 int size)
 791{
 792        return 0;
 793}
 794
 795static int dummy_socket_recvmsg (struct socket *sock, struct msghdr *msg,
 796                                 int size, int flags)
 797{
 798        return 0;
 799}
 800
 801static int dummy_socket_getsockname (struct socket *sock)
 802{
 803        return 0;
 804}
 805
 806static int dummy_socket_getpeername (struct socket *sock)
 807{
 808        return 0;
 809}
 810
 811static int dummy_socket_setsockopt (struct socket *sock, int level, int optname)
 812{
 813        return 0;
 814}
 815
 816static int dummy_socket_getsockopt (struct socket *sock, int level, int optname)
 817{
 818        return 0;
 819}
 820
 821static int dummy_socket_shutdown (struct socket *sock, int how)
 822{
 823        return 0;
 824}
 825
 826static int dummy_socket_sock_rcv_skb (struct sock *sk, struct sk_buff *skb)
 827{
 828        return 0;
 829}
 830
 831static int dummy_socket_getpeersec(struct socket *sock, char __user *optval,
 832                                   int __user *optlen, unsigned len)
 833{
 834        return -ENOPROTOOPT;
 835}
 836
 837static inline int dummy_sk_alloc_security (struct sock *sk, int family, int priority)
 838{
 839        return 0;
 840}
 841
 842static inline void dummy_sk_free_security (struct sock *sk)
 843{
 844}
 845#endif  /* CONFIG_SECURITY_NETWORK */
 846
 847static int dummy_register_security (const char *name, struct security_operations *ops)
 848{
 849        return -EINVAL;
 850}
 851
 852static int dummy_unregister_security (const char *name, struct security_operations *ops)
 853{
 854        return -EINVAL;
 855}
 856
 857static void dummy_d_instantiate (struct dentry *dentry, struct inode *inode)
 858{
 859        return;
 860}
 861
 862static int dummy_getprocattr(struct task_struct *p, char *name, void *value, size_t size)
 863{
 864        return -EINVAL;
 865}
 866
 867static int dummy_setprocattr(struct task_struct *p, char *name, void *value, size_t size)
 868{
 869        return -EINVAL;
 870}
 871
 872struct security_operations dummy_security_ops;
 873
 874#define set_to_dummy_if_null(ops, function)                             \
 875        do {                                                            \
 876                if (!ops->function) {                                   \
 877                        ops->function = dummy_##function;               \
 878                        pr_debug("Had to override the " #function       \
 879                                 " security operation with the dummy one.\n");\
 880                        }                                               \
 881        } while (0)
 882
 883void security_fixup_ops (struct security_operations *ops)
 884{
 885        set_to_dummy_if_null(ops, ptrace);
 886        set_to_dummy_if_null(ops, capget);
 887        set_to_dummy_if_null(ops, capset_check);
 888        set_to_dummy_if_null(ops, capset_set);
 889        set_to_dummy_if_null(ops, acct);
 890        set_to_dummy_if_null(ops, capable);
 891        set_to_dummy_if_null(ops, quotactl);
 892        set_to_dummy_if_null(ops, quota_on);
 893        set_to_dummy_if_null(ops, sysctl);
 894        set_to_dummy_if_null(ops, syslog);
 895        set_to_dummy_if_null(ops, vm_enough_memory);
 896        set_to_dummy_if_null(ops, bprm_alloc_security);
 897        set_to_dummy_if_null(ops, bprm_free_security);
 898        set_to_dummy_if_null(ops, bprm_apply_creds);
 899        set_to_dummy_if_null(ops, bprm_set_security);
 900        set_to_dummy_if_null(ops, bprm_check_security);
 901        set_to_dummy_if_null(ops, bprm_secureexec);
 902        set_to_dummy_if_null(ops, sb_alloc_security);
 903        set_to_dummy_if_null(ops, sb_free_security);
 904        set_to_dummy_if_null(ops, sb_copy_data);
 905        set_to_dummy_if_null(ops, sb_kern_mount);
 906        set_to_dummy_if_null(ops, sb_statfs);
 907        set_to_dummy_if_null(ops, sb_mount);
 908        set_to_dummy_if_null(ops, sb_check_sb);
 909        set_to_dummy_if_null(ops, sb_umount);
 910        set_to_dummy_if_null(ops, sb_umount_close);
 911        set_to_dummy_if_null(ops, sb_umount_busy);
 912        set_to_dummy_if_null(ops, sb_post_remount);
 913        set_to_dummy_if_null(ops, sb_post_mountroot);
 914        set_to_dummy_if_null(ops, sb_post_addmount);
 915        set_to_dummy_if_null(ops, sb_pivotroot);
 916        set_to_dummy_if_null(ops, sb_post_pivotroot);
 917        set_to_dummy_if_null(ops, inode_alloc_security);
 918        set_to_dummy_if_null(ops, inode_free_security);
 919        set_to_dummy_if_null(ops, inode_create);
 920        set_to_dummy_if_null(ops, inode_post_create);
 921        set_to_dummy_if_null(ops, inode_link);
 922        set_to_dummy_if_null(ops, inode_post_link);
 923        set_to_dummy_if_null(ops, inode_unlink);
 924        set_to_dummy_if_null(ops, inode_symlink);
 925        set_to_dummy_if_null(ops, inode_post_symlink);
 926        set_to_dummy_if_null(ops, inode_mkdir);
 927        set_to_dummy_if_null(ops, inode_post_mkdir);
 928        set_to_dummy_if_null(ops, inode_rmdir);
 929        set_to_dummy_if_null(ops, inode_mknod);
 930        set_to_dummy_if_null(ops, inode_post_mknod);
 931        set_to_dummy_if_null(ops, inode_rename);
 932        set_to_dummy_if_null(ops, inode_post_rename);
 933        set_to_dummy_if_null(ops, inode_readlink);
 934        set_to_dummy_if_null(ops, inode_follow_link);
 935        set_to_dummy_if_null(ops, inode_permission);
 936        set_to_dummy_if_null(ops, inode_setattr);
 937        set_to_dummy_if_null(ops, inode_getattr);
 938        set_to_dummy_if_null(ops, inode_delete);
 939        set_to_dummy_if_null(ops, inode_setxattr);
 940        set_to_dummy_if_null(ops, inode_post_setxattr);
 941        set_to_dummy_if_null(ops, inode_getxattr);
 942        set_to_dummy_if_null(ops, inode_listxattr);
 943        set_to_dummy_if_null(ops, inode_removexattr);
 944        set_to_dummy_if_null(ops, inode_getsecurity);
 945        set_to_dummy_if_null(ops, inode_setsecurity);
 946        set_to_dummy_if_null(ops, inode_listsecurity);
 947        set_to_dummy_if_null(ops, file_permission);
 948        set_to_dummy_if_null(ops, file_alloc_security);
 949        set_to_dummy_if_null(ops, file_free_security);
 950        set_to_dummy_if_null(ops, file_ioctl);
 951        set_to_dummy_if_null(ops, file_mmap);
 952        set_to_dummy_if_null(ops, file_mprotect);
 953        set_to_dummy_if_null(ops, file_lock);
 954        set_to_dummy_if_null(ops, file_fcntl);
 955        set_to_dummy_if_null(ops, file_set_fowner);
 956        set_to_dummy_if_null(ops, file_send_sigiotask);
 957        set_to_dummy_if_null(ops, file_receive);
 958        set_to_dummy_if_null(ops, task_create);
 959        set_to_dummy_if_null(ops, task_alloc_security);
 960        set_to_dummy_if_null(ops, task_free_security);
 961        set_to_dummy_if_null(ops, task_setuid);
 962        set_to_dummy_if_null(ops, task_post_setuid);
 963        set_to_dummy_if_null(ops, task_setgid);
 964        set_to_dummy_if_null(ops, task_setpgid);
 965        set_to_dummy_if_null(ops, task_getpgid);
 966        set_to_dummy_if_null(ops, task_getsid);
 967        set_to_dummy_if_null(ops, task_setgroups);
 968        set_to_dummy_if_null(ops, task_setnice);
 969        set_to_dummy_if_null(ops, task_setrlimit);
 970        set_to_dummy_if_null(ops, task_setscheduler);
 971        set_to_dummy_if_null(ops, task_getscheduler);
 972        set_to_dummy_if_null(ops, task_wait);
 973        set_to_dummy_if_null(ops, task_kill);
 974        set_to_dummy_if_null(ops, task_prctl);
 975        set_to_dummy_if_null(ops, task_reparent_to_init);
 976        set_to_dummy_if_null(ops, task_to_inode);
 977        set_to_dummy_if_null(ops, ipc_permission);
 978        set_to_dummy_if_null(ops, msg_msg_alloc_security);
 979        set_to_dummy_if_null(ops, msg_msg_free_security);
 980        set_to_dummy_if_null(ops, msg_queue_alloc_security);
 981        set_to_dummy_if_null(ops, msg_queue_free_security);
 982        set_to_dummy_if_null(ops, msg_queue_associate);
 983        set_to_dummy_if_null(ops, msg_queue_msgctl);
 984        set_to_dummy_if_null(ops, msg_queue_msgsnd);
 985        set_to_dummy_if_null(ops, msg_queue_msgrcv);
 986        set_to_dummy_if_null(ops, shm_alloc_security);
 987        set_to_dummy_if_null(ops, shm_free_security);
 988        set_to_dummy_if_null(ops, shm_associate);
 989        set_to_dummy_if_null(ops, shm_shmctl);
 990        set_to_dummy_if_null(ops, shm_shmat);
 991        set_to_dummy_if_null(ops, sem_alloc_security);
 992        set_to_dummy_if_null(ops, sem_free_security);
 993        set_to_dummy_if_null(ops, sem_associate);
 994        set_to_dummy_if_null(ops, sem_semctl);
 995        set_to_dummy_if_null(ops, sem_semop);
 996        set_to_dummy_if_null(ops, netlink_send);
 997        set_to_dummy_if_null(ops, netlink_recv);
 998        set_to_dummy_if_null(ops, register_security);
 999        set_to_dummy_if_null(ops, unregister_security);
1000        set_to_dummy_if_null(ops, d_instantiate);
1001        set_to_dummy_if_null(ops, getprocattr);
1002        set_to_dummy_if_null(ops, setprocattr);
1003#ifdef CONFIG_SECURITY_NETWORK
1004        set_to_dummy_if_null(ops, unix_stream_connect);
1005        set_to_dummy_if_null(ops, unix_may_send);
1006        set_to_dummy_if_null(ops, socket_create);
1007        set_to_dummy_if_null(ops, socket_post_create);
1008        set_to_dummy_if_null(ops, socket_bind);
1009        set_to_dummy_if_null(ops, socket_connect);
1010        set_to_dummy_if_null(ops, socket_listen);
1011        set_to_dummy_if_null(ops, socket_accept);
1012        set_to_dummy_if_null(ops, socket_post_accept);
1013        set_to_dummy_if_null(ops, socket_sendmsg);
1014        set_to_dummy_if_null(ops, socket_recvmsg);
1015        set_to_dummy_if_null(ops, socket_getsockname);
1016        set_to_dummy_if_null(ops, socket_getpeername);
1017        set_to_dummy_if_null(ops, socket_setsockopt);
1018        set_to_dummy_if_null(ops, socket_getsockopt);
1019        set_to_dummy_if_null(ops, socket_shutdown);
1020        set_to_dummy_if_null(ops, socket_sock_rcv_skb);
1021        set_to_dummy_if_null(ops, socket_getpeersec);
1022        set_to_dummy_if_null(ops, sk_alloc_security);
1023        set_to_dummy_if_null(ops, sk_free_security);
1024#endif  /* CONFIG_SECURITY_NETWORK */
1025
1026}
1027
1028