Page MenuHomeFreeBSD

asomers (Alan Somers)
User

Projects

User Details

User Since
May 9 2014, 11:04 PM (499 w, 2 d)

Recent Activity

Fri, Dec 1

asomers committed rGc7d8a572acb2: libc/libc/rpc: refactor some global variables (authored by asomers).
libc/libc/rpc: refactor some global variables
Fri, Dec 1, 9:18 PM
asomers closed D42865: sigaction.2: clarify that fork isn't async-signal-safe, but _Fork is.
Fri, Dec 1, 4:00 PM
asomers committed rGc2ed7a63604f: sigaction.2: clarify that fork isn't async-signal-safe, but _Fork is (authored by asomers).
sigaction.2: clarify that fork isn't async-signal-safe, but _Fork is
Fri, Dec 1, 4:00 PM
asomers requested review of D42865: sigaction.2: clarify that fork isn't async-signal-safe, but _Fork is.
Fri, Dec 1, 3:21 PM

Thu, Nov 30

asomers committed rG1bb2a240232e: aio_read.2: correct the description of aio_buf (authored by asomers).
aio_read.2: correct the description of aio_buf
Thu, Nov 30, 11:50 PM
asomers committed rGad8b59ffe7b8: libc/libc/rpc: refactor some global variables (authored by asomers).
libc/libc/rpc: refactor some global variables
Thu, Nov 30, 11:50 PM
asomers committed rG8b7963aeb576: Fix intermittency in the sys.fs.fusefs.mknod.main test (authored by asomers).
Fix intermittency in the sys.fs.fusefs.mknod.main test
Thu, Nov 30, 11:49 PM
asomers committed rGe8dd46ee96c8: fusefs: add more readdir tests for misbehaving servers (authored by asomers).
fusefs: add more readdir tests for misbehaving servers
Thu, Nov 30, 11:49 PM
asomers committed rGf23f9941f149: aio_read.2: correct the description of aio_buf (authored by asomers).
aio_read.2: correct the description of aio_buf
Thu, Nov 30, 8:39 PM
asomers committed rG60314995efa0: libc/libc/rpc: refactor some global variables (authored by asomers).
libc/libc/rpc: refactor some global variables
Thu, Nov 30, 3:17 AM
asomers committed rGc18c5774e022: fusefs: add more readdir tests for misbehaving servers (authored by asomers).
fusefs: add more readdir tests for misbehaving servers
Thu, Nov 30, 12:05 AM

Wed, Nov 29

asomers added a comment to D42825: zfsd: fault disks that generate too many I/O delay events.
In D42825#976834, @imp wrote:

I'd have liked to see these configurable thresholds for people that want to more or less aggressively fault things.
But as is, it's fine, and it's a nice to have not something absolutely required.

Wed, Nov 29, 3:14 PM
asomers committed rGd565784a7eba: zfsd: fault disks that generate too many I/O delay events (authored by asomers).
zfsd: fault disks that generate too many I/O delay events
Wed, Nov 29, 2:51 PM
asomers closed D42825: zfsd: fault disks that generate too many I/O delay events.
Wed, Nov 29, 2:51 PM
asomers updated subscribers of D42825: zfsd: fault disks that generate too many I/O delay events.
Wed, Nov 29, 2:49 PM

Tue, Nov 28

asomers requested review of D42825: zfsd: fault disks that generate too many I/O delay events.
Tue, Nov 28, 11:07 PM
asomers accepted D42791: zfs tests: Silence clang warning.
Tue, Nov 28, 9:18 PM

Tue, Nov 21

asomers committed rG04cfe6c12ccc: aio_read.2: correct the description of aio_buf (authored by asomers).
aio_read.2: correct the description of aio_buf
Tue, Nov 21, 4:53 PM
asomers closed D42621: aio_read.2: correct the description of aio_buf.
Tue, Nov 21, 4:52 PM

Thu, Nov 16

asomers added a comment to D42150: bsdinstall: when installing UEFI, place the bootloader on all disks.

ping @jrtc27 does the latest version look better to you?

Thu, Nov 16, 5:20 PM

Wed, Nov 15

asomers accepted D42625: fuse copy_file_range() fixes.

LGTM. But under what circumstances can mp be NULL? We should probably add a regression test for that.

