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;