⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 security.h

📁 Axis 221 camera embedded programing interface
💻 H
📖 第 1 页 / 共 5 页
字号:
 *		-EOPNOTSUPP if no security attribute is needed, or *		-ENOMEM on memory allocation failure. * @inode_create: *	Check permission to create a regular file. *	@dir contains inode structure of the parent of the new file. *	@dentry contains the dentry structure for the file to be created. *	@mode contains the file mode of the file to be created. *	Return 0 if permission is granted. * @inode_link: *	Check permission before creating a new hard link to a file. *	@old_dentry contains the dentry structure for an existing link to the file. *	@dir contains the inode structure of the parent directory of the new link. *	@new_dentry contains the dentry structure for the new link. *	Return 0 if permission is granted. * @inode_unlink: *	Check the permission to remove a hard link to a file.  *	@dir contains the inode structure of parent directory of the file. *	@dentry contains the dentry structure for file to be unlinked. *	Return 0 if permission is granted. * @inode_symlink: *	Check the permission to create a symbolic link to a file. *	@dir contains the inode structure of parent directory of the symbolic link. *	@dentry contains the dentry structure of the symbolic link. *	@old_name contains the pathname of file. *	Return 0 if permission is granted. * @inode_mkdir: *	Check permissions to create a new directory in the existing directory *	associated with inode strcture @dir.  *	@dir containst the inode structure of parent of the directory to be created. *	@dentry contains the dentry structure of new directory. *	@mode contains the mode of new directory. *	Return 0 if permission is granted. * @inode_rmdir: *	Check the permission to remove a directory. *	@dir contains the inode structure of parent of the directory to be removed. *	@dentry contains the dentry structure of directory to be removed. *	Return 0 if permission is granted. * @inode_mknod: *	Check permissions when creating a special file (or a socket or a fifo *	file created via the mknod system call).  Note that if mknod operation *	is being done for a regular file, then the create hook will be called *	and not this hook. *	@dir contains the inode structure of parent of the new file. *	@dentry contains the dentry structure of the new file. *	@mode contains the mode of the new file. *	@dev contains the the device number. *	Return 0 if permission is granted. * @inode_rename: *	Check for permission to rename a file or directory. *	@old_dir contains the inode structure for parent of the old link. *	@old_dentry contains the dentry structure of the old link. *	@new_dir contains the inode structure for parent of the new link. *	@new_dentry contains the dentry structure of the new link. *	Return 0 if permission is granted. * @inode_readlink: *	Check the permission to read the symbolic link. *	@dentry contains the dentry structure for the file link. *	Return 0 if permission is granted. * @inode_follow_link: *	Check permission to follow a symbolic link when looking up a pathname. *	@dentry contains the dentry structure for the link. *	@nd contains the nameidata structure for the parent directory. *	Return 0 if permission is granted. * @inode_permission: *	Check permission before accessing an inode.  This hook is called by the *	existing Linux permission function, so a security module can use it to *	provide additional checking for existing Linux permission checks. *	Notice that this hook is called when a file is opened (as well as many *	other operations), whereas the file_security_ops permission hook is *	called when the actual read/write operations are performed. *	@inode contains the inode structure to check. *	@mask contains the permission mask. *     @nd contains the nameidata (may be NULL). *	Return 0 if permission is granted. * @inode_setattr: *	Check permission before setting file attributes.  Note that the kernel *	call to notify_change is performed from several locations, whenever *	file attributes change (such as when a file is truncated, chown/chmod *	operations, transferring disk quotas, etc). *	@dentry contains the dentry structure for the file. *	@attr is the iattr structure containing the new file attributes. *	Return 0 if permission is granted. * @inode_getattr: *	Check permission before obtaining file attributes. *	@mnt is the vfsmount where the dentry was looked up *	@dentry contains the dentry structure for the file. *	Return 0 if permission is granted. * @inode_delete: *	@inode contains the inode structure for deleted inode. *	This hook is called when a deleted inode is released (i.e. an inode *	with no hard links has its use count drop to zero).  A security module *	can use this hook to release any persistent label associated with the *	inode. * @inode_setxattr: * 	Check permission before setting the extended attributes * 	@value identified by @name for @dentry. * 	Return 0 if permission is granted. * @inode_post_setxattr: * 	Update inode security field after successful setxattr operation. * 	@value identified by @name for @dentry. * @inode_getxattr: * 	Check permission before obtaining the extended attributes * 	identified by @name for @dentry. * 	Return 0 if permission is granted. * @inode_listxattr: * 	Check permission before obtaining the list of extended attribute  * 	names for @dentry. * 	Return 0 if permission is granted. * @inode_removexattr: * 	Check permission before removing the extended attribute * 	identified by @name for @dentry. * 	Return 0 if permission is granted. * @inode_getsecurity: *	Copy the extended attribute representation of the security label  *	associated with @name for @inode into @buffer.  @buffer may be *	NULL to request the size of the buffer required.  @size indicates *	the size of @buffer in bytes.  Note that @name is the remainder *	of the attribute name after the security. prefix has been removed. *	@err is the return value from the preceding fs getxattr call, *	and can be used by the security module to determine whether it *	should try and canonicalize the attribute value. *	Return number of bytes used/required on success. * @inode_setsecurity: *	Set the security label associated with @name for @inode from the *	extended attribute value @value.  @size indicates the size of the *	@value in bytes.  @flags may be XATTR_CREATE, XATTR_REPLACE, or 0. *	Note that @name is the remainder of the attribute name after the  *	security. prefix has been removed. *	Return 0 on success. * @inode_listsecurity: *	Copy the extended attribute names for the security labels *	associated with @inode into @buffer.  The maximum size of @buffer *	is specified by @buffer_size.  @buffer may be NULL to request *	the size of the buffer required. *	Returns number of bytes used/required on success. * * Security hooks for file operations * * @file_permission: *	Check file permissions before accessing an open file.  This hook is *	called by various operations that read or write files.  A security *	module can use this hook to perform additional checking on these *	operations, e.g.  to revalidate permissions on use to support privilege *	bracketing or policy changes.  Notice that this hook is used when the *	actual read/write operations are performed, whereas the *	inode_security_ops hook is called when a file is opened (as well as *	many other operations). *	Caveat:  Although this hook can be used to revalidate permissions for *	various system call operations that read or write files, it does not *	address the revalidation of permissions for memory-mapped files. *	Security modules must handle this separately if they need such *	revalidation. *	@file contains the file structure being accessed. *	@mask contains the requested permissions. *	Return 0 if permission is granted. * @file_alloc_security: *	Allocate and attach a security structure to the file->f_security field. *	The security field is initialized to NULL when the structure is first *	created. *	@file contains the file structure to secure. *	Return 0 if the hook is successful and permission is granted. * @file_free_security: *	Deallocate and free any security structures stored in file->f_security. *	@file contains the file structure being modified. * @file_ioctl: *	@file contains the file structure. *	@cmd contains the operation to perform. *	@arg contains the operational arguments. *	Check permission for an ioctl operation on @file.  Note that @arg can *	sometimes represents a user space pointer; in other cases, it may be a *	simple integer value.  When @arg represents a user space pointer, it *	should never be used by the security module. *	Return 0 if permission is granted. * @file_mmap : *	Check permissions for a mmap operation.  The @file may be NULL, e.g. *	if mapping anonymous memory. *	@file contains the file structure for file to map (may be NULL). *	@reqprot contains the protection requested by the application. *	@prot contains the protection that will be applied by the kernel. *	@flags contains the operational flags. *	Return 0 if permission is granted. * @file_mprotect: *	Check permissions before changing memory access permissions. *	@vma contains the memory region to modify. *	@reqprot contains the protection requested by the application. *	@prot contains the protection that will be applied by the kernel. *	Return 0 if permission is granted. * @file_lock: *	Check permission before performing file locking operations. *	Note: this hook mediates both flock and fcntl style locks. *	@file contains the file structure. *	@cmd contains the posix-translated lock operation to perform *	(e.g. F_RDLCK, F_WRLCK). *	Return 0 if permission is granted. * @file_fcntl: *	Check permission before allowing the file operation specified by @cmd *	from being performed on the file @file.  Note that @arg can sometimes *	represents a user space pointer; in other cases, it may be a simple *	integer value.  When @arg represents a user space pointer, it should *	never be used by the security module. *	@file contains the file structure. *	@cmd contains the operation to be performed. *	@arg contains the operational arguments. *	Return 0 if permission is granted. * @file_set_fowner: *	Save owner security information (typically from current->security) in *	file->f_security for later use by the send_sigiotask hook. *	@file contains the file structure to update. *	Return 0 on success. * @file_send_sigiotask: *	Check permission for the file owner @fown to send SIGIO or SIGURG to the *	process @tsk.  Note that this hook is sometimes called from interrupt. *	Note that the fown_struct, @fown, is never outside the context of a *	struct file, so the file structure (and associated security information) *	can always be obtained: *		(struct file *)((long)fown - offsetof(struct file,f_owner)); * 	@tsk contains the structure of task receiving signal. *	@fown contains the file owner information. *	@sig is the signal that will be sent.  When 0, kernel sends SIGIO. *	Return 0 if permission is granted. * @file_receive: *	This hook allows security modules to control the ability of a process *	to receive an open file descriptor via socket IPC. *	@file contains the file structure being received. *	Return 0 if permission is granted. * * Security hooks for task operations. * * @task_create: *	Check permission before creating a child process.  See the clone(2) *	manual page for definitions of the @clone_flags. *	@clone_flags contains the flags indicating what should be shared. *	Return 0 if permission is granted. * @task_alloc_security: *	@p contains the task_struct for child process. *	Allocate and attach a security structure to the p->security field. The *	security field is initialized to NULL when the task structure is *	allocated. *	Return 0 if operation was successful. * @task_free_security: *	@p contains the task_struct for process. *	Deallocate and clear the p->security field. * @task_setuid: *	Check permission before setting one or more of the user identity *	attributes of the current process.  The @flags parameter indicates *	which of the set*uid system calls invoked this hook and how to *	interpret the @id0, @id1, and @id2 parameters.  See the LSM_SETID *	definitions at the beginning of this file for the @flags values and *	their meanings. *	@id0 contains a uid. *	@id1 contains a uid. *	@id2 contains a uid. *	@flags contains one of the LSM_SETID_* values. *	Return 0 if permission is granted. * @task_post_setuid: *	Update the module's state after setting one or more of the user *	identity attributes of the current process.  The @flags parameter *	indicates which of the set*uid system calls invoked this hook.  If *	@flags is LSM_SETID_FS, then @old_ruid is the old fs uid and the other *	parameters are not used. *	@old_ruid contains the old real uid (or fs uid if LSM_SETID_FS). *	@old_euid contains the old effective uid (or -1 if LSM_SETID_FS). *	@old_suid contains the old saved uid (or -1 if LSM_SETID_FS). *	@flags contains one of the LSM_SETID_* values. *	Return 0 on success. * @task_setgid: *	Check permission before setting one or more of the group identity *	attributes of the current process.  The @flags parameter indicates *	which of the set*gid system calls invoked this hook and how to *	interpret the @id0, @id1, and @id2 parameters.  See the LSM_SETID *	definitions at the beginning of this file for the @flags values and *	their meanings. *	@id0 contains a gid. *	@id1 contains a gid. *	@id2 contains a gid. *	@flags contains one of the LSM_SETID_* values. *	Return 0 if permission is granted. * @task_setpgid: *	Check permission before setting the process group identifier of the

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -