Lines Matching +full:read +full:- +full:out

1 // SPDX-License-Identifier: GPL-2.0-only
9 * kernel_read_file() - read file contents into a kernel buffer
11 * @file file to read from
18 * @file_size if non-NULL, the full size of @file will be
21 * file contents being read (for LSMs to examine)
23 * @offset must be 0 unless both @buf and @file_size are non-NULL
24 * (i.e. the caller must be expecting to read partial file contents
25 * via an already-allocated @buf, in at most @buf_size chunks, and
26 * will be able to determine when the entire file was read by
27 * checking @file_size). This isn't a recommended way to read a
31 * Returns number of bytes read (no single read will be bigger
46 return -EINVAL; in kernel_read_file()
48 if (!S_ISREG(file_inode(file)->i_mode)) in kernel_read_file()
49 return -EINVAL; in kernel_read_file()
57 ret = -EINVAL; in kernel_read_file()
58 goto out; in kernel_read_file()
62 ret = -EFBIG; in kernel_read_file()
63 goto out; in kernel_read_file()
65 /* The entire file cannot be read in one buffer. */ in kernel_read_file()
67 ret = -EFBIG; in kernel_read_file()
68 goto out; in kernel_read_file()
74 goto out; in kernel_read_file()
82 ret = -ENOMEM; in kernel_read_file()
83 goto out; in kernel_read_file()
90 size_t wanted = min_t(size_t, buf_size - copied, in kernel_read_file()
91 i_size - pos); in kernel_read_file()
106 ret = -EIO; in kernel_read_file()
121 out: in kernel_read_file()
135 return -EINVAL; in kernel_read_file_from_path()
157 return -EINVAL; in kernel_read_file_from_path_initns()
179 ssize_t ret = -EBADF; in kernel_read_file_from_fd()
181 if (!f.file || !(f.file->f_mode & FMODE_READ)) in kernel_read_file_from_fd()
182 goto out; in kernel_read_file_from_fd()
185 out: in kernel_read_file_from_fd()