492210 False positive on x86/amd64 with ZF taken directly from addition
492214 statx(fd, NULL, AT_EMPTY_PATH) is supported since Linux 6.11
but not supported in valgrind
+492422 Please support DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD
492663 Valgrind ignores debug info for some binaries
493418 Add bad fd usage errors for --track-fds in ML_(fd_allowed)
493454 Missing FUSE_COMPATIBLE_MAY_BLOCK markers
}
break;
+ case VKI_DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD:
+ if (ARG3) {
+ struct vki_drm_syncobj_handle *data =
+ (struct vki_drm_syncobj_handle *)(Addr)ARG3;
+ if (VG_(clo_track_fds))
+ ML_(record_fd_open_nameless) (tid, data->fd);
+ }
+ break;
+
+ case VKI_DRM_IOCTL_PRIME_HANDLE_TO_FD:
+ if (ARG3) {
+ struct vki_drm_prime_handle *data =
+ (struct vki_drm_prime_handle *)(Addr)ARG3;
+ if (VG_(clo_track_fds))
+ ML_(record_fd_open_nameless) (tid, data->fd);
+ }
+ break;
+
+ case VKI_DRM_IOCTL_MODE_CREATE_LEASE:
+ if (ARG3) {
+ struct vki_drm_mode_create_lease *data =
+ (struct vki_drm_mode_create_lease*)(Addr)ARG3;
+ if (VG_(clo_track_fds))
+ ML_(record_fd_open_nameless) (tid, data->fd);
+ }
+ break;
+
/* KVM ioctls that only write the system call return value */
case VKI_KVM_GET_API_VERSION:
case VKI_KVM_CREATE_VM:
__vki_u64 blue;
};
+struct vki_drm_syncobj_handle {
+ __vki_u32 handle;
+ __vki_u32 flags;
+
+ __vki_s32 fd;
+ __vki_u32 pad;
+};
+
+struct vki_drm_prime_handle {
+ __vki_u32 handle;
+ __vki_u32 flags;
+ __vki_s32 fd;
+};
+
+struct vki_drm_mode_create_lease {
+ __vki_u64 object_ids;
+ __vki_u32 object_count;
+ __vki_u32 flags;
+
+ __vki_u32 lessee_id;
+ __vki_u32 fd;
+};
+
+
//----------------------------------------------------------------------
// From include/drm/drm.h
//----------------------------------------------------------------------
#define VKI_DRM_COMMAND_BASE 0x40
#define VKI_DRM_COMMAND_END 0xA0
+#define VKI_DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD VKI_DRM_IOWR(0xC1, struct vki_drm_syncobj_handle)
+#define VKI_DRM_IOCTL_PRIME_HANDLE_TO_FD VKI_DRM_IOWR(0x2d, struct vki_drm_prime_handle)
+#define VKI_DRM_IOCTL_MODE_CREATE_LEASE VKI_DRM_IOWR(0xC6, struct vki_drm_mode_create_lease)
+
//----------------------------------------------------------------------
// From include/drm/i915_drm.h
//----------------------------------------------------------------------