linux/security/capability.c
<<
>>
Prefs
   1/*
   2 *  Capabilities Linux Security Module
   3 *
   4 *  This is the default security module in case no other module is loaded.
   5 *
   6 *      This program is free software; you can redistribute it and/or modify
   7 *      it under the terms of the GNU General Public License as published by
   8 *      the Free Software Foundation; either version 2 of the License, or
   9 *      (at your option) any later version.
  10 *
  11 */
  12
  13#include <linux/security.h>
  14
  15static int cap_acct(struct file *file)
  16{
  17        return 0;
  18}
  19
  20static int cap_sysctl(ctl_table *table, int op)
  21{
  22        return 0;
  23}
  24
  25static int cap_quotactl(int cmds, int type, int id, struct super_block *sb)
  26{
  27        return 0;
  28}
  29
  30static int cap_quota_on(struct dentry *dentry)
  31{
  32        return 0;
  33}
  34
  35static int cap_bprm_alloc_security(struct linux_binprm *bprm)
  36{
  37        return 0;
  38}
  39
  40static void cap_bprm_free_security(struct linux_binprm *bprm)
  41{
  42}
  43
  44static void cap_bprm_post_apply_creds(struct linux_binprm *bprm)
  45{
  46}
  47
  48static int cap_bprm_check_security(struct linux_binprm *bprm)
  49{
  50        return 0;
  51}
  52
  53static int cap_sb_alloc_security(struct super_block *sb)
  54{
  55        return 0;
  56}
  57
  58static void cap_sb_free_security(struct super_block *sb)
  59{
  60}
  61
  62static int cap_sb_copy_data(char *orig, char *copy)
  63{
  64        return 0;
  65}
  66
  67static int cap_sb_kern_mount(struct super_block *sb, void *data)
  68{
  69        return 0;
  70}
  71
  72static int cap_sb_show_options(struct seq_file *m, struct super_block *sb)
  73{
  74        return 0;
  75}
  76
  77static int cap_sb_statfs(struct dentry *dentry)
  78{
  79        return 0;
  80}
  81
  82static int cap_sb_mount(char *dev_name, struct path *path, char *type,
  83                        unsigned long flags, void *data)
  84{
  85        return 0;
  86}
  87
  88static int cap_sb_check_sb(struct vfsmount *mnt, struct path *path)
  89{
  90        return 0;
  91}
  92
  93static int cap_sb_umount(struct vfsmount *mnt, int flags)
  94{
  95        return 0;
  96}
  97
  98static void cap_sb_umount_close(struct vfsmount *mnt)
  99{
 100}
 101
 102static void cap_sb_umount_busy(struct vfsmount *mnt)
 103{
 104}
 105
 106static void cap_sb_post_remount(struct vfsmount *mnt, unsigned long flags,
 107                                void *data)
 108{
 109}
 110
 111static void cap_sb_post_addmount(struct vfsmount *mnt, struct path *path)
 112{
 113}
 114
 115static int cap_sb_pivotroot(struct path *old_path, struct path *new_path)
 116{
 117        return 0;
 118}
 119
 120static void cap_sb_post_pivotroot(struct path *old_path, struct path *new_path)
 121{
 122}
 123
 124static int cap_sb_set_mnt_opts(struct super_block *sb,
 125                               struct security_mnt_opts *opts)
 126{
 127        if (unlikely(opts->num_mnt_opts))
 128                return -EOPNOTSUPP;
 129        return 0;
 130}
 131
 132static void cap_sb_clone_mnt_opts(const struct super_block *oldsb,
 133                                  struct super_block *newsb)
 134{
 135}
 136
 137static int cap_sb_parse_opts_str(char *options, struct security_mnt_opts *opts)
 138{
 139        return 0;
 140}
 141
 142static int cap_inode_alloc_security(struct inode *inode)
 143{
 144        return 0;
 145}
 146
 147static void cap_inode_free_security(struct inode *inode)
 148{
 149}
 150
 151static int cap_inode_init_security(struct inode *inode, struct inode *dir,
 152                                   char **name, void **value, size_t *len)
 153{
 154        return -EOPNOTSUPP;
 155}
 156
 157static int cap_inode_create(struct inode *inode, struct dentry *dentry,
 158                            int mask)
 159{
 160        return 0;
 161}
 162
 163static int cap_inode_link(struct dentry *old_dentry, struct inode *inode,
 164                          struct dentry *new_dentry)
 165{
 166        return 0;
 167}
 168
 169static int cap_inode_unlink(struct inode *inode, struct dentry *dentry)
 170{
 171        return 0;
 172}
 173
 174static int cap_inode_symlink(struct inode *inode, struct dentry *dentry,
 175                             const char *name)
 176{
 177        return 0;
 178}
 179
 180static int cap_inode_mkdir(struct inode *inode, struct dentry *dentry,
 181                           int mask)
 182{
 183        return 0;
 184}
 185
 186static int cap_inode_rmdir(struct inode *inode, struct dentry *dentry)
 187{
 188        return 0;
 189}
 190
 191static int cap_inode_mknod(struct inode *inode, struct dentry *dentry,
 192                           int mode, dev_t dev)
 193{
 194        return 0;
 195}
 196
 197static int cap_inode_rename(struct inode *old_inode, struct dentry *old_dentry,
 198                            struct inode *new_inode, struct dentry *new_dentry)
 199{
 200        return 0;
 201}
 202
 203static int cap_inode_readlink(struct dentry *dentry)
 204{
 205        return 0;
 206}
 207
 208static int cap_inode_follow_link(struct dentry *dentry,
 209                                 struct nameidata *nameidata)
 210{
 211        return 0;
 212}
 213
 214static int cap_inode_permission(struct inode *inode, int mask)
 215{
 216        return 0;
 217}
 218
 219static int cap_inode_setattr(struct dentry *dentry, struct iattr *iattr)
 220{
 221        return 0;
 222}
 223
 224static int cap_inode_getattr(struct vfsmount *mnt, struct dentry *dentry)
 225{
 226        return 0;
 227}
 228
 229static void cap_inode_delete(struct inode *ino)
 230{
 231}
 232
 233static void cap_inode_post_setxattr(struct dentry *dentry, const char *name,
 234                                    const void *value, size_t size, int flags)
 235{
 236}
 237
 238static int cap_inode_getxattr(struct dentry *dentry, const char *name)
 239{
 240        return 0;
 241}
 242
 243static int cap_inode_listxattr(struct dentry *dentry)
 244{
 245        return 0;
 246}
 247
 248static int cap_inode_getsecurity(const struct inode *inode, const char *name,
 249                                 void **buffer, bool alloc)
 250{
 251        return -EOPNOTSUPP;
 252}
 253
 254static int cap_inode_setsecurity(struct inode *inode, const char *name,
 255                                 const void *value, size_t size, int flags)
 256{
 257        return -EOPNOTSUPP;
 258}
 259
 260static int cap_inode_listsecurity(struct inode *inode, char *buffer,
 261                                  size_t buffer_size)
 262{
 263        return 0;
 264}
 265
 266static void cap_inode_getsecid(const struct inode *inode, u32 *secid)
 267{
 268        *secid = 0;
 269}
 270
 271static int cap_file_permission(struct file *file, int mask)
 272{
 273        return 0;
 274}
 275
 276static int cap_file_alloc_security(struct file *file)
 277{
 278        return 0;
 279}
 280
 281static void cap_file_free_security(struct file *file)
 282{
 283}
 284
 285static int cap_file_ioctl(struct file *file, unsigned int command,
 286                          unsigned long arg)
 287{
 288        return 0;
 289}
 290
 291static int cap_file_mmap(struct file *file, unsigned long reqprot,
 292                         unsigned long prot, unsigned long flags,
 293                         unsigned long addr, unsigned long addr_only)
 294{
 295        if ((addr < mmap_min_addr) && !capable(CAP_SYS_RAWIO))
 296                return -EACCES;
 297        return 0;
 298}
 299
 300static int cap_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot,
 301                             unsigned long prot)
 302{
 303        return 0;
 304}
 305
 306static int cap_file_lock(struct file *file, unsigned int cmd)
 307{
 308        return 0;
 309}
 310
 311static int cap_file_fcntl(struct file *file, unsigned int cmd,
 312                          unsigned long arg)
 313{
 314        return 0;
 315}
 316
 317static int cap_file_set_fowner(struct file *file)
 318{
 319        return 0;
 320}
 321
 322static int cap_file_send_sigiotask(struct task_struct *tsk,
 323                                   struct fown_struct *fown, int sig)
 324{
 325        return 0;
 326}
 327
 328static int cap_file_receive(struct file *file)
 329{
 330        return 0;
 331}
 332
 333static int cap_dentry_open(struct file *file)
 334{
 335        return 0;
 336}
 337
 338static int cap_task_create(unsigned long clone_flags)
 339{
 340        return 0;
 341}
 342
 343static int cap_task_alloc_security(struct task_struct *p)
 344{
 345        return 0;
 346}
 347
 348static void cap_task_free_security(struct task_struct *p)
 349{
 350}
 351
 352static int cap_task_setuid(uid_t id0, uid_t id1, uid_t id2, int flags)
 353{
 354        return 0;
 355}
 356
 357static int cap_task_setgid(gid_t id0, gid_t id1, gid_t id2, int flags)
 358{
 359        return 0;
 360}
 361
 362static int cap_task_setpgid(struct task_struct *p, pid_t pgid)
 363{
 364        return 0;
 365}
 366
 367static int cap_task_getpgid(struct task_struct *p)
 368{
 369        return 0;
 370}
 371
 372static int cap_task_getsid(struct task_struct *p)
 373{
 374        return 0;
 375}
 376
 377static void cap_task_getsecid(struct task_struct *p, u32 *secid)
 378{
 379        *secid = 0;
 380}
 381
 382static int cap_task_setgroups(struct group_info *group_info)
 383{
 384        return 0;
 385}
 386
 387static int cap_task_getioprio(struct task_struct *p)
 388{
 389        return 0;
 390}
 391
 392static int cap_task_setrlimit(unsigned int resource, struct rlimit *new_rlim)
 393{
 394        return 0;
 395}
 396
 397static int cap_task_getscheduler(struct task_struct *p)
 398{
 399        return 0;
 400}
 401
 402static int cap_task_movememory(struct task_struct *p)
 403{
 404        return 0;
 405}
 406
 407static int cap_task_wait(struct task_struct *p)
 408{
 409        return 0;
 410}
 411
 412static int cap_task_kill(struct task_struct *p, struct siginfo *info,
 413                         int sig, u32 secid)
 414{
 415        return 0;
 416}
 417
 418static void cap_task_to_inode(struct task_struct *p, struct inode *inode)
 419{
 420}
 421
 422static int cap_ipc_permission(struct kern_ipc_perm *ipcp, short flag)
 423{
 424        return 0;
 425}
 426
 427static void cap_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid)
 428{
 429        *secid = 0;
 430}
 431
 432static int cap_msg_msg_alloc_security(struct msg_msg *msg)
 433{
 434        return 0;
 435}
 436
 437static void cap_msg_msg_free_security(struct msg_msg *msg)
 438{
 439}
 440
 441static int cap_msg_queue_alloc_security(struct msg_queue *msq)
 442{
 443        return 0;
 444}
 445
 446static void cap_msg_queue_free_security(struct msg_queue *msq)
 447{
 448}
 449
 450static int cap_msg_queue_associate(struct msg_queue *msq, int msqflg)
 451{
 452        return 0;
 453}
 454
 455static int cap_msg_queue_msgctl(struct msg_queue *msq, int cmd)
 456{
 457        return 0;
 458}
 459
 460static int cap_msg_queue_msgsnd(struct msg_queue *msq, struct msg_msg *msg,
 461                                int msgflg)
 462{
 463        return 0;
 464}
 465
 466static int cap_msg_queue_msgrcv(struct msg_queue *msq, struct msg_msg *msg,
 467                                struct task_struct *target, long type, int mode)
 468{
 469        return 0;
 470}
 471
 472static int cap_shm_alloc_security(struct shmid_kernel *shp)
 473{
 474        return 0;
 475}
 476
 477static void cap_shm_free_security(struct shmid_kernel *shp)
 478{
 479}
 480
 481static int cap_shm_associate(struct shmid_kernel *shp, int shmflg)
 482{
 483        return 0;
 484}
 485
 486static int cap_shm_shmctl(struct shmid_kernel *shp, int cmd)
 487{
 488        return 0;
 489}
 490
 491static int cap_shm_shmat(struct shmid_kernel *shp, char __user *shmaddr,
 492                         int shmflg)
 493{
 494        return 0;
 495}
 496
 497static int cap_sem_alloc_security(struct sem_array *sma)
 498{
 499        return 0;
 500}
 501
 502static void cap_sem_free_security(struct sem_array *sma)
 503{
 504}
 505
 506static int cap_sem_associate(struct sem_array *sma, int semflg)
 507{
 508        return 0;
 509}
 510
 511static int cap_sem_semctl(struct sem_array *sma, int cmd)
 512{
 513        return 0;
 514}
 515
 516static int cap_sem_semop(struct sem_array *sma, struct sembuf *sops,
 517                         unsigned nsops, int alter)
 518{
 519        return 0;
 520}
 521
 522#ifdef CONFIG_SECURITY_NETWORK
 523static int cap_unix_stream_connect(struct socket *sock, struct socket *other,
 524                                   struct sock *newsk)
 525{
 526        return 0;
 527}
 528
 529static int cap_unix_may_send(struct socket *sock, struct socket *other)
 530{
 531        return 0;
 532}
 533
 534static int cap_socket_create(int family, int type, int protocol, int kern)
 535{
 536        return 0;
 537}
 538
 539static int cap_socket_post_create(struct socket *sock, int family, int type,
 540                                  int protocol, int kern)
 541{
 542        return 0;
 543}
 544
 545static int cap_socket_bind(struct socket *sock, struct sockaddr *address,
 546                           int addrlen)
 547{
 548        return 0;
 549}
 550
 551static int cap_socket_connect(struct socket *sock, struct sockaddr *address,
 552                              int addrlen)
 553{
 554        return 0;
 555}
 556
 557static int cap_socket_listen(struct socket *sock, int backlog)
 558{
 559        return 0;
 560}
 561
 562static int cap_socket_accept(struct socket *sock, struct socket *newsock)
 563{
 564        return 0;
 565}
 566
 567static void cap_socket_post_accept(struct socket *sock, struct socket *newsock)
 568{
 569}
 570
 571static int cap_socket_sendmsg(struct socket *sock, struct msghdr *msg, int size)
 572{
 573        return 0;
 574}
 575
 576static int cap_socket_recvmsg(struct socket *sock, struct msghdr *msg,
 577                              int size, int flags)
 578{
 579        return 0;
 580}
 581
 582static int cap_socket_getsockname(struct socket *sock)
 583{
 584        return 0;
 585}
 586
 587static int cap_socket_getpeername(struct socket *sock)
 588{
 589        return 0;
 590}
 591
 592static int cap_socket_setsockopt(struct socket *sock, int level, int optname)
 593{
 594        return 0;
 595}
 596
 597static int cap_socket_getsockopt(struct socket *sock, int level, int optname)
 598{
 599        return 0;
 600}
 601
 602static int cap_socket_shutdown(struct socket *sock, int how)
 603{
 604        return 0;
 605}
 606
 607static int cap_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb)
 608{
 609        return 0;
 610}
 611
 612static int cap_socket_getpeersec_stream(struct socket *sock,
 613                                        char __user *optval,
 614                                        int __user *optlen, unsigned len)
 615{
 616        return -ENOPROTOOPT;
 617}
 618
 619static int cap_socket_getpeersec_dgram(struct socket *sock,
 620                                       struct sk_buff *skb, u32 *secid)
 621{
 622        return -ENOPROTOOPT;
 623}
 624
 625static int cap_sk_alloc_security(struct sock *sk, int family, gfp_t priority)
 626{
 627        return 0;
 628}
 629
 630static void cap_sk_free_security(struct sock *sk)
 631{
 632}
 633
 634static void cap_sk_clone_security(const struct sock *sk, struct sock *newsk)
 635{
 636}
 637
 638static void cap_sk_getsecid(struct sock *sk, u32 *secid)
 639{
 640}
 641
 642static void cap_sock_graft(struct sock *sk, struct socket *parent)
 643{
 644}
 645
 646static int cap_inet_conn_request(struct sock *sk, struct sk_buff *skb,
 647                                 struct request_sock *req)
 648{
 649        return 0;
 650}
 651
 652static void cap_inet_csk_clone(struct sock *newsk,
 653                               const struct request_sock *req)
 654{
 655}
 656
 657static void cap_inet_conn_established(struct sock *sk, struct sk_buff *skb)
 658{
 659}
 660
 661static void cap_req_classify_flow(const struct request_sock *req,
 662                                  struct flowi *fl)
 663{
 664}
 665#endif  /* CONFIG_SECURITY_NETWORK */
 666
 667#ifdef CONFIG_SECURITY_NETWORK_XFRM
 668static int cap_xfrm_policy_alloc_security(struct xfrm_sec_ctx **ctxp,
 669                                          struct xfrm_user_sec_ctx *sec_ctx)
 670{
 671        return 0;
 672}
 673
 674static int cap_xfrm_policy_clone_security(struct xfrm_sec_ctx *old_ctx,
 675                                          struct xfrm_sec_ctx **new_ctxp)
 676{
 677        return 0;
 678}
 679
 680static void cap_xfrm_policy_free_security(struct xfrm_sec_ctx *ctx)
 681{
 682}
 683
 684static int cap_xfrm_policy_delete_security(struct xfrm_sec_ctx *ctx)
 685{
 686        return 0;
 687}
 688
 689static int cap_xfrm_state_alloc_security(struct xfrm_state *x,
 690                                         struct xfrm_user_sec_ctx *sec_ctx,
 691                                         u32 secid)
 692{
 693        return 0;
 694}
 695
 696static void cap_xfrm_state_free_security(struct xfrm_state *x)
 697{
 698}
 699
 700static int cap_xfrm_state_delete_security(struct xfrm_state *x)
 701{
 702        return 0;
 703}
 704
 705static int cap_xfrm_policy_lookup(struct xfrm_sec_ctx *ctx, u32 sk_sid, u8 dir)
 706{
 707        return 0;
 708}
 709
 710static int cap_xfrm_state_pol_flow_match(struct xfrm_state *x,
 711                                         struct xfrm_policy *xp,
 712                                         struct flowi *fl)
 713{
 714        return 1;
 715}
 716
 717static int cap_xfrm_decode_session(struct sk_buff *skb, u32 *fl, int ckall)
 718{
 719        return 0;
 720}
 721
 722#endif /* CONFIG_SECURITY_NETWORK_XFRM */
 723static void cap_d_instantiate(struct dentry *dentry, struct inode *inode)
 724{
 725}
 726
 727static int cap_getprocattr(struct task_struct *p, char *name, char **value)
 728{
 729        return -EINVAL;
 730}
 731
 732static int cap_setprocattr(struct task_struct *p, char *name, void *value,
 733                           size_t size)
 734{
 735        return -EINVAL;
 736}
 737
 738static int cap_secid_to_secctx(u32 secid, char **secdata, u32 *seclen)
 739{
 740        return -EOPNOTSUPP;
 741}
 742
 743static int cap_secctx_to_secid(const char *secdata, u32 seclen, u32 *secid)
 744{
 745        return -EOPNOTSUPP;
 746}
 747
 748static void cap_release_secctx(char *secdata, u32 seclen)
 749{
 750}
 751
 752#ifdef CONFIG_KEYS
 753static int cap_key_alloc(struct key *key, struct task_struct *ctx,
 754                         unsigned long flags)
 755{
 756        return 0;
 757}
 758
 759static void cap_key_free(struct key *key)
 760{
 761}
 762
 763static int cap_key_permission(key_ref_t key_ref, struct task_struct *context,
 764                              key_perm_t perm)
 765{
 766        return 0;
 767}
 768
 769static int cap_key_getsecurity(struct key *key, char **_buffer)
 770{
 771        *_buffer = NULL;
 772        return 0;
 773}
 774
 775#endif /* CONFIG_KEYS */
 776
 777#ifdef CONFIG_AUDIT
 778static int cap_audit_rule_init(u32 field, u32 op, char *rulestr, void **lsmrule)
 779{
 780        return 0;
 781}
 782
 783static int cap_audit_rule_known(struct audit_krule *krule)
 784{
 785        return 0;
 786}
 787
 788static int cap_audit_rule_match(u32 secid, u32 field, u32 op, void *lsmrule,
 789                                struct audit_context *actx)
 790{
 791        return 0;
 792}
 793
 794static void cap_audit_rule_free(void *lsmrule)
 795{
 796}
 797#endif /* CONFIG_AUDIT */
 798
 799struct security_operations default_security_ops = {
 800        .name   = "default",
 801};
 802
 803#define set_to_cap_if_null(ops, function)                               \
 804        do {                                                            \
 805                if (!ops->function) {                                   \
 806                        ops->function = cap_##function;                 \
 807                        pr_debug("Had to override the " #function       \
 808                                 " security operation with the default.\n");\
 809                        }                                               \
 810        } while (0)
 811
 812void security_fixup_ops(struct security_operations *ops)
 813{
 814        set_to_cap_if_null(ops, ptrace_may_access);
 815        set_to_cap_if_null(ops, ptrace_traceme);
 816        set_to_cap_if_null(ops, capget);
 817        set_to_cap_if_null(ops, capset_check);
 818        set_to_cap_if_null(ops, capset_set);
 819        set_to_cap_if_null(ops, acct);
 820        set_to_cap_if_null(ops, capable);
 821        set_to_cap_if_null(ops, quotactl);
 822        set_to_cap_if_null(ops, quota_on);
 823        set_to_cap_if_null(ops, sysctl);
 824        set_to_cap_if_null(ops, syslog);
 825        set_to_cap_if_null(ops, settime);
 826        set_to_cap_if_null(ops, vm_enough_memory);
 827        set_to_cap_if_null(ops, bprm_alloc_security);
 828        set_to_cap_if_null(ops, bprm_free_security);
 829        set_to_cap_if_null(ops, bprm_apply_creds);
 830        set_to_cap_if_null(ops, bprm_post_apply_creds);
 831        set_to_cap_if_null(ops, bprm_set_security);
 832        set_to_cap_if_null(ops, bprm_check_security);
 833        set_to_cap_if_null(ops, bprm_secureexec);
 834        set_to_cap_if_null(ops, sb_alloc_security);
 835        set_to_cap_if_null(ops, sb_free_security);
 836        set_to_cap_if_null(ops, sb_copy_data);
 837        set_to_cap_if_null(ops, sb_kern_mount);
 838        set_to_cap_if_null(ops, sb_show_options);
 839        set_to_cap_if_null(ops, sb_statfs);
 840        set_to_cap_if_null(ops, sb_mount);
 841        set_to_cap_if_null(ops, sb_check_sb);
 842        set_to_cap_if_null(ops, sb_umount);
 843        set_to_cap_if_null(ops, sb_umount_close);
 844        set_to_cap_if_null(ops, sb_umount_busy);
 845        set_to_cap_if_null(ops, sb_post_remount);
 846        set_to_cap_if_null(ops, sb_post_addmount);
 847        set_to_cap_if_null(ops, sb_pivotroot);
 848        set_to_cap_if_null(ops, sb_post_pivotroot);
 849        set_to_cap_if_null(ops, sb_set_mnt_opts);
 850        set_to_cap_if_null(ops, sb_clone_mnt_opts);
 851        set_to_cap_if_null(ops, sb_parse_opts_str);
 852        set_to_cap_if_null(ops, inode_alloc_security);
 853        set_to_cap_if_null(ops, inode_free_security);
 854        set_to_cap_if_null(ops, inode_init_security);
 855        set_to_cap_if_null(ops, inode_create);
 856        set_to_cap_if_null(ops, inode_link);
 857        set_to_cap_if_null(ops, inode_unlink);
 858        set_to_cap_if_null(ops, inode_symlink);
 859        set_to_cap_if_null(ops, inode_mkdir);
 860        set_to_cap_if_null(ops, inode_rmdir);
 861        set_to_cap_if_null(ops, inode_mknod);
 862        set_to_cap_if_null(ops, inode_rename);
 863        set_to_cap_if_null(ops, inode_readlink);
 864        set_to_cap_if_null(ops, inode_follow_link);
 865        set_to_cap_if_null(ops, inode_permission);
 866        set_to_cap_if_null(ops, inode_setattr);
 867        set_to_cap_if_null(ops, inode_getattr);
 868        set_to_cap_if_null(ops, inode_delete);
 869        set_to_cap_if_null(ops, inode_setxattr);
 870        set_to_cap_if_null(ops, inode_post_setxattr);
 871        set_to_cap_if_null(ops, inode_getxattr);
 872        set_to_cap_if_null(ops, inode_listxattr);
 873        set_to_cap_if_null(ops, inode_removexattr);
 874        set_to_cap_if_null(ops, inode_need_killpriv);
 875        set_to_cap_if_null(ops, inode_killpriv);
 876        set_to_cap_if_null(ops, inode_getsecurity);
 877        set_to_cap_if_null(ops, inode_setsecurity);
 878        set_to_cap_if_null(ops, inode_listsecurity);
 879        set_to_cap_if_null(ops, inode_getsecid);
 880        set_to_cap_if_null(ops, file_permission);
 881        set_to_cap_if_null(ops, file_alloc_security);
 882        set_to_cap_if_null(ops, file_free_security);
 883        set_to_cap_if_null(ops, file_ioctl);
 884        set_to_cap_if_null(ops, file_mmap);
 885        set_to_cap_if_null(ops, file_mprotect);
 886        set_to_cap_if_null(ops, file_lock);
 887        set_to_cap_if_null(ops, file_fcntl);
 888        set_to_cap_if_null(ops, file_set_fowner);
 889        set_to_cap_if_null(ops, file_send_sigiotask);
 890        set_to_cap_if_null(ops, file_receive);
 891        set_to_cap_if_null(ops, dentry_open);
 892        set_to_cap_if_null(ops, task_create);
 893        set_to_cap_if_null(ops, task_alloc_security);
 894        set_to_cap_if_null(ops, task_free_security);
 895        set_to_cap_if_null(ops, task_setuid);
 896        set_to_cap_if_null(ops, task_post_setuid);
 897        set_to_cap_if_null(ops, task_setgid);
 898        set_to_cap_if_null(ops, task_setpgid);
 899        set_to_cap_if_null(ops, task_getpgid);
 900        set_to_cap_if_null(ops, task_getsid);
 901        set_to_cap_if_null(ops, task_getsecid);
 902        set_to_cap_if_null(ops, task_setgroups);
 903        set_to_cap_if_null(ops, task_setnice);
 904        set_to_cap_if_null(ops, task_setioprio);
 905        set_to_cap_if_null(ops, task_getioprio);
 906        set_to_cap_if_null(ops, task_setrlimit);
 907        set_to_cap_if_null(ops, task_setscheduler);
 908        set_to_cap_if_null(ops, task_getscheduler);
 909        set_to_cap_if_null(ops, task_movememory);
 910        set_to_cap_if_null(ops, task_wait);
 911        set_to_cap_if_null(ops, task_kill);
 912        set_to_cap_if_null(ops, task_prctl);
 913        set_to_cap_if_null(ops, task_reparent_to_init);
 914        set_to_cap_if_null(ops, task_to_inode);
 915        set_to_cap_if_null(ops, ipc_permission);
 916        set_to_cap_if_null(ops, ipc_getsecid);
 917        set_to_cap_if_null(ops, msg_msg_alloc_security);
 918        set_to_cap_if_null(ops, msg_msg_free_security);
 919        set_to_cap_if_null(ops, msg_queue_alloc_security);
 920        set_to_cap_if_null(ops, msg_queue_free_security);
 921        set_to_cap_if_null(ops, msg_queue_associate);
 922        set_to_cap_if_null(ops, msg_queue_msgctl);
 923        set_to_cap_if_null(ops, msg_queue_msgsnd);
 924        set_to_cap_if_null(ops, msg_queue_msgrcv);
 925        set_to_cap_if_null(ops, shm_alloc_security);
 926        set_to_cap_if_null(ops, shm_free_security);
 927        set_to_cap_if_null(ops, shm_associate);
 928        set_to_cap_if_null(ops, shm_shmctl);
 929        set_to_cap_if_null(ops, shm_shmat);
 930        set_to_cap_if_null(ops, sem_alloc_security);
 931        set_to_cap_if_null(ops, sem_free_security);
 932        set_to_cap_if_null(ops, sem_associate);
 933        set_to_cap_if_null(ops, sem_semctl);
 934        set_to_cap_if_null(ops, sem_semop);
 935        set_to_cap_if_null(ops, netlink_send);
 936        set_to_cap_if_null(ops, netlink_recv);
 937        set_to_cap_if_null(ops, d_instantiate);
 938        set_to_cap_if_null(ops, getprocattr);
 939        set_to_cap_if_null(ops, setprocattr);
 940        set_to_cap_if_null(ops, secid_to_secctx);
 941        set_to_cap_if_null(ops, secctx_to_secid);
 942        set_to_cap_if_null(ops, release_secctx);
 943#ifdef CONFIG_SECURITY_NETWORK
 944        set_to_cap_if_null(ops, unix_stream_connect);
 945        set_to_cap_if_null(ops, unix_may_send);
 946        set_to_cap_if_null(ops, socket_create);
 947        set_to_cap_if_null(ops, socket_post_create);
 948        set_to_cap_if_null(ops, socket_bind);
 949        set_to_cap_if_null(ops, socket_connect);
 950        set_to_cap_if_null(ops, socket_listen);
 951        set_to_cap_if_null(ops, socket_accept);
 952        set_to_cap_if_null(ops, socket_post_accept);
 953        set_to_cap_if_null(ops, socket_sendmsg);
 954        set_to_cap_if_null(ops, socket_recvmsg);
 955        set_to_cap_if_null(ops, socket_getsockname);
 956        set_to_cap_if_null(ops, socket_getpeername);
 957        set_to_cap_if_null(ops, socket_setsockopt);
 958        set_to_cap_if_null(ops, socket_getsockopt);
 959        set_to_cap_if_null(ops, socket_shutdown);
 960        set_to_cap_if_null(ops, socket_sock_rcv_skb);
 961        set_to_cap_if_null(ops, socket_getpeersec_stream);
 962        set_to_cap_if_null(ops, socket_getpeersec_dgram);
 963        set_to_cap_if_null(ops, sk_alloc_security);
 964        set_to_cap_if_null(ops, sk_free_security);
 965        set_to_cap_if_null(ops, sk_clone_security);
 966        set_to_cap_if_null(ops, sk_getsecid);
 967        set_to_cap_if_null(ops, sock_graft);
 968        set_to_cap_if_null(ops, inet_conn_request);
 969        set_to_cap_if_null(ops, inet_csk_clone);
 970        set_to_cap_if_null(ops, inet_conn_established);
 971        set_to_cap_if_null(ops, req_classify_flow);
 972#endif  /* CONFIG_SECURITY_NETWORK */
 973#ifdef CONFIG_SECURITY_NETWORK_XFRM
 974        set_to_cap_if_null(ops, xfrm_policy_alloc_security);
 975        set_to_cap_if_null(ops, xfrm_policy_clone_security);
 976        set_to_cap_if_null(ops, xfrm_policy_free_security);
 977        set_to_cap_if_null(ops, xfrm_policy_delete_security);
 978        set_to_cap_if_null(ops, xfrm_state_alloc_security);
 979        set_to_cap_if_null(ops, xfrm_state_free_security);
 980        set_to_cap_if_null(ops, xfrm_state_delete_security);
 981        set_to_cap_if_null(ops, xfrm_policy_lookup);
 982        set_to_cap_if_null(ops, xfrm_state_pol_flow_match);
 983        set_to_cap_if_null(ops, xfrm_decode_session);
 984#endif  /* CONFIG_SECURITY_NETWORK_XFRM */
 985#ifdef CONFIG_KEYS
 986        set_to_cap_if_null(ops, key_alloc);
 987        set_to_cap_if_null(ops, key_free);
 988        set_to_cap_if_null(ops, key_permission);
 989        set_to_cap_if_null(ops, key_getsecurity);
 990#endif  /* CONFIG_KEYS */
 991#ifdef CONFIG_AUDIT
 992        set_to_cap_if_null(ops, audit_rule_init);
 993        set_to_cap_if_null(ops, audit_rule_known);
 994        set_to_cap_if_null(ops, audit_rule_match);
 995        set_to_cap_if_null(ops, audit_rule_free);
 996#endif
 997}
 998