linux-bk/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 == 1)
 125                return 0;
 126
 127        if (sysctl_overcommit_memory == 0) {
 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) < 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 = 0;
 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 dentry *dentry, const char *name, void *buffer, size_t size)
 451{
 452        return -EOPNOTSUPP;
 453}
 454
 455static int dummy_inode_setsecurity(struct dentry *dentry, const char *name, const void *value, size_t size, int flags) 
 456{
 457        return -EOPNOTSUPP;
 458}
 459
 460static int dummy_inode_listsecurity(struct dentry *dentry, char *buffer)
 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 fd,
 515                                      int reason)
 516{
 517        return 0;
 518}
 519
 520static int dummy_file_receive (struct file *file)
 521{
 522        return 0;
 523}
 524
 525static int dummy_task_create (unsigned long clone_flags)
 526{
 527        return 0;
 528}
 529
 530static int dummy_task_alloc_security (struct task_struct *p)
 531{
 532        return 0;
 533}
 534
 535static void dummy_task_free_security (struct task_struct *p)
 536{
 537        return;
 538}
 539
 540static int dummy_task_setuid (uid_t id0, uid_t id1, uid_t id2, int flags)
 541{
 542        return 0;
 543}
 544
 545static int dummy_task_post_setuid (uid_t id0, uid_t id1, uid_t id2, int flags)
 546{
 547        return 0;
 548}
 549
 550static int dummy_task_setgid (gid_t id0, gid_t id1, gid_t id2, int flags)
 551{
 552        return 0;
 553}
 554
 555static int dummy_task_setpgid (struct task_struct *p, pid_t pgid)
 556{
 557        return 0;
 558}
 559
 560static int dummy_task_getpgid (struct task_struct *p)
 561{
 562        return 0;
 563}
 564
 565static int dummy_task_getsid (struct task_struct *p)
 566{
 567        return 0;
 568}
 569
 570static int dummy_task_setgroups (struct group_info *group_info)
 571{
 572        return 0;
 573}
 574
 575static int dummy_task_setnice (struct task_struct *p, int nice)
 576{
 577        return 0;
 578}
 579
 580static int dummy_task_setrlimit (unsigned int resource, struct rlimit *new_rlim)
 581{
 582        return 0;
 583}
 584
 585static int dummy_task_setscheduler (struct task_struct *p, int policy,
 586                                    struct sched_param *lp)
 587{
 588        return 0;
 589}
 590
 591static int dummy_task_getscheduler (struct task_struct *p)
 592{
 593        return 0;
 594}
 595
 596static int dummy_task_wait (struct task_struct *p)
 597{
 598        return 0;
 599}
 600
 601static int dummy_task_kill (struct task_struct *p, struct siginfo *info,
 602                            int sig)
 603{
 604        return 0;
 605}
 606
 607static int dummy_task_prctl (int option, unsigned long arg2, unsigned long arg3,
 608                             unsigned long arg4, unsigned long arg5)
 609{
 610        return 0;
 611}
 612
 613static void dummy_task_reparent_to_init (struct task_struct *p)
 614{
 615        p->euid = p->fsuid = 0;
 616        return;
 617}
 618
 619static void dummy_task_to_inode(struct task_struct *p, struct inode *inode)
 620{ }
 621
 622static int dummy_ipc_permission (struct kern_ipc_perm *ipcp, short flag)
 623{
 624        return 0;
 625}
 626
 627static int dummy_msg_msg_alloc_security (struct msg_msg *msg)
 628{
 629        return 0;
 630}
 631
 632static void dummy_msg_msg_free_security (struct msg_msg *msg)
 633{
 634        return;
 635}
 636
 637static int dummy_msg_queue_alloc_security (struct msg_queue *msq)
 638{
 639        return 0;
 640}
 641
 642static void dummy_msg_queue_free_security (struct msg_queue *msq)
 643{
 644        return;
 645}
 646
 647static int dummy_msg_queue_associate (struct msg_queue *msq, 
 648                                      int msqflg)
 649{
 650        return 0;
 651}
 652
 653static int dummy_msg_queue_msgctl (struct msg_queue *msq, int cmd)
 654{
 655        return 0;
 656}
 657
 658static int dummy_msg_queue_msgsnd (struct msg_queue *msq, struct msg_msg *msg,
 659                                   int msgflg)
 660{
 661        return 0;
 662}
 663
 664static int dummy_msg_queue_msgrcv (struct msg_queue *msq, struct msg_msg *msg,
 665                                   struct task_struct *target, long type,
 666                                   int mode)
 667{
 668        return 0;
 669}
 670
 671static int dummy_shm_alloc_security (struct shmid_kernel *shp)
 672{
 673        return 0;
 674}
 675
 676static void dummy_shm_free_security (struct shmid_kernel *shp)
 677{
 678        return;
 679}
 680
 681static int dummy_shm_associate (struct shmid_kernel *shp, int shmflg)
 682{
 683        return 0;
 684}
 685
 686static int dummy_shm_shmctl (struct shmid_kernel *shp, int cmd)
 687{
 688        return 0;
 689}
 690
 691static int dummy_shm_shmat (struct shmid_kernel *shp, char __user *shmaddr,
 692                            int shmflg)
 693{
 694        return 0;
 695}
 696
 697static int dummy_sem_alloc_security (struct sem_array *sma)
 698{
 699        return 0;
 700}
 701
 702static void dummy_sem_free_security (struct sem_array *sma)
 703{
 704        return;
 705}
 706
 707static int dummy_sem_associate (struct sem_array *sma, int semflg)
 708{
 709        return 0;
 710}
 711
 712static int dummy_sem_semctl (struct sem_array *sma, int cmd)
 713{
 714        return 0;
 715}
 716
 717static int dummy_sem_semop (struct sem_array *sma, 
 718                            struct sembuf *sops, unsigned nsops, int alter)
 719{
 720        return 0;
 721}
 722
 723static int dummy_netlink_send (struct sock *sk, struct sk_buff *skb)
 724{
 725        if (current->euid == 0)
 726                cap_raise (NETLINK_CB (skb).eff_cap, CAP_NET_ADMIN);
 727        else
 728                NETLINK_CB (skb).eff_cap = 0;
 729        return 0;
 730}
 731
 732static int dummy_netlink_recv (struct sk_buff *skb)
 733{
 734        if (!cap_raised (NETLINK_CB (skb).eff_cap, CAP_NET_ADMIN))
 735                return -EPERM;
 736        return 0;
 737}
 738
 739#ifdef CONFIG_SECURITY_NETWORK
 740static int dummy_unix_stream_connect (struct socket *sock,
 741                                      struct socket *other,
 742                                      struct sock *newsk)
 743{
 744        return 0;
 745}
 746
 747static int dummy_unix_may_send (struct socket *sock,
 748                                struct socket *other)
 749{
 750        return 0;
 751}
 752
 753static int dummy_socket_create (int family, int type,
 754                                int protocol, int kern)
 755{
 756        return 0;
 757}
 758
 759static void dummy_socket_post_create (struct socket *sock, int family, int type,
 760                                      int protocol, int kern)
 761{
 762        return;
 763}
 764
 765static int dummy_socket_bind (struct socket *sock, struct sockaddr *address,
 766                              int addrlen)
 767{
 768        return 0;
 769}
 770
 771static int dummy_socket_connect (struct socket *sock, struct sockaddr *address,
 772                                 int addrlen)
 773{
 774        return 0;
 775}
 776
 777static int dummy_socket_listen (struct socket *sock, int backlog)
 778{
 779        return 0;
 780}
 781
 782static int dummy_socket_accept (struct socket *sock, struct socket *newsock)
 783{
 784        return 0;
 785}
 786
 787static void dummy_socket_post_accept (struct socket *sock, 
 788                                      struct socket *newsock)
 789{
 790        return;
 791}
 792
 793static int dummy_socket_sendmsg (struct socket *sock, struct msghdr *msg,
 794                                 int size)
 795{
 796        return 0;
 797}
 798
 799static int dummy_socket_recvmsg (struct socket *sock, struct msghdr *msg,
 800                                 int size, int flags)
 801{
 802        return 0;
 803}
 804
 805static int dummy_socket_getsockname (struct socket *sock)
 806{
 807        return 0;
 808}
 809
 810static int dummy_socket_getpeername (struct socket *sock)
 811{
 812        return 0;
 813}
 814
 815static int dummy_socket_setsockopt (struct socket *sock, int level, int optname)
 816{
 817        return 0;
 818}
 819
 820static int dummy_socket_getsockopt (struct socket *sock, int level, int optname)
 821{
 822        return 0;
 823}
 824
 825static int dummy_socket_shutdown (struct socket *sock, int how)
 826{
 827        return 0;
 828}
 829
 830static int dummy_socket_sock_rcv_skb (struct sock *sk, struct sk_buff *skb)
 831{
 832        return 0;
 833}
 834
 835static int dummy_socket_getpeersec(struct socket *sock, char __user *optval,
 836                                   int __user *optlen, unsigned len)
 837{
 838        return -ENOPROTOOPT;
 839}
 840
 841static inline int dummy_sk_alloc_security (struct sock *sk, int family, int priority)
 842{
 843        return 0;
 844}
 845
 846static inline void dummy_sk_free_security (struct sock *sk)
 847{
 848}
 849#endif  /* CONFIG_SECURITY_NETWORK */
 850
 851static int dummy_register_security (const char *name, struct security_operations *ops)
 852{
 853        return -EINVAL;
 854}
 855
 856static int dummy_unregister_security (const char *name, struct security_operations *ops)
 857{
 858        return -EINVAL;
 859}
 860
 861static void dummy_d_instantiate (struct dentry *dentry, struct inode *inode)
 862{
 863        return;
 864}
 865
 866static int dummy_getprocattr(struct task_struct *p, char *name, void *value, size_t size)
 867{
 868        return -EINVAL;
 869}
 870
 871static int dummy_setprocattr(struct task_struct *p, char *name, void *value, size_t size)
 872{
 873        return -EINVAL;
 874}
 875
 876
 877struct security_operations dummy_security_ops;
 878
 879#define set_to_dummy_if_null(ops, function)                             \
 880        do {                                                            \
 881                if (!ops->function) {                                   \
 882                        ops->function = dummy_##function;               \
 883                        pr_debug("Had to override the " #function       \
 884                                 " security operation with the dummy one.\n");\
 885                        }                                               \
 886        } while (0)
 887
 888void security_fixup_ops (struct security_operations *ops)
 889{
 890        set_to_dummy_if_null(ops, ptrace);
 891        set_to_dummy_if_null(ops, capget);
 892        set_to_dummy_if_null(ops, capset_check);
 893        set_to_dummy_if_null(ops, capset_set);
 894        set_to_dummy_if_null(ops, acct);
 895        set_to_dummy_if_null(ops, capable);
 896        set_to_dummy_if_null(ops, quotactl);
 897        set_to_dummy_if_null(ops, quota_on);
 898        set_to_dummy_if_null(ops, sysctl);
 899        set_to_dummy_if_null(ops, syslog);
 900        set_to_dummy_if_null(ops, vm_enough_memory);
 901        set_to_dummy_if_null(ops, bprm_alloc_security);
 902        set_to_dummy_if_null(ops, bprm_free_security);
 903        set_to_dummy_if_null(ops, bprm_apply_creds);
 904        set_to_dummy_if_null(ops, bprm_set_security);
 905        set_to_dummy_if_null(ops, bprm_check_security);
 906        set_to_dummy_if_null(ops, bprm_secureexec);
 907        set_to_dummy_if_null(ops, sb_alloc_security);
 908        set_to_dummy_if_null(ops, sb_free_security);
 909        set_to_dummy_if_null(ops, sb_copy_data);
 910        set_to_dummy_if_null(ops, sb_kern_mount);
 911        set_to_dummy_if_null(ops, sb_statfs);
 912        set_to_dummy_if_null(ops, sb_mount);
 913        set_to_dummy_if_null(ops, sb_check_sb);
 914        set_to_dummy_if_null(ops, sb_umount);
 915        set_to_dummy_if_null(ops, sb_umount_close);
 916        set_to_dummy_if_null(ops, sb_umount_busy);
 917        set_to_dummy_if_null(ops, sb_post_remount);
 918        set_to_dummy_if_null(ops, sb_post_mountroot);
 919        set_to_dummy_if_null(ops, sb_post_addmount);
 920        set_to_dummy_if_null(ops, sb_pivotroot);
 921        set_to_dummy_if_null(ops, sb_post_pivotroot);
 922        set_to_dummy_if_null(ops, inode_alloc_security);
 923        set_to_dummy_if_null(ops, inode_free_security);
 924        set_to_dummy_if_null(ops, inode_create);
 925        set_to_dummy_if_null(ops, inode_post_create);
 926        set_to_dummy_if_null(ops, inode_link);
 927        set_to_dummy_if_null(ops, inode_post_link);
 928        set_to_dummy_if_null(ops, inode_unlink);
 929        set_to_dummy_if_null(ops, inode_symlink);
 930        set_to_dummy_if_null(ops, inode_post_symlink);
 931        set_to_dummy_if_null(ops, inode_mkdir);
 932        set_to_dummy_if_null(ops, inode_post_mkdir);
 933        set_to_dummy_if_null(ops, inode_rmdir);
 934        set_to_dummy_if_null(ops, inode_mknod);
 935        set_to_dummy_if_null(ops, inode_post_mknod);
 936        set_to_dummy_if_null(ops, inode_rename);
 937        set_to_dummy_if_null(ops, inode_post_rename);
 938        set_to_dummy_if_null(ops, inode_readlink);
 939        set_to_dummy_if_null(ops, inode_follow_link);
 940        set_to_dummy_if_null(ops, inode_permission);
 941        set_to_dummy_if_null(ops, inode_setattr);
 942        set_to_dummy_if_null(ops, inode_getattr);
 943        set_to_dummy_if_null(ops, inode_delete);
 944        set_to_dummy_if_null(ops, inode_setxattr);
 945        set_to_dummy_if_null(ops, inode_post_setxattr);
 946        set_to_dummy_if_null(ops, inode_getxattr);
 947        set_to_dummy_if_null(ops, inode_listxattr);
 948        set_to_dummy_if_null(ops, inode_removexattr);
 949        set_to_dummy_if_null(ops, inode_getsecurity);
 950        set_to_dummy_if_null(ops, inode_setsecurity);
 951        set_to_dummy_if_null(ops, inode_listsecurity);
 952        set_to_dummy_if_null(ops, file_permission);
 953        set_to_dummy_if_null(ops, file_alloc_security);
 954        set_to_dummy_if_null(ops, file_free_security);
 955        set_to_dummy_if_null(ops, file_ioctl);
 956        set_to_dummy_if_null(ops, file_mmap);
 957        set_to_dummy_if_null(ops, file_mprotect);
 958        set_to_dummy_if_null(ops, file_lock);
 959        set_to_dummy_if_null(ops, file_fcntl);
 960        set_to_dummy_if_null(ops, file_set_fowner);
 961        set_to_dummy_if_null(ops, file_send_sigiotask);
 962        set_to_dummy_if_null(ops, file_receive);
 963        set_to_dummy_if_null(ops, task_create);
 964        set_to_dummy_if_null(ops, task_alloc_security);
 965        set_to_dummy_if_null(ops, task_free_security);
 966        set_to_dummy_if_null(ops, task_setuid);
 967        set_to_dummy_if_null(ops, task_post_setuid);
 968        set_to_dummy_if_null(ops, task_setgid);
 969        set_to_dummy_if_null(ops, task_setpgid);
 970        set_to_dummy_if_null(ops, task_getpgid);
 971        set_to_dummy_if_null(ops, task_getsid);
 972        set_to_dummy_if_null(ops, task_setgroups);
 973        set_to_dummy_if_null(ops, task_setnice);
 974        set_to_dummy_if_null(ops, task_setrlimit);
 975        set_to_dummy_if_null(ops, task_setscheduler);
 976        set_to_dummy_if_null(ops, task_getscheduler);
 977        set_to_dummy_if_null(ops, task_wait);
 978        set_to_dummy_if_null(ops, task_kill);
 979        set_to_dummy_if_null(ops, task_prctl);
 980        set_to_dummy_if_null(ops, task_reparent_to_init);
 981        set_to_dummy_if_null(ops, task_to_inode);
 982        set_to_dummy_if_null(ops, ipc_permission);
 983        set_to_dummy_if_null(ops, msg_msg_alloc_security);
 984        set_to_dummy_if_null(ops, msg_msg_free_security);
 985        set_to_dummy_if_null(ops, msg_queue_alloc_security);
 986        set_to_dummy_if_null(ops, msg_queue_free_security);
 987        set_to_dummy_if_null(ops, msg_queue_associate);
 988        set_to_dummy_if_null(ops, msg_queue_msgctl);
 989        set_to_dummy_if_null(ops, msg_queue_msgsnd);
 990        set_to_dummy_if_null(ops, msg_queue_msgrcv);
 991        set_to_dummy_if_null(ops, shm_alloc_security);
 992        set_to_dummy_if_null(ops, shm_free_security);
 993        set_to_dummy_if_null(ops, shm_associate);
 994        set_to_dummy_if_null(ops, shm_shmctl);
 995        set_to_dummy_if_null(ops, shm_shmat);
 996        set_to_dummy_if_null(ops, sem_alloc_security);
 997        set_to_dummy_if_null(ops, sem_free_security);
 998        set_to_dummy_if_null(ops, sem_associate);
 999        set_to_dummy_if_null(ops, sem_semctl);
1000        set_to_dummy_if_null(ops, sem_semop);
1001        set_to_dummy_if_null(ops, netlink_send);
1002        set_to_dummy_if_null(ops, netlink_recv);
1003        set_to_dummy_if_null(ops, register_security);
1004        set_to_dummy_if_null(ops, unregister_security);
1005        set_to_dummy_if_null(ops, d_instantiate);
1006        set_to_dummy_if_null(ops, getprocattr);
1007        set_to_dummy_if_null(ops, setprocattr);
1008#ifdef CONFIG_SECURITY_NETWORK
1009        set_to_dummy_if_null(ops, unix_stream_connect);
1010        set_to_dummy_if_null(ops, unix_may_send);
1011        set_to_dummy_if_null(ops, socket_create);
1012        set_to_dummy_if_null(ops, socket_post_create);
1013        set_to_dummy_if_null(ops, socket_bind);
1014        set_to_dummy_if_null(ops, socket_connect);
1015        set_to_dummy_if_null(ops, socket_listen);
1016        set_to_dummy_if_null(ops, socket_accept);
1017        set_to_dummy_if_null(ops, socket_post_accept);
1018        set_to_dummy_if_null(ops, socket_sendmsg);
1019        set_to_dummy_if_null(ops, socket_recvmsg);
1020        set_to_dummy_if_null(ops, socket_getsockname);
1021        set_to_dummy_if_null(ops, socket_getpeername);
1022        set_to_dummy_if_null(ops, socket_setsockopt);
1023        set_to_dummy_if_null(ops, socket_getsockopt);
1024        set_to_dummy_if_null(ops, socket_shutdown);
1025        set_to_dummy_if_null(ops, socket_sock_rcv_skb);
1026        set_to_dummy_if_null(ops, socket_getpeersec);
1027        set_to_dummy_if_null(ops, sk_alloc_security);
1028        set_to_dummy_if_null(ops, sk_free_security);
1029#endif  /* CONFIG_SECURITY_NETWORK */
1030}
1031
1032
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.