Page MenuHomeFreeBSD
Feed Advanced Search

Mar 27 2017

rwatson committed rS316015: Extend comment describing path canonicalisation in audit..
Extend comment describing path canonicalisation in audit.
Mar 27 2017, 8:29 AM

Mar 26 2017

rwatson committed rS316006: Merge OpenBSM 1.2-alpha5 from vendor branch to FreeBSD -CURRENT:.
Merge OpenBSM 1.2-alpha5 from vendor branch to FreeBSD -CURRENT:
Mar 26 2017, 9:15 PM
rwatson committed rS316004: Slightly improve consistency of "fooint" vs "foo_int" in DPCPU(9) examples..
Slightly improve consistency of "fooint" vs "foo_int" in DPCPU(9) examples.
Mar 26 2017, 8:24 PM
rwatson added a comment to D10048: Replace the kernel RC4 with Chacha20..

FYI, I have now committed a man page for DPCPU(9) in r316003. It includes some (safe?) synchronisation patterns in its example code.

Mar 26 2017, 8:16 PM
rwatson committed rS316003: Add a man page for the kernel's dynamic per-CPU memory allocator..
Add a man page for the kernel's dynamic per-CPU memory allocator.
Mar 26 2017, 8:15 PM
rwatson added a comment to D10048: Replace the kernel RC4 with Chacha20..

RWatson: Not to get picky or anything, but there was already a malloc() in that place.

Mar 26 2017, 6:52 PM
rwatson added a comment to D10048: Replace the kernel RC4 with Chacha20..

Your commit introduces per-CPU memory allocation.

Where?

M

Mar 26 2017, 6:04 PM
rwatson committed rS315990: Provide proper contemporary function prototypes for many of the functions.
Provide proper contemporary function prototypes for many of the functions
Mar 26 2017, 5:23 PM
rwatson added a comment to D10048: Replace the kernel RC4 with Chacha20..

This is correct: you must make sure that you continue to access state on the CPU for which you acquired a mutex -- e.g., by caching a pointer to the per-CPU state you are accessing, in case migration takes place.

But that is racey. Preemption can in theory occur straight after I have verified that it hasn't. Looks like I need to use critical regions for now. I can live with that if you can?

Mar 26 2017, 5:19 PM
rwatson committed rS315987: Emply contemporary function prototypes in bootpd, rather than relying on.
Emply contemporary function prototypes in bootpd, rather than relying on
Mar 26 2017, 2:37 PM
rwatson added a comment to D10048: Replace the kernel RC4 with Chacha20..
  • I feel that using sleepable mutexes here is fine -- the difference in performance is negligible on most contemporary microarchitectures, and there is an argument for moving some of our other critical sections to being mutexes (e.g., per-CPU UMA caches).

I'm concerned about cpu migration. Mutexes don't guarantee that a thread will stay on the same cpu, right?

Mar 26 2017, 12:08 PM

Mar 23 2017

rwatson committed rS315862: In libcasper, prefer to send a function index or service name over the IPC.
In libcasper, prefer to send a function index or service name over the IPC
Mar 23 2017, 2:35 PM
rwatson requested changes to D10048: Replace the kernel RC4 with Chacha20..

Just a few quick comments:

Mar 23 2017, 11:06 AM

Mar 15 2017

rwatson added a comment to D10013: Add support for syscall::*fork:return probes in both parent and child..

How does this play out with non-native ABIs (e.g., the Linux emulator) -- I thought SYS_fork (etc) were ABI-specific system-call numbers?

Mar 15 2017, 9:16 PM

Mar 13 2017

rwatson added a comment to D9987: Add support for syscall::*fork:return tracing in DTrace.

It would be more tempting to add the systrace_probe_func invocation at the end of fork_return() where the similar KTRACE probe fires (for similar reasons). Take a look at the call to ktrsysret(SYS_fork, 0, 0); for details.

Mar 13 2017, 2:24 PM

Mar 4 2017

