Module Name: src Committed By: hannken Date: Tue Jan 11 11:10:46 UTC 2022
Modified Files: src/sys/miscfs/procfs: procfs_vnops.c Log Message: Use a single "p" variable. Should fix PR kern/56614: kernel panic on tmux To generate a diff of this commit: cvs rdiff -u -r1.222 -r1.223 src/sys/miscfs/procfs/procfs_vnops.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/miscfs/procfs/procfs_vnops.c diff -u src/sys/miscfs/procfs/procfs_vnops.c:1.222 src/sys/miscfs/procfs/procfs_vnops.c:1.223 --- src/sys/miscfs/procfs/procfs_vnops.c:1.222 Mon Jan 10 23:16:05 2022 +++ src/sys/miscfs/procfs/procfs_vnops.c Tue Jan 11 11:10:46 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: procfs_vnops.c,v 1.222 2022/01/10 23:16:05 christos Exp $ */ +/* $NetBSD: procfs_vnops.c,v 1.223 2022/01/11 11:10:46 hannken Exp $ */ /*- * Copyright (c) 2006, 2007, 2008, 2020 The NetBSD Foundation, Inc. @@ -105,7 +105,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: procfs_vnops.c,v 1.222 2022/01/10 23:16:05 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: procfs_vnops.c,v 1.223 2022/01/11 11:10:46 hannken Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -1287,6 +1287,7 @@ procfs_readdir(void *v) struct vnode *vp; const struct proc_target *pt; struct procfs_root_readdir_ctx ctx; + struct proc *p = NULL; struct lwp *l; int nfd; int nc = 0; @@ -1312,7 +1313,6 @@ procfs_readdir(void *v) * from the procent[] table (top of this file). */ case PFSproc: { - struct proc *p; if (i >= nproc_targets) return 0; @@ -1355,7 +1355,6 @@ procfs_readdir(void *v) break; } case PFSfd: { - struct proc *p; file_t *fp; int lim; @@ -1421,7 +1420,6 @@ procfs_readdir(void *v) goto out; } case PFStask: { - struct proc *p; if ((error = procfs_proc_lock(vp->v_mount, pfs->pfs_pid, &p, ESRCH)) != 0) @@ -1475,7 +1473,6 @@ procfs_readdir(void *v) */ case PFSroot: { - struct proc *p; if (ap->a_ncookies) { /* @@ -1567,6 +1564,7 @@ procfs_readdir(void *v) *cookies++ = i + 1; } out: + KASSERT(p != NULL); ncookies = nc; procfs_proc_unlock(p); break;