Page MenuHomeFreeBSD

kevans (Kyle Evans)
User

Projects (12)

User Details

User Since
Oct 2 2015, 1:17 PM (563 w, 2 d)

Recent Activity

Thu, Jul 16

kevans accepted D58289: tests/libc: Fix fortify_source uio tests.

Whoops, thanks!

Thu, Jul 16, 9:35 PM

Wed, Jul 15

kevans added a reviewer for D57157: linux: Support SYSLOG_ACTION_SIZE_BUFFER in syslog(2).: Linux Emulation.
Wed, Jul 15, 7:36 PM
kevans added a reviewer for D57173: linux: Implement fchmodat2(2).: Linux Emulation.
Wed, Jul 15, 7:36 PM
kevans added a reviewer for D57284: linux: Implement vfs ioctl for inode flags set/get: Linux Emulation.
Wed, Jul 15, 7:35 PM
kevans added a reviewer for D57285: linux: stub io_uring_setup.: Linux Emulation.
Wed, Jul 15, 7:35 PM
kevans added a reviewer for D57286: linux: enable FUTEX_REQUEUE if requested in the brand info.: Linux Emulation.
Wed, Jul 15, 7:35 PM
kevans added a reviewer for D57898: tarfs: remove unused 'ino' in mount structure.: des.
Wed, Jul 15, 7:29 PM
kevans added inline comments to D58200: hidbus: stop interrupts before finalizing child deactivation.
Wed, Jul 15, 1:47 PM

Mon, Jul 13

kevans added a reverting change for rGd94e034d5046: pkg: Add -j and -r options: rG9dfaf1cb37f8: Revert "pkg: Add -j and -r options".
Mon, Jul 13, 10:10 PM
kevans committed rG9dfaf1cb37f8: Revert "pkg: Add -j and -r options" (authored by kevans).
Revert "pkg: Add -j and -r options"
Mon, Jul 13, 10:10 PM
kevans added a reverting change for D58165: pkg: Add -j and -r options: rG9dfaf1cb37f8: Revert "pkg: Add -j and -r options".
Mon, Jul 13, 10:09 PM
kevans added a comment to D51865: libusb: capsicumize libusb.

hi!

So why are a whole lot of functions getting an fd added to them?

Do the FDs change during the runtime of the tool? Or are they something that could be set
once during some init phase (maybe in a new function which would call cap_enter, rather than
the owner having to call it) and then pulled out of some the libusb backend state?

IMO we really shouldn't have libraries entering capablity mode- libusb may be just one of many, and setting a precedence like that where some will insist on entering the sandbox is bound to end up with some really annoying circumstances.

I can somehow agree with you. But how can we integrate to bhyve without this as bhyve is capsicumized by default? We can turn off temporary but it adds complexity on bhyve.

Mon, Jul 13, 1:08 PM

Sun, Jul 12

kevans updated the diff for D58187: uefisign: rename to efisign.

Whack the remaining moles, fix OptionalObsoleteFiles to also remove the example

Sun, Jul 12, 7:59 PM
kevans committed rG87fb416ac882: usbdump: add -t to omit timestamps (authored by kevans).
usbdump: add -t to omit timestamps
Sun, Jul 12, 7:51 PM
kevans closed D58196: usbdump: add -t to omit timestamps.
Sun, Jul 12, 7:50 PM
kevans requested review of D58200: hidbus: stop interrupts before finalizing child deactivation.
Sun, Jul 12, 7:48 PM
kevans requested review of D58199: hid: u2f: stop interrupts on last-close.
Sun, Jul 12, 7:48 PM
kevans requested review of D58196: usbdump: add -t to omit timestamps.
Sun, Jul 12, 5:40 PM
kevans added a comment to D51865: libusb: capsicumize libusb.

hi!

So why are a whole lot of functions getting an fd added to them?

Do the FDs change during the runtime of the tool? Or are they something that could be set
once during some init phase (maybe in a new function which would call cap_enter, rather than
the owner having to call it) and then pulled out of some the libusb backend state?

