From owner-freebsd-bugs@FreeBSD.ORG Tue Apr 24 14:20:14 2012 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 30B181065674 for ; Tue, 24 Apr 2012 14:20:14 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 0B2838FC16 for ; Tue, 24 Apr 2012 14:20:14 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q3OEKDn1004008 for ; Tue, 24 Apr 2012 14:20:13 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q3OEKDSM004007; Tue, 24 Apr 2012 14:20:13 GMT (envelope-from gnats) Resent-Date: Tue, 24 Apr 2012 14:20:13 GMT Resent-Message-Id: <201204241420.q3OEKDSM004007@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Oliver Brandmueller Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BFC8E106566B for ; Tue, 24 Apr 2012 14:16:19 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 916108FC15 for ; Tue, 24 Apr 2012 14:16:19 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id q3OEGJYp010777 for ; Tue, 24 Apr 2012 14:16:19 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id q3OEGI15010776; Tue, 24 Apr 2012 14:16:18 GMT (envelope-from nobody) Message-Id: <201204241416.q3OEGI15010776@red.freebsd.org> Date: Tue, 24 Apr 2012 14:16:18 GMT From: Oliver Brandmueller To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/167266: ZFS + new NFS export (sharenfs) leads to NAMEI leak X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2012 14:20:14 -0000 >Number: 167266 >Category: kern >Synopsis: ZFS + new NFS export (sharenfs) leads to NAMEI leak >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Apr 24 14:20:13 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Oliver Brandmueller >Release: 9-STABLE >Organization: >Environment: FreeBSD silver 9.0-STABLE FreeBSD 9.0-STABLE #9: Sun Apr 8 13:11:22 CEST 2012 root@silver:/usr/obj/usr/src/sys/BLACK amd64 >Description: If you NFS export a ZFS, create/remove of a file or directory lead to the leak of a NAMEI path buffer on the NFS server. This happens with new nfs (only NFSv3 tested) only, using the old NFS server does not trigger the NAMEI path buffer leak. An exported UFS on the same machine/environment does not trigger the behaviour. >How-To-Repeat: rc.conf: nfs_server_enable="YES" nfs_server_flags="-u -t -n 64" mountd_enable="YES" mountd_flags="/etc/zfs/exports" rpcbind_enable="YES" lockd_enable="YES" (mountd_flags not needed, if zfs_enable is set) Assuming, you have a USB stick or similar as /dev/da0 (it will probably even work with an md device): zpool create exptest /dev/da0 zfs sharenfs="-maproot=0 localhost" exptest # check with showmount -e exporting worked as expected mount localhost:/exptest /mnt cd /mnt vmstat -z | fgrep NAMEI echo test > foo vmstat -z | fgrep NAMEI rm foo vmstat -z | fgrep NAMEI you may repeat the creation/removal of the file several time and you will notice the NAMEI count increasing by one on each delete operation, no matter if file or directory. >Fix: No fix known. Workaround: using old NFS server. >Release-Note: >Audit-Trail: >Unformatted: