Module Name:    src
Committed By:   riastradh
Date:           Sun Apr 28 15:35:39 UTC 2024

Modified Files:
        src/sys/external/bsd/drm2/linux: linux_sync_file.c

Log Message:
linux_sync_file: Fix missing init/fini steps.

Noted by rjs@.

PR kern/58210


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/external/bsd/drm2/linux/linux_sync_file.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/linux/linux_sync_file.c
diff -u src/sys/external/bsd/drm2/linux/linux_sync_file.c:1.2 src/sys/external/bsd/drm2/linux/linux_sync_file.c:1.3
--- src/sys/external/bsd/drm2/linux/linux_sync_file.c:1.2	Sat Feb 12 15:51:29 2022
+++ src/sys/external/bsd/drm2/linux/linux_sync_file.c	Sun Apr 28 15:35:39 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: linux_sync_file.c,v 1.2 2022/02/12 15:51:29 thorpej Exp $	*/
+/*	$NetBSD: linux_sync_file.c,v 1.3 2024/04/28 15:35:39 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sync_file.c,v 1.2 2022/02/12 15:51:29 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sync_file.c,v 1.3 2024/04/28 15:35:39 riastradh Exp $");
 
 #include <sys/event.h>
 #include <sys/fcntl.h>
@@ -51,15 +51,17 @@ sync_file_create(struct dma_fence *fence
 
 	sf = kmem_zalloc(sizeof(*sf), KM_SLEEP);
 	sf->file = fp;
-	sf->sf_fence = dma_fence_get(fence);
+
 	mutex_init(&sf->sf_lock, MUTEX_DEFAULT, IPL_VM);
 	selinit(&sf->sf_selq);
 	sf->sf_polling = false;
 	sf->sf_signalled = false;
+	sf->sf_fence = dma_fence_get(fence);
 
 	fp->f_type = DTYPE_MISC;
 	fp->f_flag = FREAD | FWRITE;
 	fp->f_ops = &sync_file_ops;
+	fp->f_data = sf;
 
 	return sf;
 }
@@ -73,6 +75,8 @@ sync_file_close(struct file *fp)
 		dma_fence_remove_callback(sf->sf_fence, &sf->sf_fcb);
 	dma_fence_put(sf->sf_fence);
 	sf->sf_fence = NULL;
+	seldestroy(&sf->sf_selq);
+	mutex_destroy(&sf->sf_lock);
 
 	kmem_free(sf, sizeof(*sf));
 

Reply via email to