Sun, Jul 12, 3:16 PM
kevans added inline comments to D51865: libusb: capsicumize libusb.
Sun, Jul 12, 3:12 PM
kevans committed rGd387a43ec8e2: rockchip: fix stack overflow in rk8xx_rtc (authored by kevans).
rockchip: fix stack overflow in rk8xx_rtc
Sun, Jul 12, 2:51 PM
kevans closed D58182: rockchip: fix stack overflow in rk8xx_rtc.
Sun, Jul 12, 2:51 PM
kevans added a reviewer for D58186: efisign: add to the efi-tools package: pkgbase.
Sun, Jul 12, 2:15 AM
kevans requested review of D58187: uefisign: rename to efisign.
Sun, Jul 12, 2:14 AM
kevans requested review of D58186: efisign: add to the efi-tools package.
Sun, Jul 12, 2:14 AM
kevans requested review of D58182: rockchip: fix stack overflow in rk8xx_rtc.
Sun, Jul 12, 1:17 AM

Fri, Jul 10

kevans added a comment to D58152: libc: make dl_phdr_iter lock recursive for LSan.

Yes, I think @kib was at least mildly concerned when I raised the thought of doing the same, and we decided it was reasonably fine to just bypass the locks because we do dl_iterate_phdr, rfork (vfork) inside the handler, then ptrace the parent. The thread that holds the relevanr locks is suspended in rfork and safely not racing against what we do in the child.

Fri, Jul 10, 1:58 PM
kevans added a comment to D58152: libc: make dl_phdr_iter lock recursive for LSan.
In D58152#1333559, @kib wrote:

You do understand, that the change is only changes something for the statically linked binaries?

We had already implemented a workaround in rtld, _dl_iterate_phdr_locked iirc. I'm not sure offhand why that wasn't sufficient here, I might need to re-check which lsan drop I sent to @aokblast

Yes, I see the comment from your brach and see both glibc and NetBSD (although very strange in their implemetation) has recursive dl_phdr_info_lock lock.

Fri, Jul 10, 1:21 PM
kevans added a comment to D58152: libc: make dl_phdr_iter lock recursive for LSan.
In D58152#1333559, @kib wrote:

You do understand, that the change is only changes something for the statically linked binaries?

Fri, Jul 10, 1:05 PM

Wed, Jul 8

kevans added a comment to D58094: Capsicumise truss(1).

I don't think this patch is a good idea. It adds a bunch of complexity and state to a security layer in order to support a debugging feature, as I understand it.

Sanitizers and debuggers don't work properly with ASLR, so they just turn off ASLR. Why isn't that the approach here?

Wed, Jul 8, 8:32 PM
kevans added a comment to D58094: Capsicumise truss(1).
In D58094#1332534, @kib wrote:

Even if the debugee is also in capability mode, the debugger would still potentially be able to obtain capabilities it doesn't already have, violating the sandbox rules.

For this, the debugger needs to get the procdesc to the target with enough cap allowed. If something provided it, then it was the decision.

... or a sandbox escape bug, if someone forgot to limit rights on the procdesc. There is at least one example in the tree. In particular, this is not a decision made by any existing code, since currently a process descriptor does not give you access to the target process' capabilities.

Given that LSAN is a testing tool, why do we care about having it work properly in capability mode at all? The sanitizer runtime could intercept cap_enter()/caph_enter() and prevent the target process from entering a sandbox when running under LSAN.

Another fair point- from my perspective, we probably don't particularly care about it working properly in capability mode, but we should care about the fact that capability mode would causes us to lose this incredibly useful functionality.

That can be solved in the majority of capsicumized things today by intercepting cap_enter, as you note- that doesn't help if an instrumented program was exec'd already in a sandbox by an uninstrumented parent, but to my knowledge we don't really have any case like that in base. I don't think "disabling capsicum on a larger scale if you want to use lsan" (the logical next step to address the last case) is a great approach if we can find a way to make it work safely in that context.

I suppose so, but extending the kernel to support this rather esoteric case, and in so doing increasing the attack surface available to any sandboxed process owning a procdesc with CAP_PTRACE_ATTACH, seems like a dubious tradeoff...

