/linux/tools/testing/selftests/drivers/dma-buf/ |
H A D | udmabuf.c | 30 int memfd, ret; in create_memfd_with_seals() local 36 memfd = memfd_create("udmabuf-test", flags); in create_memfd_with_seals() 37 if (memfd < 0) { in create_memfd_with_seals() 42 ret = fcntl(memfd, F_ADD_SEALS, F_SEAL_SHRINK); in create_memfd_with_seals() 48 ret = ftruncate(memfd, size); in create_memfd_with_seals() 54 return memfd; in create_memfd_with_seals() 57 static int create_udmabuf_list(int devfd, int memfd, off64_t memfd_size) in create_udmabuf_list() argument 70 list->list[i].memfd = memfd; in create_udmabuf_list() 136 int devfd, memfd, buf, ret; in main() local 151 memfd = memfd_create("udmabuf-test", MFD_ALLOW_SEALING); in main() [all …]
|
/linux/tools/testing/selftests/kvm/ |
H A D | set_memory_region_test.c | 466 static void test_invalid_guest_memfd(struct kvm_vm *vm, int memfd, in test_invalid_guest_memfd() argument 471 0, memfd, offset); in test_invalid_guest_memfd() 478 int memfd, i; in test_add_private_memory_region() local 487 memfd = kvm_memfd_alloc(MEM_REGION_SIZE, false); in test_add_private_memory_region() 488 test_invalid_guest_memfd(vm, memfd, 0, "Regular memfd() should fail"); in test_add_private_memory_region() 489 close(memfd); in test_add_private_memory_region() 492 memfd = vm_create_guest_memfd(vm2, MEM_REGION_SIZE, 0); in test_add_private_memory_region() 493 test_invalid_guest_memfd(vm, memfd, 0, "Other VM's guest_memfd() should fail"); in test_add_private_memory_region() 496 MEM_REGION_GPA, MEM_REGION_SIZE, 0, memfd, in test_add_private_memory_region() 514 int memfd; test_add_overlapping_private_memory_regions() local [all...] |
/linux/tools/testing/selftests/pidfd/ |
H A D | pidfd_getfd_test.c | 37 static int __child(int sk, int memfd) in __child() argument 53 ret = send(sk, &memfd, sizeof(memfd), 0); in __child() 54 if (ret != sizeof(memfd)) { in __child() 101 int memfd, ret; in child() local 103 memfd = sys_memfd_create("test", 0); in child() 104 if (memfd < 0) { in child() 109 ret = __child(sk, memfd); in child() 110 close(memfd); in child()
|
/linux/drivers/dma-buf/ |
H A D | udmabuf.c | 302 static int check_memfd_seals(struct file *memfd) in check_memfd_seals() argument 306 if (!shmem_file(memfd) && !is_file_hugepages(memfd)) in check_memfd_seals() 309 seals = memfd_fcntl(memfd, F_GET_SEALS, 0); in check_memfd_seals() 334 static long udmabuf_pin_folios(struct udmabuf *ubuf, struct file *memfd, in udmabuf_pin_folios() argument 346 nr_folios = memfd_pin_folios(memfd, start, end, folios, pgcnt, &pgoff); in udmabuf_pin_folios() 427 struct file *memfd = fget(list[i].memfd); in udmabuf_create() local 429 if (!memfd) { in udmabuf_create() 438 inode_lock_shared(file_inode(memfd)); in udmabuf_create() 439 ret = check_memfd_seals(memfd); in udmabuf_create() 443 ret = udmabuf_pin_folios(ubuf, memfd, list[i].offset, in udmabuf_create() [all …]
|
/linux/include/uapi/linux/ |
H A D | udmabuf.h | 11 __u32 memfd; member 18 __u32 memfd; member
|
/linux/include/linux/ |
H A D | memfd.h | 9 struct folio *memfd_alloc_folio(struct file *memfd, pgoff_t idx); 23 static inline struct folio *memfd_alloc_folio(struct file *memfd, pgoff_t idx) in memfd_alloc_folio() argument
|
H A D | mm.h | 2536 long memfd_pin_folios(struct file *memfd, loff_t start, loff_t end,
|
/linux/mm/ |
H A D | memfd.c | 68 struct folio *memfd_alloc_folio(struct file *memfd, pgoff_t idx) in memfd_alloc_folio() argument 75 if (is_file_hugepages(memfd)) { in memfd_alloc_folio() 82 struct hstate *h = hstate_file(memfd); in memfd_alloc_folio() 94 memfd->f_mapping, in memfd_alloc_folio() 106 return shmem_read_folio(memfd->f_mapping, idx); in memfd_alloc_folio()
|
H A D | gup.c | 3651 long memfd_pin_folios(struct file *memfd, loff_t start, loff_t end, in memfd_pin_folios() argument 3666 if (!memfd) in memfd_pin_folios() 3669 if (!shmem_file(memfd) && !is_file_hugepages(memfd)) in memfd_pin_folios() 3672 if (end >= i_size_read(file_inode(memfd))) in memfd_pin_folios() 3675 if (is_file_hugepages(memfd)) { in memfd_pin_folios() 3676 h = hstate_file(memfd); in memfd_pin_folios() 3685 if (is_file_hugepages(memfd)) { in memfd_pin_folios() 3698 nr_found = filemap_get_folios_contig(memfd->f_mapping, in memfd_pin_folios() 3740 folio = memfd_alloc_folio(memfd, start_idx); in memfd_pin_folios()
|
/linux/tools/testing/selftests/kvm/x86_64/ |
H A D | private_mem_conversions_test.c |
|
/linux/tools/testing/selftests/memfd/ |
H A D | .gitignore | 5 memfd-test-file
|
H A D | run_fuse_test.sh | 13 ./fuse_test ./mnt/memfd $@
|
/linux/tools/testing/selftests/seccomp/ |
H A D | seccomp_bpf.c | 4121 int status, listener, memfd, fd, nextfd; in TEST() local 4131 memfd = memfd_create("test", 0); in TEST() 4132 ASSERT_GE(memfd, 0); in TEST() 4133 nextfd = get_next_fd(memfd); in TEST() 4164 addfd.srcfd = memfd; in TEST() 4202 EXPECT_EQ(filecmp(getpid(), pid, memfd, fd), 0); in TEST() 4216 EXPECT_EQ(filecmp(getpid(), pid, memfd, fd), 0); in TEST() 4249 ASSERT_EQ(filecmp(getpid(), pid, memfd, fd), 0); in TEST() 4276 close(memfd); in TEST() 4283 int status, listener, memfd; in TEST() local [all …]
|
/linux/Documentation/arch/arm64/ |
H A D | memory-tagging-extension.rst | 47 RAM-based file mappings (``tmpfs``, ``memfd``). Passing it to other
|
/linux/Documentation/virt/kvm/ |
H A D | api.rst | 8016 ``MAP_ANONYMOUS`` or with a RAM-based file mapping (``tmpfs``, ``memfd``),
|
/linux/ |
H A D | MAINTAINERS | 15184 F: include/linux/memfd.h
|