--- a/sys/kern/kern_device.c 2026-06-29 12:51:19.000000000 +0000 +++ b/sys/kern/kern_device.c 2026-10-26 00:25:42.777043079 +0000 @@ -270,6 +270,7 @@ ap.a_offset = offset; ap.a_nprot = nprot; ap.a_fp = fp; + ap.a_result = 0; if (needmplock) get_mplock(); @@ -314,6 +315,11 @@ int needmplock = dev_needmplock(dev); int error; + /* + * a_name/a_namelen/a_cred/a_mode must be valid even for drivers + * that only read a subset of them. + */ + bzero(&ap, sizeof(ap)); ap.a_head.a_desc = &dev_clone_desc; ap.a_head.a_dev = dev; @@ -454,6 +460,7 @@ ap.a_head.a_desc = &dev_psize_desc; ap.a_head.a_dev = dev; + ap.a_result = 0; if (needmplock) get_mplock();