diff options
Diffstat (limited to 'sys/kern/kern_proc.c')
| -rw-r--r-- | sys/kern/kern_proc.c | 20 | 
1 files changed, 18 insertions, 2 deletions
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 6618c0849373..fc33febee40e 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -2113,7 +2113,15 @@ sysctl_kern_proc_ovmmap(SYSCTL_HANDLER_ARGS)  				vref(vp);  				break;  			case OBJT_SWAP: -				kve->kve_type = KVME_TYPE_SWAP; +				if ((lobj->flags & OBJ_TMPFS_NODE) != 0) { +					kve->kve_type = KVME_TYPE_VNODE; +					if ((lobj->flags & OBJ_TMPFS) != 0) { +						vp = lobj->un_pager.swp.swp_tmpfs; +						vref(vp); +					} +				} else { +					kve->kve_type = KVME_TYPE_SWAP; +				}  				break;  			case OBJT_DEVICE:  				kve->kve_type = KVME_TYPE_DEVICE; @@ -2339,7 +2347,15 @@ kern_proc_vmmap_out(struct proc *p, struct sbuf *sb)  				vref(vp);  				break;  			case OBJT_SWAP: -				kve->kve_type = KVME_TYPE_SWAP; +				if ((lobj->flags & OBJ_TMPFS_NODE) != 0) { +					kve->kve_type = KVME_TYPE_VNODE; +					if ((lobj->flags & OBJ_TMPFS) != 0) { +						vp = lobj->un_pager.swp.swp_tmpfs; +						vref(vp); +					} +				} else { +					kve->kve_type = KVME_TYPE_SWAP; +				}  				break;  			case OBJT_DEVICE:  				kve->kve_type = KVME_TYPE_DEVICE;  | 