Wed, Nov 15, 11:22 PM
asomers committed rG24938f9311c9: lib/libc/rpc: switch the per-fd structs in clnt_{dg,vc}.c to RB Trees (authored by asomers).
lib/libc/rpc: switch the per-fd structs in clnt_{dg,vc}.c to RB Trees
Wed, Nov 15, 11:14 PM
asomers closed D42597: libc/libc/rpc: refactor some global variables.
Wed, Nov 15, 11:13 PM
asomers committed rGa5c2f4e93943: libc/libc/rpc: refactor some global variables (authored by asomers).
libc/libc/rpc: refactor some global variables
Wed, Nov 15, 11:13 PM
asomers updated the diff for D42597: libc/libc/rpc: refactor some global variables.
  • style fixup to "libc/libc/rpc: refactor some global variables"
  • fixup to "rpc: Replace per-fd condvars with mutexes in clnt_{vc,dg}.c"
Wed, Nov 15, 6:41 PM
asomers added inline comments to D42597: libc/libc/rpc: refactor some global variables.
Wed, Nov 15, 6:41 PM
asomers added a reviewer for D42622: Remove _POSIX_PRIORITIZED_IO references from man pages: manpages.
Wed, Nov 15, 6:00 PM
asomers requested review of D42622: Remove _POSIX_PRIORITIZED_IO references from man pages.
Wed, Nov 15, 6:00 PM
asomers added a reviewer for D42621: aio_read.2: correct the description of aio_buf: manpages.
Wed, Nov 15, 5:33 PM
asomers requested review of D42621: aio_read.2: correct the description of aio_buf.
Wed, Nov 15, 5:33 PM

Tue, Nov 14

asomers updated the diff for D42597: libc/libc/rpc: refactor some global variables.
  • style change to dg_fd_find and vc_fd_find
  • rpc: Replace per-fd condvars with mutexes in clnt_{vc,dg}.c
Tue, Nov 14, 11:50 PM
asomers added inline comments to D42597: libc/libc/rpc: refactor some global variables.
Tue, Nov 14, 9:24 PM
asomers updated the diff for D42597: libc/libc/rpc: refactor some global variables.
  • Respond to kib's comments.
Tue, Nov 14, 6:51 PM
asomers added inline comments to D42597: libc/libc/rpc: refactor some global variables.
Tue, Nov 14, 6:51 PM
asomers requested review of D42597: libc/libc/rpc: refactor some global variables.
Tue, Nov 14, 4:51 PM

Oct 24 2023

asomers added a comment to D42150: bsdinstall: when installing UEFI, place the bootloader on all disks.

This latest version fixes the script with UFS, and makes the bootconfig script less ZFS-specific.

Oct 24 2023, 10:42 PM
asomers updated the diff for D42150: bsdinstall: when installing UEFI, place the bootloader on all disks.
  • Add ESP to all ZFS boot disks, pretty edition
Oct 24 2023, 10:41 PM

Oct 21 2023

asomers committed rGbc417deae52a: Fix intermittency in the sys.fs.fusefs.mknod.main test (authored by asomers).
Fix intermittency in the sys.fs.fusefs.mknod.main test
Oct 21 2023, 9:41 PM
asomers committed rGaf20b2201669: Fix intermittency in the sys.fs.fusefs.mknod.main test (authored by asomers).
Fix intermittency in the sys.fs.fusefs.mknod.main test
Oct 21 2023, 3:42 PM

Oct 15 2023

asomers committed rGec3864cc6861: fusefs: sanitize FUSE_READLINK results for embedded NULs (authored by asomers).
fusefs: sanitize FUSE_READLINK results for embedded NULs
Oct 15 2023, 1:20 PM
asomers committed rG0022bd418e6c: fusefs: sanitize FUSE_READLINK results for embedded NULs (authored by asomers).
fusefs: sanitize FUSE_READLINK results for embedded NULs
Oct 15 2023, 2:13 AM

Oct 14 2023

asomers committed rG8fca98f6881f: fusefs: sanitize FUSE_READLINK results for embedded NULs (authored by asomers).
fusefs: sanitize FUSE_READLINK results for embedded NULs
Oct 14 2023, 5:58 PM

Oct 10 2023

asomers added inline comments to D42150: bsdinstall: when installing UEFI, place the bootloader on all disks.
Oct 10 2023, 8:29 PM
asomers requested review of D42150: bsdinstall: when installing UEFI, place the bootloader on all disks.
Oct 10 2023, 8:16 PM

Oct 7 2023

asomers closed D42081: Don't panic in vfs_lookup due to paths with embedded NULs.
Oct 7 2023, 2:25 PM
asomers committed rG662ec2f78152: fusefs: sanitize FUSE_READLINK results for embedded NULs (authored by asomers).
fusefs: sanitize FUSE_READLINK results for embedded NULs
Oct 7 2023, 2:25 PM
asomers committed rGd67558ef3149: Fix padding in struct tcp_info (authored by asomers).
Fix padding in struct tcp_info
Oct 7 2023, 2:50 AM

