diff options
-rw-r--r-- | include/linux/security.h | 898 |
1 files changed, 449 insertions, 449 deletions
diff --git a/include/linux/security.h b/include/linux/security.h index 53a34539382a..a90c06376eec 100644 --- a/include/linux/security.h +++ b/include/linux/security.h | |||
@@ -46,25 +46,25 @@ struct audit_krule; | |||
46 | * These functions are in security/capability.c and are used | 46 | * These functions are in security/capability.c and are used |
47 | * as the default capabilities functions | 47 | * as the default capabilities functions |
48 | */ | 48 | */ |
49 | extern int cap_capable (struct task_struct *tsk, int cap); | 49 | extern int cap_capable(struct task_struct *tsk, int cap); |
50 | extern int cap_settime (struct timespec *ts, struct timezone *tz); | 50 | extern int cap_settime(struct timespec *ts, struct timezone *tz); |
51 | extern int cap_ptrace (struct task_struct *parent, struct task_struct *child); | 51 | extern int cap_ptrace(struct task_struct *parent, struct task_struct *child); |
52 | extern int cap_capget (struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); | 52 | extern int cap_capget(struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); |
53 | extern int cap_capset_check (struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); | 53 | extern int cap_capset_check(struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); |
54 | extern void cap_capset_set (struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); | 54 | extern void cap_capset_set(struct task_struct *target, kernel_cap_t *effective, kernel_cap_t *inheritable, kernel_cap_t *permitted); |
55 | extern int cap_bprm_set_security (struct linux_binprm *bprm); | 55 | extern int cap_bprm_set_security(struct linux_binprm *bprm); |
56 | extern void cap_bprm_apply_creds (struct linux_binprm *bprm, int unsafe); | 56 | extern void cap_bprm_apply_creds(struct linux_binprm *bprm, int unsafe); |
57 | extern int cap_bprm_secureexec(struct linux_binprm *bprm); | 57 | extern int cap_bprm_secureexec(struct linux_binprm *bprm); |
58 | extern int cap_inode_setxattr(struct dentry *dentry, char *name, void *value, size_t size, int flags); | 58 | extern int cap_inode_setxattr(struct dentry *dentry, char *name, void *value, size_t size, int flags); |
59 | extern int cap_inode_removexattr(struct dentry *dentry, char *name); | 59 | extern int cap_inode_removexattr(struct dentry *dentry, char *name); |
60 | extern int cap_inode_need_killpriv(struct dentry *dentry); | 60 | extern int cap_inode_need_killpriv(struct dentry *dentry); |
61 | extern int cap_inode_killpriv(struct dentry *dentry); | 61 | extern int cap_inode_killpriv(struct dentry *dentry); |
62 | extern int cap_task_post_setuid (uid_t old_ruid, uid_t old_euid, uid_t old_suid, int flags); | 62 | extern int cap_task_post_setuid(uid_t old_ruid, uid_t old_euid, uid_t old_suid, int flags); |
63 | extern void cap_task_reparent_to_init (struct task_struct *p); | 63 | extern void cap_task_reparent_to_init(struct task_struct *p); |
64 | extern int cap_task_setscheduler (struct task_struct *p, int policy, struct sched_param *lp); | 64 | extern int cap_task_setscheduler(struct task_struct *p, int policy, struct sched_param *lp); |
65 | extern int cap_task_setioprio (struct task_struct *p, int ioprio); | 65 | extern int cap_task_setioprio(struct task_struct *p, int ioprio); |
66 | extern int cap_task_setnice (struct task_struct *p, int nice); | 66 | extern int cap_task_setnice(struct task_struct *p, int nice); |
67 | extern int cap_syslog (int type); | 67 | extern int cap_syslog(int type); |
68 | extern int cap_vm_enough_memory(struct mm_struct *mm, long pages); | 68 | extern int cap_vm_enough_memory(struct mm_struct *mm, long pages); |
69 | 69 | ||
70 | struct msghdr; | 70 | struct msghdr; |
@@ -128,7 +128,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
128 | { | 128 | { |
129 | int i; | 129 | int i; |
130 | if (opts->mnt_opts) | 130 | if (opts->mnt_opts) |
131 | for(i = 0; i < opts->num_mnt_opts; i++) | 131 | for (i = 0; i < opts->num_mnt_opts; i++) |
132 | kfree(opts->mnt_opts[i]); | 132 | kfree(opts->mnt_opts[i]); |
133 | kfree(opts->mnt_opts); | 133 | kfree(opts->mnt_opts); |
134 | opts->mnt_opts = NULL; | 134 | opts->mnt_opts = NULL; |
@@ -190,21 +190,21 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
190 | * @bprm contains the linux_binprm structure. | 190 | * @bprm contains the linux_binprm structure. |
191 | * Return 0 if the hook is successful and permission is granted. | 191 | * Return 0 if the hook is successful and permission is granted. |
192 | * @bprm_check_security: | 192 | * @bprm_check_security: |
193 | * This hook mediates the point when a search for a binary handler will | 193 | * This hook mediates the point when a search for a binary handler will |
194 | * begin. It allows a check the @bprm->security value which is set in | 194 | * begin. It allows a check the @bprm->security value which is set in |
195 | * the preceding set_security call. The primary difference from | 195 | * the preceding set_security call. The primary difference from |
196 | * set_security is that the argv list and envp list are reliably | 196 | * set_security is that the argv list and envp list are reliably |
197 | * available in @bprm. This hook may be called multiple times | 197 | * available in @bprm. This hook may be called multiple times |
198 | * during a single execve; and in each pass set_security is called | 198 | * during a single execve; and in each pass set_security is called |
199 | * first. | 199 | * first. |
200 | * @bprm contains the linux_binprm structure. | 200 | * @bprm contains the linux_binprm structure. |
201 | * Return 0 if the hook is successful and permission is granted. | 201 | * Return 0 if the hook is successful and permission is granted. |
202 | * @bprm_secureexec: | 202 | * @bprm_secureexec: |
203 | * Return a boolean value (0 or 1) indicating whether a "secure exec" | 203 | * Return a boolean value (0 or 1) indicating whether a "secure exec" |
204 | * is required. The flag is passed in the auxiliary table | 204 | * is required. The flag is passed in the auxiliary table |
205 | * on the initial stack to the ELF interpreter to indicate whether libc | 205 | * on the initial stack to the ELF interpreter to indicate whether libc |
206 | * should enable secure mode. | 206 | * should enable secure mode. |
207 | * @bprm contains the linux_binprm structure. | 207 | * @bprm contains the linux_binprm structure. |
208 | * | 208 | * |
209 | * Security hooks for filesystem operations. | 209 | * Security hooks for filesystem operations. |
210 | * | 210 | * |
@@ -221,7 +221,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
221 | * Check permission before obtaining filesystem statistics for the @mnt | 221 | * Check permission before obtaining filesystem statistics for the @mnt |
222 | * mountpoint. | 222 | * mountpoint. |
223 | * @dentry is a handle on the superblock for the filesystem. | 223 | * @dentry is a handle on the superblock for the filesystem. |
224 | * Return 0 if permission is granted. | 224 | * Return 0 if permission is granted. |
225 | * @sb_mount: | 225 | * @sb_mount: |
226 | * Check permission before an object specified by @dev_name is mounted on | 226 | * Check permission before an object specified by @dev_name is mounted on |
227 | * the mount point named by @nd. For an ordinary mount, @dev_name | 227 | * the mount point named by @nd. For an ordinary mount, @dev_name |
@@ -282,12 +282,12 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
282 | * @sb_pivotroot: | 282 | * @sb_pivotroot: |
283 | * Check permission before pivoting the root filesystem. | 283 | * Check permission before pivoting the root filesystem. |
284 | * @old_path contains the path for the new location of the current root (put_old). | 284 | * @old_path contains the path for the new location of the current root (put_old). |
285 | * @new_path contains the path for the new root (new_root). | 285 | * @new_path contains the path for the new root (new_root). |
286 | * Return 0 if permission is granted. | 286 | * Return 0 if permission is granted. |
287 | * @sb_post_pivotroot: | 287 | * @sb_post_pivotroot: |
288 | * Update module state after a successful pivot. | 288 | * Update module state after a successful pivot. |
289 | * @old_path contains the path for the old root. | 289 | * @old_path contains the path for the old root. |
290 | * @new_path contains the path for the new root. | 290 | * @new_path contains the path for the new root. |
291 | * @sb_get_mnt_opts: | 291 | * @sb_get_mnt_opts: |
292 | * Get the security relevant mount options used for a superblock | 292 | * Get the security relevant mount options used for a superblock |
293 | * @sb the superblock to get security mount options from | 293 | * @sb the superblock to get security mount options from |
@@ -316,9 +316,9 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
316 | * @inode_free_security: | 316 | * @inode_free_security: |
317 | * @inode contains the inode structure. | 317 | * @inode contains the inode structure. |
318 | * Deallocate the inode security structure and set @inode->i_security to | 318 | * Deallocate the inode security structure and set @inode->i_security to |
319 | * NULL. | 319 | * NULL. |
320 | * @inode_init_security: | 320 | * @inode_init_security: |
321 | * Obtain the security attribute name suffix and value to set on a newly | 321 | * Obtain the security attribute name suffix and value to set on a newly |
322 | * created inode and set up the incore security field for the new inode. | 322 | * created inode and set up the incore security field for the new inode. |
323 | * This hook is called by the fs code as part of the inode creation | 323 | * This hook is called by the fs code as part of the inode creation |
324 | * transaction and provides for atomic labeling of the inode, unlike | 324 | * transaction and provides for atomic labeling of the inode, unlike |
@@ -349,7 +349,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
349 | * @new_dentry contains the dentry structure for the new link. | 349 | * @new_dentry contains the dentry structure for the new link. |
350 | * Return 0 if permission is granted. | 350 | * Return 0 if permission is granted. |
351 | * @inode_unlink: | 351 | * @inode_unlink: |
352 | * Check the permission to remove a hard link to a file. | 352 | * Check the permission to remove a hard link to a file. |
353 | * @dir contains the inode structure of parent directory of the file. | 353 | * @dir contains the inode structure of parent directory of the file. |
354 | * @dentry contains the dentry structure for file to be unlinked. | 354 | * @dentry contains the dentry structure for file to be unlinked. |
355 | * Return 0 if permission is granted. | 355 | * Return 0 if permission is granted. |
@@ -361,7 +361,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
361 | * Return 0 if permission is granted. | 361 | * Return 0 if permission is granted. |
362 | * @inode_mkdir: | 362 | * @inode_mkdir: |
363 | * Check permissions to create a new directory in the existing directory | 363 | * Check permissions to create a new directory in the existing directory |
364 | * associated with inode strcture @dir. | 364 | * associated with inode strcture @dir. |
365 | * @dir containst the inode structure of parent of the directory to be created. | 365 | * @dir containst the inode structure of parent of the directory to be created. |
366 | * @dentry contains the dentry structure of new directory. | 366 | * @dentry contains the dentry structure of new directory. |
367 | * @mode contains the mode of new directory. | 367 | * @mode contains the mode of new directory. |
@@ -406,7 +406,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
406 | * called when the actual read/write operations are performed. | 406 | * called when the actual read/write operations are performed. |
407 | * @inode contains the inode structure to check. | 407 | * @inode contains the inode structure to check. |
408 | * @mask contains the permission mask. | 408 | * @mask contains the permission mask. |
409 | * @nd contains the nameidata (may be NULL). | 409 | * @nd contains the nameidata (may be NULL). |
410 | * Return 0 if permission is granted. | 410 | * Return 0 if permission is granted. |
411 | * @inode_setattr: | 411 | * @inode_setattr: |
412 | * Check permission before setting file attributes. Note that the kernel | 412 | * Check permission before setting file attributes. Note that the kernel |
@@ -428,24 +428,24 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
428 | * can use this hook to release any persistent label associated with the | 428 | * can use this hook to release any persistent label associated with the |
429 | * inode. | 429 | * inode. |
430 | * @inode_setxattr: | 430 | * @inode_setxattr: |
431 | * Check permission before setting the extended attributes | 431 | * Check permission before setting the extended attributes |
432 | * @value identified by @name for @dentry. | 432 | * @value identified by @name for @dentry. |
433 | * Return 0 if permission is granted. | 433 | * Return 0 if permission is granted. |
434 | * @inode_post_setxattr: | 434 | * @inode_post_setxattr: |
435 | * Update inode security field after successful setxattr operation. | 435 | * Update inode security field after successful setxattr operation. |
436 | * @value identified by @name for @dentry. | 436 | * @value identified by @name for @dentry. |
437 | * @inode_getxattr: | 437 | * @inode_getxattr: |
438 | * Check permission before obtaining the extended attributes | 438 | * Check permission before obtaining the extended attributes |
439 | * identified by @name for @dentry. | 439 | * identified by @name for @dentry. |
440 | * Return 0 if permission is granted. | 440 | * Return 0 if permission is granted. |
441 | * @inode_listxattr: | 441 | * @inode_listxattr: |
442 | * Check permission before obtaining the list of extended attribute | 442 | * Check permission before obtaining the list of extended attribute |
443 | * names for @dentry. | 443 | * names for @dentry. |
444 | * Return 0 if permission is granted. | 444 | * Return 0 if permission is granted. |
445 | * @inode_removexattr: | 445 | * @inode_removexattr: |
446 | * Check permission before removing the extended attribute | 446 | * Check permission before removing the extended attribute |
447 | * identified by @name for @dentry. | 447 | * identified by @name for @dentry. |
448 | * Return 0 if permission is granted. | 448 | * Return 0 if permission is granted. |
449 | * @inode_getsecurity: | 449 | * @inode_getsecurity: |
450 | * Retrieve a copy of the extended attribute representation of the | 450 | * Retrieve a copy of the extended attribute representation of the |
451 | * security label associated with @name for @inode via @buffer. Note that | 451 | * security label associated with @name for @inode via @buffer. Note that |
@@ -457,7 +457,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
457 | * Set the security label associated with @name for @inode from the | 457 | * Set the security label associated with @name for @inode from the |
458 | * extended attribute value @value. @size indicates the size of the | 458 | * extended attribute value @value. @size indicates the size of the |
459 | * @value in bytes. @flags may be XATTR_CREATE, XATTR_REPLACE, or 0. | 459 | * @value in bytes. @flags may be XATTR_CREATE, XATTR_REPLACE, or 0. |
460 | * Note that @name is the remainder of the attribute name after the | 460 | * Note that @name is the remainder of the attribute name after the |
461 | * security. prefix has been removed. | 461 | * security. prefix has been removed. |
462 | * Return 0 on success. | 462 | * Return 0 on success. |
463 | * @inode_listsecurity: | 463 | * @inode_listsecurity: |
@@ -564,7 +564,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
564 | * struct file, so the file structure (and associated security information) | 564 | * struct file, so the file structure (and associated security information) |
565 | * can always be obtained: | 565 | * can always be obtained: |
566 | * container_of(fown, struct file, f_owner) | 566 | * container_of(fown, struct file, f_owner) |
567 | * @tsk contains the structure of task receiving signal. | 567 | * @tsk contains the structure of task receiving signal. |
568 | * @fown contains the file owner information. | 568 | * @fown contains the file owner information. |
569 | * @sig is the signal that will be sent. When 0, kernel sends SIGIO. | 569 | * @sig is the signal that will be sent. When 0, kernel sends SIGIO. |
570 | * Return 0 if permission is granted. | 570 | * Return 0 if permission is granted. |
@@ -722,12 +722,12 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
722 | * @arg5 contains a argument. | 722 | * @arg5 contains a argument. |
723 | * Return 0 if permission is granted. | 723 | * Return 0 if permission is granted. |
724 | * @task_reparent_to_init: | 724 | * @task_reparent_to_init: |
725 | * Set the security attributes in @p->security for a kernel thread that | 725 | * Set the security attributes in @p->security for a kernel thread that |
726 | * is being reparented to the init task. | 726 | * is being reparented to the init task. |
727 | * @p contains the task_struct for the kernel thread. | 727 | * @p contains the task_struct for the kernel thread. |
728 | * @task_to_inode: | 728 | * @task_to_inode: |
729 | * Set the security attributes for an inode based on an associated task's | 729 | * Set the security attributes for an inode based on an associated task's |
730 | * security attributes, e.g. for /proc/pid inodes. | 730 | * security attributes, e.g. for /proc/pid inodes. |
731 | * @p contains the task_struct for the task. | 731 | * @p contains the task_struct for the task. |
732 | * @inode contains the inode structure for the inode. | 732 | * @inode contains the inode structure for the inode. |
733 | * | 733 | * |
@@ -737,7 +737,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
737 | * Save security information for a netlink message so that permission | 737 | * Save security information for a netlink message so that permission |
738 | * checking can be performed when the message is processed. The security | 738 | * checking can be performed when the message is processed. The security |
739 | * information can be saved using the eff_cap field of the | 739 | * information can be saved using the eff_cap field of the |
740 | * netlink_skb_parms structure. Also may be used to provide fine | 740 | * netlink_skb_parms structure. Also may be used to provide fine |
741 | * grained control over message transmission. | 741 | * grained control over message transmission. |
742 | * @sk associated sock of task sending the message., | 742 | * @sk associated sock of task sending the message., |
743 | * @skb contains the sk_buff structure for the netlink message. | 743 | * @skb contains the sk_buff structure for the netlink message. |
@@ -805,14 +805,14 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
805 | * @sock contains the socket structure. | 805 | * @sock contains the socket structure. |
806 | * @address contains the address to bind to. | 806 | * @address contains the address to bind to. |
807 | * @addrlen contains the length of address. | 807 | * @addrlen contains the length of address. |
808 | * Return 0 if permission is granted. | 808 | * Return 0 if permission is granted. |
809 | * @socket_connect: | 809 | * @socket_connect: |
810 | * Check permission before socket protocol layer connect operation | 810 | * Check permission before socket protocol layer connect operation |
811 | * attempts to connect socket @sock to a remote address, @address. | 811 | * attempts to connect socket @sock to a remote address, @address. |
812 | * @sock contains the socket structure. | 812 | * @sock contains the socket structure. |
813 | * @address contains the address of remote endpoint. | 813 | * @address contains the address of remote endpoint. |
814 | * @addrlen contains the length of address. | 814 | * @addrlen contains the length of address. |
815 | * Return 0 if permission is granted. | 815 | * Return 0 if permission is granted. |
816 | * @socket_listen: | 816 | * @socket_listen: |
817 | * Check permission before socket protocol layer listen operation. | 817 | * Check permission before socket protocol layer listen operation. |
818 | * @sock contains the socket structure. | 818 | * @sock contains the socket structure. |
@@ -842,7 +842,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
842 | * @msg contains the message structure. | 842 | * @msg contains the message structure. |
843 | * @size contains the size of message structure. | 843 | * @size contains the size of message structure. |
844 | * @flags contains the operational flags. | 844 | * @flags contains the operational flags. |
845 | * Return 0 if permission is granted. | 845 | * Return 0 if permission is granted. |
846 | * @socket_getsockname: | 846 | * @socket_getsockname: |
847 | * Check permission before the local address (name) of the socket object | 847 | * Check permission before the local address (name) of the socket object |
848 | * @sock is retrieved. | 848 | * @sock is retrieved. |
@@ -866,7 +866,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
866 | * @sock contains the socket structure. | 866 | * @sock contains the socket structure. |
867 | * @level contains the protocol level to set options for. | 867 | * @level contains the protocol level to set options for. |
868 | * @optname contains the name of the option to set. | 868 | * @optname contains the name of the option to set. |
869 | * Return 0 if permission is granted. | 869 | * Return 0 if permission is granted. |
870 | * @socket_shutdown: | 870 | * @socket_shutdown: |
871 | * Checks permission before all or part of a connection on the socket | 871 | * Checks permission before all or part of a connection on the socket |
872 | * @sock is shut down. | 872 | * @sock is shut down. |
@@ -893,19 +893,19 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
893 | * Return 0 if all is well, otherwise, typical getsockopt return | 893 | * Return 0 if all is well, otherwise, typical getsockopt return |
894 | * values. | 894 | * values. |
895 | * @socket_getpeersec_dgram: | 895 | * @socket_getpeersec_dgram: |
896 | * This hook allows the security module to provide peer socket security | 896 | * This hook allows the security module to provide peer socket security |
897 | * state for udp sockets on a per-packet basis to userspace via | 897 | * state for udp sockets on a per-packet basis to userspace via |
898 | * getsockopt SO_GETPEERSEC. The application must first have indicated | 898 | * getsockopt SO_GETPEERSEC. The application must first have indicated |
899 | * the IP_PASSSEC option via getsockopt. It can then retrieve the | 899 | * the IP_PASSSEC option via getsockopt. It can then retrieve the |
900 | * security state returned by this hook for a packet via the SCM_SECURITY | 900 | * security state returned by this hook for a packet via the SCM_SECURITY |
901 | * ancillary message type. | 901 | * ancillary message type. |
902 | * @skb is the skbuff for the packet being queried | 902 | * @skb is the skbuff for the packet being queried |
903 | * @secdata is a pointer to a buffer in which to copy the security data | 903 | * @secdata is a pointer to a buffer in which to copy the security data |
904 | * @seclen is the maximum length for @secdata | 904 | * @seclen is the maximum length for @secdata |
905 | * Return 0 on success, error on failure. | 905 | * Return 0 on success, error on failure. |
906 | * @sk_alloc_security: | 906 | * @sk_alloc_security: |
907 | * Allocate and attach a security structure to the sk->sk_security field, | 907 | * Allocate and attach a security structure to the sk->sk_security field, |
908 | * which is used to copy security attributes between local stream sockets. | 908 | * which is used to copy security attributes between local stream sockets. |
909 | * @sk_free_security: | 909 | * @sk_free_security: |
910 | * Deallocate security structure. | 910 | * Deallocate security structure. |
911 | * @sk_clone_security: | 911 | * @sk_clone_security: |
@@ -920,7 +920,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
920 | * @inet_csk_clone: | 920 | * @inet_csk_clone: |
921 | * Sets the new child socket's sid to the openreq sid. | 921 | * Sets the new child socket's sid to the openreq sid. |
922 | * @inet_conn_established: | 922 | * @inet_conn_established: |
923 | * Sets the connection's peersid to the secmark on skb. | 923 | * Sets the connection's peersid to the secmark on skb. |
924 | * @req_classify_flow: | 924 | * @req_classify_flow: |
925 | * Sets the flow's sid to the openreq sid. | 925 | * Sets the flow's sid to the openreq sid. |
926 | * | 926 | * |
@@ -999,13 +999,13 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
999 | * No return value. | 999 | * No return value. |
1000 | * @key_permission: | 1000 | * @key_permission: |
1001 | * See whether a specific operational right is granted to a process on a | 1001 | * See whether a specific operational right is granted to a process on a |
1002 | * key. | 1002 | * key. |
1003 | * @key_ref refers to the key (key pointer + possession attribute bit). | 1003 | * @key_ref refers to the key (key pointer + possession attribute bit). |
1004 | * @context points to the process to provide the context against which to | 1004 | * @context points to the process to provide the context against which to |
1005 | * evaluate the security data on the key. | 1005 | * evaluate the security data on the key. |
1006 | * @perm describes the combination of permissions required of this key. | 1006 | * @perm describes the combination of permissions required of this key. |
1007 | * Return 1 if permission granted, 0 if permission denied and -ve it the | 1007 | * Return 1 if permission granted, 0 if permission denied and -ve it the |
1008 | * normal permissions model should be effected. | 1008 | * normal permissions model should be effected. |
1009 | * | 1009 | * |
1010 | * Security hooks affecting all System V IPC operations. | 1010 | * Security hooks affecting all System V IPC operations. |
1011 | * | 1011 | * |
@@ -1056,7 +1056,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
1056 | * The @msq may be NULL, e.g. for IPC_INFO or MSG_INFO. | 1056 | * The @msq may be NULL, e.g. for IPC_INFO or MSG_INFO. |
1057 | * @msq contains the message queue to act upon. May be NULL. | 1057 | * @msq contains the message queue to act upon. May be NULL. |
1058 | * @cmd contains the operation to be performed. | 1058 | * @cmd contains the operation to be performed. |
1059 | * Return 0 if permission is granted. | 1059 | * Return 0 if permission is granted. |
1060 | * @msg_queue_msgsnd: | 1060 | * @msg_queue_msgsnd: |
1061 | * Check permission before a message, @msg, is enqueued on the message | 1061 | * Check permission before a message, @msg, is enqueued on the message |
1062 | * queue, @msq. | 1062 | * queue, @msq. |
@@ -1066,8 +1066,8 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
1066 | * Return 0 if permission is granted. | 1066 | * Return 0 if permission is granted. |
1067 | * @msg_queue_msgrcv: | 1067 | * @msg_queue_msgrcv: |
1068 | * Check permission before a message, @msg, is removed from the message | 1068 | * Check permission before a message, @msg, is removed from the message |
1069 | * queue, @msq. The @target task structure contains a pointer to the | 1069 | * queue, @msq. The @target task structure contains a pointer to the |
1070 | * process that will be receiving the message (not equal to the current | 1070 | * process that will be receiving the message (not equal to the current |
1071 | * process when inline receives are being performed). | 1071 | * process when inline receives are being performed). |
1072 | * @msq contains the message queue to retrieve message from. | 1072 | * @msq contains the message queue to retrieve message from. |
1073 | * @msg contains the message destination. | 1073 | * @msg contains the message destination. |
@@ -1132,15 +1132,15 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
1132 | * Return 0 if permission is granted. | 1132 | * Return 0 if permission is granted. |
1133 | * @sem_semctl: | 1133 | * @sem_semctl: |
1134 | * Check permission when a semaphore operation specified by @cmd is to be | 1134 | * Check permission when a semaphore operation specified by @cmd is to be |
1135 | * performed on the semaphore @sma. The @sma may be NULL, e.g. for | 1135 | * performed on the semaphore @sma. The @sma may be NULL, e.g. for |
1136 | * IPC_INFO or SEM_INFO. | 1136 | * IPC_INFO or SEM_INFO. |
1137 | * @sma contains the semaphore structure. May be NULL. | 1137 | * @sma contains the semaphore structure. May be NULL. |
1138 | * @cmd contains the operation to be performed. | 1138 | * @cmd contains the operation to be performed. |
1139 | * Return 0 if permission is granted. | 1139 | * Return 0 if permission is granted. |
1140 | * @sem_semop | 1140 | * @sem_semop |
1141 | * Check permissions before performing operations on members of the | 1141 | * Check permissions before performing operations on members of the |
1142 | * semaphore set @sma. If the @alter flag is nonzero, the semaphore set | 1142 | * semaphore set @sma. If the @alter flag is nonzero, the semaphore set |
1143 | * may be modified. | 1143 | * may be modified. |
1144 | * @sma contains the semaphore structure. | 1144 | * @sma contains the semaphore structure. |
1145 | * @sops contains the operations to perform. | 1145 | * @sops contains the operations to perform. |
1146 | * @nsops contains the number of operations to perform. | 1146 | * @nsops contains the number of operations to perform. |
@@ -1211,7 +1211,7 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
1211 | * @syslog: | 1211 | * @syslog: |
1212 | * Check permission before accessing the kernel message ring or changing | 1212 | * Check permission before accessing the kernel message ring or changing |
1213 | * logging to the console. | 1213 | * logging to the console. |
1214 | * See the syslog(2) manual page for an explanation of the @type values. | 1214 | * See the syslog(2) manual page for an explanation of the @type values. |
1215 | * @type contains the type of action. | 1215 | * @type contains the type of action. |
1216 | * Return 0 if permission is granted. | 1216 | * Return 0 if permission is granted. |
1217 | * @settime: | 1217 | * @settime: |
@@ -1223,22 +1223,22 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
1223 | * @vm_enough_memory: | 1223 | * @vm_enough_memory: |
1224 | * Check permissions for allocating a new virtual mapping. | 1224 | * Check permissions for allocating a new virtual mapping. |
1225 | * @mm contains the mm struct it is being added to. | 1225 | * @mm contains the mm struct it is being added to. |
1226 | * @pages contains the number of pages. | 1226 | * @pages contains the number of pages. |
1227 | * Return 0 if permission is granted. | 1227 | * Return 0 if permission is granted. |
1228 | * | 1228 | * |
1229 | * @register_security: | 1229 | * @register_security: |
1230 | * allow module stacking. | 1230 | * allow module stacking. |
1231 | * @name contains the name of the security module being stacked. | 1231 | * @name contains the name of the security module being stacked. |
1232 | * @ops contains a pointer to the struct security_operations of the module to stack. | 1232 | * @ops contains a pointer to the struct security_operations of the module to stack. |
1233 | * | 1233 | * |
1234 | * @secid_to_secctx: | 1234 | * @secid_to_secctx: |
1235 | * Convert secid to security context. | 1235 | * Convert secid to security context. |
1236 | * @secid contains the security ID. | 1236 | * @secid contains the security ID. |
1237 | * @secdata contains the pointer that stores the converted security context. | 1237 | * @secdata contains the pointer that stores the converted security context. |
1238 | * @secctx_to_secid: | 1238 | * @secctx_to_secid: |
1239 | * Convert security context to secid. | 1239 | * Convert security context to secid. |
1240 | * @secid contains the pointer to the generated security ID. | 1240 | * @secid contains the pointer to the generated security ID. |
1241 | * @secdata contains the security context. | 1241 | * @secdata contains the security context. |
1242 | * | 1242 | * |
1243 | * @release_secctx: | 1243 | * @release_secctx: |
1244 | * Release the security context. | 1244 | * Release the security context. |
@@ -1281,49 +1281,49 @@ static inline void security_free_mnt_opts(struct security_mnt_opts *opts) | |||
1281 | struct security_operations { | 1281 | struct security_operations { |
1282 | char name[SECURITY_NAME_MAX + 1]; | 1282 | char name[SECURITY_NAME_MAX + 1]; |
1283 | 1283 | ||
1284 | int (*ptrace) (struct task_struct * parent, struct task_struct * child); | 1284 | int (*ptrace) (struct task_struct *parent, struct task_struct *child); |
1285 | int (*capget) (struct task_struct * target, | 1285 | int (*capget) (struct task_struct *target, |
1286 | kernel_cap_t * effective, | 1286 | kernel_cap_t *effective, |
1287 | kernel_cap_t * inheritable, kernel_cap_t * permitted); | 1287 | kernel_cap_t *inheritable, kernel_cap_t *permitted); |
1288 | int (*capset_check) (struct task_struct * target, | 1288 | int (*capset_check) (struct task_struct *target, |
1289 | kernel_cap_t * effective, | 1289 | kernel_cap_t *effective, |
1290 | kernel_cap_t * inheritable, | 1290 | kernel_cap_t *inheritable, |
1291 | kernel_cap_t * permitted); | 1291 | kernel_cap_t *permitted); |
1292 | void (*capset_set) (struct task_struct * target, | 1292 | void (*capset_set) (struct task_struct *target, |
1293 | kernel_cap_t * effective, | 1293 | kernel_cap_t *effective, |
1294 | kernel_cap_t * inheritable, | 1294 | kernel_cap_t *inheritable, |
1295 | kernel_cap_t * permitted); | 1295 | kernel_cap_t *permitted); |
1296 | int (*capable) (struct task_struct * tsk, int cap); | 1296 | int (*capable) (struct task_struct *tsk, int cap); |
1297 | int (*acct) (struct file * file); | 1297 | int (*acct) (struct file *file); |
1298 | int (*sysctl) (struct ctl_table * table, int op); | 1298 | int (*sysctl) (struct ctl_table *table, int op); |
1299 | int (*quotactl) (int cmds, int type, int id, struct super_block * sb); | 1299 | int (*quotactl) (int cmds, int type, int id, struct super_block *sb); |
1300 | int (*quota_on) (struct dentry * dentry); | 1300 | int (*quota_on) (struct dentry *dentry); |
1301 | int (*syslog) (int type); | 1301 | int (*syslog) (int type); |
1302 | int (*settime) (struct timespec *ts, struct timezone *tz); | 1302 | int (*settime) (struct timespec *ts, struct timezone *tz); |
1303 | int (*vm_enough_memory) (struct mm_struct *mm, long pages); | 1303 | int (*vm_enough_memory) (struct mm_struct *mm, long pages); |
1304 | 1304 | ||
1305 | int (*bprm_alloc_security) (struct linux_binprm * bprm); | 1305 | int (*bprm_alloc_security) (struct linux_binprm *bprm); |
1306 | void (*bprm_free_security) (struct linux_binprm * bprm); | 1306 | void (*bprm_free_security) (struct linux_binprm *bprm); |
1307 | void (*bprm_apply_creds) (struct linux_binprm * bprm, int unsafe); | 1307 | void (*bprm_apply_creds) (struct linux_binprm *bprm, int unsafe); |
1308 | void (*bprm_post_apply_creds) (struct linux_binprm * bprm); | 1308 | void (*bprm_post_apply_creds) (struct linux_binprm *bprm); |
1309 | int (*bprm_set_security) (struct linux_binprm * bprm); | 1309 | int (*bprm_set_security) (struct linux_binprm *bprm); |
1310 | int (*bprm_check_security) (struct linux_binprm * bprm); | 1310 | int (*bprm_check_security) (struct linux_binprm *bprm); |
1311 | int (*bprm_secureexec) (struct linux_binprm * bprm); | 1311 | int (*bprm_secureexec) (struct linux_binprm *bprm); |
1312 | 1312 | ||
1313 | int (*sb_alloc_security) (struct super_block * sb); | 1313 | int (*sb_alloc_security) (struct super_block *sb); |
1314 | void (*sb_free_security) (struct super_block * sb); | 1314 | void (*sb_free_security) (struct super_block *sb); |
1315 | int (*sb_copy_data)(char *orig, char *copy); | 1315 | int (*sb_copy_data) (char *orig, char *copy); |
1316 | int (*sb_kern_mount) (struct super_block *sb, void *data); | 1316 | int (*sb_kern_mount) (struct super_block *sb, void *data); |
1317 | int (*sb_statfs) (struct dentry *dentry); | 1317 | int (*sb_statfs) (struct dentry *dentry); |
1318 | int (*sb_mount) (char *dev_name, struct path *path, | 1318 | int (*sb_mount) (char *dev_name, struct path *path, |
1319 | char *type, unsigned long flags, void *data); | 1319 | char *type, unsigned long flags, void *data); |
1320 | int (*sb_check_sb) (struct vfsmount * mnt, struct path *path); | 1320 | int (*sb_check_sb) (struct vfsmount *mnt, struct path *path); |
1321 | int (*sb_umount) (struct vfsmount * mnt, int flags); | 1321 | int (*sb_umount) (struct vfsmount *mnt, int flags); |
1322 | void (*sb_umount_close) (struct vfsmount * mnt); | 1322 | void (*sb_umount_close) (struct vfsmount *mnt); |
1323 | void (*sb_umount_busy) (struct vfsmount * mnt); | 1323 | void (*sb_umount_busy) (struct vfsmount *mnt); |
1324 | void (*sb_post_remount) (struct vfsmount * mnt, | 1324 | void (*sb_post_remount) (struct vfsmount *mnt, |
1325 | unsigned long flags, void *data); | 1325 | unsigned long flags, void *data); |
1326 | void (*sb_post_addmount) (struct vfsmount * mnt, | 1326 | void (*sb_post_addmount) (struct vfsmount *mnt, |
1327 | struct path *mountpoint); | 1327 | struct path *mountpoint); |
1328 | int (*sb_pivotroot) (struct path *old_path, | 1328 | int (*sb_pivotroot) (struct path *old_path, |
1329 | struct path *new_path); | 1329 | struct path *new_path); |
@@ -1337,29 +1337,29 @@ struct security_operations { | |||
1337 | struct super_block *newsb); | 1337 | struct super_block *newsb); |
1338 | int (*sb_parse_opts_str) (char *options, struct security_mnt_opts *opts); | 1338 | int (*sb_parse_opts_str) (char *options, struct security_mnt_opts *opts); |
1339 | 1339 | ||
1340 | int (*inode_alloc_security) (struct inode *inode); | 1340 | int (*inode_alloc_security) (struct inode *inode); |
1341 | void (*inode_free_security) (struct inode *inode); | 1341 | void (*inode_free_security) (struct inode *inode); |
1342 | int (*inode_init_security) (struct inode *inode, struct inode *dir, | 1342 | int (*inode_init_security) (struct inode *inode, struct inode *dir, |
1343 | char **name, void **value, size_t *len); | 1343 | char **name, void **value, size_t *len); |
1344 | int (*inode_create) (struct inode *dir, | 1344 | int (*inode_create) (struct inode *dir, |
1345 | struct dentry *dentry, int mode); | 1345 | struct dentry *dentry, int mode); |
1346 | int (*inode_link) (struct dentry *old_dentry, | 1346 | int (*inode_link) (struct dentry *old_dentry, |
1347 | struct inode *dir, struct dentry *new_dentry); | 1347 | struct inode *dir, struct dentry *new_dentry); |
1348 | int (*inode_unlink) (struct inode *dir, struct dentry *dentry); | 1348 | int (*inode_unlink) (struct inode *dir, struct dentry *dentry); |
1349 | int (*inode_symlink) (struct inode *dir, | 1349 | int (*inode_symlink) (struct inode *dir, |
1350 | struct dentry *dentry, const char *old_name); | 1350 | struct dentry *dentry, const char *old_name); |
1351 | int (*inode_mkdir) (struct inode *dir, struct dentry *dentry, int mode); | 1351 | int (*inode_mkdir) (struct inode *dir, struct dentry *dentry, int mode); |
1352 | int (*inode_rmdir) (struct inode *dir, struct dentry *dentry); | 1352 | int (*inode_rmdir) (struct inode *dir, struct dentry *dentry); |
1353 | int (*inode_mknod) (struct inode *dir, struct dentry *dentry, | 1353 | int (*inode_mknod) (struct inode *dir, struct dentry *dentry, |
1354 | int mode, dev_t dev); | 1354 | int mode, dev_t dev); |
1355 | int (*inode_rename) (struct inode *old_dir, struct dentry *old_dentry, | 1355 | int (*inode_rename) (struct inode *old_dir, struct dentry *old_dentry, |
1356 | struct inode *new_dir, struct dentry *new_dentry); | 1356 | struct inode *new_dir, struct dentry *new_dentry); |
1357 | int (*inode_readlink) (struct dentry *dentry); | 1357 | int (*inode_readlink) (struct dentry *dentry); |
1358 | int (*inode_follow_link) (struct dentry *dentry, struct nameidata *nd); | 1358 | int (*inode_follow_link) (struct dentry *dentry, struct nameidata *nd); |
1359 | int (*inode_permission) (struct inode *inode, int mask, struct nameidata *nd); | 1359 | int (*inode_permission) (struct inode *inode, int mask, struct nameidata *nd); |
1360 | int (*inode_setattr) (struct dentry *dentry, struct iattr *attr); | 1360 | int (*inode_setattr) (struct dentry *dentry, struct iattr *attr); |
1361 | int (*inode_getattr) (struct vfsmount *mnt, struct dentry *dentry); | 1361 | int (*inode_getattr) (struct vfsmount *mnt, struct dentry *dentry); |
1362 | void (*inode_delete) (struct inode *inode); | 1362 | void (*inode_delete) (struct inode *inode); |
1363 | int (*inode_setxattr) (struct dentry *dentry, char *name, void *value, | 1363 | int (*inode_setxattr) (struct dentry *dentry, char *name, void *value, |
1364 | size_t size, int flags); | 1364 | size_t size, int flags); |
1365 | void (*inode_post_setxattr) (struct dentry *dentry, char *name, void *value, | 1365 | void (*inode_post_setxattr) (struct dentry *dentry, char *name, void *value, |
@@ -1369,145 +1369,145 @@ struct security_operations { | |||
1369 | int (*inode_removexattr) (struct dentry *dentry, char *name); | 1369 | int (*inode_removexattr) (struct dentry *dentry, char *name); |
1370 | int (*inode_need_killpriv) (struct dentry *dentry); | 1370 | int (*inode_need_killpriv) (struct dentry *dentry); |
1371 | int (*inode_killpriv) (struct dentry *dentry); | 1371 | int (*inode_killpriv) (struct dentry *dentry); |
1372 | int (*inode_getsecurity)(const struct inode *inode, const char *name, void **buffer, bool alloc); | 1372 | int (*inode_getsecurity) (const struct inode *inode, const char *name, void **buffer, bool alloc); |
1373 | int (*inode_setsecurity)(struct inode *inode, const char *name, const void *value, size_t size, int flags); | 1373 | int (*inode_setsecurity) (struct inode *inode, const char *name, const void *value, size_t size, int flags); |
1374 | int (*inode_listsecurity)(struct inode *inode, char *buffer, size_t buffer_size); | 1374 | int (*inode_listsecurity) (struct inode *inode, char *buffer, size_t buffer_size); |
1375 | void (*inode_getsecid)(const struct inode *inode, u32 *secid); | 1375 | void (*inode_getsecid) (const struct inode *inode, u32 *secid); |
1376 | 1376 | ||
1377 | int (*file_permission) (struct file * file, int mask); | 1377 | int (*file_permission) (struct file *file, int mask); |
1378 | int (*file_alloc_security) (struct file * file); | 1378 | int (*file_alloc_security) (struct file *file); |
1379 | void (*file_free_security) (struct file * file); | 1379 | void (*file_free_security) (struct file *file); |
1380 | int (*file_ioctl) (struct file * file, unsigned int cmd, | 1380 | int (*file_ioctl) (struct file *file, unsigned int cmd, |
1381 | unsigned long arg); | 1381 | unsigned long arg); |
1382 | int (*file_mmap) (struct file * file, | 1382 | int (*file_mmap) (struct file *file, |
1383 | unsigned long reqprot, unsigned long prot, | 1383 | unsigned long reqprot, unsigned long prot, |
1384 | unsigned long flags, unsigned long addr, | 1384 | unsigned long flags, unsigned long addr, |
1385 | unsigned long addr_only); | 1385 | unsigned long addr_only); |
1386 | int (*file_mprotect) (struct vm_area_struct * vma, | 1386 | int (*file_mprotect) (struct vm_area_struct *vma, |
1387 | unsigned long reqprot, | 1387 | unsigned long reqprot, |
1388 | unsigned long prot); | 1388 | unsigned long prot); |
1389 | int (*file_lock) (struct file * file, unsigned int cmd); | 1389 | int (*file_lock) (struct file *file, unsigned int cmd); |
1390 | int (*file_fcntl) (struct file * file, unsigned int cmd, | 1390 | int (*file_fcntl) (struct file *file, unsigned int cmd, |
1391 | unsigned long arg); | 1391 | unsigned long arg); |
1392 | int (*file_set_fowner) (struct file * file); | 1392 | int (*file_set_fowner) (struct file *file); |
1393 | int (*file_send_sigiotask) (struct task_struct * tsk, | 1393 | int (*file_send_sigiotask) (struct task_struct *tsk, |
1394 | struct fown_struct * fown, int sig); | 1394 | struct fown_struct *fown, int sig); |
1395 | int (*file_receive) (struct file * file); | 1395 | int (*file_receive) (struct file *file); |
1396 | int (*dentry_open) (struct file *file); | 1396 | int (*dentry_open) (struct file *file); |
1397 | 1397 | ||
1398 | int (*task_create) (unsigned long clone_flags); | 1398 | int (*task_create) (unsigned long clone_flags); |
1399 | int (*task_alloc_security) (struct task_struct * p); | 1399 | int (*task_alloc_security) (struct task_struct *p); |
1400 | void (*task_free_security) (struct task_struct * p); | 1400 | void (*task_free_security) (struct task_struct *p); |
1401 | int (*task_setuid) (uid_t id0, uid_t id1, uid_t id2, int flags); | 1401 | int (*task_setuid) (uid_t id0, uid_t id1, uid_t id2, int flags); |
1402 | int (*task_post_setuid) (uid_t old_ruid /* or fsuid */ , | 1402 | int (*task_post_setuid) (uid_t old_ruid /* or fsuid */ , |
1403 | uid_t old_euid, uid_t old_suid, int flags); | 1403 | uid_t old_euid, uid_t old_suid, int flags); |
1404 | int (*task_setgid) (gid_t id0, gid_t id1, gid_t id2, int flags); | 1404 | int (*task_setgid) (gid_t id0, gid_t id1, gid_t id2, int flags); |
1405 | int (*task_setpgid) (struct task_struct * p, pid_t pgid); | 1405 | int (*task_setpgid) (struct task_struct *p, pid_t pgid); |
1406 | int (*task_getpgid) (struct task_struct * p); | 1406 | int (*task_getpgid) (struct task_struct *p); |
1407 | int (*task_getsid) (struct task_struct * p); | 1407 | int (*task_getsid) (struct task_struct *p); |
1408 | void (*task_getsecid) (struct task_struct * p, u32 * secid); | 1408 | void (*task_getsecid) (struct task_struct *p, u32 *secid); |
1409 | int (*task_setgroups) (struct group_info *group_info); | 1409 | int (*task_setgroups) (struct group_info *group_info); |
1410 | int (*task_setnice) (struct task_struct * p, int nice); | 1410 | int (*task_setnice) (struct task_struct *p, int nice); |
1411 | int (*task_setioprio) (struct task_struct * p, int ioprio); | 1411 | int (*task_setioprio) (struct task_struct *p, int ioprio); |
1412 | int (*task_getioprio) (struct task_struct * p); | 1412 | int (*task_getioprio) (struct task_struct *p); |
1413 | int (*task_setrlimit) (unsigned int resource, struct rlimit * new_rlim); | 1413 | int (*task_setrlimit) (unsigned int resource, struct rlimit *new_rlim); |
1414 | int (*task_setscheduler) (struct task_struct * p, int policy, | 1414 | int (*task_setscheduler) (struct task_struct *p, int policy, |
1415 | struct sched_param * lp); | 1415 | struct sched_param *lp); |
1416 | int (*task_getscheduler) (struct task_struct * p); | 1416 | int (*task_getscheduler) (struct task_struct *p); |
1417 | int (*task_movememory) (struct task_struct * p); | 1417 | int (*task_movememory) (struct task_struct *p); |
1418 | int (*task_kill) (struct task_struct * p, | 1418 | int (*task_kill) (struct task_struct *p, |
1419 | struct siginfo * info, int sig, u32 secid); | 1419 | struct siginfo *info, int sig, u32 secid); |
1420 | int (*task_wait) (struct task_struct * p); | 1420 | int (*task_wait) (struct task_struct *p); |
1421 | int (*task_prctl) (int option, unsigned long arg2, | 1421 | int (*task_prctl) (int option, unsigned long arg2, |
1422 | unsigned long arg3, unsigned long arg4, | 1422 | unsigned long arg3, unsigned long arg4, |
1423 | unsigned long arg5); | 1423 | unsigned long arg5); |
1424 | void (*task_reparent_to_init) (struct task_struct * p); | 1424 | void (*task_reparent_to_init) (struct task_struct *p); |
1425 | void (*task_to_inode)(struct task_struct *p, struct inode *inode); | 1425 | void (*task_to_inode) (struct task_struct *p, struct inode *inode); |
1426 | 1426 | ||
1427 | int (*ipc_permission) (struct kern_ipc_perm * ipcp, short flag); | 1427 | int (*ipc_permission) (struct kern_ipc_perm *ipcp, short flag); |
1428 | void (*ipc_getsecid) (struct kern_ipc_perm *ipcp, u32 *secid); | 1428 | void (*ipc_getsecid) (struct kern_ipc_perm *ipcp, u32 *secid); |
1429 | 1429 | ||
1430 | int (*msg_msg_alloc_security) (struct msg_msg * msg); | 1430 | int (*msg_msg_alloc_security) (struct msg_msg *msg); |
1431 | void (*msg_msg_free_security) (struct msg_msg * msg); | 1431 | void (*msg_msg_free_security) (struct msg_msg *msg); |
1432 | 1432 | ||
1433 | int (*msg_queue_alloc_security) (struct msg_queue * msq); | 1433 | int (*msg_queue_alloc_security) (struct msg_queue *msq); |
1434 | void (*msg_queue_free_security) (struct msg_queue * msq); | 1434 | void (*msg_queue_free_security) (struct msg_queue *msq); |
1435 | int (*msg_queue_associate) (struct msg_queue * msq, int msqflg); | 1435 | int (*msg_queue_associate) (struct msg_queue *msq, int msqflg); |
1436 | int (*msg_queue_msgctl) (struct msg_queue * msq, int cmd); | 1436 | int (*msg_queue_msgctl) (struct msg_queue *msq, int cmd); |
1437 | int (*msg_queue_msgsnd) (struct msg_queue * msq, | 1437 | int (*msg_queue_msgsnd) (struct msg_queue *msq, |
1438 | struct msg_msg * msg, int msqflg); | 1438 | struct msg_msg *msg, int msqflg); |
1439 | int (*msg_queue_msgrcv) (struct msg_queue * msq, | 1439 | int (*msg_queue_msgrcv) (struct msg_queue *msq, |
1440 | struct msg_msg * msg, | 1440 | struct msg_msg *msg, |
1441 | struct task_struct * target, | 1441 | struct task_struct *target, |
1442 | long type, int mode); | 1442 | long type, int mode); |
1443 | 1443 | ||
1444 | int (*shm_alloc_security) (struct shmid_kernel * shp); | 1444 | int (*shm_alloc_security) (struct shmid_kernel *shp); |
1445 | void (*shm_free_security) (struct shmid_kernel * shp); | 1445 | void (*shm_free_security) (struct shmid_kernel *shp); |
1446 | int (*shm_associate) (struct shmid_kernel * shp, int shmflg); | 1446 | int (*shm_associate) (struct shmid_kernel *shp, int shmflg); |
1447 | int (*shm_shmctl) (struct shmid_kernel * shp, int cmd); | 1447 | int (*shm_shmctl) (struct shmid_kernel *shp, int cmd); |
1448 | int (*shm_shmat) (struct shmid_kernel * shp, | 1448 | int (*shm_shmat) (struct shmid_kernel *shp, |
1449 | char __user *shmaddr, int shmflg); | 1449 | char __user *shmaddr, int shmflg); |
1450 | 1450 | ||
1451 | int (*sem_alloc_security) (struct sem_array * sma); | 1451 | int (*sem_alloc_security) (struct sem_array *sma); |
1452 | void (*sem_free_security) (struct sem_array * sma); | 1452 | void (*sem_free_security) (struct sem_array *sma); |
1453 | int (*sem_associate) (struct sem_array * sma, int semflg); | 1453 | int (*sem_associate) (struct sem_array *sma, int semflg); |
1454 | int (*sem_semctl) (struct sem_array * sma, int cmd); | 1454 | int (*sem_semctl) (struct sem_array *sma, int cmd); |
1455 | int (*sem_semop) (struct sem_array * sma, | 1455 | int (*sem_semop) (struct sem_array *sma, |
1456 | struct sembuf * sops, unsigned nsops, int alter); | 1456 | struct sembuf *sops, unsigned nsops, int alter); |
1457 | 1457 | ||
1458 | int (*netlink_send) (struct sock * sk, struct sk_buff * skb); | 1458 | int (*netlink_send) (struct sock *sk, struct sk_buff *skb); |
1459 | int (*netlink_recv) (struct sk_buff * skb, int cap); | 1459 | int (*netlink_recv) (struct sk_buff *skb, int cap); |
1460 | 1460 | ||
1461 | /* allow module stacking */ | 1461 | /* allow module stacking */ |
1462 | int (*register_security) (const char *name, | 1462 | int (*register_security) (const char *name, |
1463 | struct security_operations *ops); | 1463 | struct security_operations *ops); |
1464 | 1464 | ||
1465 | void (*d_instantiate) (struct dentry *dentry, struct inode *inode); | 1465 | void (*d_instantiate) (struct dentry *dentry, struct inode *inode); |
1466 | 1466 | ||
1467 | int (*getprocattr)(struct task_struct *p, char *name, char **value); | 1467 | int (*getprocattr) (struct task_struct *p, char *name, char **value); |
1468 | int (*setprocattr)(struct task_struct *p, char *name, void *value, size_t size); | 1468 | int (*setprocattr) (struct task_struct *p, char *name, void *value, size_t size); |
1469 | int (*secid_to_secctx)(u32 secid, char **secdata, u32 *seclen); | 1469 | int (*secid_to_secctx) (u32 secid, char **secdata, u32 *seclen); |
1470 | int (*secctx_to_secid)(char *secdata, u32 seclen, u32 *secid); | 1470 | int (*secctx_to_secid) (char *secdata, u32 seclen, u32 *secid); |
1471 | void (*release_secctx)(char *secdata, u32 seclen); | 1471 | void (*release_secctx) (char *secdata, u32 seclen); |
1472 | 1472 | ||
1473 | #ifdef CONFIG_SECURITY_NETWORK | 1473 | #ifdef CONFIG_SECURITY_NETWORK |
1474 | int (*unix_stream_connect) (struct socket * sock, | 1474 | int (*unix_stream_connect) (struct socket *sock, |
1475 | struct socket * other, struct sock * newsk); | 1475 | struct socket *other, struct sock *newsk); |
1476 | int (*unix_may_send) (struct socket * sock, struct socket * other); | 1476 | int (*unix_may_send) (struct socket *sock, struct socket *other); |
1477 | 1477 | ||
1478 | int (*socket_create) (int family, int type, int protocol, int kern); | 1478 | int (*socket_create) (int family, int type, int protocol, int kern); |
1479 | int (*socket_post_create) (struct socket * sock, int family, | 1479 | int (*socket_post_create) (struct socket *sock, int family, |
1480 | int type, int protocol, int kern); | 1480 | int type, int protocol, int kern); |
1481 | int (*socket_bind) (struct socket * sock, | 1481 | int (*socket_bind) (struct socket *sock, |
1482 | struct sockaddr * address, int addrlen); | 1482 | struct sockaddr *address, int addrlen); |
1483 | int (*socket_connect) (struct socket * sock, | 1483 | int (*socket_connect) (struct socket *sock, |
1484 | struct sockaddr * address, int addrlen); | 1484 | struct sockaddr *address, int addrlen); |
1485 | int (*socket_listen) (struct socket * sock, int backlog); | 1485 | int (*socket_listen) (struct socket *sock, int backlog); |
1486 | int (*socket_accept) (struct socket * sock, struct socket * newsock); | 1486 | int (*socket_accept) (struct socket *sock, struct socket *newsock); |
1487 | void (*socket_post_accept) (struct socket * sock, | 1487 | void (*socket_post_accept) (struct socket *sock, |
1488 | struct socket * newsock); | 1488 | struct socket *newsock); |
1489 | int (*socket_sendmsg) (struct socket * sock, | 1489 | int (*socket_sendmsg) (struct socket *sock, |
1490 | struct msghdr * msg, int size); | 1490 | struct msghdr *msg, int size); |
1491 | int (*socket_recvmsg) (struct socket * sock, | 1491 | int (*socket_recvmsg) (struct socket *sock, |
1492 | struct msghdr * msg, int size, int flags); | 1492 | struct msghdr *msg, int size, int flags); |
1493 | int (*socket_getsockname) (struct socket * sock); | 1493 | int (*socket_getsockname) (struct socket *sock); |
1494 | int (*socket_getpeername) (struct socket * sock); | 1494 | int (*socket_getpeername) (struct socket *sock); |
1495 | int (*socket_getsockopt) (struct socket * sock, int level, int optname); | 1495 | int (*socket_getsockopt) (struct socket *sock, int level, int optname); |
1496 | int (*socket_setsockopt) (struct socket * sock, int level, int optname); | 1496 | int (*socket_setsockopt) (struct socket *sock, int level, int optname); |
1497 | int (*socket_shutdown) (struct socket * sock, int how); | 1497 | int (*socket_shutdown) (struct socket *sock, int how); |
1498 | int (*socket_sock_rcv_skb) (struct sock * sk, struct sk_buff * skb); | 1498 | int (*socket_sock_rcv_skb) (struct sock *sk, struct sk_buff *skb); |
1499 | int (*socket_getpeersec_stream) (struct socket *sock, char __user *optval, int __user *optlen, unsigned len); | 1499 | int (*socket_getpeersec_stream) (struct socket *sock, char __user *optval, int __user *optlen, unsigned len); |
1500 | int (*socket_getpeersec_dgram) (struct socket *sock, struct sk_buff *skb, u32 *secid); | 1500 | int (*socket_getpeersec_dgram) (struct socket *sock, struct sk_buff *skb, u32 *secid); |
1501 | int (*sk_alloc_security) (struct sock *sk, int family, gfp_t priority); | 1501 | int (*sk_alloc_security) (struct sock *sk, int family, gfp_t priority); |
1502 | void (*sk_free_security) (struct sock *sk); | 1502 | void (*sk_free_security) (struct sock *sk); |
1503 | void (*sk_clone_security) (const struct sock *sk, struct sock *newsk); | 1503 | void (*sk_clone_security) (const struct sock *sk, struct sock *newsk); |
1504 | void (*sk_getsecid) (struct sock *sk, u32 *secid); | 1504 | void (*sk_getsecid) (struct sock *sk, u32 *secid); |
1505 | void (*sock_graft)(struct sock* sk, struct socket *parent); | 1505 | void (*sock_graft) (struct sock *sk, struct socket *parent); |
1506 | int (*inet_conn_request)(struct sock *sk, struct sk_buff *skb, | 1506 | int (*inet_conn_request) (struct sock *sk, struct sk_buff *skb, |
1507 | struct request_sock *req); | 1507 | struct request_sock *req); |
1508 | void (*inet_csk_clone)(struct sock *newsk, const struct request_sock *req); | 1508 | void (*inet_csk_clone) (struct sock *newsk, const struct request_sock *req); |
1509 | void (*inet_conn_established)(struct sock *sk, struct sk_buff *skb); | 1509 | void (*inet_conn_established) (struct sock *sk, struct sk_buff *skb); |
1510 | void (*req_classify_flow)(const struct request_sock *req, struct flowi *fl); | 1510 | void (*req_classify_flow) (const struct request_sock *req, struct flowi *fl); |
1511 | #endif /* CONFIG_SECURITY_NETWORK */ | 1511 | #endif /* CONFIG_SECURITY_NETWORK */ |
1512 | 1512 | ||
1513 | #ifdef CONFIG_SECURITY_NETWORK_XFRM | 1513 | #ifdef CONFIG_SECURITY_NETWORK_XFRM |
@@ -1521,57 +1521,57 @@ struct security_operations { | |||
1521 | u32 secid); | 1521 | u32 secid); |
1522 | void (*xfrm_state_free_security) (struct xfrm_state *x); | 1522 | void (*xfrm_state_free_security) (struct xfrm_state *x); |
1523 | int (*xfrm_state_delete_security) (struct xfrm_state *x); | 1523 | int (*xfrm_state_delete_security) (struct xfrm_state *x); |
1524 | int (*xfrm_policy_lookup)(struct xfrm_sec_ctx *ctx, u32 fl_secid, u8 dir); | 1524 | int (*xfrm_policy_lookup) (struct xfrm_sec_ctx *ctx, u32 fl_secid, u8 dir); |
1525 | int (*xfrm_state_pol_flow_match)(struct xfrm_state *x, | 1525 | int (*xfrm_state_pol_flow_match) (struct xfrm_state *x, |
1526 | struct xfrm_policy *xp, struct flowi *fl); | 1526 | struct xfrm_policy *xp, |
1527 | int (*xfrm_decode_session)(struct sk_buff *skb, u32 *secid, int ckall); | 1527 | struct flowi *fl); |
1528 | int (*xfrm_decode_session) (struct sk_buff *skb, u32 *secid, int ckall); | ||
1528 | #endif /* CONFIG_SECURITY_NETWORK_XFRM */ | 1529 | #endif /* CONFIG_SECURITY_NETWORK_XFRM */ |
1529 | 1530 | ||
1530 | /* key management security hooks */ | 1531 | /* key management security hooks */ |
1531 | #ifdef CONFIG_KEYS | 1532 | #ifdef CONFIG_KEYS |
1532 | int (*key_alloc)(struct key *key, struct task_struct *tsk, unsigned long flags); | 1533 | int (*key_alloc) (struct key *key, struct task_struct *tsk, unsigned long flags); |
1533 | void (*key_free)(struct key *key); | 1534 | void (*key_free) (struct key *key); |
1534 | int (*key_permission)(key_ref_t key_ref, | 1535 | int (*key_permission) (key_ref_t key_ref, |
1535 | struct task_struct *context, | 1536 | struct task_struct *context, |
1536 | key_perm_t perm); | 1537 | key_perm_t perm); |
1537 | 1538 | ||
1538 | #endif /* CONFIG_KEYS */ | 1539 | #endif /* CONFIG_KEYS */ |
1539 | 1540 | ||
1540 | #ifdef CONFIG_AUDIT | 1541 | #ifdef CONFIG_AUDIT |
1541 | int (*audit_rule_init)(u32 field, u32 op, char *rulestr, void **lsmrule); | 1542 | int (*audit_rule_init) (u32 field, u32 op, char *rulestr, void **lsmrule); |
1542 | int (*audit_rule_known)(struct audit_krule *krule); | 1543 | int (*audit_rule_known) (struct audit_krule *krule); |
1543 | int (*audit_rule_match)(u32 secid, u32 field, u32 op, void *lsmrule, | 1544 | int (*audit_rule_match) (u32 secid, u32 field, u32 op, void *lsmrule, |
1544 | struct audit_context *actx); | 1545 | struct audit_context *actx); |
1545 | void (*audit_rule_free)(void *lsmrule); | 1546 | void (*audit_rule_free) (void *lsmrule); |
1546 | #endif /* CONFIG_AUDIT */ | 1547 | #endif /* CONFIG_AUDIT */ |
1547 | }; | 1548 | }; |
1548 | 1549 | ||
1549 | /* prototypes */ | 1550 | /* prototypes */ |
1550 | extern int security_init (void); | 1551 | extern int security_init(void); |
1551 | extern int security_module_enable(struct security_operations *ops); | 1552 | extern int security_module_enable(struct security_operations *ops); |
1552 | extern int register_security (struct security_operations *ops); | 1553 | extern int register_security(struct security_operations *ops); |
1553 | extern int mod_reg_security (const char *name, struct security_operations *ops); | 1554 | extern int mod_reg_security(const char *name, struct security_operations *ops); |
1554 | extern struct dentry *securityfs_create_file(const char *name, mode_t mode, | 1555 | extern struct dentry *securityfs_create_file(const char *name, mode_t mode, |
1555 | struct dentry *parent, void *data, | 1556 | struct dentry *parent, void *data, |
1556 | const struct file_operations *fops); | 1557 | const struct file_operations *fops); |
1557 | extern struct dentry *securityfs_create_dir(const char *name, struct dentry *parent); | 1558 | extern struct dentry *securityfs_create_dir(const char *name, struct dentry *parent); |
1558 | extern void securityfs_remove(struct dentry *dentry); | 1559 | extern void securityfs_remove(struct dentry *dentry); |
1559 | 1560 | ||
1560 | |||
1561 | /* Security operations */ | 1561 | /* Security operations */ |
1562 | int security_ptrace(struct task_struct *parent, struct task_struct *child); | 1562 | int security_ptrace(struct task_struct *parent, struct task_struct *child); |
1563 | int security_capget(struct task_struct *target, | 1563 | int security_capget(struct task_struct *target, |
1564 | kernel_cap_t *effective, | 1564 | kernel_cap_t *effective, |
1565 | kernel_cap_t *inheritable, | 1565 | kernel_cap_t *inheritable, |
1566 | kernel_cap_t *permitted); | 1566 | kernel_cap_t *permitted); |
1567 | int security_capset_check(struct task_struct *target, | 1567 | int security_capset_check(struct task_struct *target, |
1568 | kernel_cap_t *effective, | ||
1569 | kernel_cap_t *inheritable, | ||
1570 | kernel_cap_t *permitted); | ||
1571 | void security_capset_set(struct task_struct *target, | ||
1572 | kernel_cap_t *effective, | 1568 | kernel_cap_t *effective, |
1573 | kernel_cap_t *inheritable, | 1569 | kernel_cap_t *inheritable, |
1574 | kernel_cap_t *permitted); | 1570 | kernel_cap_t *permitted); |
1571 | void security_capset_set(struct task_struct *target, | ||
1572 | kernel_cap_t *effective, | ||
1573 | kernel_cap_t *inheritable, | ||
1574 | kernel_cap_t *permitted); | ||
1575 | int security_capable(struct task_struct *tsk, int cap); | 1575 | int security_capable(struct task_struct *tsk, int cap); |
1576 | int security_acct(struct file *file); | 1576 | int security_acct(struct file *file); |
1577 | int security_sysctl(struct ctl_table *table, int op); | 1577 | int security_sysctl(struct ctl_table *table, int op); |
@@ -1594,7 +1594,7 @@ int security_sb_copy_data(char *orig, char *copy); | |||
1594 | int security_sb_kern_mount(struct super_block *sb, void *data); | 1594 | int security_sb_kern_mount(struct super_block *sb, void *data); |
1595 | int security_sb_statfs(struct dentry *dentry); | 1595 | int security_sb_statfs(struct dentry *dentry); |
1596 | int security_sb_mount(char *dev_name, struct path *path, | 1596 | int security_sb_mount(char *dev_name, struct path *path, |
1597 | char *type, unsigned long flags, void *data); | 1597 | char *type, unsigned long flags, void *data); |
1598 | int security_sb_check_sb(struct vfsmount *mnt, struct path *path); | 1598 | int security_sb_check_sb(struct vfsmount *mnt, struct path *path); |
1599 | int security_sb_umount(struct vfsmount *mnt, int flags); | 1599 | int security_sb_umount(struct vfsmount *mnt, int flags); |
1600 | void security_sb_umount_close(struct vfsmount *mnt); | 1600 | void security_sb_umount_close(struct vfsmount *mnt); |
@@ -1619,12 +1619,12 @@ int security_inode_link(struct dentry *old_dentry, struct inode *dir, | |||
1619 | struct dentry *new_dentry); | 1619 | struct dentry *new_dentry); |
1620 | int security_inode_unlink(struct inode *dir, struct dentry *dentry); | 1620 | int security_inode_unlink(struct inode *dir, struct dentry *dentry); |
1621 | int security_inode_symlink(struct inode *dir, struct dentry *dentry, | 1621 | int security_inode_symlink(struct inode *dir, struct dentry *dentry, |
1622 | const char *old_name); | 1622 | const char *old_name); |
1623 | int security_inode_mkdir(struct inode *dir, struct dentry *dentry, int mode); | 1623 | int security_inode_mkdir(struct inode *dir, struct dentry *dentry, int mode); |
1624 | int security_inode_rmdir(struct inode *dir, struct dentry *dentry); | 1624 | int security_inode_rmdir(struct inode *dir, struct dentry *dentry); |
1625 | int security_inode_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev); | 1625 | int security_inode_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev); |
1626 | int security_inode_rename(struct inode *old_dir, struct dentry *old_dentry, | 1626 | int security_inode_rename(struct inode *old_dir, struct dentry *old_dentry, |
1627 | struct inode *new_dir, struct dentry *new_dentry); | 1627 | struct inode *new_dir, struct dentry *new_dentry); |
1628 | int security_inode_readlink(struct dentry *dentry); | 1628 | int security_inode_readlink(struct dentry *dentry); |
1629 | int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd); | 1629 | int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd); |
1630 | int security_inode_permission(struct inode *inode, int mask, struct nameidata *nd); | 1630 | int security_inode_permission(struct inode *inode, int mask, struct nameidata *nd); |
@@ -1632,9 +1632,9 @@ int security_inode_setattr(struct dentry *dentry, struct iattr *attr); | |||
1632 | int security_inode_getattr(struct vfsmount *mnt, struct dentry *dentry); | 1632 | int security_inode_getattr(struct vfsmount *mnt, struct dentry *dentry); |
1633 | void security_inode_delete(struct inode *inode); | 1633 | void security_inode_delete(struct inode *inode); |
1634 | int security_inode_setxattr(struct dentry *dentry, char *name, | 1634 | int security_inode_setxattr(struct dentry *dentry, char *name, |
1635 | void *value, size_t size, int flags); | 1635 | void *value, size_t size, int flags); |
1636 | void security_inode_post_setxattr(struct dentry *dentry, char *name, | 1636 | void security_inode_post_setxattr(struct dentry *dentry, char *name, |
1637 | void *value, size_t size, int flags); | 1637 | void *value, size_t size, int flags); |
1638 | int security_inode_getxattr(struct dentry *dentry, char *name); | 1638 | int security_inode_getxattr(struct dentry *dentry, char *name); |
1639 | int security_inode_listxattr(struct dentry *dentry); | 1639 | int security_inode_listxattr(struct dentry *dentry); |
1640 | int security_inode_removexattr(struct dentry *dentry, char *name); | 1640 | int security_inode_removexattr(struct dentry *dentry, char *name); |
@@ -1652,12 +1652,12 @@ int security_file_mmap(struct file *file, unsigned long reqprot, | |||
1652 | unsigned long prot, unsigned long flags, | 1652 | unsigned long prot, unsigned long flags, |
1653 | unsigned long addr, unsigned long addr_only); | 1653 | unsigned long addr, unsigned long addr_only); |
1654 | int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, | 1654 | int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, |
1655 | unsigned long prot); | 1655 | unsigned long prot); |
1656 | int security_file_lock(struct file *file, unsigned int cmd); | 1656 | int security_file_lock(struct file *file, unsigned int cmd); |
1657 | int security_file_fcntl(struct file *file, unsigned int cmd, unsigned long arg); | 1657 | int security_file_fcntl(struct file *file, unsigned int cmd, unsigned long arg); |
1658 | int security_file_set_fowner(struct file *file); | 1658 | int security_file_set_fowner(struct file *file); |
1659 | int security_file_send_sigiotask(struct task_struct *tsk, | 1659 | int security_file_send_sigiotask(struct task_struct *tsk, |
1660 | struct fown_struct *fown, int sig); | 1660 | struct fown_struct *fown, int sig); |
1661 | int security_file_receive(struct file *file); | 1661 | int security_file_receive(struct file *file); |
1662 | int security_dentry_open(struct file *file); | 1662 | int security_dentry_open(struct file *file); |
1663 | int security_task_create(unsigned long clone_flags); | 1663 | int security_task_create(unsigned long clone_flags); |
@@ -1665,7 +1665,7 @@ int security_task_alloc(struct task_struct *p); | |||
1665 | void security_task_free(struct task_struct *p); | 1665 | void security_task_free(struct task_struct *p); |
1666 | int security_task_setuid(uid_t id0, uid_t id1, uid_t id2, int flags); | 1666 | int security_task_setuid(uid_t id0, uid_t id1, uid_t id2, int flags); |
1667 | int security_task_post_setuid(uid_t old_ruid, uid_t old_euid, | 1667 | int security_task_post_setuid(uid_t old_ruid, uid_t old_euid, |
1668 | uid_t old_suid, int flags); | 1668 | uid_t old_suid, int flags); |
1669 | int security_task_setgid(gid_t id0, gid_t id1, gid_t id2, int flags); | 1669 | int security_task_setgid(gid_t id0, gid_t id1, gid_t id2, int flags); |
1670 | int security_task_setpgid(struct task_struct *p, pid_t pgid); | 1670 | int security_task_setpgid(struct task_struct *p, pid_t pgid); |
1671 | int security_task_getpgid(struct task_struct *p); | 1671 | int security_task_getpgid(struct task_struct *p); |
@@ -1696,9 +1696,9 @@ void security_msg_queue_free(struct msg_queue *msq); | |||
1696 | int security_msg_queue_associate(struct msg_queue *msq, int msqflg); | 1696 | int security_msg_queue_associate(struct msg_queue *msq, int msqflg); |
1697 | int security_msg_queue_msgctl(struct msg_queue *msq, int cmd); | 1697 | int security_msg_queue_msgctl(struct msg_queue *msq, int cmd); |
1698 | int security_msg_queue_msgsnd(struct msg_queue *msq, | 1698 | int security_msg_queue_msgsnd(struct msg_queue *msq, |
1699 | struct msg_msg *msg, int msqflg); | 1699 | struct msg_msg *msg, int msqflg); |
1700 | int security_msg_queue_msgrcv(struct msg_queue *msq, struct msg_msg *msg, | 1700 | int security_msg_queue_msgrcv(struct msg_queue *msq, struct msg_msg *msg, |
1701 | struct task_struct *target, long type, int mode); | 1701 | struct task_struct *target, long type, int mode); |
1702 | int security_shm_alloc(struct shmid_kernel *shp); | 1702 | int security_shm_alloc(struct shmid_kernel *shp); |
1703 | void security_shm_free(struct shmid_kernel *shp); | 1703 | void security_shm_free(struct shmid_kernel *shp); |
1704 | int security_shm_associate(struct shmid_kernel *shp, int shmflg); | 1704 | int security_shm_associate(struct shmid_kernel *shp, int shmflg); |
@@ -1710,7 +1710,7 @@ int security_sem_associate(struct sem_array *sma, int semflg); | |||
1710 | int security_sem_semctl(struct sem_array *sma, int cmd); | 1710 | int security_sem_semctl(struct sem_array *sma, int cmd); |
1711 | int security_sem_semop(struct sem_array *sma, struct sembuf *sops, | 1711 | int security_sem_semop(struct sem_array *sma, struct sembuf *sops, |
1712 | unsigned nsops, int alter); | 1712 | unsigned nsops, int alter); |
1713 | void security_d_instantiate (struct dentry *dentry, struct inode *inode); | 1713 | void security_d_instantiate(struct dentry *dentry, struct inode *inode); |
1714 | int security_getprocattr(struct task_struct *p, char *name, char **value); | 1714 | int security_getprocattr(struct task_struct *p, char *name, char **value); |
1715 | int security_setprocattr(struct task_struct *p, char *name, void *value, size_t size); | 1715 | int security_setprocattr(struct task_struct *p, char *name, void *value, size_t size); |
1716 | int security_netlink_send(struct sock *sk, struct sk_buff *skb); | 1716 | int security_netlink_send(struct sock *sk, struct sk_buff *skb); |
@@ -1741,33 +1741,33 @@ static inline int security_init(void) | |||
1741 | return 0; | 1741 | return 0; |
1742 | } | 1742 | } |
1743 | 1743 | ||
1744 | static inline int security_ptrace (struct task_struct *parent, struct task_struct * child) | 1744 | static inline int security_ptrace(struct task_struct *parent, struct task_struct *child) |
1745 | { | 1745 | { |
1746 | return cap_ptrace (parent, child); | 1746 | return cap_ptrace(parent, child); |
1747 | } | 1747 | } |
1748 | 1748 | ||
1749 | static inline int security_capget (struct task_struct *target, | 1749 | static inline int security_capget(struct task_struct *target, |
1750 | kernel_cap_t *effective, | 1750 | kernel_cap_t *effective, |
1751 | kernel_cap_t *inheritable, | 1751 | kernel_cap_t *inheritable, |
1752 | kernel_cap_t *permitted) | 1752 | kernel_cap_t *permitted) |
1753 | { | 1753 | { |
1754 | return cap_capget (target, effective, inheritable, permitted); | 1754 | return cap_capget(target, effective, inheritable, permitted); |
1755 | } | 1755 | } |
1756 | 1756 | ||
1757 | static inline int security_capset_check (struct task_struct *target, | 1757 | static inline int security_capset_check(struct task_struct *target, |
1758 | kernel_cap_t *effective, | 1758 | kernel_cap_t *effective, |
1759 | kernel_cap_t *inheritable, | 1759 | kernel_cap_t *inheritable, |
1760 | kernel_cap_t *permitted) | 1760 | kernel_cap_t *permitted) |
1761 | { | 1761 | { |
1762 | return cap_capset_check (target, effective, inheritable, permitted); | 1762 | return cap_capset_check(target, effective, inheritable, permitted); |
1763 | } | 1763 | } |
1764 | 1764 | ||
1765 | static inline void security_capset_set (struct task_struct *target, | 1765 | static inline void security_capset_set(struct task_struct *target, |
1766 | kernel_cap_t *effective, | 1766 | kernel_cap_t *effective, |
1767 | kernel_cap_t *inheritable, | 1767 | kernel_cap_t *inheritable, |
1768 | kernel_cap_t *permitted) | 1768 | kernel_cap_t *permitted) |
1769 | { | 1769 | { |
1770 | cap_capset_set (target, effective, inheritable, permitted); | 1770 | cap_capset_set(target, effective, inheritable, permitted); |
1771 | } | 1771 | } |
1772 | 1772 | ||
1773 | static inline int security_capable(struct task_struct *tsk, int cap) | 1773 | static inline int security_capable(struct task_struct *tsk, int cap) |
@@ -1775,7 +1775,7 @@ static inline int security_capable(struct task_struct *tsk, int cap) | |||
1775 | return cap_capable(tsk, cap); | 1775 | return cap_capable(tsk, cap); |
1776 | } | 1776 | } |
1777 | 1777 | ||
1778 | static inline int security_acct (struct file *file) | 1778 | static inline int security_acct(struct file *file) |
1779 | { | 1779 | { |
1780 | return 0; | 1780 | return 0; |
1781 | } | 1781 | } |
@@ -1785,13 +1785,13 @@ static inline int security_sysctl(struct ctl_table *table, int op) | |||
1785 | return 0; | 1785 | return 0; |
1786 | } | 1786 | } |
1787 | 1787 | ||
1788 | static inline int security_quotactl (int cmds, int type, int id, | 1788 | static inline int security_quotactl(int cmds, int type, int id, |
1789 | struct super_block * sb) | 1789 | struct super_block *sb) |
1790 | { | 1790 | { |
1791 | return 0; | 1791 | return 0; |
1792 | } | 1792 | } |
1793 | 1793 | ||
1794 | static inline int security_quota_on (struct dentry * dentry) | 1794 | static inline int security_quota_on(struct dentry *dentry) |
1795 | { | 1795 | { |
1796 | return 0; | 1796 | return 0; |
1797 | } | 1797 | } |
@@ -1816,102 +1816,102 @@ static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages) | |||
1816 | return cap_vm_enough_memory(mm, pages); | 1816 | return cap_vm_enough_memory(mm, pages); |
1817 | } | 1817 | } |
1818 | 1818 | ||
1819 | static inline int security_bprm_alloc (struct linux_binprm *bprm) | 1819 | static inline int security_bprm_alloc(struct linux_binprm *bprm) |
1820 | { | 1820 | { |
1821 | return 0; | 1821 | return 0; |
1822 | } | 1822 | } |
1823 | 1823 | ||
1824 | static inline void security_bprm_free (struct linux_binprm *bprm) | 1824 | static inline void security_bprm_free(struct linux_binprm *bprm) |
1825 | { } | 1825 | { } |
1826 | 1826 | ||
1827 | static inline void security_bprm_apply_creds (struct linux_binprm *bprm, int unsafe) | 1827 | static inline void security_bprm_apply_creds(struct linux_binprm *bprm, int unsafe) |
1828 | { | 1828 | { |
1829 | cap_bprm_apply_creds (bprm, unsafe); | 1829 | cap_bprm_apply_creds(bprm, unsafe); |
1830 | } | 1830 | } |
1831 | 1831 | ||
1832 | static inline void security_bprm_post_apply_creds (struct linux_binprm *bprm) | 1832 | static inline void security_bprm_post_apply_creds(struct linux_binprm *bprm) |
1833 | { | 1833 | { |
1834 | return; | 1834 | return; |
1835 | } | 1835 | } |
1836 | 1836 | ||
1837 | static inline int security_bprm_set (struct linux_binprm *bprm) | 1837 | static inline int security_bprm_set(struct linux_binprm *bprm) |
1838 | { | 1838 | { |
1839 | return cap_bprm_set_security (bprm); | 1839 | return cap_bprm_set_security(bprm); |
1840 | } | 1840 | } |
1841 | 1841 | ||
1842 | static inline int security_bprm_check (struct linux_binprm *bprm) | 1842 | static inline int security_bprm_check(struct linux_binprm *bprm) |
1843 | { | 1843 | { |
1844 | return 0; | 1844 | return 0; |
1845 | } | 1845 | } |
1846 | 1846 | ||
1847 | static inline int security_bprm_secureexec (struct linux_binprm *bprm) | 1847 | static inline int security_bprm_secureexec(struct linux_binprm *bprm) |
1848 | { | 1848 | { |
1849 | return cap_bprm_secureexec(bprm); | 1849 | return cap_bprm_secureexec(bprm); |
1850 | } | 1850 | } |
1851 | 1851 | ||
1852 | static inline int security_sb_alloc (struct super_block *sb) | 1852 | static inline int security_sb_alloc(struct super_block *sb) |
1853 | { | 1853 | { |
1854 | return 0; | 1854 | return 0; |
1855 | } | 1855 | } |
1856 | 1856 | ||
1857 | static inline void security_sb_free (struct super_block *sb) | 1857 | static inline void security_sb_free(struct super_block *sb) |
1858 | { } | 1858 | { } |
1859 | 1859 | ||
1860 | static inline int security_sb_copy_data (char *orig, char *copy) | 1860 | static inline int security_sb_copy_data(char *orig, char *copy) |
1861 | { | 1861 | { |
1862 | return 0; | 1862 | return 0; |
1863 | } | 1863 | } |
1864 | 1864 | ||
1865 | static inline int security_sb_kern_mount (struct super_block *sb, void *data) | 1865 | static inline int security_sb_kern_mount(struct super_block *sb, void *data) |
1866 | { | 1866 | { |
1867 | return 0; | 1867 | return 0; |
1868 | } | 1868 | } |
1869 | 1869 | ||
1870 | static inline int security_sb_statfs (struct dentry *dentry) | 1870 | static inline int security_sb_statfs(struct dentry *dentry) |
1871 | { | 1871 | { |
1872 | return 0; | 1872 | return 0; |
1873 | } | 1873 | } |
1874 | 1874 | ||
1875 | static inline int security_sb_mount (char *dev_name, struct path *path, | 1875 | static inline int security_sb_mount(char *dev_name, struct path *path, |
1876 | char *type, unsigned long flags, | 1876 | char *type, unsigned long flags, |
1877 | void *data) | 1877 | void *data) |
1878 | { | 1878 | { |
1879 | return 0; | 1879 | return 0; |
1880 | } | 1880 | } |
1881 | 1881 | ||
1882 | static inline int security_sb_check_sb (struct vfsmount *mnt, | 1882 | static inline int security_sb_check_sb(struct vfsmount *mnt, |
1883 | struct path *path) | 1883 | struct path *path) |
1884 | { | 1884 | { |
1885 | return 0; | 1885 | return 0; |
1886 | } | 1886 | } |
1887 | 1887 | ||
1888 | static inline int security_sb_umount (struct vfsmount *mnt, int flags) | 1888 | static inline int security_sb_umount(struct vfsmount *mnt, int flags) |
1889 | { | 1889 | { |
1890 | return 0; | 1890 | return 0; |
1891 | } | 1891 | } |
1892 | 1892 | ||
1893 | static inline void security_sb_umount_close (struct vfsmount *mnt) | 1893 | static inline void security_sb_umount_close(struct vfsmount *mnt) |
1894 | { } | 1894 | { } |
1895 | 1895 | ||
1896 | static inline void security_sb_umount_busy (struct vfsmount *mnt) | 1896 | static inline void security_sb_umount_busy(struct vfsmount *mnt) |
1897 | { } | 1897 | { } |
1898 | 1898 | ||
1899 | static inline void security_sb_post_remount (struct vfsmount *mnt, | 1899 | static inline void security_sb_post_remount(struct vfsmount *mnt, |
1900 | unsigned long flags, void *data) | 1900 | unsigned long flags, void *data) |
1901 | { } | 1901 | { } |
1902 | 1902 | ||
1903 | static inline void security_sb_post_addmount (struct vfsmount *mnt, | 1903 | static inline void security_sb_post_addmount(struct vfsmount *mnt, |
1904 | struct path *mountpoint) | 1904 | struct path *mountpoint) |
1905 | { } | 1905 | { } |
1906 | 1906 | ||
1907 | static inline int security_sb_pivotroot (struct path *old_path, | 1907 | static inline int security_sb_pivotroot(struct path *old_path, |
1908 | struct path *new_path) | 1908 | struct path *new_path) |
1909 | { | 1909 | { |
1910 | return 0; | 1910 | return 0; |
1911 | } | 1911 | } |
1912 | 1912 | ||
1913 | static inline void security_sb_post_pivotroot (struct path *old_path, | 1913 | static inline void security_sb_post_pivotroot(struct path *old_path, |
1914 | struct path *new_path) | 1914 | struct path *new_path) |
1915 | { } | 1915 | { } |
1916 | static inline int security_sb_get_mnt_opts(const struct super_block *sb, | 1916 | static inline int security_sb_get_mnt_opts(const struct super_block *sb, |
1917 | struct security_mnt_opts *opts) | 1917 | struct security_mnt_opts *opts) |
@@ -1935,15 +1935,15 @@ static inline int security_sb_parse_opts_str(char *options, struct security_mnt_ | |||
1935 | return 0; | 1935 | return 0; |
1936 | } | 1936 | } |
1937 | 1937 | ||
1938 | static inline int security_inode_alloc (struct inode *inode) | 1938 | static inline int security_inode_alloc(struct inode *inode) |
1939 | { | 1939 | { |
1940 | return 0; | 1940 | return 0; |
1941 | } | 1941 | } |
1942 | 1942 | ||
1943 | static inline void security_inode_free (struct inode *inode) | 1943 | static inline void security_inode_free(struct inode *inode) |
1944 | { } | 1944 | { } |
1945 | 1945 | ||
1946 | static inline int security_inode_init_security (struct inode *inode, | 1946 | static inline int security_inode_init_security(struct inode *inode, |
1947 | struct inode *dir, | 1947 | struct inode *dir, |
1948 | char **name, | 1948 | char **name, |
1949 | void **value, | 1949 | void **value, |
@@ -1951,55 +1951,55 @@ static inline int security_inode_init_security (struct inode *inode, | |||
1951 | { | 1951 | { |
1952 | return -EOPNOTSUPP; | 1952 | return -EOPNOTSUPP; |
1953 | } | 1953 | } |
1954 | 1954 | ||
1955 | static inline int security_inode_create (struct inode *dir, | 1955 | static inline int security_inode_create(struct inode *dir, |
1956 | struct dentry *dentry, | 1956 | struct dentry *dentry, |
1957 | int mode) | 1957 | int mode) |
1958 | { | 1958 | { |
1959 | return 0; | 1959 | return 0; |
1960 | } | 1960 | } |
1961 | 1961 | ||
1962 | static inline int security_inode_link (struct dentry *old_dentry, | 1962 | static inline int security_inode_link(struct dentry *old_dentry, |
1963 | struct inode *dir, | 1963 | struct inode *dir, |
1964 | struct dentry *new_dentry) | 1964 | struct dentry *new_dentry) |
1965 | { | 1965 | { |
1966 | return 0; | 1966 | return 0; |
1967 | } | 1967 | } |
1968 | 1968 | ||
1969 | static inline int security_inode_unlink (struct inode *dir, | 1969 | static inline int security_inode_unlink(struct inode *dir, |
1970 | struct dentry *dentry) | 1970 | struct dentry *dentry) |
1971 | { | 1971 | { |
1972 | return 0; | 1972 | return 0; |
1973 | } | 1973 | } |
1974 | 1974 | ||
1975 | static inline int security_inode_symlink (struct inode *dir, | 1975 | static inline int security_inode_symlink(struct inode *dir, |
1976 | struct dentry *dentry, | 1976 | struct dentry *dentry, |
1977 | const char *old_name) | 1977 | const char *old_name) |
1978 | { | 1978 | { |
1979 | return 0; | 1979 | return 0; |
1980 | } | 1980 | } |
1981 | 1981 | ||
1982 | static inline int security_inode_mkdir (struct inode *dir, | 1982 | static inline int security_inode_mkdir(struct inode *dir, |
1983 | struct dentry *dentry, | 1983 | struct dentry *dentry, |
1984 | int mode) | 1984 | int mode) |
1985 | { | 1985 | { |
1986 | return 0; | 1986 | return 0; |
1987 | } | 1987 | } |
1988 | 1988 | ||
1989 | static inline int security_inode_rmdir (struct inode *dir, | 1989 | static inline int security_inode_rmdir(struct inode *dir, |
1990 | struct dentry *dentry) | 1990 | struct dentry *dentry) |
1991 | { | 1991 | { |
1992 | return 0; | 1992 | return 0; |
1993 | } | 1993 | } |
1994 | 1994 | ||
1995 | static inline int security_inode_mknod (struct inode *dir, | 1995 | static inline int security_inode_mknod(struct inode *dir, |
1996 | struct dentry *dentry, | 1996 | struct dentry *dentry, |
1997 | int mode, dev_t dev) | 1997 | int mode, dev_t dev) |
1998 | { | 1998 | { |
1999 | return 0; | 1999 | return 0; |
2000 | } | 2000 | } |
2001 | 2001 | ||
2002 | static inline int security_inode_rename (struct inode *old_dir, | 2002 | static inline int security_inode_rename(struct inode *old_dir, |
2003 | struct dentry *old_dentry, | 2003 | struct dentry *old_dentry, |
2004 | struct inode *new_dir, | 2004 | struct inode *new_dir, |
2005 | struct dentry *new_dentry) | 2005 | struct dentry *new_dentry) |
@@ -2007,59 +2007,59 @@ static inline int security_inode_rename (struct inode *old_dir, | |||
2007 | return 0; | 2007 | return 0; |
2008 | } | 2008 | } |
2009 | 2009 | ||
2010 | static inline int security_inode_readlink (struct dentry *dentry) | 2010 | static inline int security_inode_readlink(struct dentry *dentry) |
2011 | { | 2011 | { |
2012 | return 0; | 2012 | return 0; |
2013 | } | 2013 | } |
2014 | 2014 | ||
2015 | static inline int security_inode_follow_link (struct dentry *dentry, | 2015 | static inline int security_inode_follow_link(struct dentry *dentry, |
2016 | struct nameidata *nd) | 2016 | struct nameidata *nd) |
2017 | { | 2017 | { |
2018 | return 0; | 2018 | return 0; |
2019 | } | 2019 | } |
2020 | 2020 | ||
2021 | static inline int security_inode_permission (struct inode *inode, int mask, | 2021 | static inline int security_inode_permission(struct inode *inode, int mask, |
2022 | struct nameidata *nd) | 2022 | struct nameidata *nd) |
2023 | { | 2023 | { |
2024 | return 0; | 2024 | return 0; |
2025 | } | 2025 | } |
2026 | 2026 | ||
2027 | static inline int security_inode_setattr (struct dentry *dentry, | 2027 | static inline int security_inode_setattr(struct dentry *dentry, |
2028 | struct iattr *attr) | 2028 | struct iattr *attr) |
2029 | { | 2029 | { |
2030 | return 0; | 2030 | return 0; |
2031 | } | 2031 | } |
2032 | 2032 | ||
2033 | static inline int security_inode_getattr (struct vfsmount *mnt, | 2033 | static inline int security_inode_getattr(struct vfsmount *mnt, |
2034 | struct dentry *dentry) | 2034 | struct dentry *dentry) |
2035 | { | 2035 | { |
2036 | return 0; | 2036 | return 0; |
2037 | } | 2037 | } |
2038 | 2038 | ||
2039 | static inline void security_inode_delete (struct inode *inode) | 2039 | static inline void security_inode_delete(struct inode *inode) |
2040 | { } | 2040 | { } |
2041 | 2041 | ||
2042 | static inline int security_inode_setxattr (struct dentry *dentry, char *name, | 2042 | static inline int security_inode_setxattr(struct dentry *dentry, char *name, |
2043 | void *value, size_t size, int flags) | 2043 | void *value, size_t size, int flags) |
2044 | { | 2044 | { |
2045 | return cap_inode_setxattr(dentry, name, value, size, flags); | 2045 | return cap_inode_setxattr(dentry, name, value, size, flags); |
2046 | } | 2046 | } |
2047 | 2047 | ||
2048 | static inline void security_inode_post_setxattr (struct dentry *dentry, char *name, | 2048 | static inline void security_inode_post_setxattr(struct dentry *dentry, char *name, |
2049 | void *value, size_t size, int flags) | 2049 | void *value, size_t size, int flags) |
2050 | { } | 2050 | { } |
2051 | 2051 | ||
2052 | static inline int security_inode_getxattr (struct dentry *dentry, char *name) | 2052 | static inline int security_inode_getxattr(struct dentry *dentry, char *name) |
2053 | { | 2053 | { |
2054 | return 0; | 2054 | return 0; |
2055 | } | 2055 | } |
2056 | 2056 | ||
2057 | static inline int security_inode_listxattr (struct dentry *dentry) | 2057 | static inline int security_inode_listxattr(struct dentry *dentry) |
2058 | { | 2058 | { |
2059 | return 0; | 2059 | return 0; |
2060 | } | 2060 | } |
2061 | 2061 | ||
2062 | static inline int security_inode_removexattr (struct dentry *dentry, char *name) | 2062 | static inline int security_inode_removexattr(struct dentry *dentry, char *name) |
2063 | { | 2063 | { |
2064 | return cap_inode_removexattr(dentry, name); | 2064 | return cap_inode_removexattr(dentry, name); |
2065 | } | 2065 | } |
@@ -2094,198 +2094,198 @@ static inline void security_inode_getsecid(const struct inode *inode, u32 *secid | |||
2094 | *secid = 0; | 2094 | *secid = 0; |
2095 | } | 2095 | } |
2096 | 2096 | ||
2097 | static inline int security_file_permission (struct file *file, int mask) | 2097 | static inline int security_file_permission(struct file *file, int mask) |
2098 | { | 2098 | { |
2099 | return 0; | 2099 | return 0; |
2100 | } | 2100 | } |
2101 | 2101 | ||
2102 | static inline int security_file_alloc (struct file *file) | 2102 | static inline int security_file_alloc(struct file *file) |
2103 | { | 2103 | { |
2104 | return 0; | 2104 | return 0; |
2105 | } | 2105 | } |
2106 | 2106 | ||
2107 | static inline void security_file_free (struct file *file) | 2107 | static inline void security_file_free(struct file *file) |
2108 | { } | 2108 | { } |
2109 | 2109 | ||
2110 | static inline int security_file_ioctl (struct file *file, unsigned int cmd, | 2110 | static inline int security_file_ioctl(struct file *file, unsigned int cmd, |
2111 | unsigned long arg) | 2111 | unsigned long arg) |
2112 | { | 2112 | { |
2113 | return 0; | 2113 | return 0; |
2114 | } | 2114 | } |
2115 | 2115 | ||
2116 | static inline int security_file_mmap (struct file *file, unsigned long reqprot, | 2116 | static inline int security_file_mmap(struct file *file, unsigned long reqprot, |
2117 | unsigned long prot, | 2117 | unsigned long prot, |
2118 | unsigned long flags, | 2118 | unsigned long flags, |
2119 | unsigned long addr, | 2119 | unsigned long addr, |
2120 | unsigned long addr_only) | 2120 | unsigned long addr_only) |
2121 | { | 2121 | { |
2122 | return 0; | 2122 | return 0; |
2123 | } | 2123 | } |
2124 | 2124 | ||
2125 | static inline int security_file_mprotect (struct vm_area_struct *vma, | 2125 | static inline int security_file_mprotect(struct vm_area_struct *vma, |
2126 | unsigned long reqprot, | 2126 | unsigned long reqprot, |
2127 | unsigned long prot) | 2127 | unsigned long prot) |
2128 | { | 2128 | { |
2129 | return 0; | 2129 | return 0; |
2130 | } | 2130 | } |
2131 | 2131 | ||
2132 | static inline int security_file_lock (struct file *file, unsigned int cmd) | 2132 | static inline int security_file_lock(struct file *file, unsigned int cmd) |
2133 | { | 2133 | { |
2134 | return 0; | 2134 | return 0; |
2135 | } | 2135 | } |
2136 | 2136 | ||
2137 | static inline int security_file_fcntl (struct file *file, unsigned int cmd, | 2137 | static inline int security_file_fcntl(struct file *file, unsigned int cmd, |
2138 | unsigned long arg) | 2138 | unsigned long arg) |
2139 | { | 2139 | { |
2140 | return 0; | 2140 | return 0; |
2141 | } | 2141 | } |
2142 | 2142 | ||
2143 | static inline int security_file_set_fowner (struct file *file) | 2143 | static inline int security_file_set_fowner(struct file *file) |
2144 | { | 2144 | { |
2145 | return 0; | 2145 | return 0; |
2146 | } | 2146 | } |
2147 | 2147 | ||
2148 | static inline int security_file_send_sigiotask (struct task_struct *tsk, | 2148 | static inline int security_file_send_sigiotask(struct task_struct *tsk, |
2149 | struct fown_struct *fown, | 2149 | struct fown_struct *fown, |
2150 | int sig) | 2150 | int sig) |
2151 | { | 2151 | { |
2152 | return 0; | 2152 | return 0; |
2153 | } | 2153 | } |
2154 | 2154 | ||
2155 | static inline int security_file_receive (struct file *file) | 2155 | static inline int security_file_receive(struct file *file) |
2156 | { | 2156 | { |
2157 | return 0; | 2157 | return 0; |
2158 | } | 2158 | } |
2159 | 2159 | ||
2160 | static inline int security_dentry_open (struct file *file) | 2160 | static inline int security_dentry_open(struct file *file) |
2161 | { | 2161 | { |
2162 | return 0; | 2162 | return 0; |
2163 | } | 2163 | } |
2164 | 2164 | ||
2165 | static inline int security_task_create (unsigned long clone_flags) | 2165 | static inline int security_task_create(unsigned long clone_flags) |
2166 | { | 2166 | { |
2167 | return 0; | 2167 | return 0; |
2168 | } | 2168 | } |
2169 | 2169 | ||
2170 | static inline int security_task_alloc (struct task_struct *p) | 2170 | static inline int security_task_alloc(struct task_struct *p) |
2171 | { | 2171 | { |
2172 | return 0; | 2172 | return 0; |
2173 | } | 2173 | } |
2174 | 2174 | ||
2175 | static inline void security_task_free (struct task_struct *p) | 2175 | static inline void security_task_free(struct task_struct *p) |
2176 | { } | 2176 | { } |
2177 | 2177 | ||
2178 | static inline int security_task_setuid (uid_t id0, uid_t id1, uid_t id2, | 2178 | static inline int security_task_setuid(uid_t id0, uid_t id1, uid_t id2, |
2179 | int flags) | 2179 | int flags) |
2180 | { | 2180 | { |
2181 | return 0; | 2181 | return 0; |
2182 | } | 2182 | } |
2183 | 2183 | ||
2184 | static inline int security_task_post_setuid (uid_t old_ruid, uid_t old_euid, | 2184 | static inline int security_task_post_setuid(uid_t old_ruid, uid_t old_euid, |
2185 | uid_t old_suid, int flags) | 2185 | uid_t old_suid, int flags) |
2186 | { | 2186 | { |
2187 | return cap_task_post_setuid (old_ruid, old_euid, old_suid, flags); | 2187 | return cap_task_post_setuid(old_ruid, old_euid, old_suid, flags); |
2188 | } | 2188 | } |
2189 | 2189 | ||
2190 | static inline int security_task_setgid (gid_t id0, gid_t id1, gid_t id2, | 2190 | static inline int security_task_setgid(gid_t id0, gid_t id1, gid_t id2, |
2191 | int flags) | 2191 | int flags) |
2192 | { | 2192 | { |
2193 | return 0; | 2193 | return 0; |
2194 | } | 2194 | } |
2195 | 2195 | ||
2196 | static inline int security_task_setpgid (struct task_struct *p, pid_t pgid) | 2196 | static inline int security_task_setpgid(struct task_struct *p, pid_t pgid) |
2197 | { | 2197 | { |
2198 | return 0; | 2198 | return 0; |
2199 | } | 2199 | } |
2200 | 2200 | ||
2201 | static inline int security_task_getpgid (struct task_struct *p) | 2201 | static inline int security_task_getpgid(struct task_struct *p) |
2202 | { | 2202 | { |
2203 | return 0; | 2203 | return 0; |
2204 | } | 2204 | } |
2205 | 2205 | ||
2206 | static inline int security_task_getsid (struct task_struct *p) | 2206 | static inline int security_task_getsid(struct task_struct *p) |
2207 | { | 2207 | { |
2208 | return 0; | 2208 | return 0; |
2209 | } | 2209 | } |
2210 | 2210 | ||
2211 | static inline void security_task_getsecid (struct task_struct *p, u32 *secid) | 2211 | static inline void security_task_getsecid(struct task_struct *p, u32 *secid) |
2212 | { | 2212 | { |
2213 | *secid = 0; | 2213 | *secid = 0; |
2214 | } | 2214 | } |
2215 | 2215 | ||
2216 | static inline int security_task_setgroups (struct group_info *group_info) | 2216 | static inline int security_task_setgroups(struct group_info *group_info) |
2217 | { | 2217 | { |
2218 | return 0; | 2218 | return 0; |
2219 | } | 2219 | } |
2220 | 2220 | ||
2221 | static inline int security_task_setnice (struct task_struct *p, int nice) | 2221 | static inline int security_task_setnice(struct task_struct *p, int nice) |
2222 | { | 2222 | { |
2223 | return cap_task_setnice(p, nice); | 2223 | return cap_task_setnice(p, nice); |
2224 | } | 2224 | } |
2225 | 2225 | ||
2226 | static inline int security_task_setioprio (struct task_struct *p, int ioprio) | 2226 | static inline int security_task_setioprio(struct task_struct *p, int ioprio) |
2227 | { | 2227 | { |
2228 | return cap_task_setioprio(p, ioprio); | 2228 | return cap_task_setioprio(p, ioprio); |
2229 | } | 2229 | } |
2230 | 2230 | ||
2231 | static inline int security_task_getioprio (struct task_struct *p) | 2231 | static inline int security_task_getioprio(struct task_struct *p) |
2232 | { | 2232 | { |
2233 | return 0; | 2233 | return 0; |
2234 | } | 2234 | } |
2235 | 2235 | ||
2236 | static inline int security_task_setrlimit (unsigned int resource, | 2236 | static inline int security_task_setrlimit(unsigned int resource, |
2237 | struct rlimit *new_rlim) | 2237 | struct rlimit *new_rlim) |
2238 | { | 2238 | { |
2239 | return 0; | 2239 | return 0; |
2240 | } | 2240 | } |
2241 | 2241 | ||
2242 | static inline int security_task_setscheduler (struct task_struct *p, | 2242 | static inline int security_task_setscheduler(struct task_struct *p, |
2243 | int policy, | 2243 | int policy, |
2244 | struct sched_param *lp) | 2244 | struct sched_param *lp) |
2245 | { | 2245 | { |
2246 | return cap_task_setscheduler(p, policy, lp); | 2246 | return cap_task_setscheduler(p, policy, lp); |
2247 | } | 2247 | } |
2248 | 2248 | ||
2249 | static inline int security_task_getscheduler (struct task_struct *p) | 2249 | static inline int security_task_getscheduler(struct task_struct *p) |
2250 | { | 2250 | { |
2251 | return 0; | 2251 | return 0; |
2252 | } | 2252 | } |
2253 | 2253 | ||
2254 | static inline int security_task_movememory (struct task_struct *p) | 2254 | static inline int security_task_movememory(struct task_struct *p) |
2255 | { | 2255 | { |
2256 | return 0; | 2256 | return 0; |
2257 | } | 2257 | } |
2258 | 2258 | ||
2259 | static inline int security_task_kill (struct task_struct *p, | 2259 | static inline int security_task_kill(struct task_struct *p, |
2260 | struct siginfo *info, int sig, | 2260 | struct siginfo *info, int sig, |
2261 | u32 secid) | 2261 | u32 secid) |
2262 | { | 2262 | { |
2263 | return 0; | 2263 | return 0; |
2264 | } | 2264 | } |
2265 | 2265 | ||
2266 | static inline int security_task_wait (struct task_struct *p) | 2266 | static inline int security_task_wait(struct task_struct *p) |
2267 | { | 2267 | { |
2268 | return 0; | 2268 | return 0; |
2269 | } | 2269 | } |
2270 | 2270 | ||
2271 | static inline int security_task_prctl (int option, unsigned long arg2, | 2271 | static inline int security_task_prctl(int option, unsigned long arg2, |
2272 | unsigned long arg3, | 2272 | unsigned long arg3, |
2273 | unsigned long arg4, | 2273 | unsigned long arg4, |
2274 | unsigned long arg5) | 2274 | unsigned long arg5) |
2275 | { | 2275 | { |
2276 | return 0; | 2276 | return 0; |
2277 | } | 2277 | } |
2278 | 2278 | ||
2279 | static inline void security_task_reparent_to_init (struct task_struct *p) | 2279 | static inline void security_task_reparent_to_init(struct task_struct *p) |
2280 | { | 2280 | { |
2281 | cap_task_reparent_to_init (p); | 2281 | cap_task_reparent_to_init(p); |
2282 | } | 2282 | } |
2283 | 2283 | ||
2284 | static inline void security_task_to_inode(struct task_struct *p, struct inode *inode) | 2284 | static inline void security_task_to_inode(struct task_struct *p, struct inode *inode) |
2285 | { } | 2285 | { } |
2286 | 2286 | ||
2287 | static inline int security_ipc_permission (struct kern_ipc_perm *ipcp, | 2287 | static inline int security_ipc_permission(struct kern_ipc_perm *ipcp, |
2288 | short flag) | 2288 | short flag) |
2289 | { | 2289 | { |
2290 | return 0; | 2290 | return 0; |
2291 | } | 2291 | } |
@@ -2295,98 +2295,98 @@ static inline void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) | |||
2295 | *secid = 0; | 2295 | *secid = 0; |
2296 | } | 2296 | } |
2297 | 2297 | ||
2298 | static inline int security_msg_msg_alloc (struct msg_msg * msg) | 2298 | static inline int security_msg_msg_alloc(struct msg_msg *msg) |
2299 | { | 2299 | { |
2300 | return 0; | 2300 | return 0; |
2301 | } | 2301 | } |
2302 | 2302 | ||
2303 | static inline void security_msg_msg_free (struct msg_msg * msg) | 2303 | static inline void security_msg_msg_free(struct msg_msg *msg) |
2304 | { } | 2304 | { } |
2305 | 2305 | ||
2306 | static inline int security_msg_queue_alloc (struct msg_queue *msq) | 2306 | static inline int security_msg_queue_alloc(struct msg_queue *msq) |
2307 | { | 2307 | { |
2308 | return 0; | 2308 | return 0; |
2309 | } | 2309 | } |
2310 | 2310 | ||
2311 | static inline void security_msg_queue_free (struct msg_queue *msq) | 2311 | static inline void security_msg_queue_free(struct msg_queue *msq) |
2312 | { } | 2312 | { } |
2313 | 2313 | ||
2314 | static inline int security_msg_queue_associate (struct msg_queue * msq, | 2314 | static inline int security_msg_queue_associate(struct msg_queue *msq, |
2315 | int msqflg) | 2315 | int msqflg) |
2316 | { | 2316 | { |
2317 | return 0; | 2317 | return 0; |
2318 | } | 2318 | } |
2319 | 2319 | ||
2320 | static inline int security_msg_queue_msgctl (struct msg_queue * msq, int cmd) | 2320 | static inline int security_msg_queue_msgctl(struct msg_queue *msq, int cmd) |
2321 | { | 2321 | { |
2322 | return 0; | 2322 | return 0; |
2323 | } | 2323 | } |
2324 | 2324 | ||
2325 | static inline int security_msg_queue_msgsnd (struct msg_queue * msq, | 2325 | static inline int security_msg_queue_msgsnd(struct msg_queue *msq, |
2326 | struct msg_msg * msg, int msqflg) | 2326 | struct msg_msg *msg, int msqflg) |
2327 | { | 2327 | { |
2328 | return 0; | 2328 | return 0; |
2329 | } | 2329 | } |
2330 | 2330 | ||
2331 | static inline int security_msg_queue_msgrcv (struct msg_queue * msq, | 2331 | static inline int security_msg_queue_msgrcv(struct msg_queue *msq, |
2332 | struct msg_msg * msg, | 2332 | struct msg_msg *msg, |
2333 | struct task_struct * target, | 2333 | struct task_struct *target, |
2334 | long type, int mode) | 2334 | long type, int mode) |
2335 | { | 2335 | { |
2336 | return 0; | 2336 | return 0; |
2337 | } | 2337 | } |
2338 | 2338 | ||
2339 | static inline int security_shm_alloc (struct shmid_kernel *shp) | 2339 | static inline int security_shm_alloc(struct shmid_kernel *shp) |
2340 | { | 2340 | { |
2341 | return 0; | 2341 | return 0; |
2342 | } | 2342 | } |
2343 | 2343 | ||
2344 | static inline void security_shm_free (struct shmid_kernel *shp) | 2344 | static inline void security_shm_free(struct shmid_kernel *shp) |
2345 | { } | 2345 | { } |
2346 | 2346 | ||
2347 | static inline int security_shm_associate (struct shmid_kernel * shp, | 2347 | static inline int security_shm_associate(struct shmid_kernel *shp, |
2348 | int shmflg) | 2348 | int shmflg) |
2349 | { | 2349 | { |
2350 | return 0; | 2350 | return 0; |
2351 | } | 2351 | } |
2352 | 2352 | ||
2353 | static inline int security_shm_shmctl (struct shmid_kernel * shp, int cmd) | 2353 | static inline int security_shm_shmctl(struct shmid_kernel *shp, int cmd) |
2354 | { | 2354 | { |
2355 | return 0; | 2355 | return 0; |
2356 | } | 2356 | } |
2357 | 2357 | ||
2358 | static inline int security_shm_shmat (struct shmid_kernel * shp, | 2358 | static inline int security_shm_shmat(struct shmid_kernel *shp, |
2359 | char __user *shmaddr, int shmflg) | 2359 | char __user *shmaddr, int shmflg) |
2360 | { | 2360 | { |
2361 | return 0; | 2361 | return 0; |
2362 | } | 2362 | } |
2363 | 2363 | ||
2364 | static inline int security_sem_alloc (struct sem_array *sma) | 2364 | static inline int security_sem_alloc(struct sem_array *sma) |
2365 | { | 2365 | { |
2366 | return 0; | 2366 | return 0; |
2367 | } | 2367 | } |
2368 | 2368 | ||
2369 | static inline void security_sem_free (struct sem_array *sma) | 2369 | static inline void security_sem_free(struct sem_array *sma) |
2370 | { } | 2370 | { } |
2371 | 2371 | ||
2372 | static inline int security_sem_associate (struct sem_array * sma, int semflg) | 2372 | static inline int security_sem_associate(struct sem_array *sma, int semflg) |
2373 | { | 2373 | { |
2374 | return 0; | 2374 | return 0; |
2375 | } | 2375 | } |
2376 | 2376 | ||
2377 | static inline int security_sem_semctl (struct sem_array * sma, int cmd) | 2377 | static inline int security_sem_semctl(struct sem_array *sma, int cmd) |
2378 | { | 2378 | { |
2379 | return 0; | 2379 | return 0; |
2380 | } | 2380 | } |
2381 | 2381 | ||
2382 | static inline int security_sem_semop (struct sem_array * sma, | 2382 | static inline int security_sem_semop(struct sem_array *sma, |
2383 | struct sembuf * sops, unsigned nsops, | 2383 | struct sembuf *sops, unsigned nsops, |
2384 | int alter) | 2384 | int alter) |
2385 | { | 2385 | { |
2386 | return 0; | 2386 | return 0; |
2387 | } | 2387 | } |
2388 | 2388 | ||
2389 | static inline void security_d_instantiate (struct dentry *dentry, struct inode *inode) | 2389 | static inline void security_d_instantiate(struct dentry *dentry, struct inode *inode) |
2390 | { } | 2390 | { } |
2391 | 2391 | ||
2392 | static inline int security_getprocattr(struct task_struct *p, char *name, char **value) | 2392 | static inline int security_getprocattr(struct task_struct *p, char *name, char **value) |
@@ -2399,14 +2399,14 @@ static inline int security_setprocattr(struct task_struct *p, char *name, void * | |||
2399 | return -EINVAL; | 2399 | return -EINVAL; |
2400 | } | 2400 | } |
2401 | 2401 | ||
2402 | static inline int security_netlink_send (struct sock *sk, struct sk_buff *skb) | 2402 | static inline int security_netlink_send(struct sock *sk, struct sk_buff *skb) |
2403 | { | 2403 | { |
2404 | return cap_netlink_send (sk, skb); | 2404 | return cap_netlink_send(sk, skb); |
2405 | } | 2405 | } |
2406 | 2406 | ||
2407 | static inline int security_netlink_recv (struct sk_buff *skb, int cap) | 2407 | static inline int security_netlink_recv(struct sk_buff *skb, int cap) |
2408 | { | 2408 | { |
2409 | return cap_netlink_recv (skb, cap); | 2409 | return cap_netlink_recv(skb, cap); |
2410 | } | 2410 | } |
2411 | 2411 | ||
2412 | static inline struct dentry *securityfs_create_dir(const char *name, | 2412 | static inline struct dentry *securityfs_create_dir(const char *name, |
@@ -2484,26 +2484,26 @@ void security_inet_conn_established(struct sock *sk, | |||
2484 | struct sk_buff *skb); | 2484 | struct sk_buff *skb); |
2485 | 2485 | ||
2486 | #else /* CONFIG_SECURITY_NETWORK */ | 2486 | #else /* CONFIG_SECURITY_NETWORK */ |
2487 | static inline int security_unix_stream_connect(struct socket * sock, | 2487 | static inline int security_unix_stream_connect(struct socket *sock, |
2488 | struct socket * other, | 2488 | struct socket *other, |
2489 | struct sock * newsk) | 2489 | struct sock *newsk) |
2490 | { | 2490 | { |
2491 | return 0; | 2491 | return 0; |
2492 | } | 2492 | } |
2493 | 2493 | ||
2494 | static inline int security_unix_may_send(struct socket * sock, | 2494 | static inline int security_unix_may_send(struct socket *sock, |
2495 | struct socket * other) | 2495 | struct socket *other) |
2496 | { | 2496 | { |
2497 | return 0; | 2497 | return 0; |
2498 | } | 2498 | } |
2499 | 2499 | ||
2500 | static inline int security_socket_create (int family, int type, | 2500 | static inline int security_socket_create(int family, int type, |
2501 | int protocol, int kern) | 2501 | int protocol, int kern) |
2502 | { | 2502 | { |
2503 | return 0; | 2503 | return 0; |
2504 | } | 2504 | } |
2505 | 2505 | ||
2506 | static inline int security_socket_post_create(struct socket * sock, | 2506 | static inline int security_socket_post_create(struct socket *sock, |
2507 | int family, | 2507 | int family, |
2508 | int type, | 2508 | int type, |
2509 | int protocol, int kern) | 2509 | int protocol, int kern) |
@@ -2511,77 +2511,77 @@ static inline int security_socket_post_create(struct socket * sock, | |||
2511 | return 0; | 2511 | return 0; |
2512 | } | 2512 | } |
2513 | 2513 | ||
2514 | static inline int security_socket_bind(struct socket * sock, | 2514 | static inline int security_socket_bind(struct socket *sock, |
2515 | struct sockaddr * address, | 2515 | struct sockaddr *address, |
2516 | int addrlen) | 2516 | int addrlen) |
2517 | { | 2517 | { |
2518 | return 0; | 2518 | return 0; |
2519 | } | 2519 | } |
2520 | 2520 | ||
2521 | static inline int security_socket_connect(struct socket * sock, | 2521 | static inline int security_socket_connect(struct socket *sock, |
2522 | struct sockaddr * address, | 2522 | struct sockaddr *address, |
2523 | int addrlen) | 2523 | int addrlen) |
2524 | { | 2524 | { |
2525 | return 0; | 2525 | return 0; |
2526 | } | 2526 | } |
2527 | 2527 | ||
2528 | static inline int security_socket_listen(struct socket * sock, int backlog) | 2528 | static inline int security_socket_listen(struct socket *sock, int backlog) |
2529 | { | 2529 | { |
2530 | return 0; | 2530 | return 0; |
2531 | } | 2531 | } |
2532 | 2532 | ||
2533 | static inline int security_socket_accept(struct socket * sock, | 2533 | static inline int security_socket_accept(struct socket *sock, |
2534 | struct socket * newsock) | 2534 | struct socket *newsock) |
2535 | { | 2535 | { |
2536 | return 0; | 2536 | return 0; |
2537 | } | 2537 | } |
2538 | 2538 | ||
2539 | static inline void security_socket_post_accept(struct socket * sock, | 2539 | static inline void security_socket_post_accept(struct socket *sock, |
2540 | struct socket * newsock) | 2540 | struct socket *newsock) |
2541 | { | 2541 | { |
2542 | } | 2542 | } |
2543 | 2543 | ||
2544 | static inline int security_socket_sendmsg(struct socket * sock, | 2544 | static inline int security_socket_sendmsg(struct socket *sock, |
2545 | struct msghdr * msg, int size) | 2545 | struct msghdr *msg, int size) |
2546 | { | 2546 | { |
2547 | return 0; | 2547 | return 0; |
2548 | } | 2548 | } |
2549 | 2549 | ||
2550 | static inline int security_socket_recvmsg(struct socket * sock, | 2550 | static inline int security_socket_recvmsg(struct socket *sock, |
2551 | struct msghdr * msg, int size, | 2551 | struct msghdr *msg, int size, |
2552 | int flags) | 2552 | int flags) |
2553 | { | 2553 | { |
2554 | return 0; | 2554 | return 0; |
2555 | } | 2555 | } |
2556 | 2556 | ||
2557 | static inline int security_socket_getsockname(struct socket * sock) | 2557 | static inline int security_socket_getsockname(struct socket *sock) |
2558 | { | 2558 | { |
2559 | return 0; | 2559 | return 0; |
2560 | } | 2560 | } |
2561 | 2561 | ||
2562 | static inline int security_socket_getpeername(struct socket * sock) | 2562 | static inline int security_socket_getpeername(struct socket *sock) |
2563 | { | 2563 | { |
2564 | return 0; | 2564 | return 0; |
2565 | } | 2565 | } |
2566 | 2566 | ||
2567 | static inline int security_socket_getsockopt(struct socket * sock, | 2567 | static inline int security_socket_getsockopt(struct socket *sock, |
2568 | int level, int optname) | 2568 | int level, int optname) |
2569 | { | 2569 | { |
2570 | return 0; | 2570 | return 0; |
2571 | } | 2571 | } |
2572 | 2572 | ||
2573 | static inline int security_socket_setsockopt(struct socket * sock, | 2573 | static inline int security_socket_setsockopt(struct socket *sock, |
2574 | int level, int optname) | 2574 | int level, int optname) |
2575 | { | 2575 | { |
2576 | return 0; | 2576 | return 0; |
2577 | } | 2577 | } |
2578 | 2578 | ||
2579 | static inline int security_socket_shutdown(struct socket * sock, int how) | 2579 | static inline int security_socket_shutdown(struct socket *sock, int how) |
2580 | { | 2580 | { |
2581 | return 0; | 2581 | return 0; |
2582 | } | 2582 | } |
2583 | static inline int security_sock_rcv_skb (struct sock * sk, | 2583 | static inline int security_sock_rcv_skb(struct sock *sk, |
2584 | struct sk_buff * skb) | 2584 | struct sk_buff *skb) |
2585 | { | 2585 | { |
2586 | return 0; | 2586 | return 0; |
2587 | } | 2587 | } |
@@ -2618,7 +2618,7 @@ static inline void security_req_classify_flow(const struct request_sock *req, st | |||
2618 | { | 2618 | { |
2619 | } | 2619 | } |
2620 | 2620 | ||
2621 | static inline void security_sock_graft(struct sock* sk, struct socket *parent) | 2621 | static inline void security_sock_graft(struct sock *sk, struct socket *parent) |
2622 | { | 2622 | { |
2623 | } | 2623 | } |
2624 | 2624 | ||