rwatson added a comment to D9721: Add netisr queue for deferred IPsec processing to reduce kernel stack requirements.

This seems like a sensible general change. I'm quite surprised it wasn't this way already (.. and sort of misremembered that it was -- IPSEC should always have been using the netisr...).

Mar 4 2017, 8:57 AM

Feb 7 2017

rwatson added a comment to D9465: Remove unnecessary ifdef soup from struct tcpcb.

I like the idea, and encourage you to proceed, but be aware that struct tcpcb is part of the user-visible ABI for monitoring tools (sigh). Someone should restock our supplies of padding someday.

Feb 7 2017, 1:24 PM

Jan 28 2017

rwatson committed rS312922: Merge enhancements to the ALTERA Avalon bus generic device attachment.
Merge enhancements to the ALTERA Avalon bus generic device attachment
Jan 28 2017, 1:25 PM
rwatson committed rS312920: Merge robustness improvements for the ALTERA JTAG UART driver from.
Merge robustness improvements for the ALTERA JTAG UART driver from
Jan 28 2017, 12:43 PM
rwatson committed rS312919: Fix build of aio_test on MIPS, where the compiler warns about the local.
Fix build of aio_test on MIPS, where the compiler warns about the local
Jan 28 2017, 12:26 PM
rwatson committed rS312918: As with GENERIC on other architectures, include COMPAT_FREEBSD10 and.
As with GENERIC on other architectures, include COMPAT_FREEBSD10 and
Jan 28 2017, 11:39 AM

Jan 9 2017

rwatson added a comment to D9096: Add Recursive Functionality to setfacl(1).

Adding "-R" support is a good idea.

Jan 9 2017, 3:35 AM

Jan 6 2017

rwatson added a comment to D9053: Remove writability requirement for single-mbuf, contiguous-range m_pulldown().

I'm not sure if consumers of m_pulldown() make assumptions about writability or not. The man page doesn't mention that they should (or not) but this is more of an empirical question. As I recall, m_pulldown() is particularly popular in IPv6, so tagging Bjoern to perhaps take a look at this and see what he thinks.

Jan 6 2017, 7:11 PM
rwatson added a reviewer for D9053: Remove writability requirement for single-mbuf, contiguous-range m_pulldown(): bz.
Jan 6 2017, 7:11 PM
rwatson accepted D9066: Update shm_open.2.

Seems reasonable to me!

Jan 6 2017, 6:46 PM

Dec 7 2016

rwatson committed rS309678: Regnerate system-call definitions following r309677 correcting a whitespace.
Regnerate system-call definitions following r309677 correcting a whitespace
Dec 7 2016, 4:12 PM
rwatson committed rS309677: Replace spaces with tabs in definition of SCTP system calls, for consistency.
Replace spaces with tabs in definition of SCTP system calls, for consistency
Dec 7 2016, 4:12 PM

Nov 30 2016

rwatson committed rS309326: Clarify warning message when failing to configure audit on user login:.
Clarify warning message when failing to configure audit on user login:
Nov 30 2016, 2:02 PM

Nov 22 2016

rwatson committed rS308947: Audit 'fd' and 'cmd' arguments to fcntl(2), and when generating BSM,.
Audit 'fd' and 'cmd' arguments to fcntl(2), and when generating BSM,
Nov 22 2016, 12:41 AM

Nov 5 2016

rwatson committed rS308323: Unshackle jonathan from the chains of mentorship: he has [more than] done.
Unshackle jonathan from the chains of mentorship: he has [more than] done
Nov 5 2016, 1:02 AM

Oct 20 2016

rwatson accepted D4339: Add suffix rules for LLVM IR and bitcode..

Mentor approval granted. (NB: not a technical review, but existing technical reviews here look good to go!)

Oct 20 2016, 1:55 PM

Oct 7 2016

rwatson added inline comments to D8110: Allow some dotdot lookups in capability mode..
Oct 7 2016, 3:11 PM · capsicum

