• Home
  • Raw
  • Download

Lines Matching refs:file

262 static int file_alloc_security(struct file *file)  in file_alloc_security()  argument
273 file->f_security = fsec; in file_alloc_security()
278 static void file_free_security(struct file *file) in file_free_security() argument
280 struct file_security_struct *fsec = file->f_security; in file_free_security()
281 file->f_security = NULL; in file_free_security()
1608 struct file *file, in file_has_perm() argument
1611 struct file_security_struct *fsec = file->f_security; in file_has_perm()
1612 struct inode *inode = file_inode(file); in file_has_perm()
1618 ad.u.path = file->f_path; in file_has_perm()
1835 static inline u32 file_to_av(struct file *file) in file_to_av() argument
1839 if (file->f_mode & FMODE_READ) in file_to_av()
1841 if (file->f_mode & FMODE_WRITE) { in file_to_av()
1842 if (file->f_flags & O_APPEND) in file_to_av()
1861 static inline u32 open_file_to_av(struct file *file) in open_file_to_av() argument
1863 u32 av = file_to_av(file); in open_file_to_av()
1904 …t selinux_binder_transfer_file(struct task_struct *from, struct task_struct *to, struct file *file) in selinux_binder_transfer_file() argument
1907 struct file_security_struct *fsec = file->f_security; in selinux_binder_transfer_file()
1908 struct inode *inode = file->f_path.dentry->d_inode; in selinux_binder_transfer_file()
1914 ad.u.path = file->f_path; in selinux_binder_transfer_file()
1928 return avc_has_perm(sid, isec->sid, isec->sclass, file_to_av(file), in selinux_binder_transfer_file()
2100 struct inode *inode = file_inode(bprm->file); in selinux_bprm_set_creds()
2146 ad.u.path = bprm->file->f_path; in selinux_bprm_set_creds()
2148 if ((bprm->file->f_path.mnt->mnt_flags & MNT_NOSUID) || in selinux_bprm_set_creds()
2231 static int match_file(const void *p, struct file *file, unsigned fd) in match_file() argument
2233 return file_has_perm(p, file, file_to_av(file)) ? fd + 1 : 0; in match_file()
2240 struct file *file, *devnull = NULL; in flush_unauthorized_files() local
2258 file = file_priv->file; in flush_unauthorized_files()
2259 if (path_has_perm(cred, &file->f_path, FILE__READ | FILE__WRITE)) in flush_unauthorized_files()
3071 static int selinux_revalidate_file_permission(struct file *file, int mask) in selinux_revalidate_file_permission() argument
3074 struct inode *inode = file_inode(file); in selinux_revalidate_file_permission()
3077 if ((file->f_flags & O_APPEND) && (mask & MAY_WRITE)) in selinux_revalidate_file_permission()
3080 return file_has_perm(cred, file, in selinux_revalidate_file_permission()
3084 static int selinux_file_permission(struct file *file, int mask) in selinux_file_permission() argument
3086 struct inode *inode = file_inode(file); in selinux_file_permission()
3087 struct file_security_struct *fsec = file->f_security; in selinux_file_permission()
3100 return selinux_revalidate_file_permission(file, mask); in selinux_file_permission()
3103 static int selinux_file_alloc_security(struct file *file) in selinux_file_alloc_security() argument
3105 return file_alloc_security(file); in selinux_file_alloc_security()
3108 static void selinux_file_free_security(struct file *file) in selinux_file_free_security() argument
3110 file_free_security(file); in selinux_file_free_security()
3117 int ioctl_has_perm(const struct cred *cred, struct file *file, in ioctl_has_perm() argument
3121 struct file_security_struct *fsec = file->f_security; in ioctl_has_perm()
3122 struct inode *inode = file_inode(file); in ioctl_has_perm()
3133 ad.u.op->path = file->f_path; in ioctl_has_perm()
3153 static int selinux_file_ioctl(struct file *file, unsigned int cmd, in selinux_file_ioctl() argument
3169 error = file_has_perm(cred, file, FILE__GETATTR); in selinux_file_ioctl()
3175 error = file_has_perm(cred, file, FILE__SETATTR); in selinux_file_ioctl()
3182 error = file_has_perm(cred, file, 0); in selinux_file_ioctl()
3195 error = ioctl_has_perm(cred, file, FILE__IOCTL, (u16) cmd); in selinux_file_ioctl()
3202 static int file_map_prot_check(struct file *file, unsigned long prot, int shared) in file_map_prot_check() argument
3208 (prot & PROT_EXEC) && (!file || (!shared && (prot & PROT_WRITE)))) { in file_map_prot_check()
3219 if (file) { in file_map_prot_check()
3230 return file_has_perm(cred, file, av); in file_map_prot_check()
3255 static int selinux_mmap_file(struct file *file, unsigned long reqprot, in selinux_mmap_file() argument
3261 return file_map_prot_check(file, prot, in selinux_mmap_file()
3301 static int selinux_file_lock(struct file *file, unsigned int cmd) in selinux_file_lock() argument
3305 return file_has_perm(cred, file, FILE__LOCK); in selinux_file_lock()
3308 static int selinux_file_fcntl(struct file *file, unsigned int cmd, in selinux_file_fcntl() argument
3316 if ((file->f_flags & O_APPEND) && !(arg & O_APPEND)) { in selinux_file_fcntl()
3317 err = file_has_perm(cred, file, FILE__WRITE); in selinux_file_fcntl()
3328 err = file_has_perm(cred, file, 0); in selinux_file_fcntl()
3338 err = file_has_perm(cred, file, FILE__LOCK); in selinux_file_fcntl()
3345 static int selinux_file_set_fowner(struct file *file) in selinux_file_set_fowner() argument
3349 fsec = file->f_security; in selinux_file_set_fowner()
3358 struct file *file; in selinux_file_send_sigiotask() local
3364 file = container_of(fown, struct file, f_owner); in selinux_file_send_sigiotask()
3366 fsec = file->f_security; in selinux_file_send_sigiotask()
3377 static int selinux_file_receive(struct file *file) in selinux_file_receive() argument
3381 return file_has_perm(cred, file, file_to_av(file)); in selinux_file_receive()
3384 static int selinux_file_open(struct file *file, const struct cred *cred) in selinux_file_open() argument
3389 fsec = file->f_security; in selinux_file_open()
3390 isec = file_inode(file)->i_security; in selinux_file_open()
3408 return path_has_perm(cred, &file->f_path, open_file_to_av(file)); in selinux_file_open()
3537 static int selinux_kernel_module_from_file(struct file *file) in selinux_kernel_module_from_file() argument
3547 if (file == NULL) in selinux_kernel_module_from_file()
3553 ad.u.path = file->f_path; in selinux_kernel_module_from_file()
3555 inode = file_inode(file); in selinux_kernel_module_from_file()
3557 fsec = file->f_security; in selinux_kernel_module_from_file()