Oct 6 2023

asomers updated the diff for D42081: Don't panic in vfs_lookup due to paths with embedded NULs.
  • Restore the original behavior in vfs_lookup
Oct 6 2023, 9:45 PM
asomers committed rG8399d764c929: Fix intermittency in the sys.fs.fusefs.symlink.main test (authored by asomers).
Fix intermittency in the sys.fs.fusefs.symlink.main test
Oct 6 2023, 9:09 PM
asomers accepted D42114: ping: Avoid reporting NaNs.

Approved, but please note in the commit message that this condition can only occur due to FPU rounding error.

Oct 6 2023, 8:38 PM
asomers added a comment to D42081: Don't panic in vfs_lookup due to paths with embedded NULs.

Sorry, but I still don't like it. :)

fuse_vnop_readlink() should be sanitizing its inputs to the VFS rather than expecting the VFS to handle this situation in some arbitrary way. With this patch, we are now hiding what could be bugs in all VOP_READLINK implementations. If it were ZFS returning corrupted symlink targets, then I'd want the system to panic (at least on INVARIANTS systems). If this situation can legitimately arise in FUSE filesystems, then fuse_vnop_readlink() needs to decide how to handle it; in this case it seems like you want to simply return the string up to the first nul terminator.

Oct 6 2023, 8:35 PM
asomers added a comment to D42081: Don't panic in vfs_lookup due to paths with embedded NULs.
In D42081#960674, @kib wrote:

BTW is there a check in fusefs that lookup never returns vp == dvp (of non-dot cnp, but this should never reach VOP)? IMO it is even more fundamental invariant.

Oct 6 2023, 8:14 PM
asomers committed rG86885b186898: Fix intermittency in the sys.fs.fusefs.mknod.main test (authored by asomers).
Fix intermittency in the sys.fs.fusefs.mknod.main test
Oct 6 2023, 7:58 PM
asomers added a comment to D42081: Don't panic in vfs_lookup due to paths with embedded NULs.

@markj I've moved the check into namei_follow_link . Do you like this version better? I could also have it print some kind of warning to dmesg, subject to INVARIANTS, if you would prefer. Or I could remove it entirely and restore the panic, if you prefer. The problem with doing the check in namei_follow_link is that it causes an extra scan through the string, rather than piggy backing on the scan that already takes place in vfs_lookup.

Oct 6 2023, 7:20 PM
asomers added a comment to D42114: ping: Avoid reporting NaNs.

If we were computing with real numbers, then it should be impossible for vari to ever be negative. And in fact, all of the failing tests use -t 1, which means that n will be 1, so vari should always be exactly zero. So the fact that you're seeing these errors must mean that we're hitting some kind of floating point round-off error. Your patch will work, but it begs the question: why print min/avg/max/stddev when there is only one datapoint? I think that we should only print those things when n > 1. In fact, the standard deviation isn't really meaningful when n == 2, but it probably wouldn't hurt to print it, if that makes the code more readable.

Oct 6 2023, 7:15 PM
asomers updated the diff for D42081: Don't panic in vfs_lookup due to paths with embedded NULs.
  • Move the nul check into namei_follow_link
Oct 6 2023, 4:22 PM
asomers added a comment to D42081: Don't panic in vfs_lookup due to paths with embedded NULs.

You could add something to namei_follow_link(), where VOP_READLINK is actually called during name resolution. But I also want to ask, why is not sufficient to modify fuse alone? How would other filesystems allow this situation to occur, barring corruption of on-disk data?

Exactly, corruption of on-disk data. From inspection, I think that ext2fs is vulnerable. I haven't checked others. But I think we should be resilient against corrupt disks.

But your approach to resiliency should depend on the filesystem. FUSE explicitly needs to guard against this particular possibility, so it should check for nul bytes in symlink targets. OpenZFS probably does not, assuming that it always writes valid symlinks to disk and can catch corruption using checksums. UFS and ext2 provide no mechanism to detect data corruption, so we cannot be resilient to corruption in any general sense. Certainly they could explicitly check for this case and panic, but then we should presumably also make sure that directory entries don't contain nul bytes (ext2_readdir() and ufs_readdir() don't appear to verify this), and the rabbit hole doesn't end there.

