/linux/tools/testing/selftests/memfd/ |
H A D | fuse_test.c | 77 static void mfd_assert_has_seals(int fd, __u64 seals) in mfd_assert_has_seals() argument 82 if (s != seals) { in mfd_assert_has_seals() 84 (unsigned long long)seals, (unsigned long long)s, fd); in mfd_assert_has_seals() 89 static void mfd_assert_add_seals(int fd, __u64 seals) in mfd_assert_add_seals() argument 95 r = fcntl(fd, F_ADD_SEALS, seals); in mfd_assert_add_seals() 98 fd, (unsigned long long)s, (unsigned long long)seals); in mfd_assert_add_seals() 103 static int mfd_busy_add_seals(int fd, __u64 seals) in mfd_busy_add_seals() argument 114 r = fcntl(fd, F_ADD_SEALS, seals); in mfd_busy_add_seals() 117 fd, (unsigned long long)s, (unsigned long long)seals); in mfd_busy_add_seals()
|
H A D | memfd_test.c | 192 static void mfd_assert_has_seals(int fd, unsigned int seals) in mfd_assert_has_seals() argument 199 if (s != seals) { in mfd_assert_has_seals() 200 printf("%u != %u = GET_SEALS(%s)\n", seals, s, buf); in mfd_assert_has_seals() 205 static void mfd_assert_add_seals(int fd, unsigned int seals) in mfd_assert_add_seals() argument 211 r = fcntl(fd, F_ADD_SEALS, seals); in mfd_assert_add_seals() 213 printf("ADD_SEALS(%d, %u -> %u) failed: %m\n", fd, s, seals); in mfd_assert_add_seals() 218 static void mfd_fail_add_seals(int fd, unsigned int seals) in mfd_fail_add_seals() argument 229 r = fcntl(fd, F_ADD_SEALS, seals); in mfd_fail_add_seals() 232 fd, s, seals); in mfd_fail_add_seals() 866 * A very basic sealing test to see whether setting/retrieving seals work [all...] |
/linux/mm/ |
H A D | memfd.c | 176 return &SHMEM_I(file_inode(file))->seals; in memfd_file_seals_ptr() 180 return &HUGETLBFS_I(file_inode(file))->seals; in memfd_file_seals_ptr() 193 static int memfd_add_seals(struct file *file, unsigned int seals) in memfd_add_seals() 211 * following seals are defined: in memfd_add_seals() 212 * SEAL_SEAL: Prevent further seals from being set on this file in memfd_add_seals() 219 * must prevent seals from being removed. Therefore, sealing a file in memfd_add_seals() 220 * only adds a given set of seals to the file, it never touches in memfd_add_seals() 221 * existing seals. Furthermore, the "setting seals"-operation can be in memfd_add_seals() 227 * importantly, seals ar in memfd_add_seals() 191 memfd_add_seals(struct file * file,unsigned int seals) memfd_add_seals() argument 275 unsigned int *seals = memfd_file_seals_ptr(file); memfd_get_seals() local [all...] |
H A D | shmem.c | 1196 if ((info->seals & F_SEAL_EXEC) && (attr->ia_valid & ATTR_MODE)) { in shmem_setattr() 1207 if ((newsize < oldsize && (info->seals & F_SEAL_SHRINK)) || in shmem_setattr() 1208 (newsize > oldsize && (info->seals & F_SEAL_GROW))) in shmem_setattr() 2735 ret = seal_check_write(info->seals, vma); in shmem_mmap() 2821 info->seals = F_SEAL_SEAL; in __shmem_get_inode() 3038 if (unlikely(info->seals & (F_SEAL_GROW | in shmem_write_begin() 3040 if (info->seals & (F_SEAL_WRITE | F_SEAL_FUTURE_WRITE)) in shmem_write_begin() 3042 if ((info->seals & F_SEAL_GROW) && pos + len > inode->i_size) in shmem_write_begin() 3404 if (info->seals & (F_SEAL_WRITE | F_SEAL_FUTURE_WRITE)) { in shmem_fallocate() 3436 if ((info->seals & F_SEAL_GROW) && offset + len > inode->i_size) { in shmem_fallocate()
|
/linux/drivers/dma-buf/ |
H A D | udmabuf.c | 255 int seals; in check_memfd_seals() local 263 seals = memfd_fcntl(memfd, F_GET_SEALS, 0); in check_memfd_seals() 264 if (seals == -EINVAL) in check_memfd_seals() 267 if ((seals & SEALS_WANTED) != SEALS_WANTED || in check_memfd_seals() 268 (seals & SEALS_DENIED) != 0) in check_memfd_seals()
|
/linux/fs/hugetlbfs/ |
H A D | inode.c | 116 ret = seal_check_write(info->seals, vma); in hugetlbfs_file_mmap() 763 if (info->seals & (F_SEAL_WRITE | F_SEAL_FUTURE_WRITE)) { in hugetlbfs_punch_hole() 835 if ((info->seals & F_SEAL_GROW) && offset + len > inode->i_size) { in hugetlbfs_fallocate() 945 if ((newsize < oldsize && (info->seals & F_SEAL_SHRINK)) || in hugetlbfs_setattr() 946 (newsize > oldsize && (info->seals & F_SEAL_GROW))) in hugetlbfs_setattr() 1014 info->seals = F_SEAL_SEAL; in hugetlbfs_get_inode()
|
/linux/Documentation/security/tpm/ |
H A D | xen-tpmfront.rst | 19 which seals the secrets to the Physical TPM. If the process of creating each of
|
/linux/include/linux/ |
H A D | mm.h | 4090 static inline int seal_check_write(int seals, struct vm_area_struct *vma) in seal_check_write() argument 4092 if (seals & (F_SEAL_WRITE | F_SEAL_FUTURE_WRITE)) { in seal_check_write()
|