Oct 5 2016

rwatson added a comment to D8110: Allow some dotdot lookups in capability mode..

Overall I like this approach, but there's an important experimental question as to whether this enables all the use cases we care about -- and, more generally, whether there are visible failure modes that might surprise application programmers. We also need to think quite hard to convince ourselves this maintains safe operation. Getting Jon Anderson, Ben Laurie, and David Drysdale to review the approach would be very useful.

Oct 5 2016, 12:02 PM · capsicum
rwatson added a comment to D8110: Allow some dotdot lookups in capability mode..
In D8110#168999, @kib wrote:

Implement Jonathan Anderson suggestion of checking the result of dotdot lookup against the recorded list of traversed vnodes. Drop rename notifications. Check for dotdot vnodes living on local fs.

Oct 5 2016, 10:31 AM · capsicum

Oct 3 2016

rwatson added inline comments to D1345: Capsicum support for jot(1).
Oct 3 2016, 8:33 AM

Oct 1 2016

rwatson added inline comments to D8110: Allow some dotdot lookups in capability mode..
Oct 1 2016, 4:00 PM · capsicum

Sep 30 2016

rwatson added a comment to D7947: Capsicumify open.2.

In general, this seems like a good idea. A bit of wordsmithing does help, and reviewing an updated commit candidate before it goes into the tree wouldn't hurt if you can tolerate another RTT with reviewers :-).

Sep 30 2016, 3:34 PM

Sep 23 2016

rwatson accepted D8000: kern_mib: Allow kern.hostname in Capsicum capability sandbox.

I'm fine with exposing the hostname here -- the goal of Capsicum has always been to be pragmatic about getting software running where it doesn't violate isolation properties. You could argue that this is an information leak and/or might cause problems for deterministic replay-style applications of Capsicum -- but I'd rather we had more code working in a sandboxing. :-)

Sep 23 2016, 10:08 AM

Sep 18 2016

rwatson added reviewers for D7926: praudit(8): Capsicumify: sson, brueffer, gnn.
Sep 18 2016, 10:30 AM
rwatson added a comment to D7926: praudit(8): Capsicumify.

High-level comments rather than a detailed code review:

Sep 18 2016, 10:29 AM

Sep 13 2016

rwatson added a comment to D7878: Remove the 4.3BSD compatible macro m_copy(), use m_copym() instead.

Should we also be ditching M_COPY() and/or switching it to M_COPYM() for consistency..?

Sep 13 2016, 1:45 PM

Aug 29 2016

rwatson accepted D7682: Don't check aq64_minfree which is unsigned for negative values..

The comments could have to do with the au_qctrl structure, which uses "int", whereas the au_qctrl64 type uses "uint64_t". You can see the code handling the older structure a bit below this point, which likely has to do with compatibility with older Solaris/XNU versions rather than FreeBSD per se.

Aug 29 2016, 4:22 PM

Aug 20 2016

rwatson committed rS304544: Audit the accepted (or rejected) username argument to setlogin(2)..
Audit the accepted (or rejected) username argument to setlogin(2).
Aug 20 2016, 8:28 PM
rwatson committed rS304537: Audit additional vnode information in the implementation of the.
Audit additional vnode information in the implementation of the
Aug 20 2016, 6:52 PM

Jul 28 2016

rwatson accepted D7345: Update copyright and location of cr_can* prototypes in header files.

Looks good to me!

Jul 28 2016, 12:52 PM

Jul 15 2016

rwatson added a comment to D6799: Prepare for network stack as a module: Move protocol-specific functionality out of common jail-related source files..

I'd suggest avoiding any style changes in the initial copy of code to the new locations, so diffs can more easily be checked, and changes can be more easily merged. Apply style/comment/etc changes in a separate commit.

Jul 15 2016, 9:06 PM

Jul 11 2016

rwatson added a comment to D7188: Add missing default case to capable(..) function definition.

