Module Name:    src
Committed By:   uwe
Date:           Thu May 12 23:17:42 UTC 2022

Modified Files:
        src/sys/dev/wsfont: wsfontdev.c

Log Message:
wsfont(4): WSDISPLAYIO_LDFONT requires device opened for writing.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/wsfont/wsfontdev.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/dev/wsfont/wsfontdev.c
diff -u src/sys/dev/wsfont/wsfontdev.c:1.19 src/sys/dev/wsfont/wsfontdev.c:1.20
--- src/sys/dev/wsfont/wsfontdev.c:1.19	Sat Apr 24 00:15:37 2021
+++ src/sys/dev/wsfont/wsfontdev.c	Thu May 12 23:17:42 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: wsfontdev.c,v 1.19 2021/04/24 00:15:37 macallan Exp $ */
+/* $NetBSD: wsfontdev.c,v 1.20 2022/05/12 23:17:42 uwe Exp $ */
 
 /*
  * Copyright (c) 2001
@@ -27,11 +27,12 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wsfontdev.c,v 1.19 2021/04/24 00:15:37 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wsfontdev.c,v 1.20 2022/05/12 23:17:42 uwe Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/conf.h>
+#include <sys/fcntl.h>
 #include <sys/ioctl.h>
 #include <sys/malloc.h>
 #include <sys/event.h>
@@ -122,6 +123,9 @@ wsfontioctl(dev_t dev, u_long cmd, void 
 	switch (cmd) {
 	case WSDISPLAYIO_LDFONT:
 #define d ((struct wsdisplay_font *)data)
+		if ((flag & FWRITE) == 0)
+			return EPERM;
+
 		if (d->name) {
 			res = copyinstr(d->name, nbuf, sizeof(nbuf), 0);
 			if (res)

Reply via email to