diff options
author | Greg Kroah-Hartman <greg@kroah.com> | 2002-07-22 00:06:28 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <greg@kroah.com> | 2002-07-22 00:06:28 -0700 |
commit | f121b8fca19b1b805255d5bd0a6247ad0cbe812a (patch) | |
tree | 28afb661a9a58f4572b9410b018751ccd99d5a75 /security | |
parent | a8bffd28269fc6efe1d4b8ce347091221bc2aa59 (diff) | |
parent | e175ac64b5edef3fa804d6cdb0f1e10ddb4b81a8 (diff) | |
download | history-f121b8fca19b1b805255d5bd0a6247ad0cbe812a.tar.gz |
merge
Diffstat (limited to 'security')
-rw-r--r-- | security/capability.c | 366 | ||||
-rw-r--r-- | security/dummy.c | 370 |
2 files changed, 732 insertions, 4 deletions
diff --git a/security/capability.c b/security/capability.c index 66f57b705ff6cb..0cb1bff019b29b 100644 --- a/security/capability.c +++ b/security/capability.c @@ -37,6 +37,16 @@ static int cap_sys_security (unsigned int id, unsigned int call, return -ENOSYS; } +static int cap_quotactl (int cmds, int type, int id, struct super_block *sb) +{ + return 0; +} + +static int cap_quota_on (struct file *f) +{ + return 0; +} + static int cap_ptrace (struct task_struct *parent, struct task_struct *child) { /* Derived from arch/i386/kernel/ptrace.c:sys_ptrace. */ @@ -95,6 +105,11 @@ static void cap_capset_set (struct task_struct *target, target->cap_permitted = *permitted; } +static int cap_acct (struct file *file) +{ + return 0; +} + static int cap_bprm_alloc_security (struct linux_binprm *bprm) { return 0; @@ -189,6 +204,294 @@ static void cap_bprm_compute_creds (struct linux_binprm *bprm) current->keep_capabilities = 0; } +static int cap_sb_alloc_security (struct super_block *sb) +{ + return 0; +} + +static void cap_sb_free_security (struct super_block *sb) +{ + return; +} + +static int cap_sb_statfs (struct super_block *sb) +{ + return 0; +} + +static int cap_mount (char *dev_name, struct nameidata *nd, char *type, + unsigned long flags, void *data) +{ + return 0; +} + +static int cap_check_sb (struct vfsmount *mnt, struct nameidata *nd) +{ + return 0; +} + +static int cap_umount (struct vfsmount *mnt, int flags) +{ + return 0; +} + +static void cap_umount_close (struct vfsmount *mnt) +{ + return; +} + +static void cap_umount_busy (struct vfsmount *mnt) +{ + return; +} + +static void cap_post_remount (struct vfsmount *mnt, unsigned long flags, + void *data) +{ + return; +} + +static void cap_post_mountroot (void) +{ + return; +} + +static void cap_post_addmount (struct vfsmount *mnt, struct nameidata *nd) +{ + return; +} + +static int cap_pivotroot (struct nameidata *old_nd, struct nameidata *new_nd) +{ + return 0; +} + +static void cap_post_pivotroot (struct nameidata *old_nd, struct nameidata *new_nd) +{ + return; +} + +static int cap_inode_alloc_security (struct inode *inode) +{ + return 0; +} + +static void cap_inode_free_security (struct inode *inode) +{ + return; +} + +static int cap_inode_create (struct inode *inode, struct dentry *dentry, + int mask) +{ + return 0; +} + +static void cap_inode_post_create (struct inode *inode, struct dentry *dentry, + int mask) +{ + return; +} + +static int cap_inode_link (struct dentry *old_dentry, struct inode *inode, + struct dentry *new_dentry) +{ + return 0; +} + +static void cap_inode_post_link (struct dentry *old_dentry, struct inode *inode, + struct dentry *new_dentry) +{ + return; +} + +static int cap_inode_unlink (struct inode *inode, struct dentry *dentry) +{ + return 0; +} + +static int cap_inode_symlink (struct inode *inode, struct dentry *dentry, + const char *name) +{ + return 0; +} + +static void cap_inode_post_symlink (struct inode *inode, struct dentry *dentry, + const char *name) +{ + return; +} + +static int cap_inode_mkdir (struct inode *inode, struct dentry *dentry, + int mask) +{ + return 0; +} + +static void cap_inode_post_mkdir (struct inode *inode, struct dentry *dentry, + int mask) +{ + return; +} + +static int cap_inode_rmdir (struct inode *inode, struct dentry *dentry) +{ + return 0; +} + +static int cap_inode_mknod (struct inode *inode, struct dentry *dentry, + int major, dev_t minor) +{ + return 0; +} + +static void cap_inode_post_mknod (struct inode *inode, struct dentry *dentry, + int major, dev_t minor) +{ + return; +} + +static int cap_inode_rename (struct inode *old_inode, struct dentry *old_dentry, + struct inode *new_inode, struct dentry *new_dentry) +{ + return 0; +} + +static void cap_inode_post_rename (struct inode *old_inode, + struct dentry *old_dentry, + struct inode *new_inode, + struct dentry *new_dentry) +{ + return; +} + +static int cap_inode_readlink (struct dentry *dentry) +{ + return 0; +} + +static int cap_inode_follow_link (struct dentry *dentry, + struct nameidata *nameidata) +{ + return 0; +} + +static int cap_inode_permission (struct inode *inode, int mask) +{ + return 0; +} + +static int cap_inode_permission_lite (struct inode *inode, int mask) +{ + return 0; +} + +static int cap_inode_setattr (struct dentry *dentry, struct iattr *iattr) +{ + return 0; +} + +static int cap_inode_getattr (struct vfsmount *mnt, struct dentry *dentry) +{ + return 0; +} + +static void cap_post_lookup (struct inode *ino, struct dentry *d) +{ + return; +} + +static void cap_delete (struct inode *ino) +{ + return; +} + +static int cap_inode_setxattr (struct dentry *dentry, char *name, void *value, + size_t size, int flags) +{ + return 0; +} + +static int cap_inode_getxattr (struct dentry *dentry, char *name) +{ + return 0; +} + +static int cap_inode_listxattr (struct dentry *dentry) +{ + return 0; +} + +static int cap_inode_removexattr (struct dentry *dentry, char *name) +{ + return 0; +} + +static int cap_file_permission (struct file *file, int mask) +{ + return 0; +} + +static int cap_file_alloc_security (struct file *file) +{ + return 0; +} + +static void cap_file_free_security (struct file *file) +{ + return; +} + +static int cap_file_llseek (struct file *file) +{ + return 0; +} + +static int cap_file_ioctl (struct file *file, unsigned int command, + unsigned long arg) +{ + return 0; +} + +static int cap_file_mmap (struct file *file, unsigned long prot, + unsigned long flags) +{ + return 0; +} + +static int cap_file_mprotect (struct vm_area_struct *vma, unsigned long prot) +{ + return 0; +} + +static int cap_file_lock (struct file *file, unsigned int cmd, int blocking) +{ + return 0; +} + +static int cap_file_fcntl (struct file *file, unsigned int cmd, + unsigned long arg) +{ + return 0; +} + +static int cap_file_set_fowner (struct file *file) +{ + return 0; +} + +static int cap_file_send_sigiotask (struct task_struct *tsk, + struct fown_struct *fown, int fd, + int reason) +{ + return 0; +} + +static int cap_file_receive (struct file *file) +{ + return 0; +} + static int cap_task_create (unsigned long clone_flags) { return 0; @@ -391,15 +694,74 @@ static struct security_operations capability_ops = { .capget = cap_capget, .capset_check = cap_capset_check, .capset_set = cap_capset_set, + .acct = cap_acct, .capable = cap_capable, .sys_security = cap_sys_security, - + .quotactl = cap_quotactl, + .quota_on = cap_quota_on, + .bprm_alloc_security = cap_bprm_alloc_security, .bprm_free_security = cap_bprm_free_security, .bprm_compute_creds = cap_bprm_compute_creds, .bprm_set_security = cap_bprm_set_security, .bprm_check_security = cap_bprm_check_security, + + sb_alloc_security: cap_sb_alloc_security, + sb_free_security: cap_sb_free_security, + sb_statfs: cap_sb_statfs, + sb_mount: cap_mount, + sb_check_sb: cap_check_sb, + sb_umount: cap_umount, + sb_umount_close: cap_umount_close, + sb_umount_busy: cap_umount_busy, + sb_post_remount: cap_post_remount, + sb_post_mountroot: cap_post_mountroot, + sb_post_addmount: cap_post_addmount, + sb_pivotroot: cap_pivotroot, + sb_post_pivotroot: cap_post_pivotroot, + + inode_alloc_security: cap_inode_alloc_security, + inode_free_security: cap_inode_free_security, + inode_create: cap_inode_create, + inode_post_create: cap_inode_post_create, + inode_link: cap_inode_link, + inode_post_link: cap_inode_post_link, + inode_unlink: cap_inode_unlink, + inode_symlink: cap_inode_symlink, + inode_post_symlink: cap_inode_post_symlink, + inode_mkdir: cap_inode_mkdir, + inode_post_mkdir: cap_inode_post_mkdir, + inode_rmdir: cap_inode_rmdir, + inode_mknod: cap_inode_mknod, + inode_post_mknod: cap_inode_post_mknod, + inode_rename: cap_inode_rename, + inode_post_rename: cap_inode_post_rename, + inode_readlink: cap_inode_readlink, + inode_follow_link: cap_inode_follow_link, + inode_permission: cap_inode_permission, + inode_permission_lite: cap_inode_permission_lite, + inode_setattr: cap_inode_setattr, + inode_getattr: cap_inode_getattr, + inode_post_lookup: cap_post_lookup, + inode_delete: cap_delete, + inode_setxattr: cap_inode_setxattr, + inode_getxattr: cap_inode_getxattr, + inode_listxattr: cap_inode_listxattr, + inode_removexattr: cap_inode_removexattr, + file_permission: cap_file_permission, + file_alloc_security: cap_file_alloc_security, + file_free_security: cap_file_free_security, + file_llseek: cap_file_llseek, + file_ioctl: cap_file_ioctl, + file_mmap: cap_file_mmap, + file_mprotect: cap_file_mprotect, + file_lock: cap_file_lock, + file_fcntl: cap_file_fcntl, + file_set_fowner: cap_file_set_fowner, + file_send_sigiotask: cap_file_send_sigiotask, + file_receive: cap_file_receive, + .task_create = cap_task_create, .task_alloc_security = cap_task_alloc_security, .task_free_security = cap_task_free_security, @@ -419,7 +781,7 @@ static struct security_operations capability_ops = { .task_prctl = cap_task_prctl, .task_kmod_set_label = cap_task_kmod_set_label, .task_reparent_to_init = cap_task_reparent_to_init, - + .register_security = cap_register, .unregister_security = cap_unregister, }; diff --git a/security/dummy.c b/security/dummy.c index e3a4dc9cb2349b..cba138a5cbb928 100644 --- a/security/dummy.c +++ b/security/dummy.c @@ -46,6 +46,11 @@ static void dummy_capset_set (struct task_struct *target, return; } +static int dummy_acct (struct file *file) +{ + return 0; +} + static int dummy_capable (struct task_struct *tsk, int cap) { if (cap_is_fs_cap (cap) ? tsk->fsuid == 0 : tsk->euid == 0) @@ -62,6 +67,16 @@ static int dummy_sys_security (unsigned int id, unsigned int call, return -ENOSYS; } +static int dummy_quotactl (int cmds, int type, int id, struct super_block *sb) +{ + return 0; +} + +static int dummy_quota_on (struct file *f) +{ + return 0; +} + static int dummy_bprm_alloc_security (struct linux_binprm *bprm) { return 0; @@ -87,6 +102,298 @@ static int dummy_bprm_check_security (struct linux_binprm *bprm) return 0; } +static int dummy_sb_alloc_security (struct super_block *sb) +{ + return 0; +} + +static void dummy_sb_free_security (struct super_block *sb) +{ + return; +} + +static int dummy_sb_statfs (struct super_block *sb) +{ + return 0; +} + +static int dummy_mount (char *dev_name, struct nameidata *nd, char *type, + unsigned long flags, void *data) +{ + return 0; +} + +static int dummy_check_sb (struct vfsmount *mnt, struct nameidata *nd) +{ + return 0; +} + +static int dummy_umount (struct vfsmount *mnt, int flags) +{ + return 0; +} + +static void dummy_umount_close (struct vfsmount *mnt) +{ + return; +} + +static void dummy_umount_busy (struct vfsmount *mnt) +{ + return; +} + +static void dummy_post_remount (struct vfsmount *mnt, unsigned long flags, + void *data) +{ + return; +} + + +static void dummy_post_mountroot (void) +{ + return; +} + +static void dummy_post_addmount (struct vfsmount *mnt, struct nameidata *nd) +{ + return; +} + +static int dummy_pivotroot (struct nameidata *old_nd, struct nameidata *new_nd) +{ + return 0; +} + +static void dummy_post_pivotroot (struct nameidata *old_nd, struct nameidata *new_nd) +{ + return; +} + +static int dummy_inode_alloc_security (struct inode *inode) +{ + return 0; +} + +static void dummy_inode_free_security (struct inode *inode) +{ + return; +} + +static int dummy_inode_create (struct inode *inode, struct dentry *dentry, + int mask) +{ + return 0; +} + +static void dummy_inode_post_create (struct inode *inode, struct dentry *dentry, + int mask) +{ + return; +} + +static int dummy_inode_link (struct dentry *old_dentry, struct inode *inode, + struct dentry *new_dentry) +{ + return 0; +} + +static void dummy_inode_post_link (struct dentry *old_dentry, + struct inode *inode, + struct dentry *new_dentry) +{ + return; +} + +static int dummy_inode_unlink (struct inode *inode, struct dentry *dentry) +{ + return 0; +} + +static int dummy_inode_symlink (struct inode *inode, struct dentry *dentry, + const char *name) +{ + return 0; +} + +static void dummy_inode_post_symlink (struct inode *inode, + struct dentry *dentry, const char *name) +{ + return; +} + +static int dummy_inode_mkdir (struct inode *inode, struct dentry *dentry, + int mask) +{ + return 0; +} + +static void dummy_inode_post_mkdir (struct inode *inode, struct dentry *dentry, + int mask) +{ + return; +} + +static int dummy_inode_rmdir (struct inode *inode, struct dentry *dentry) +{ + return 0; +} + +static int dummy_inode_mknod (struct inode *inode, struct dentry *dentry, + int major, dev_t minor) +{ + return 0; +} + +static void dummy_inode_post_mknod (struct inode *inode, struct dentry *dentry, + int major, dev_t minor) +{ + return; +} + +static int dummy_inode_rename (struct inode *old_inode, + struct dentry *old_dentry, + struct inode *new_inode, + struct dentry *new_dentry) +{ + return 0; +} + +static void dummy_inode_post_rename (struct inode *old_inode, + struct dentry *old_dentry, + struct inode *new_inode, + struct dentry *new_dentry) +{ + return; +} + +static int dummy_inode_readlink (struct dentry *dentry) +{ + return 0; +} + +static int dummy_inode_follow_link (struct dentry *dentry, + struct nameidata *nameidata) +{ + return 0; +} + +static int dummy_inode_permission (struct inode *inode, int mask) +{ + return 0; +} + +static int dummy_inode_permission_lite (struct inode *inode, int mask) +{ + return 0; +} + +static int dummy_inode_setattr (struct dentry *dentry, struct iattr *iattr) +{ + return 0; +} + +static int dummy_inode_getattr (struct vfsmount *mnt, struct dentry *dentry) +{ + return 0; +} + +static void dummy_post_lookup (struct inode *ino, struct dentry *d) +{ + return; +} + +static void dummy_delete (struct inode *ino) +{ + return; +} + +static int dummy_inode_setxattr (struct dentry *dentry, char *name, void *value, + size_t size, int flags) +{ + return 0; +} + +static int dummy_inode_getxattr (struct dentry *dentry, char *name) +{ + return 0; +} + +static int dummy_inode_listxattr (struct dentry *dentry) +{ + return 0; +} + +static int dummy_inode_removexattr (struct dentry *dentry, char *name) +{ + return 0; +} + +static int dummy_file_permission (struct file *file, int mask) +{ + return 0; +} + +static int dummy_file_alloc_security (struct file *file) +{ + return 0; +} + +static void dummy_file_free_security (struct file *file) +{ + return; +} + +static int dummy_file_llseek (struct file *file) +{ + return 0; +} + +static int dummy_file_ioctl (struct file *file, unsigned int command, + unsigned long arg) +{ + return 0; +} + +static int dummy_file_mmap (struct file *file, unsigned long prot, + unsigned long flags) +{ + return 0; +} + +static int dummy_file_mprotect (struct vm_area_struct *vma, unsigned long prot) +{ + return 0; +} + +static int dummy_file_lock (struct file *file, unsigned int cmd, int blocking) +{ + return 0; +} + +static int dummy_file_fcntl (struct file *file, unsigned int cmd, + unsigned long arg) +{ + return 0; +} + +static int dummy_file_set_fowner (struct file *file) +{ + return 0; +} + +static int dummy_file_send_sigiotask (struct task_struct *tsk, + struct fown_struct *fown, int fd, + int reason) +{ + return 0; +} + +static int dummy_file_receive (struct file *file) +{ + return 0; +} + static int dummy_task_create (unsigned long clone_flags) { return 0; @@ -201,15 +508,74 @@ struct security_operations dummy_security_ops = { .capget = dummy_capget, .capset_check = dummy_capset_check, .capset_set = dummy_capset_set, + .acct = dummy_act, .capable = dummy_capable, .sys_security = dummy_sys_security, - + quotactl: dummy_quotactl, + quota_on: dummy_quota_on, + .bprm_alloc_security = dummy_bprm_alloc_security, .bprm_free_security = dummy_bprm_free_security, .bprm_compute_creds = dummy_bprm_compute_creds, .bprm_set_security = dummy_bprm_set_security, .bprm_check_security = dummy_bprm_check_security, + sb_alloc_security: dummy_sb_alloc_security, + sb_free_security: dummy_sb_free_security, + sb_statfs: dummy_sb_statfs, + sb_mount: dummy_mount, + sb_check_sb: dummy_check_sb, + sb_umount: dummy_umount, + sb_umount_close: dummy_umount_close, + sb_umount_busy: dummy_umount_busy, + sb_post_remount: dummy_post_remount, + sb_post_mountroot: dummy_post_mountroot, + sb_post_addmount: dummy_post_addmount, + sb_pivotroot: dummy_pivotroot, + sb_post_pivotroot: dummy_post_pivotroot, + + inode_alloc_security: dummy_inode_alloc_security, + inode_free_security: dummy_inode_free_security, + inode_create: dummy_inode_create, + inode_post_create: dummy_inode_post_create, + inode_link: dummy_inode_link, + inode_post_link: dummy_inode_post_link, + inode_unlink: dummy_inode_unlink, + inode_symlink: dummy_inode_symlink, + inode_post_symlink: dummy_inode_post_symlink, + inode_mkdir: dummy_inode_mkdir, + inode_post_mkdir: dummy_inode_post_mkdir, + inode_rmdir: dummy_inode_rmdir, + inode_mknod: dummy_inode_mknod, + inode_post_mknod: dummy_inode_post_mknod, + inode_rename: dummy_inode_rename, + inode_post_rename: dummy_inode_post_rename, + inode_readlink: dummy_inode_readlink, + inode_follow_link: dummy_inode_follow_link, + inode_permission: dummy_inode_permission, + inode_permission_lite: dummy_inode_permission_lite, + inode_setattr: dummy_inode_setattr, + inode_getattr: dummy_inode_getattr, + inode_post_lookup: dummy_post_lookup, + inode_delete: dummy_delete, + inode_setxattr: dummy_inode_setxattr, + inode_getxattr: dummy_inode_getxattr, + inode_listxattr: dummy_inode_listxattr, + inode_removexattr: dummy_inode_removexattr, + + file_permission: dummy_file_permission, + file_alloc_security: dummy_file_alloc_security, + file_free_security: dummy_file_free_security, + file_llseek: dummy_file_llseek, + file_ioctl: dummy_file_ioctl, + file_mmap: dummy_file_mmap, + file_mprotect: dummy_file_mprotect, + file_lock: dummy_file_lock, + file_fcntl: dummy_file_fcntl, + file_set_fowner: dummy_file_set_fowner, + file_send_sigiotask: dummy_file_send_sigiotask, + file_receive: dummy_file_receive, + .task_create = dummy_task_create, .task_alloc_security = dummy_task_alloc_security, .task_free_security = dummy_task_free_security, @@ -229,7 +595,7 @@ struct security_operations dummy_security_ops = { .task_prctl = dummy_task_prctl, .task_kmod_set_label = dummy_task_kmod_set_label, .task_reparent_to_init = dummy_task_reparent_to_init, - + .register_security = dummy_register, .unregister_security = dummy_unregister, }; |