I think using panic() here would be preferable to KASSERT().

Jul 11 2016, 6:54 PM
rwatson committed rS302564: Add AUE_WAIT6 handling to the BSM conversion switch statement, reusing.
Add AUE_WAIT6 handling to the BSM conversion switch statement, reusing
Jul 11 2016, 1:06 PM

Jul 10 2016

rwatson committed rS302526: In process-descriptor close(2) and fstat(2), audit target process.
In process-descriptor close(2) and fstat(2), audit target process
Jul 10 2016, 2:18 PM
rwatson committed rS302525: Do allow auditing of read(2) and write(2) system calls, by assigning.
Do allow auditing of read(2) and write(2) system calls, by assigning
Jul 10 2016, 1:42 PM
rwatson committed rS302524: When mmap(2) is used with a vnode, capture vnode attributes in the.
When mmap(2) is used with a vnode, capture vnode attributes in the
Jul 10 2016, 11:49 AM
rwatson committed rS302519: Audit the file-descriptor number argument for openat(2). Remove a comment.
Audit the file-descriptor number argument for openat(2). Remove a comment
Jul 10 2016, 9:50 AM
rwatson committed rS302514: Audit file-descriptor arguments to I/O system calls such as.
Audit file-descriptor arguments to I/O system calls such as
Jul 10 2016, 8:04 AM

Jul 5 2016

rwatson committed rS302345: Call audit hooks to capture vnode attributes for three file-descriptor.
Call audit hooks to capture vnode attributes for three file-descriptor
Jul 5 2016, 4:37 PM

Jun 23 2016

rwatson added a comment to D6927: posixshm: Fix lock leak when mac_posixshm_check_read rejects read..

This change seems sensible to me, but I believe John has worked with this code most recently, so I've added him as a reviewer as well.

Jun 23 2016, 2:42 PM
rwatson added a reviewer for D6927: posixshm: Fix lock leak when mac_posixshm_check_read rejects read.: jhb.
Jun 23 2016, 2:42 PM

Jun 13 2016

rwatson committed rS301867: Implement AUE_PREAD and AUE_PWRITE BSM conversion support, eliminating.
Implement AUE_PREAD and AUE_PWRITE BSM conversion support, eliminating
Jun 13 2016, 9:22 AM

May 20 2016

rwatson committed rS300306: Garbage collect unused prototype for clockintr()..
Garbage collect unused prototype for clockintr().
May 20 2016, 3:34 PM

May 4 2016

rwatson added a comment to D6198: Add sysctl to disable the TCP hostcache.

This seems like a good idea, but fixing the style bugs (e.g., local variable definitions should be at the start of the function before any executable code) is necessary.

May 4 2016, 10:52 AM

Apr 30 2016

rwatson committed rS298859: When attempting to satisfy mmap() requests for superpage alignment on.
When attempting to satisfy mmap() requests for superpage alignment on
Apr 30 2016, 7:29 PM

Mar 13 2016

rwatson committed rS296806: Put IPSec's anouncement of its successful intialisation under bootverbose:.
Put IPSec's anouncement of its successful intialisation under bootverbose:
Mar 13 2016, 7:28 PM

Mar 12 2016

rwatson added a comment to D5623: Fix MIPS pmap_align_superpage() function to use superpage rather than segment alignment.

CheriBSD change for reference: https://github.com/CTSRD-CHERI/cheribsd/commit/7ed51f1f4ff2ea4c7ba1cebc101d9dd6e26f3844

Mar 12 2016, 8:36 PM · MIPS
rwatson retitled D5623: Fix MIPS pmap_align_superpage() function to use superpage rather than segment alignment from to Fix MIPS pmap_align_superpage() function to use superpage rather than segment alignment.
Mar 12 2016, 8:35 PM · MIPS

Mar 11 2016

rwatson added inline comments to D5565: Modify kernel MIPS assembly to conform to MIPS ABI convention of using $t9 as target $pc.
Mar 11 2016, 9:25 AM
rwatson added a comment to D5565: Modify kernel MIPS assembly to conform to MIPS ABI convention of using $t9 as target $pc.

Hi Warner:

Mar 11 2016, 9:01 AM

Mar 6 2016

rwatson retitled D5565: Modify kernel MIPS assembly to conform to MIPS ABI convention of using $t9 as target $pc from to Modify kernel MIPS assembly to conform to MIPS ABI convention of using $t9 as target $pc.
Mar 6 2016, 12:17 PM

Jan 18 2016

rwatson added a comment to D4964: Protect calls to explicit_bzero() via by explicitly disabling the link-time and other optimizations that can cause code elimination..

Hi Jim,

I don't think that this approach will work, because noinline does not do what you might expect. The compiler will not inline the function, but it can still look inside it. In particular, it will determine that it does not read or write any memory other than the arguments and propagate these attributes to anything that calls it. This will happen even with the ThinLTO model that Google is slowly upstreaming to LLVM.

In particular, if this function is called immediately before a free(), then the compiler is free to elide it and leave the sensitive data in the free list.

Note that the version using memory barriers can be made portable by using the relevant memory barrier function (memory order: sequentially consistent) from <stdatomic.h>.

The simplest way to prevent the compiler eliding the stores would be to have an extern volatile void* variable (defined in an assembly file, so that the compiler can never see it) and so assign the buf variable to it before doing the bzero. The compiler is not permitted to elide volatile stores to variables that it can not guarantee that it can see the entire lifetime of, because they may be device memory. This will guarantee that the compiler believes that the pointer has escaped and so it then may not elide any stores to it. This does not establish a happens-before relationship with any other threads, so the compiler should still be able to emit efficient code for everything.

Jan 18 2016, 9:36 AM

Dec 30 2015

rwatson accepted D4731: IPv6 locking: use macros and not wrapper functions inside kernel.
Dec 30 2015, 4:43 PM
rwatson added a comment to D3721: Improve UDP/IPv6 send performance.

Seems generally sensible. Better documenting the locking protocol would be useful -- why various locks are required, and what the implications of the unlock flag are (they are more broad than suggested by the name). Addition of a flags argument that is conflated with a local flags field is confusing.

Dec 30 2015, 2:42 PM

Oct 23 2015

rwatson added a comment to D3858: Add an ability to specify initial congestion window..

On net.inet.tcp.experimental.initcwnd10: if it's not shipped in a release, we can remove it as a bit of interface stability in 11-CURRENT. If it's not a tunable, then it will generate a warning on boot if set in sysctl.conf after kernel support is removed, as the sysctl won't be present. If it's also a tunable, there won't be a warning, and it will silently fail to operate. So, hopefully it's not in a release? If it is, we probably need something in the release notes about its removal, etc.

Oct 23 2015, 7:19 AM

Oct 14 2015

rwatson added a comment to D3858: Add an ability to specify initial congestion window..

Just to quickly comment on sysctl naming: I don't like putting things like "nonstandard" or "experimental" in sysctl names, because what is standardised or experimental frequently changes. Sysctl names are effectively ABIs, since the names get put in loader.conf, sysctl.conf, etc, and if you change the sysctl name in the kernel, you may break those configuration lines. For sysctl.conf, you at least get an error, but if a loader tunable changes names, it just silently stops working. There are other ways to document whether something is standardised -- e.g., source-code commands and in the man page -- that are probably better. We already have a TCP man page documenting a number of sysctls (I think?) and really the information should just be there, with suitable caveats. So I'd vote (if I were asked to vote) for just naming the sysctl the most descriptive thing.

Oct 14 2015, 6:07 AM

Oct 8 2015

rwatson added a comment to D3687: Implement kernel support for hardware rate limited sockets.

Just to quickly chime in with a few high-level points:

Oct 8 2015, 4:30 PM

Oct 6 2015

rwatson added a comment to D3795: Further tuning of DTrace stack unwinding on ARMv[67].

Should be fine for SDT, but I've not tried FBT, and as you point out, stack layout may differ a bit. I will try to give that a test run in isolation from the unupstreamed dtrace_invop_jump_addr change. We really do need to upstream the latter -- is that in your court?

Oct 6 2015, 5:39 PM · ARM

Oct 4 2015

rwatson updated the diff for D3795: Further tuning of DTrace stack unwinding on ARMv[67].

Updated diff from svn contains further context; no functional change.

Oct 4 2015, 11:48 AM · ARM
rwatson updated the diff for D3797: Don't allow FBT to recurse into FBT functions when DTrace is built as part of the kernel.

Updated patch generated against Subversion, and contains more context. No functional change.

Oct 4 2015, 11:46 AM · ARM
rwatson retitled D3797: Don't allow FBT to recurse into FBT functions when DTrace is built as part of the kernel from to Don't allow FBT to recurse into FBT functions when DTrace is built as part of the kernel.
Oct 4 2015, 11:43 AM · ARM
rwatson retitled D3795: Further tuning of DTrace stack unwinding on ARMv[67] from to Further tuning of DTrace stack unwinding on ARMv[67].
Oct 4 2015, 11:21 AM · ARM
rwatson retitled D3794: Dubious manual unwind annotations for ARMv7 assembly-language functions from to Dubious manual unwind annotations for ARMv7 assembly-language functions.
Oct 4 2015, 11:13 AM · ARM
rwatson added inline comments to D3793: Perform additional SP sanity check when unwinding stacks on ARMv[67].
Oct 4 2015, 10:59 AM
rwatson retitled D3793: Perform additional SP sanity check when unwinding stacks on ARMv[67] from to Perform additional SP sanity check when unwinding stacks on ARMv[67].
Oct 4 2015, 10:49 AM
rwatson committed rS288662: Add missing stack unwind information to several assembly functions on.
Add missing stack unwind information to several assembly functions on
Oct 4 2015, 9:40 AM

Sep 28 2015

rwatson added a comment to D3737: Replace the fastforward path with tryforward which does not require a sysctl and will always be on. The former split between default and fast forwarding is removed by this commit while preserving the ability to use all network stack features..

I admit I substantially prefer this approach to the prior approach, given that much of the fast-forwarding win was from direct dispatch -- something we now do by default for local-destination traffic as well (and have done for ten years).

Sep 28 2015, 6:47 AM

Aug 30 2015

rwatson added a comment to D3530: Add DTrace probe points, translators and a corresponding script to replace the TCPDEBUG functionality with pure DTrace..

I don't currently have views on the DTrace-related parts themselves, but some quick comments on other details.

Aug 30 2015, 3:17 PM

Aug 27 2015

rwatson accepted D3505: Prefix UDP local function with a udp_ prefix to avoid confusion.

Although I have read through it and believe that the principle of this patch is a very good one, I have not, myself, tested it.

Aug 27 2015, 2:19 PM

Aug 19 2015

rwatson accepted D3411: Decompose linkat()/renameat() rights to source and target..

This patch seems reasonable to me.

Aug 19 2015, 8:39 AM

Jul 28 2015

rwatson added a comment to D473: Base ASLR.
In D473#64973, @rwatson wrote:
In D473#59442, @rwatson wrote:

That seems a sensible strategy.

Any luck?

$WORK has been tough lately. I've been working 110 hours a week for around a month now.
Zero time for the patch until around October. Sorry for the delays.

Jul 28 2015, 1:54 PM
rwatson added a comment to D473: Base ASLR.
In D473#59442, @rwatson wrote:

That seems a sensible strategy.

Jul 28 2015, 1:16 PM

Jul 25 2015

rwatson accepted D2985: Capsicum and MAC is no longer experimental.

Seems reasonable to me -- probably long overdue!

Jul 25 2015, 3:15 PM

Jul 14 2015

