From owner-freebsd-fs@FreeBSD.ORG Mon Sep 3 07:00:00 2012 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 679A3106564A for ; Mon, 3 Sep 2012 07:00:00 +0000 (UTC) (envelope-from bryan@shatow.net) Received: from secure.xzibition.com (secure.xzibition.com [173.160.118.92]) by mx1.freebsd.org (Postfix) with ESMTP id 1A2F08FC14 for ; Mon, 3 Sep 2012 07:00:00 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=shatow.net; h=message-id :date:from:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; q=dns; s=sweb; b=AH+2lt iOoskJKg3LgUYT4UcHs4htXUvFFEBdkErNTHtRvqzp9u1pFmADSRzB0irDZekrkN 49SDHA/f6MkFa6B+YMhzPpA4VnYSyp65MeimL3z+dO4Koro6ylsYdUmo1CQmg0bL SRMPO7BrHpB9U1FF0G5TPuuNjrkloj2cw45co= DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=shatow.net; h=message-id :date:from:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; s=sweb; bh=mNJWQjpPnpSg y7jwRNNFfwEcbudB4h9YUWk2qB6k2Wo=; b=Z7s2/XwR+R/ChiulHCf79w0sfv+8 lGFA/ayPLFsA9tMujk/XkgSXsV+231OvyIqxUBBn/xTmNoqWvOVxRmQluKl9HFYD AaAyyOLmPPrpvFGO/+75pR8tfhOuEjFAyHcWcrZw5D4965ldsyJ5p/JHz9CWn4CF Vjv5PexIjaq2hzc= Received: (qmail 47842 invoked from network); 3 Sep 2012 01:59:57 -0500 Received: from unknown (HELO ?10.10.0.115?) (bryan@shatow.net@10.10.0.115) by sweb.xzibition.com with ESMTPA; 3 Sep 2012 01:59:57 -0500 Message-ID: <5044556C.3020208@shatow.net> Date: Mon, 03 Sep 2012 01:59:56 -0500 From: Bryan Drewery User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120824 Thunderbird/15.0 MIME-Version: 1.0 To: Pawel Jakub Dawidek , mm@freebsd.org References: <504428EB.4020702@shatow.net> <504430F9.8000105@shatow.net> <5044482D.90602@shatow.net> In-Reply-To: <5044482D.90602@shatow.net> X-Enigmail-Version: 1.4.4 OpenPGP: id=3C9B0CF9; url=http://www.shatow.net/bryan/bryan.asc Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: freebsd-fs@freebsd.org Subject: Re: Panic in zfs_freebsd_getattr -> zfs_fuid_table_load - avl_find() succeeded inside avl_add() [ACL, 9.1-PRERELEASE] [SOLVED] X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Sep 2012 07:00:00 -0000 On 9/3/2012 1:03 AM, Bryan Drewery wrote: > On 9/2/2012 11:24 PM, Bryan Drewery wrote: >>> On Sep 2, 2012 8:51 PM, "Bryan Drewery" >> > wrote: >>> >>> Running 9.1-PRERELEASE currently. >>> >>> Just set this server up, imported the pool from OpenIndiana 151 I >>> believe it was. >>> >>> When I access (simply `ls`) certain files/directories, the system >>> panics. These files have ACL properties set on them from the Solaris >>> system. >>> >>> This system has 32gb of ram and only 8gb swap setup, so I do not >>> currently have a kernel core dump. It's also practically a production >>> machine, so I do not have much leeway in testing on it. >>> >>> backtrace: >>> >>> >From running ls(1): >>> >>> panic: avl_find() succeeded inside avl_add() > > I removed my seat belt and made this PANIC into a return; I don't know > the impact of this, but I am able to access the files now. > > I'm looking for what duplicated entries there are. Any advice on this > would be appreciated. > > I'll avoid clearing the ACL properties for now. I've solved this and now have a working system. r230454 [1] fixes this. It had a MFC of 1 week but never made it to 9-STABLE. Please MFC this! OTOH, the change looks wrong, but I don't know enough to say that for certain. Why change kd_name to size 1, and then use strcpy(). Looks like an easy overflow. [1] http://lists.freebsd.org/pipermail/svn-src-head/2012-January/033707.html > > >>> avl_add+0x4b >>> zfs_fuid_table_load+0x198 >>> zfs_fuid_init+0x12c >>> zfs_fuid_find_by_idx+0xc7 >>> zfs_fuid_map_id+0x19 >>> zfs_groupmember+0x16 >>> zfs_zaccess_aces_check+0x196 >>> zfs_zaccess+0xc6 >>> zfs_freebsd_getattr+0x1c1 >>> vn_stat+0x6a >>> kern_statat_vnhook+0xf9 >>> kern_statat+0x15 >>> sys_lstat+0x2a >>> amd64_syscall+0x540 >>> >>> At first I thought this was related to MAC / ugidfw, but I am able to >>> reproduce with those not compiled in. FWIW, here is a backtrace from >>> having that enabled: >>> >>> panic: avl_find() succeeded inside avl_add() >>> avl_add+0x4b >>> zfs_fuid_table_load+0x198 >>> zfs_fuid_init+0x12c >>> zfs_fuid_find_by_idx+0xc7 >>> zfs_fuid_map_id+0x19 >>> zfs_groupmember+0x16 >>> zfs_zaccess_aces_check+0x196 >>> zfs_zaccess+0xc6 >>> zfs_freebsd_getattr+0x1c1 >>> ugidfw_check_vp+0x6c >>> mac_vnode_check_stat+0xa7 >>> vn_stat+0x39 >>> kern_statat_vnhook+0xf9 >>> kern_statat+0x15 >>> sys_stat+0x2a >>> amd64_syscall+0x540 >>> >>> >>> Is there some easy way to clear these ACL properties on the files? I do >>> not need them. >>> >>> Any suggestions on how I might fix this or debug this further? >>> >>> >>> Bryan > >>> >> >> > > -- Regards, Bryan Drewery bdrewery@freenode/EFNet