Wed, Jul 8, 3:43 PM
kevans added a comment to D58094: Capsicumise truss(1).

Given that LSAN is a testing tool, why do we care about having it work properly in capability mode at all? The sanitizer runtime could intercept cap_enter()/caph_enter() and prevent the target process from entering a sandbox when running under LSAN.

Wed, Jul 8, 3:17 PM
kevans added a comment to D58094: Capsicumise truss(1).
In D58094#1332294, @kib wrote:

Why not just use ptrace(PT_ATTACH, pdgetpid(), ...)? I can see some argument for PT_ATTACH_PD if you are planning to make ptrace() available in capability mode.

Exactly what Kyle said above.

Nice, this seems reasonable to me. I have a proposal that I'm gonig to send to a list, but effectively, I'd like to do a few things in this area:

  • Add a convenience pdopenpid(0, ...) -> similar to what we do with setpgrp/setpggid, special-case 0 to allow self-pdopenpid without a getpid() call
  • Mark pdopenpid(2) CAPENABLED, allow it in capability mode only for self-requests
  • Mark ptrace(2) CAPENABLED, only allow: PT_ATTACH_PD, PT_DETACH, PT_GETNUMLWPS, PT_GETLWPLIST, PT_GETREGS

PT_VM_TIMESTAMP, TP_VM_ENTRY, PT_GETREGSET, PT_GET_SC_ARGS, PT_GET_SC_RET, and MD options.

But I really thought that if you have the pfd with the capability, then you can debug the target as you want. pdopenpid() should be not allowed lightly for capsicum, but you could get the pfd by other means, e.g. by passing it from some fully privileged wrapper.

I think my concern is that you can easily exfiltrate or manage resources from the global namespace if you can get ahold of a pdfd for a process that isn't also in capability mode. Even without remote syscall capability directly, you can still drive arbitrary execution with proper stepping and reg swapping. We probably want to be pretty conservative in what we allow to limit the possible shenanigans.

Even if the debugee is also in capability mode, the debugger would still potentially be able to obtain capabilities it doesn't already have, violating the sandbox rules.

Wed, Jul 8, 2:58 PM
kevans added a comment to D58094: Capsicumise truss(1).
In D58094#1332294, @kib wrote:

Why not just use ptrace(PT_ATTACH, pdgetpid(), ...)? I can see some argument for PT_ATTACH_PD if you are planning to make ptrace() available in capability mode.

Exactly what Kyle said above.

Nice, this seems reasonable to me. I have a proposal that I'm gonig to send to a list, but effectively, I'd like to do a few things in this area:

  • Add a convenience pdopenpid(0, ...) -> similar to what we do with setpgrp/setpggid, special-case 0 to allow self-pdopenpid without a getpid() call
  • Mark pdopenpid(2) CAPENABLED, allow it in capability mode only for self-requests
  • Mark ptrace(2) CAPENABLED, only allow: PT_ATTACH_PD, PT_DETACH, PT_GETNUMLWPS, PT_GETLWPLIST, PT_GETREGS

PT_VM_TIMESTAMP, TP_VM_ENTRY, PT_GETREGSET, PT_GET_SC_ARGS, PT_GET_SC_RET, and MD options.

But I really thought that if you have the pfd with the capability, then you can debug the target as you want. pdopenpid() should be not allowed lightly for capsicum, but you could get the pfd by other means, e.g. by passing it from some fully privileged wrapper.

Wed, Jul 8, 5:22 AM
kevans added a comment to D58063: kern: imgact: fix imgp->interpreted.
In D58063#1332290, @sjg wrote:

I'll remove the |= bit of this patch and related commentary in the commit message. I won't change the kern_exec.c part of the patch, but I do want to think about whether it would be useful for imgp->interpreted to reflect all of the interpreters involved in the chain -- it could be that it's useful to set IMGACT_INTERP_ELF in imgp->interpreted back where __elfN(load_interp) is first called in the elf activator. I'm not sure I see how at the moment, though:

My understanding may be incorrect, but if there is an interpreter chain, I would think kern_exec is only dealing with them one after another no
so not sure |= is helping.

Wed, Jul 8, 4:08 AM
kevans committed rGf5329a0d1471: kern: imgact: fix imgp->interpreted (authored by kevans).
kern: imgact: fix imgp->interpreted
Wed, Jul 8, 2:58 AM
kevans closed D58063: kern: imgact: fix imgp->interpreted.
Wed, Jul 8, 2:58 AM
kevans added a comment to D58063: kern: imgact: fix imgp->interpreted.
In D58063#1331523, @sjg wrote:

There are some diffs b/w imgact_elf.c in main and our tree (we're a bit behind), but wrt above it looks the same, and it works fine.

Interesting, OK- I don't see how imgp->interpreted could possibly preserve the bit in question until it gets to a MAC check, but I think I'll punt on that and just leave this patch as-is for now. In the short-to-medium term, my plan is to rewrite the imgact_binmisc configuration interface to allow rules scoped to jails; at that point, I'll write some tests for how all of these things work together and maybe tweak stuff further.

Wed, Jul 8, 2:50 AM
kevans accepted D58094: Capsicumise truss(1).

Nice, this seems reasonable to me. I have a proposal that I'm gonig to send to a list, but effectively, I'd like to do a few things in this area:

Wed, Jul 8, 1:43 AM

Tue, Jul 7

kevans added a comment to D58063: kern: imgact: fix imgp->interpreted.
In D58063#1331523, @sjg wrote:
In D58063#1331519, @sjg wrote:

Hmm, the last bit seems to be wrong because elf's imgact will set interpreted = 0 anyways. Actually, that seems to happen *after* we set it in load_interp_file -- was there something missing from the original patch?

I don't think so. The original problem was that when exec'ing ld-elf.so the 'interpreted' field was not set so if we set veriexec's indirect flag on ld-elf.so, mac_veriexec thinks it is a direct exec and blocks it - which is sub-optimal. Simply having imgp->interpreted != 0 is sufficient to address that.

Right, but as far as I can tell it won't work right in vanilla FreeBSD. We set imgp->interpreted = 0 here:

https://cgit.freebsd.org/src/tree/sys/kern/imgact_elf.c#n1461

After you would have set it non-zero up in load_interp -- I think clearing it needs to move above the interp != NULL branch, or the |= here changes back to = and we just clear it in the else block (interp == NULL).

There are some diffs b/w imgact_elf.c in main and our tree (we're a bit behind), but wrt above it looks the same, and it works fine.

Tue, Jul 7, 2:17 PM
kevans added reviewers for D58082: jail: Add Capsicum rights for jail descriptor operations: Jails, kevans, oshogbo.

Adding jail folks; this is an extension of ttps://github.com/freebsd/freebsd-src/pull/2108. At least one notable change since @jamie looked last is that we negotiated dropping the rights(4) at creation time, so use of the descriptor can check just the rights(4) rather than both rights + jdcred/fp->f_cred.

Tue, Jul 7, 1:47 PM

Mon, Jul 6

kevans added a comment to D58063: kern: imgact: fix imgp->interpreted.
In D58063#1331519, @sjg wrote:

Hmm, the last bit seems to be wrong because elf's imgact will set interpreted = 0 anyways. Actually, that seems to happen *after* we set it in load_interp_file -- was there something missing from the original patch?

I don't think so. The original problem was that when exec'ing ld-elf.so the 'interpreted' field was not set so if we set veriexec's indirect flag on ld-elf.so, mac_veriexec thinks it is a direct exec and blocks it - which is sub-optimal. Simply having imgp->interpreted != 0 is sufficient to address that.

Mon, Jul 6, 10:10 PM
kevans added a comment to D58063: kern: imgact: fix imgp->interpreted.

Hmm, the last bit seems to be wrong because elf's imgact will set interpreted = 0 anyways. Actually, that seems to happen *after* we set it in load_interp_file -- was there something missing from the original patch?

Mon, Jul 6, 9:56 PM
kevans requested review of D58063: kern: imgact: fix imgp->interpreted.
Mon, Jul 6, 9:36 PM

Wed, Jul 1

kevans added a comment to D57983: prometheus_sysctl_exporter: don't abort on bad labels.

Unrelated, I'm wondering if there's any interest in slightly refactoring this into a prometheus_fbsd_exporter (for lack of better name). Move the bits specific to sysctl output into a separate file and retain a prometheus_sysctl_exporter link to it, but it seems like there's a good opportunity to collect more stats and re-use the same basic CLI interface.

Wed, Jul 1, 6:58 PM
kevans requested review of D57983: prometheus_sysctl_exporter: don't abort on bad labels.
Wed, Jul 1, 2:46 AM

Tue, Jun 30

kevans committed rGeca26803d880: kern: syscall_thread_enter() cannot fail (authored by kevans).
kern: syscall_thread_enter() cannot fail
Tue, Jun 30, 7:13 PM
kevans closed D57848: kern: syscall_thread_enter() cannot fail.
Tue, Jun 30, 7:12 PM
kevans committed rGcb8bda40695f: evdev: use a prometheus-safe label for ev_sysctl_tree (authored by kevans).
evdev: use a prometheus-safe label for ev_sysctl_tree
Tue, Jun 30, 4:52 PM
kevans closed D57966: evdev: use a prometheus-safe label for ev_sysctl_tree.
Tue, Jun 30, 4:52 PM
kevans requested review of D57966: evdev: use a prometheus-safe label for ev_sysctl_tree.
Tue, Jun 30, 2:21 PM
kevans committed rG3de9dc5bf4b4: libc: gen: add a test for rtld underflowing our posix_spawn thread (authored by kevans).
libc: gen: add a test for rtld underflowing our posix_spawn thread
Tue, Jun 30, 1:14 PM
kevans closed D57954: libc: gen: add a test for rtld underflowing our posix_spawn thread.
Tue, Jun 30, 1:13 PM
kevans updated the diff for D57954: libc: gen: add a test for rtld underflowing our posix_spawn thread.

Increase NUM_DSO to a number that reliably hits the guard page without ASAN.

Tue, Jun 30, 4:06 AM
kevans added a comment to D57954: libc: gen: add a test for rtld underflowing our posix_spawn thread.

With the guard page landed, I'm going to rework this a little and likely try posix_spawnp at each fdlopen (or every few) up until 256 to exercise both the old regression and the new transition point from alloca -> heap after your fix.

Tue, Jun 30, 1:31 AM

Mon, Jun 29

kevans accepted D57955: posix_spawn(): create a guard page below the stack for rfork_thread.
In D57955#1328646, @kib wrote:

The cost is +3 syscalls per spawn, but so be it.

Mon, Jun 29, 11:01 PM
kevans added inline comments to D57955: posix_spawn(): create a guard page below the stack for rfork_thread.
Mon, Jun 29, 10:22 PM
kevans added a comment to D57954: libc: gen: add a test for rtld underflowing our posix_spawn thread.

Given that it's still not even at absurdly large numbers, I wonder if it's coincidentally just wiping out the mapped contents of these DSOs. Maybe I should re-design this to then call into every single one of them after the posix_spawnp.

Mon, Jun 29, 9:44 PM
kevans added a comment to D57954: libc: gen: add a test for rtld underflowing our posix_spawn thread.
In D57954#1328625, @kib wrote:
In D57954#1328617, @kib wrote:

If NUM_DSO is large enough, I believe it should trips without any sanitizer.

Right, it will still underflow, but the hard part is detecting that so that you can trip an assertion. I think we'd probably want a custom allocator to be able to influence where the rfork_thread stack is laid out, so that we can guarantee where the damage will occur and spot it. Otherwise, I think we have to spray a bunch of patterned buffers onto the heap and posix_spawn a bunch, then verify that all of our buffers are still intact?

If the test program segfaults, wouldn't kyua declare the test failing?
Or you could fork, detect the child exit due to a signal, and declare test failing.

Mon, Jun 29, 9:41 PM
kevans updated the diff for D57954: libc: gen: add a test for rtld underflowing our posix_spawn thread.

Downgrade our shlib to RDONLY and MAP_SHARED, now that we're not trying to do
a unique SOVERSION for every fdlopen().

Mon, Jun 29, 9:34 PM
kevans added a comment to D57954: libc: gen: add a test for rtld underflowing our posix_spawn thread.
In D57954#1328617, @kib wrote:

If NUM_DSO is large enough, I believe it should trips without any sanitizer.

Mon, Jun 29, 9:31 PM
kevans added inline comments to D57954: libc: gen: add a test for rtld underflowing our posix_spawn thread.
Mon, Jun 29, 9:04 PM
kevans requested review of D57954: libc: gen: add a test for rtld underflowing our posix_spawn thread.
Mon, Jun 29, 8:48 PM
kevans added a reviewer for D57755: bsdinstall: add a hardening knob for unprivileged kenv access: jrtc27.

Implementation-wise it seems reasonable, but every time bsdinstall hardening gains an option the security world cries out in pain over having sensible defaults and good UX :')

Mon, Jun 29, 8:25 PM
kevans accepted D57908: rtld: stop using alloca().

Perfect, thanks. I can confirm that this still fixes my test-case, I'll get that cleaned up and posted to Phabricator ~soon-ish.

Mon, Jun 29, 8:22 PM
kevans added a comment to D57755: bsdinstall: add a hardening knob for unprivileged kenv access.

Ping- this is relatively simple, so I may just commit it later this week, unless someone has time to give it a once-over.

Mon, Jun 29, 8:05 PM
kevans added a comment to D57908: rtld: stop using alloca().

Seems fine overall, just two nits

Mon, Jun 29, 7:55 PM
kevans added inline comments to D57923: libc/resolv: Refactor the option parser.
Mon, Jun 29, 7:01 PM
kevans accepted D57922: libc/resolv: Drop Solaris 2 compatibility.
Mon, Jun 29, 6:49 PM
kevans added a comment to D46313: daemon(8): Add option to write pidfile w/o supervising it.

This version seems to have dropped the manpage revisions entirely

Mon, Jun 29, 4:49 PM

Sun, Jun 28

kevans added a comment to D57908: rtld: stop using alloca().
In D57908#1327731, @kib wrote:

I am commenting here instead of PR for consistency. The most recent version of the patch doesn't introduce any breakage, but also doesn't solve bug 289425.

Try reducing DLP_ALLOCA_LIMIT twice until it helps.

Sun, Jun 28, 1:13 AM

Sat, Jun 27

kevans added a comment to D57908: rtld: stop using alloca().

I haven't had a chance to thoroughly review this yet, but I think it's a good idea regardless of the question about vfork.

Sat, Jun 27, 4:25 PM

Fri, Jun 26

kevans accepted D57841: tpm: fix tpmtis support for ST33KTPM2X32CKE3.

Perfect, thanks!

Fri, Jun 26, 6:58 PM
kevans updated the diff for D57864: man: add MLINKS for rmslock(9) and functions.

Additional .Nm

Fri, Jun 26, 1:12 PM
kevans requested review of D57864: man: add MLINKS for rmslock(9) and functions.
Fri, Jun 26, 2:47 AM
kevans accepted D57859: build.7: explain how to build KBI-compatible standalone module.
Fri, Jun 26, 12:40 AM

Thu, Jun 25

kevans updated the diff for D57848: kern: syscall_thread_enter() cannot fail.

error back to nerror

Thu, Jun 25, 4:42 PM
kevans added a comment to D57841: tpm: fix tpmtis support for ST33KTPM2X32CKE3.

From TCG PC Client Specific TPM Interface
Specification (TIS) version 1.3, 5.6.12 "Status Register":

Thu, Jun 25, 4:37 PM
kevans requested review of D57848: kern: syscall_thread_enter() cannot fail.
Thu, Jun 25, 4:30 PM
kevans added inline comments to D57841: tpm: fix tpmtis support for ST33KTPM2X32CKE3.
Thu, Jun 25, 3:30 PM
kevans accepted D57686: rc.d/ddb: Really silently exit.
Thu, Jun 25, 1:58 PM
kevans accepted D57682: rc.d/tmp: Fix dupe mount check.
Thu, Jun 25, 1:56 PM
kevans accepted D57678: rc.firewall: Use checkyesno for boolean variables.
Thu, Jun 25, 1:55 PM
kevans committed rG4ffa7e126ed0: kern: osd: trash a slot's methods upon deregistration (authored by kevans).
kern: osd: trash a slot's methods upon deregistration
Thu, Jun 25, 3:09 AM
kevans committed rG72ebcfae48c4: kern: osd: abstract away the math for locating a slot method (authored by kevans).
kern: osd: abstract away the math for locating a slot method
Thu, Jun 25, 3:09 AM
kevans closed D48075: kern: osd: trash a slot's methods upon deregistration.
Thu, Jun 25, 3:09 AM
kevans closed D48074: kern: osd: abstract away the math for locating a slot method.
Thu, Jun 25, 3:09 AM

Wed, Jun 24

kevans added inline comments to D56308: linuxkpi: fix mod_delayed_work() with running tasks.
Wed, Jun 24, 12:33 AM

Tue, Jun 23

kevans added inline comments to D56308: linuxkpi: fix mod_delayed_work() with running tasks.
Tue, Jun 23, 8:22 PM

Mon, Jun 22

kevans requested review of D57755: bsdinstall: add a hardening knob for unprivileged kenv access.
Mon, Jun 22, 8:27 PM
kevans committed rG4fd518fcb2bb: kern: add a security knob to disable unprivileged access to kenv (authored by kevans).
kern: add a security knob to disable unprivileged access to kenv
Mon, Jun 22, 8:23 PM
kevans closed D57697: kern: add a security knob to disable unprivileged access to kenv.
Mon, Jun 22, 8:23 PM
kevans accepted D57750: zfskeys - only prompt if zfskeys and zfskeys_prompt are enabled.

Thanks!

Mon, Jun 22, 7:02 PM
kevans added a comment to D56308: linuxkpi: fix mod_delayed_work() with running tasks.

Perfect, thank you! I had forgotten about this, but I've also switched to amdgpu since the last time I was active on this and I also haven't run it without this applied. I'll redo my previous dtrace'ing here to see if this patch actually has any impact on amdgpu's usage at all -- if it doesn't hit either of the two busy- probes in this patch, then the patch is a net-0 for amdgpu and you'd have the same experience without it.

Mon, Jun 22, 2:44 PM
kevans accepted D57733: iconv: Update availability of bool.
Mon, Jun 22, 1:22 PM
kevans added inline comments to D57697: kern: add a security knob to disable unprivileged access to kenv.
Mon, Jun 22, 12:41 AM

Sun, Jun 21

kevans added a comment to D56308: linuxkpi: fix mod_delayed_work() with running tasks.

FWIW: I cherry picked this into local src git branch for use with -CURRENT and drm-kmod 6.12-lts branch sometime in May. 1002:73bf (RDNA2 amdgpu) works stable (~1-2 week uptime, then I usually reboot for newer src) with this, I haven't seen a regression from this. I usually torture this machine with all-core CPU stress with poudriere while doing desktop tasks as well.

Sun, Jun 21, 11:40 PM

Sat, Jun 20

kevans added a reviewer for D47996: adduser(8): Add documentation for ZFS encrypted home dataset: kevans.
Sat, Jun 20, 10:15 PM
kevans added a comment to D57697: kern: add a security knob to disable unprivileged access to kenv.

what about bsdinstall's security screen?

Sat, Jun 20, 5:33 PM
kevans added a comment to D57697: kern: add a security knob to disable unprivileged access to kenv.

What sensitive things are being exposed through kenv? Is there some subsystem which should be scrubbing its kenv entries during boot but isn't?

(I have no objection to the change, just wondering.)

Sat, Jun 20, 2:26 PM