r0 = openat$iommufd(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$IOMMU_IOAS_ALLOC(r0, 0x3b81, &(0x7f00000003c0)={0xc, 0x0, 0x0}) ioctl$IOMMU_IOAS_MAP$PAGES(r0, 0x3b85, &(0x7f0000000040)={0x28, 0x7, r1, 0x0, &(0x7f0000800000/0x800000)=nil, 0x800000, 0x0}) ioctl$IOMMU_TEST_OP_CREATE_ACCESS(r0, 0x3ba0, &(0x7f0000000340)={0x48, 0x5, r1, 0x0, 0xffffffffffffffff, 0x1}) ioctl$IOMMU_TEST_OP_ACCESS_PAGES$syz(r0, 0x3ba0, &(0x7f0000000100)={0x48, 0x7, r2, 0x0, 0x0, 0x0, 0x200000, 0x0, 0x334e8b, 0x200000000000}) // openat$iommufd arguments: [ // fd: const = 0xffffffffffffff9c (8 bytes) // file: ptr[in, buffer] { // buffer: {2f 64 65 76 2f 69 6f 6d 6d 75 00} (length 0xb) // } // flags: open_flags = 0x0 (4 bytes) // mode: const = 0x0 (2 bytes) // ] // returns fd_iommufd syscall(__NR_openat, /*fd=*/0xffffffffffffff9cul, /*file=*/0x200000000000ul, /*flags=*/0, /*mode=*/0) // ioctl$IOMMU_IOAS_ALLOC arguments: [ // fd: fd_iommufd (resource) // cmd: const = 0x3b81 (4 bytes) // arg: ptr[in, iommu_ioas_alloc] { // iommu_ioas_alloc { // size: len = 0xc (4 bytes) // flags: const = 0x0 (4 bytes) // out_ioas_id: ioas_handle (resource) // } // } // ] syscall(__NR_ioctl, /*fd=*/r[0], /*cmd=*/0x3b81, /*arg=*/0x2000000003c0ul) // ioctl$IOMMU_IOAS_MAP$PAGES arguments: [ // fd: fd_iommufd (resource) // cmd: const = 0x3b85 (4 bytes) // arg: ptr[in, iommu_ioas_map$PAGES] { // iommu_ioas_map$PAGES { // size: len = 0x28 (4 bytes) // flags: iommufd_ioas_map_flags = 0x7 (4 bytes) // ioas_id: ioas_handle (resource) // __reserved: const = 0x0 (4 bytes) // user_va: VMA[0x800000] // length: len = 0x800000 (8 bytes) // iova: int64 = 0x0 (8 bytes) // } // } // ] syscall(__NR_ioctl, /*fd=*/r[0], /*cmd=*/0x3b85, /*arg=*/0x200000000040ul) // ioctl$IOMMU_TEST_OP_CREATE_ACCESS arguments: [ // fd: fd_iommufd (resource) // cmd: const = 0x3ba0 (4 bytes) // arg: ptr[in, iommu_test_cmd$create_access] { // iommu_test_cmd$create_access { // size: len = 0x48 (4 bytes) // op: const = 0x5 (4 bytes) // id: ioas_handle (resource) // __reserved: const = 0x0 (4 bytes) // out_access_fd: fd_access (resource) // flags: iommu_test_cmd_create_access_flags = 0x1 (4 bytes) // pad = 0x0 (48 bytes) // } // } // ] syscall(__NR_ioctl, /*fd=*/r[0], /*cmd=*/0x3ba0, /*arg=*/0x200000000340ul) // ioctl$IOMMU_TEST_OP_ACCESS_PAGES$syz arguments: [ // fd: fd_iommufd (resource) // cmd: const = 0x3ba0 (4 bytes) // arg: ptr[in, iommu_test_cmd$access_pages$syz] { // iommu_test_cmd$access_pages$syz { // size: len = 0x48 (4 bytes) // op: const = 0x7 (4 bytes) // id: fd_access (resource) // __reserved: const = 0x0 (4 bytes) // flags: iommu_test_cmd_acess_pages_flags_syz = 0x0 (4 bytes) // out_access_pages_id: access_pages_handle (resource) // nth_area: int32 = 0x200000 (4 bytes) // offset: int32 = 0x0 (4 bytes) // length: int64 = 0x334e8b (8 bytes) // uptr: const = 0x200000000000 (8 bytes) // pad = 0x0 (24 bytes) // } // } // ] syscall(__NR_ioctl, /*fd=*/r[0], /*cmd=*/0x3ba0, /*arg=*/0x200000000100ul)