Oct 6 2023, 3:55 PM
asomers accepted D42110: tests: Use ifconfig -j instead of jexec ifconfig..
Oct 6 2023, 3:36 PM
asomers added a comment to D42081: Don't panic in vfs_lookup due to paths with embedded NULs.

You could add something to namei_follow_link(), where VOP_READLINK is actually called during name resolution. But I also want to ask, why is not sufficient to modify fuse alone? How would other filesystems allow this situation to occur, barring corruption of on-disk data?

Oct 6 2023, 3:18 PM

Oct 5 2023

asomers committed rG73765a5fa7d0: Advertise the MPI Message Version that's contained in the IOCFacts message (authored by scottl).
Advertise the MPI Message Version that's contained in the IOCFacts message
Oct 5 2023, 8:38 PM
asomers committed rG51426ad9c75b: mprutil: "fix user reply buffer (64)..." warnings (authored by asomers).
mprutil: "fix user reply buffer (64)..." warnings
Oct 5 2023, 5:38 PM
asomers committed rG2d05cbe00272: fusefs: fix some bugs updating atime during close (authored by asomers).
fusefs: fix some bugs updating atime during close
Oct 5 2023, 5:35 PM
asomers committed rG6a773a0582ba: fusefs: add more readdir tests for misbehaving servers (authored by asomers).
fusefs: add more readdir tests for misbehaving servers
Oct 5 2023, 4:15 PM
asomers added a comment to D42081: Don't panic in vfs_lookup due to paths with embedded NULs.

Why do other filesystems need to be modified if we check the invariant in a vop_readlink_post()?

Oct 5 2023, 4:00 PM
asomers updated subscribers of D42081: Don't panic in vfs_lookup due to paths with embedded NULs.
In D42081#959985, @mjg wrote:

i don't think the patch is legitimate in that length indicated by VOP_READLINK does not line up with the real length -- it is that discrepancy which needs to be avoided instead. i would make it an invariant that VOP_READLINK returns correct size or an error like in the case above. then a debug_pre func for VOP_READLINK could validate it. i also note the proposed patch pessimizes all lookups (not only those which encounter a symlink) by adding a func call and no longer avoiding an extra branch per character (currently achieved by slapping / at the end)

Oct 5 2023, 2:03 PM

Oct 4 2023

asomers edited reviewers for D42081: Don't panic in vfs_lookup due to paths with embedded NULs, added: dchagin; removed: mjg.
Oct 4 2023, 7:04 PM
asomers updated subscribers of D42081: Don't panic in vfs_lookup due to paths with embedded NULs.

Sorry, @mjg . Good luck with your next project.

Oct 4 2023, 7:03 PM
asomers updated the diff for D42081: Don't panic in vfs_lookup due to paths with embedded NULs.
  • Restrict the new fusefs warning to INVARIANTS
Oct 4 2023, 7:01 PM
asomers requested review of D42081: Don't panic in vfs_lookup due to paths with embedded NULs.
Oct 4 2023, 6:54 PM

Oct 3 2023

asomers committed rG63c0b60063c7: fusefs: fix some bugs updating atime during close (authored by asomers).
fusefs: fix some bugs updating atime during close
Oct 3 2023, 9:47 PM
asomers committed rGc70a4185c637: mprutil: "fix user reply buffer (64)..." warnings (authored by asomers).
mprutil: "fix user reply buffer (64)..." warnings
Oct 3 2023, 1:32 AM
asomers committed rG13f188ce0b51: fusefs: fix some bugs updating atime during close (authored by asomers).
fusefs: fix some bugs updating atime during close
Oct 3 2023, 1:12 AM

Sep 27 2023

asomers committed rG1e3214571b78: printenv: fix typo in a comment (authored by asomers).
printenv: fix typo in a comment
Sep 27 2023, 3:04 PM

Sep 25 2023

asomers added a comment to D41970: lib/libc/tests/string: add extended unit tests for strcmp().

Let me see if I understand this dlopen business correctly. Your plan is that if you create a separate .c file containing "test_strcmp" and link it to t_strcmp.o, then the test will operate on that function. Otherwise, it will operate on the standard strcmp?

Sep 25 2023, 8:52 PM
asomers committed rGc989957f28ef: printenv: Add test for printenv. (authored by bses30074_gmail.com).
printenv: Add test for printenv.
Sep 25 2023, 4:12 PM
asomers closed D41468: printenv: Add test for printenv..
Sep 25 2023, 4:11 PM
asomers accepted D41468: printenv: Add test for printenv..
Sep 25 2023, 4:04 PM

Sep 24 2023

