From owner-freebsd-bugs@FreeBSD.ORG Sun Mar 8 17:51:44 2015 Return-Path: Delivered-To: freebsd-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 96B29352 for ; Sun, 8 Mar 2015 17:51:44 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 623E3BCB for ; Sun, 8 Mar 2015 17:51:44 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t28HpiYY057094 for ; Sun, 8 Mar 2015 17:51:44 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 198431] Vnode info not provided for memory mapped tmpfs files in various places Date: Sun, 08 Mar 2015 17:51:44 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 10.0-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: eric@badgerio.us X-Bugzilla-Status: New X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-bugs@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2015 17:51:44 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198431 Bug ID: 198431 Summary: Vnode info not provided for memory mapped tmpfs files in various places Product: Base System Version: 10.0-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: eric@badgerio.us Created attachment 154029 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=154029&action=edit Proposed patch Since r250030, when a superfluous VM object for tmpfs VREG files was eliminated, various interfaces (e.g. procfs, KERN_PROC sysctl) that return info about memory maps for processes stopped returning vnode info for tmpfs files. Instead, the mappings would appear as swap type with no further detail. This prevents tools using this information (e.g. dtrace's pid provider) from working correctly. Attached a proposed patch. It will, in cases where a VM object with type OBJT_SWAP and OBJ_TMPFS flag is found, populate the vnode pointer appropriately so the vnode information can be extracted. It will also (where applicable) set the memory mapping to appear as a vnode type (this matches FreeBSD 9 behavior, and, per advice from jhb@ and kib@, is desirable because it hides implementation details). In the case where the VM object has the OBJ_TMPFS_NODE but not OBJ_TMPFS flag (i.e. vnode has been recycled), the mapping is still returned as a vnode type, but the vnode pointer is not populated. The proposed patch covers procstat (-v), procfs, linprocfs, pmc (pmcstat), and ptrace (PT_VM_ENTRY). -- You are receiving this mail because: You are the assignee for the bug.