Page MenuHomeFreeBSD

D30649.diff
No OneTemporary

D30649.diff

diff --git a/sys/dev/kbd/kbd.c b/sys/dev/kbd/kbd.c
--- a/sys/dev/kbd/kbd.c
+++ b/sys/dev/kbd/kbd.c
@@ -453,7 +453,7 @@
static struct cdevsw kbd_cdevsw = {
.d_version = D_VERSION,
- .d_flags = D_NEEDGIANT,
+ .d_flags = D_NEEDGIANT | D_GIANTOK,
.d_open = genkbdopen,
.d_close = genkbdclose,
.d_read = genkbdread,
diff --git a/sys/dev/ofw/openfirmio.c b/sys/dev/ofw/openfirmio.c
--- a/sys/dev/ofw/openfirmio.c
+++ b/sys/dev/ofw/openfirmio.c
@@ -66,7 +66,7 @@
static struct cdevsw openfirm_cdevsw = {
.d_version = D_VERSION,
- .d_flags = D_NEEDGIANT,
+ .d_flags = D_NEEDGIANT | D_GIANTOK,
.d_ioctl = openfirm_ioctl,
.d_name = "openfirm",
};
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
--- a/sys/kern/kern_conf.c
+++ b/sys/kern/kern_conf.c
@@ -665,7 +665,7 @@
devsw->d_kqfilter = dead_kqfilter;
}
- if (devsw->d_flags & D_NEEDGIANT) {
+ if ((devsw->d_flags & (D_NEEDGIANT | D_GIANTOK)) == D_NEEDGIANT) {
printf("WARNING: Device \"%s\" is Giant locked and may be "
"deleted before FreeBSD 14.0.\n",
devsw->d_name == NULL ? "???" : devsw->d_name);
diff --git a/sys/sys/conf.h b/sys/sys/conf.h
--- a/sys/sys/conf.h
+++ b/sys/sys/conf.h
@@ -173,6 +173,7 @@
*/
#define D_TRACKCLOSE 0x00080000 /* track all closes */
#define D_MMAP_ANON 0x00100000 /* special treatment in vm_mmap.c */
+#define D_GIANTOK 0x00200000 /* suppress warning about using Giant */
#define D_NEEDGIANT 0x00400000 /* driver want Giant */
#define D_NEEDMINOR 0x00800000 /* driver uses clone_create() */

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 30, 7:10 AM (6 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30578454
Default Alt Text
D30649.diff (1 KB)

Event Timeline