asomers added a comment to D41468: printenv: Add test for printenv..

In its current state, the "base" test doesn't pass. It seems like the expected_value variable isn't getting correctly expanded. Its value is just the name of the variable. Could you please fix that?

Sep 24 2023, 1:44 PM

Sep 23 2023

asomers requested changes to D41468: printenv: Add test for printenv..
Sep 23 2023, 2:39 PM
asomers accepted D41468: printenv: Add test for printenv..
Sep 23 2023, 2:36 PM

Sep 22 2023

asomers committed R11:3471492291d3: sysutils/gstat: update to 0.1.4 (authored by asomers).
sysutils/gstat: update to 0.1.4
Sep 22 2023, 7:04 PM
asomers committed rG2209676efe9a: Fix padding in struct tcp_info (authored by asomers).
Fix padding in struct tcp_info
Sep 22 2023, 5:25 PM
asomers added a comment to D41894: Fix padding in struct tcp_info.

Ok, I've commited to stable/14 now.

Sep 22 2023, 5:25 PM
asomers closed D41894: Fix padding in struct tcp_info.
Sep 22 2023, 5:25 PM
asomers added a comment to D41894: Fix padding in struct tcp_info.
In D41894#955899, @cc wrote:

I am learning Rust if you meant the Rust programming language. Would you please elaborate why is Rust involved here?

Sep 22 2023, 2:25 PM

Sep 21 2023

asomers committed rGb2dff90c0be7: Fix zfsd with the device_removal pool feature. (authored by asomers).
Fix zfsd with the device_removal pool feature.
Sep 21 2023, 10:27 PM
asomers committed rGa015b9e690d8: Fix zfsd with the device_removal pool feature. (authored by asomers).
Fix zfsd with the device_removal pool feature.
Sep 21 2023, 10:24 PM
asomers committed rG3676929d3cae: Fix zfsd with the device_removal pool feature. (authored by asomers).
Fix zfsd with the device_removal pool feature.
Sep 21 2023, 10:22 PM
asomers committed rGa39aac5bb8e4: Fix zfsd with the device_removal pool feature. (authored by asomers).
Fix zfsd with the device_removal pool feature.
Sep 21 2023, 8:53 PM
asomers committed R11:68b0bfc82661: net-mgmt/nfs-exporter: version 0.4.3 (authored by asomers).
net-mgmt/nfs-exporter: version 0.4.3
Sep 21 2023, 8:01 PM
asomers committed rGe5236d25f2c0: fusefs: fix unused variables from fb619c94c67 (authored by asomers).
fusefs: fix unused variables from fb619c94c67
Sep 21 2023, 3:41 PM
asomers requested changes to D41468: printenv: Add test for printenv..
Sep 21 2023, 3:33 PM
asomers added a comment to D41894: Fix padding in struct tcp_info.

If the caller provides insufficient space for the entire structure, will the kernel fail the ioctl or copy as much as it can? It looks to me like it will do the latter. That also provides backwards compatibility, as long as we don't move or delete fields. @tuexen do you accept @glebius's suggestion to directly commit to stable/14? I would like to do that because it improves the Rust story. The Rust community still has not accepted that some APIs change between versions, like 64-bit inodes. Pushing the tcp_info compatibility break to FreeBSD 15 instead of 14 will give Rust some more time to come to terms.

Sep 21 2023, 3:06 PM
asomers committed rG7d154c4dc64e: mprutil: "fix user reply buffer (64)..." warnings (authored by asomers).
mprutil: "fix user reply buffer (64)..." warnings
Sep 21 2023, 2:46 PM
asomers closed D38739: mprutil: "fix user reply buffer (64)..." warnings.
Sep 21 2023, 2:45 PM
asomers added a comment to D38739: mprutil: "fix user reply buffer (64)..." warnings.

Looks like this review got away from me. Oops. I'll rebase, test, and hopefully commit today.

Sep 21 2023, 2:23 PM
asomers committed rGfb619c94c679: fusefs: fix some bugs updating atime during close (authored by asomers).
fusefs: fix some bugs updating atime during close
Sep 21 2023, 2:04 PM
asomers closed D41925: fusefs: fix some bugs updating atime during close.
Sep 21 2023, 2:04 PM

Sep 20 2023

asomers requested review of D41925: fusefs: fix some bugs updating atime during close.
Sep 20 2023, 9:46 PM

Sep 17 2023

asomers added a comment to D41894: Fix padding in struct tcp_info.

Note that I have no way to test this change.

Sep 17 2023, 2:24 PM