From owner-freebsd-bugs@FreeBSD.ORG Wed Aug 13 16:47:29 2014 Return-Path: Delivered-To: freebsd-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 54A2AC2D for ; Wed, 13 Aug 2014 16:47:29 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3CB142FF9 for ; Wed, 13 Aug 2014 16:47:29 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s7DGlTB0080763 for ; Wed, 13 Aug 2014 16:47:29 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 192640] New: [PATCH] nfsclient: Fix struct padding assumption in DIRHDSIZ Date: Wed, 13 Aug 2014 16:47:29 +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: 11.0-CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: conrad.meyer@isilon.com X-Bugzilla-Status: Needs Triage 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: Wed, 13 Aug 2014 16:47:29 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192640 Bug ID: 192640 Summary: [PATCH] nfsclient: Fix struct padding assumption in DIRHDSIZ Product: Base System Version: 11.0-CURRENT Hardware: Any OS: Any Status: Needs Triage Severity: Affects Only Me Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: conrad.meyer@isilon.com Created attachment 145758 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=145758&action=edit (applies with -p0 in CURRENT svn tree) Both the old and new nfsclient code's DIRHDSIZ macro make the assumption that 'struct dirent' has no padding following d_name. (That the macro is defined seperately in 3 different .c files is a separate issue.) As a result, if the dirent structure is changed to add 64-bit members (one of a few ABI changes in OneFS), padding is added at the end of the struct and DIRHDSIZ becomes invalid (4 bytes too big). This patch changes the definition of DIRHDSIZ to use __offsetof(struct dirent, d_name) instead, which will always be correct. It fixes the DIRHDSIZ definition in the old nfsclient as well as new; if the old one will be killed shortly, there's no need to take that change. -- You are receiving this mail because: You are the assignee for the bug.