From nobody Tue Jan 13 01:50:41 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dqsfH1Vpvz6N9jH for ; Tue, 13 Jan 2026 01:51:03 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dqsfG0S2wz4Gfq for ; Tue, 13 Jan 2026 01:51:02 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=Ab2QFXPO; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of rick.macklem@gmail.com designates 2a00:1450:4864:20::52c as permitted sender) smtp.mailfrom=rick.macklem@gmail.com Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-64d4d8b3ad7so11448314a12.2 for ; Mon, 12 Jan 2026 17:51:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768269054; x=1768873854; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=KqiXvsRsPB5+EOI3qXbJXn3K53oxYhFpDyl7hYyPhXg=; b=Ab2QFXPOhkxPK4iBjrGQnEYvFxj6sx9xWyY+2EDISJ71vliwXbe1CQ9AwUiSXrTlIx CRBIS13gkm7BxKOrkwSIATkR4iL3icBdDV1Bch0F4aR35RMSk54/4FgKkE0SuqdRTwqh 5QVZAs+fOQvESdtbX6Vq75nlQJO/SQ8iDkeukMQsycc8faXNpmx6IktxPm2giZDtkwTk rgDWK0kO1L3Pl6Vm9wIe37CxU82QDt57NwqJaZ6SfrbtgfJCCUgbNmftF4aesxton7SP MgphxkJlyD7AOXb4ZEZYv6NCS6VgGWfEvNpqu04kml2KLe1JyvsLpPVfKgqrkzM5pcJt wuAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768269054; x=1768873854; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=KqiXvsRsPB5+EOI3qXbJXn3K53oxYhFpDyl7hYyPhXg=; b=uNzWFDMJ2QeS0dEGO8QVmcQrO07kHO33m6G2aO9q91q3jZzHqb53TGvODvK1S+75mm ikswug8cZSaORWz8wMrWpj/nHESK4A+U5N7fnofyK5ssH0VWSxDwp5dp3Qmen8yhgr9d 3iBx8TeHRPjuCpj+xPSr7yT2XQxTXHrqTa+8u5YVTHfDVdvw5JG8CdW8DIfqHqZCoHxG ZuSeBPGCmItkX8UHoXriPk4aFVGPVfj0Q0oBcjezKlsu/ap2E6nP51aTzYbD1ACcjQSt vzJBLDKHWWNLRcrqUVd858CIhdoEX0jDsOnZJpDv75Gy95B38yE4kyI1me6vlukUnkFc vFXg== X-Forwarded-Encrypted: i=1; AJvYcCXlmfQ4dD3p5MWTxwz++7k/cu0QY9FnzNj71Xi9aOMwRAW3uzSJtmidg8ORQUCGI7wIGmXSX04ZfRwzt3KTWVTxDrOcDw==@freebsd.org X-Gm-Message-State: AOJu0YzeqPlAzMbCSH0k7VkIVGgSP1Q0inoa/uPso9pTd8+B/tbBM7qz 6y3N99o2Lroua6N+PtGwRoiifKdzNtjkmwRky5/M3+2JebiV27dMxC1eXy+0RBNnUFj9dK3JQ4s U0bzFVtreKWw5JUTaKE2i59xrNt0PuA== X-Gm-Gg: AY/fxX6UjRQpxkxMzWXVdfcls/4JIE9YM1rPXVyEOeF0/PD8BeFiamvCUxH/A/osUfs N1W5O8u08DgyaqwgHIFP2OiVB7XjvaEIV4vD4IEp4zq5rzGY+y3dCXxao6CbAlUBxP0nbq5Zk3Q GBh/Qq5LD/nrTcFpkjHsaSOKGYr1l2leyr09HMbBaJclg1alya47ZVBql0K8ueFDWNm1d0KbXWn q9Bcqa4/NJcoEYicuZ8W7soNxiBtaSDWhMyR/ImRr819IVy9Pd8r5J/fHqkmN8ZCouOZ39/3yPC 9TfUuT1QJl+WhkY5XDJ7ZTGItkpQDkQ7PZ4EJRc= X-Google-Smtp-Source: AGHT+IFKdD9+y+kLpXqYIpX68F7d+ALIpq933H/2Y9M+oqyc6kOseBC2OQH0mrtVDJV9RA0NRK77W9ylRP4GPrD7X30= X-Received: by 2002:a05:6402:1e90:b0:64c:e9b6:14bb with SMTP id 4fb4d7f45d1cf-65097e6e36emr18821101a12.28.1768269053811; Mon, 12 Jan 2026 17:50:53 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <69604cd7.3aebd.7fdcb739@gitrepo.freebsd.org> In-Reply-To: From: Rick Macklem Date: Mon, 12 Jan 2026 17:50:41 -0800 X-Gm-Features: AZwV_QgdwX2qT98ojFw5S0LCG9g1IzlVpXojNfhStmR-rd24CRpf4bRhrSGhjxk Message-ID: Subject: Re: git: a6d57f312f18 - main - nfsd: Fix handling of hidden/system during Open/Create To: Benjamin Kaduk Cc: Benjamin Kaduk , Rick Macklem , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.99 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.994]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; TAGGED_FROM(0.00)[]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,freebsd.org]; MIME_TRACE(0.00)[0:+]; FROM_HAS_DN(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::52c:from]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; MISSING_XM_UA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; RCPT_COUNT_FIVE(0.00)[6] X-Rspamd-Queue-Id: 4dqsfG0S2wz4Gfq On Fri, Jan 9, 2026 at 3:47=E2=80=AFPM Rick Macklem wrote: > > On Fri, Jan 9, 2026 at 3:42=E2=80=AFPM Benjamin Kaduk wro= te: > > > > On Fri, Jan 09, 2026 at 03:04:33PM -0800, Rick Macklem wrote: > > > On Fri, Jan 9, 2026 at 11:56=E2=80=AFAM Benjamin Kaduk wrote: > > > > > > > > On Thu, Jan 8, 2026 at 4:33=E2=80=AFPM Rick Macklem wrote: > > > >> > > > >> The branch main has been updated by rmacklem: > > > >> > > > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3Da6d57f312f18bbeeda8= a34e99d0a662b0db9a190 > > > >> > > > >> commit a6d57f312f18bbeeda8a34e99d0a662b0db9a190 > > > >> Author: Rick Macklem > > > >> AuthorDate: 2026-01-08 16:27:32 +0000 > > > >> Commit: Rick Macklem > > > >> CommitDate: 2026-01-08 16:27:32 +0000 > > > >> > > > >> nfsd: Fix handling of hidden/system during Open/Create > > > >> > > > >> When an NFSv4.n client specifies settings for the archive, > > > >> hidden and/or system attributes during a Open/Create, the > > > >> Open/Create fails for ZFS. This is caused by ZFS doing > > > >> a secpolicy_xvattr() call, which fails for non-root. > > > >> If this check is bypassed, ZFS panics. > > > >> > > > >> This patch resolves the problem by disabling va_flags > > > >> for the VOP_CREATE() call in the NFSv4.n server and > > > >> then setting the flags with a subsequent VOP_SETATTR(). > > > >> > > > > > > > > The diff doesn't really include enough context to tell -- does this= introduce a race window where a file that's supposed to be hidden and/or s= ystem is visible without that attribute from a different process? > > > I believe that the answer is no. > > > > > > VOP_CREATE() returns the new file's vnode exclusively locked > > > and the update via VOP_SETATTR() happens before the vnode > > > lock is released. > > > > I expected/hoped that that was the case, but just couldn't tell from th= e > > diff itself. > I suppose I should have said that "if there is a race, it is in the FreeB= SD > OpenZFS port and I would consider that a bug". > I am not ZFS guy. Oh, and I forgot to mention "assuming the server doesn't reboot while the RPC is in progress". (The reboot while the RPC is in progress might be handled by ZFS if it was properly patched, but I'm not conversant with the ZFS code and do not understand the details of how the ZIL is used.) rick > > rick > > > > > Thanks! > > > > -Ben