rwatson added a comment to D2842: Update style.9 to reflect consensus on developer's mailing list..

La la la.

Jul 14 2015, 6:14 PM

Jul 7 2015

rwatson added a comment to D473: Base ASLR.

That seems a sensible strategy.

Jul 7 2015, 8:56 PM
rwatson added a comment to D473: Base ASLR.

Hi Shawn. Hope you are feeling better post-travel. Just wanted to check on the status of this patch -- will there be an updated version fixing the credential transition issue soon?

Jul 7 2015, 7:23 PM

Jul 1 2015

rwatson added inline comments to D2808: Implement O_BENEATH flag for openat(2)..
Jul 1 2015, 2:10 AM

Jun 21 2015

rwatson added inline comments to D2025: Tidy up random(4) driver after developer feedback and code audit..
Jun 21 2015, 6:40 PM
rwatson added inline comments to D2025: Tidy up random(4) driver after developer feedback and code audit..
Jun 21 2015, 12:46 PM

Jun 20 2015

rwatson added a comment to D2025: Tidy up random(4) driver after developer feedback and code audit..
In D2025#55036, @markm wrote:

My reason for removing the pluggability is fewer locks. There is currently the need for a long-term-sleepable read-many-write-seldom lock. We don't have such a thing and I want to get rid of the need for it.

[ The need is for a lock to be held to prevent reconfiguration while pluggable modules come, go and/or are exchanged in priority ]

I think RM_SLEEPABLE will do what you wanted -- although you want in fact to have two rm locks, one non-sleepable for non-sleepable contexts, and one sleepable for sleepable contexts, to prevent priority inversion. During a reconfiguration event, you'd acquire first the latter, and then the former, before committing any changes. The MAC Framework does this using an sx lock and an rm lock, since there weren't sleepable rm locks when it was written -- but perhaps it should be moved over now.

According to the man page, this won't work: "Writers are permitted to sleep while holding a read-mostly lock, but readers are not." I need a sleeping reader.

Jun 20 2015, 1:20 PM

Jun 18 2015

rwatson added inline comments to D2025: Tidy up random(4) driver after developer feedback and code audit..
Jun 18 2015, 8:06 AM

Jun 17 2015

rwatson added a comment to D2025: Tidy up random(4) driver after developer feedback and code audit..

My reason for removing the pluggability is fewer locks. There is currently the need for a long-term-sleepable read-many-write-seldom lock. We don't have such a thing and I want to get rid of the need for it.

[ The need is for a lock to be held to prevent reconfiguration while pluggable modules come, go and/or are exchanged in priority ]

Jun 17 2015, 7:05 PM
rwatson added a comment to D2025: Tidy up random(4) driver after developer feedback and code audit..

If the goal is to have an MFC candidate, then having pluggable support for Yarrow remain seems sensible so that we can leave Yarrow the default in older branches while starting to support Fortuna there. Also, it would be nice to have a fallback option available in the event that a problem is found with the new Fortuna implementation -- i.e., "Here is your nice security advisory on a new break in Fortuna published at $conference -- the workaround is to use Yarrow instead, with the following tradeoffs". That said, there is much benefit to less complexity.

Jun 17 2015, 6:41 PM

Jun 15 2015

rwatson added a comment to D2808: Implement O_BENEATH flag for openat(2)..

Getting close, but a couple more comments :-).

Jun 15 2015, 7:55 PM

Jun 14 2015

rwatson added a comment to D2808: Implement O_BENEATH flag for openat(2)..

Sounds reasonable with regard to fchdir() and friends -- and, indeed -- right now, CAPMODE forces O_BENEATH, but it's true we don't have a variant on O_BENEATH that forces it to be used for open()'d directories via other open()'d directories with O_BENEATH set. I think this is fine. There's a slight confused deputy problem if directories are passed from CAPMODE processes to non-CAPMODE processes anyway -- and we don't make it worse here.

Jun 14 2015, 7:13 PM