Date: Sat, 5 Apr 2025 01:36:19 +0000 From: Shawn Webb <shawn.webb@hardenedbsd.org> To: Rick Macklem <rick.macklem@gmail.com> Cc: FreeBSD CURRENT <freebsd-current@freebsd.org> Subject: Re: Heads Up: commit 2ec2ba7e232d just hit main Message-ID: <x4ttu7j7uxympqrvxfd5pit2rrrxvpcda2a2eu25nl3s6sa3xd@5ku2e7or2zvq> In-Reply-To: <wrfbpfeivqame6kj6miure4syv5qeu3jwl2keugbadzmbcch6d@cewqc5ssvw27> References: <CAM5tNy4etegCPK8wsxcVDfO-Xo9TmSzWeySkc-dWtWx1nDpOiA@mail.gmail.com> <i4ofrtdfxyz5bltw45umu3e2wwzwajxfqhmxttfe4pdjvuoqgi@vasdhcnj7yya> <CAM5tNy5=RHAs8kZecuBC2KbLvuq78QaAJi16NSndgUHOQ%2B4ycQ@mail.gmail.com> <woq76so6woyrxtsfkkrqj3gekjbrbiciqhvj46a3l2g5so2oje@kocliokhnkck> <CAM5tNy7NDub_qGJUu-jLJ=RaLu3pQi0c1Qh7mcCq_ZQCPQTNzw@mail.gmail.com> <2rq3bpvhclcipvgg3mo4gml7ysuzbvt6rfnzkprceumzeaeh4b@casrpprm6mgt> <wrfbpfeivqame6kj6miure4syv5qeu3jwl2keugbadzmbcch6d@cewqc5ssvw27>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] On Sat, Apr 05, 2025 at 01:27:17AM +0000, Shawn Webb wrote: > On Sat, Apr 05, 2025 at 01:04:25AM +0000, Shawn Webb wrote: > > On Fri, Apr 04, 2025 at 05:40:21PM -0700, Rick Macklem wrote: > > > On Fri, Apr 4, 2025 at 10:50 AM Shawn Webb <shawn.webb@hardenedbsd.org> wrote: > > > > > > > > On Thu, Apr 03, 2025 at 06:12:59PM -0700, Rick Macklem wrote: > > > > > On Thu, Apr 3, 2025 at 4:52 PM Shawn Webb <shawn.webb@hardenedbsd.org> wrote: > > > > > > > > > > > > On Wed, Apr 02, 2025 at 01:51:26PM -0700, Rick Macklem wrote: > > > > > > > The commit 2ec2ba7e232d just hit main. I do not think it will > > > > > > > cause problems, but it is fairly large. > > > > > > > > > > > > > > Man page updates will be done as separate commits. > > > > > > > > > > > > > > Hopefully this will not cause grief, rick > > > > > > > > > > > > Hey Rick, > > > > > > > > > > > > The patch review test plan mentions a patch to ZFS itself to support > > > > > > named attributes. Is that patch available somewhere? > > > > > The ZFS patch is currently in phabricator as D49654. > > > > > Feel free to review it. > > > > > > > > > > It can also be found at: > > > > > https://people.freebsd.org/~rmacklem/zfs-xattr.patch > > > > > (this is a smaller diff which can be applied to an up-to-date main src > > > > > tree easily) > > > > > > > > Hey Rick, > > > > > > > > I applied that zfs patch, but trying pathconf(2) on a file on a ZFS > > > > dataset with xattr=on (which seems to be the default) returns 0. Am I > > > > doing something wrong? > > > > > > > > ==== BEGIN LOG ==== > > > > hbsd-current-01[shawn]:/home/shawn/tmp $ ./xattrtest xattrtest > > > > xattrtest: Named attributes not enabled: No error: 0 > > > > hbsd-current-01[shawn]:/home/shawn/tmp (1) $ zfs list /usr/home/shawn > > > > NAME USED AVAIL REFER MOUNTPOINT > > > > rpool/usr/home 10.4G 71.4G 9.85G /usr/home > > > > hbsd-current-01[shawn]:/home/shawn/tmp $ zfs get xattr rpool/usr/home > > > > NAME PROPERTY VALUE SOURCE > > > > rpool/usr/home xattr on default > > > > ==== END LOG ==== > > > > > > > > That xattrtest application is yours from: > > > > https://people.freebsd.org/~rmacklem/xattrtest.c > > > No idea. It works for me. You used up-to-date kernel sources? > > > (Check that VIRF_NAMEDATTR is defined in sys/sys/vnode.h.) > > > Oh, and one more thing to check. zfs_xattr_compat needs to be non-zero. > > > (It's found in sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c. > > > It's initialized to 1 and I don't see anything that sets it to 0?) > > > > It is indeed set to 1. > > > > > > > > The only thing I can think if is, if you changed xattr to on, you need to > > > reboot (or at least remount) to get it to take effect. > > > (Maybe try setting it to "dir" and then reboot/remount. Maybe there is > > > a difference between "on" and "dir"?) > > > > Yeah, tried rebooting and still no go. Note that xattr defaults to > > "on" in FreeBSD by default. My src tree is synced up to FreeBSD commit > > 7e70d94acd68b3ac6b45f49d4ab7a0f7867c3ea7. I brought in the ZFS patch > > you linked to. > > > > > > > > Or, did you build zfs.ko some other way than as part of a kernel build? > > > (It needs the patched .h files in the kernel sources, not something in > > > /usr/include/sys > > > that has not yet been updated.) > > > All the ZFS changes are #ifdef'd, since OpenZFS requires the sources > > > build for older kernels. (Basically #ifdef'd on that VIRF_NAMEDATTR mentioned > > > above.) > > > > Perhaps I need to do a clean build. I'll try that and report back. > > > > > > > > It does remind me that I need to try a build of zfs.ko by doing a "make" in > > > the module directory. > > > > > > You can try the attached trivial patch and see if it spits out "pathconf ret=1" > > > on the console. > > > > I'll try that after a clean rebuild of the kernel. > > Clean rebuild didn't resolve it. However, I made some progress. > > I created a dataset specifically for this since I can't really unmount > my /usr/home dataset, so my example down below is a bit different than > the previous example I gave. > > The xattr property is set to "on" for the dataset. However, it's not > mounted with the xattr property. In order to get it to work, I had to > run the following commands: > > ==== BEGIN LOG ==== > $ sudo zfs umount rpool/scratch/xattr > $ sudo mount -t zfs -o xattr rpool/scratch/xattr /scratch/xattr > $ zfs get xattr rpool/scratch/xattr > NAME PROPERTY VALUE SOURCE > rpool/scratch/xattr xattr on local > $ mount | grep xattr > rpool/scratch/xattr on /scratch/xattr (zfs, local, noatime, nfsv4acls, named attributes) > $ mount | grep named > rpool/scratch/xattr on /scratch/xattr (zfs, local, noatime, nfsv4acls, named attributes) > ==== END LOG ==== > > So it looks like FreeBSD does not honor the xattr zfs property, > otherwise you would see a whole bunch of datasets mounted with the > "named attributes" flag in that last `mount | grep` command. Here's a little test program I whipped up to copy a shared object into an extended attribute, then fdlopen the attribute: https://git.hardenedbsd.org/shawn.webb/random-code/-/commit/32544bcccd29b43c2fd70a33e0c685cebb0fdbdf It's an ugly PoC, but it works. :-) -- Shawn Webb Cofounder / Security Engineer HardenedBSD Signal Username: shawn_webb.74 Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmfwiRMACgkQ/y5nonf4 4frNNA/8D6TbKj6hSoSfahsByWEP5Rx0nOPfeHEaHXk0cxhJ1wtWFB/Mba0xSgs0 4l1OlIgD8QR0mnp7LHW1LwbuBFygbPeXUqIhVzoKVNeIkSLfrIZaMM9Q8oEq5vNA SNNKb9NWtp8uW17/PeQ01FJPWNKHg/eH3wICV6O/FTq4YZVVtHRNfnTBWKuSIrRV MTzOEKfPcpcxuNVMHMYPwhcSGX8nN8xBey4jjueGAZKgnLMyU1kJuTET2/1cJSfA Kod+vdI+SG65Tuzh8apdggNa6zTmBlajNLTzpgBhX/l6F89o86+uaZ82/MRHeFDS 8BClLkiLqSIOXlD3EH4JITXzgPp8kl9MnXgrkybIxn7JylKlNbAupZWLaW4V2SSO l2hyONSn1ednWcHhDQbFnxuq8GnbDiR1NxogsoELNIKJukqxdi1H4YGeCuVexvh2 Wb6jWToiz39L0Qd5zNi5c8jYeAP+HGpAI/x2xlg+/he8LqVP4Mfdu1AnpSGO3R4e 1UqCSv6B5pQuncP0tIf2QvViDaM4NknJF9lykDAiibk6vAHk9Dc4vkA6vFfR5+fl DIHiJCTRHQjACoVbcgpmPzcY2pPKMIUeKu4esBFgUfWN/npNthoPWEH+hYhLWQx3 Z+WEAJ6u0g1MoWkxxA/gdgIwrVKsPXe98Vnhcs32YTIWGwm26PM= =n6Dc -----END PGP SIGNATURE-----home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?x4ttu7j7uxympqrvxfd5pit2rrrxvpcda2a2eu25nl3s6sa3xd>
