Page MenuHomeFreeBSD

jtl (Jonathan T. Looney)
UserAdministrator

Projects

User Details

User Since
Oct 29 2015, 5:25 PM (176 w, 4 d)
Roles
Administrator

Recent Activity

Yesterday

jtl added a comment to D19611: Incorrect KASSERT.

I'm confused how a RST could have tripped this assert. In that case, len should have been 0 and ((th_flags) & (TH_SYN | TH_FIN)) == 0 should have been true (i.e. neither SYN nor FIN was set). In other words, it looks to me as if a RST should already pass the assert without tripping it. Can you explain further what I'm missing?

Mon, Mar 18, 3:37 PM

Thu, Feb 21

jtl accepted D18960: Patch to MFC TCP reassembly rewrite to stable/11.
Thu, Feb 21, 7:09 PM
jtl accepted D19181: Improve input validation when when using IP_HDRINCL socket option on SOCK_RAW sockets.

Thanks!

Thu, Feb 21, 7:03 PM

Feb 12 2019

jtl accepted D19158: Add rc.resume(8) alias for rc(8) to fix the manpage cross references.

Approved.

Feb 12 2019, 11:33 AM
jtl added a comment to D19157: MFC r342598:.

(FYI, the revision looks incorrect. It looks like it should have been r342597.)

Feb 12 2019, 11:31 AM
jtl accepted D19157: MFC r342598:.

Approved

Feb 12 2019, 11:29 AM
jtl accepted D19156: MFC r342904:.

Please feel free to commit with "Approved by: jtl".

Feb 12 2019, 3:11 AM
jtl accepted D19155: MFC r342904:.

Please feel free to commit with "Approved by: jtl".

Feb 12 2019, 3:10 AM
jtl added a comment to D18950: Remove references to pdwait4(2) and `CAP_PDWAIT` from rights(4).

@jonathan , @pjd : Does this change look okay to you? You both committed some of the bits being reverted (although, its been 7-8 years since then).

Feb 12 2019, 3:01 AM
jtl added reviewers for D18950: Remove references to pdwait4(2) and `CAP_PDWAIT` from rights(4): pjd, jonathan.
Feb 12 2019, 3:00 AM
jtl accepted D19151: MFC r343444:.

I assume this is the stable/12 version of D19150?

Feb 12 2019, 2:54 AM
jtl accepted D19150: MFC r339343,r343444:.

Feel free to commit with "Approved by: jtl"

Feb 12 2019, 2:50 AM
jtl accepted D19024: Fix up concurrent test zpool setup and teardown.

Feel free to commit with "Approved by: jtl".

Feb 12 2019, 2:47 AM

Feb 1 2019

jtl committed rS343662: Add bz@ as a co-mentor for thj@..
Add bz@ as a co-mentor for thj@.
Feb 1 2019, 3:38 PM

Jan 13 2019

jtl accepted D17521: Correct accounting when dropping fragment queues.

Please commit with "Approved by: jtl"

Jan 13 2019, 12:04 AM

Jan 11 2019

jtl added a comment to D17511: Add stat counter for ipv6 atomic fragments.

Has this landed yet?

Jan 11 2019, 10:02 PM
jtl accepted D18354: Fix style nit.

Please commit with Approved by: jtl

Jan 11 2019, 10:02 PM
jtl requested changes to D16851: Add support for header chain validation on IPv6 Fragments (RFC7112).
Jan 11 2019, 10:01 PM
jtl added inline comments to D17521: Correct accounting when dropping fragment queues.
Jan 11 2019, 7:55 PM
jtl added a reviewer for D17521: Correct accounting when dropping fragment queues: bz.
Jan 11 2019, 7:50 PM
jtl added a comment to D18621: Copy ^/head/.arcconfig to ^/vendor/.arcconfig.

By the way, in the commit message, please make it clear that this simple "allows" you to more easily use arc if you want your changes to be reviewed. It doesn't require it in any way, shape, or form. And, we're not changing any expectations regarding when someone will get review.

Jan 11 2019, 7:44 PM
jtl accepted D18621: Copy ^/head/.arcconfig to ^/vendor/.arcconfig.

LGTM

Jan 11 2019, 7:42 PM
jtl added a comment to D18622: Import GoogleTest 1.8.1 into the vendor tree under `^/google/googletest/dist`.

I'm OK with importing the code as an option for developers to use. I'd be wary of specifying that there is a "plan" to convert existing test cases unless there is general buy in to do that.

Jan 11 2019, 7:42 PM
jtl added a comment to D18640: Add Linux compatibility support for `SC_NPROCESSORS_{CONF,ONLN}` as `_SC_NPROCESSORS_{CONF,ONLN}`.

Regardless of what the group says, it seems like we'll probably want to support both for a transitional period. Given that, this change seems OK. @emaste , do you agree?

Jan 11 2019, 7:36 PM
jtl added a comment to D18641: Clean up all directories created by `make hier`.

Since make clean runs first, I'm assuming the only things left will be things with flags set? If so, what you propose is probably correct (and we don't need the rm/chflags/rm "dance" optimization).

Jan 11 2019, 7:30 PM
jtl accepted D18804: MFC: r342597.
Jan 11 2019, 7:24 PM

Dec 17 2018

jtl accepted D18580: Accept always TCP segment with SEG.SEQ==RCV.NXT.
Dec 17 2018, 11:38 PM
jtl accepted D18580: Accept always TCP segment with SEG.SEQ==RCV.NXT.

LGTM; would appreciate also hearing @rrs's opinion.

Dec 17 2018, 8:31 PM
jtl added inline comments to D18580: Accept always TCP segment with SEG.SEQ==RCV.NXT.
Dec 17 2018, 4:11 PM

Nov 16 2018

jtl committed rS340483: Add some additional length checks to the IPv4 fragmentation code..
Add some additional length checks to the IPv4 fragmentation code.
Nov 16 2018, 6:33 PM
jtl closed D17922: More IPv4 fragment checks.
Nov 16 2018, 6:33 PM

Nov 9 2018

jtl added a comment to D17914: Check for an overly large fragment..

I'm writing a regression test for this to stick under tests/sys/netinet. I'll see if I can add test cases for D17922 as well.

Nov 9 2018, 5:24 PM
jtl created D17922: More IPv4 fragment checks.
Nov 9 2018, 2:56 PM
jtl added a comment to D17914: Check for an overly large fragment..

Yeah, I saw this shortly before seeing this review. I agree we should fix it.

Nov 9 2018, 12:31 AM

Nov 8 2018

jtl accepted D17909: Avoid buffer underwrite in icmp_error.

If alignment is important, we can (theoretically) do something more intelligent to maintain it. However, I think this is both safe and good enough for an emergency fix.

Nov 8 2018, 4:47 PM

Nov 2 2018

jtl committed rS340077: m_pulldown() may reallocate n. Update the oip pointer after the.
m_pulldown() may reallocate n. Update the oip pointer after the
Nov 2 2018, 7:14 PM

Oct 18 2018

jtl added a comment to D17609: Optimize curthread.
In D17609#375841, @mjg wrote:

I think this is a very questionable idea. In my experience clang does *mostly* not re-read. For all cases you are adding a function call.

See vfs_ref/vfs_rel or fsetown as examples.

Can you show me a specific function which compiles to multiple reads of gs just to get curthread?

Oct 18 2018, 6:02 PM
jtl created D17609: Optimize curthread.
Oct 18 2018, 3:24 PM
jtl committed rS339419: r334853 added a "socket destructor" callback. However, as implemented, it.
r334853 added a "socket destructor" callback. However, as implemented, it
Oct 18 2018, 2:20 PM
jtl closed D17590: Update the socket destructor to run in sofree().
Oct 18 2018, 2:20 PM
jtl added a comment to D17604: Maintain qualifiers on (struct thread_lite) members.
In D17604#375736, @kib wrote:

I definitely agree with the genoffset.sh changes.

On the other hand, I am not sure that we need to restore volatile qualifiers in the thread_lite, instead of removing them in the struct thread. The manipulations of the critnest level and pin count should use barriers, and I believe that the thread_lite patch and some of its follow-ups just did that. Volatile relied on the compiler-specific semantic to get similar effect.

Oct 18 2018, 1:20 PM
jtl created D17604: Maintain qualifiers on (struct thread_lite) members.
Oct 18 2018, 1:57 AM

Oct 16 2018

jtl created D17590: Update the socket destructor to run in sofree().
Oct 16 2018, 5:29 PM
jtl updated the diff for D17588: Fix TCP module unloading code to work with epoch(9) changes.

Fix stupid syntax error.

Oct 16 2018, 4:48 PM
jtl created D17588: Fix TCP module unloading code to work with epoch(9) changes.
Oct 16 2018, 4:39 PM
jtl committed rS339378: In r338102, the TCP reassembly code was substantially restructured. Prior.
In r338102, the TCP reassembly code was substantially restructured. Prior
Oct 16 2018, 2:41 PM
jtl closed D17503: Run epoch calls sooner and more reliably.

Let's merge from upstream if possible.

Oct 16 2018, 2:33 AM
jtl closed D17492: Fix early epoch calls.

Ok, call should be fine as well! In all cases, seems like writers are synchronized and any other usage is in the context of a protected section. CI also passes (though I haven't run it through SPARCv9+ and ARM, but we already have RMO and TSO coverage, nothing specific to ARM / SPARC with these changes).

Thanks again Jon. These are great.

Oct 16 2018, 2:32 AM
jtl committed rS339375: Import CK as of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb..
Import CK as of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb.
Oct 16 2018, 2:30 AM
jtl committed rS339374: Tag CK after import of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb..
Tag CK after import of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb.
Oct 16 2018, 12:50 AM
jtl committed rS339373: Import CK as of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb..
Import CK as of commit 5221ae2f3722a78c7fc41e47069ad94983d3bccb.
Oct 16 2018, 12:48 AM

Oct 13 2018

jtl accepted D17511: Add stat counter for ipv6 atomic fragments.

Please make the two changes suggested by bz@ and then feel free to commit this. I think its OK to ask re@ to commit this during the freeze. (I also won't be upset if they say "no".)

Oct 13 2018, 12:49 AM

Oct 12 2018

jtl accepted D17525: Move variable into proper block..
Oct 12 2018, 3:13 AM

Oct 11 2018

jtl added a comment to D17492: Fix early epoch calls.

Ok. I caught up with Matt offline. This doesn't solve the problem at hand. The API is not being used as intended in some areas, so we will work to address that. I would advise against merging this in as it doesn't address the underlying issues:

  • Some usage of epoch records is re-entrant: This is not supported. Supporting this would require atomic usage that would be, expensive. We have an easy fix for that.
Oct 11 2018, 1:17 AM

Oct 10 2018

jtl added a comment to D17503: Run epoch calls sooner and more reliably.
In D17503#373529, @jtl wrote:

See previous note in D17492 regarding the assumption that write-side functions are *not* called with-in a read-side critical. Does FreeBSD require that this is permitted?

See my comments in that review.

Regardless of whether that is true, it seems like this change would still be safe. Do you agree?

Is it expected by the kernel that ck_epoch write-side functions are safe to call on records that are already in a read-side critical section?
Helping me understand the intended use-case will allow me to answer accurately. There is further validation needed beyond poll.

Oct 10 2018, 7:49 PM
jtl added a comment to D17492: Fix early epoch calls.

The above change should not have any impact if ck_epoch is being correctly used. For that reason, it's good to go. However, I am concerned about a larger problem.

For barriers, we do assert that the caller is not in a read section. However, the CPU's record may still be in a read section. So, maybe we do violate the reader/writer assumption there, too.

As long as the CPU record does not require re-entrance support, that's fine. The requirement is that the record that is used to issue a write-side request is not in a read-side section. We can lift this restriction, but I'll need to validate a few things. Is the kernel violating this restriction at the moment? I had trouble understanding that from the example given, because if the tick handler has a dedicated record, there is no problem and then the above change is a no-op.

If the above constraint is being violated, then I'll get back to you tonight as I'll want to do some additional validation.

Oct 10 2018, 7:39 PM
jtl added a comment to D17503: Run epoch calls sooner and more reliably.

See previous note in D17492 regarding the assumption that write-side functions are *not* called with-in a read-side critical. Does FreeBSD require that this is permitted?

Oct 10 2018, 5:03 PM
jtl added a comment to D17492: Fix early epoch calls.

Thanks much for this. Note that the assumption here is a writer thread *should not* be calling ck_epoch_synchronize or write while inside of a read-side critical section. In other words, the active bit must be set to 0. In this situation, the invariant is not violated. If inside a read-side critical section, bets are off. Is the assumption or requirement here that it be safe to call synchronize from with-in a read-side critical section? If so, there are a few other areas we could fix up.

Oct 10 2018, 5:00 PM
jtl added a comment to D17492: Fix early epoch calls.

The other half of the original diff is now in D17503.

Oct 10 2018, 3:20 PM
jtl created D17503: Run epoch calls sooner and more reliably.
Oct 10 2018, 3:19 PM
jtl updated the summary of D17492: Fix early epoch calls.
Oct 10 2018, 2:35 PM
jtl updated the diff for D17492: Fix early epoch calls.

Split the commit into two parts. In this part, just fix the early epoch calls.

Oct 10 2018, 2:33 PM
jtl created D17493: Check for td_epochnest when an ithread sleeps.
Oct 10 2018, 4:53 AM
jtl created D17492: Fix early epoch calls.
Oct 10 2018, 4:32 AM

Oct 9 2018

jtl committed rS339251: There are three places where we return from a function which entered an.
There are three places where we return from a function which entered an
Oct 9 2018, 1:26 PM
jtl closed D17450: Fix three epoch leaks.
Oct 9 2018, 1:26 PM

Oct 6 2018

jtl added inline comments to D16851: Add support for header chain validation on IPv6 Fragments (RFC7112).
Oct 6 2018, 5:15 PM
jtl created D17450: Fix three epoch leaks.
Oct 6 2018, 11:25 AM

Oct 5 2018

jtl accepted D17434: Add support for none ACPI battery method batteries.

FYI, it looks like there was a typo in the description:

Oct 5 2018, 4:29 PM

Oct 4 2018

jtl accepted D17357: Convert UDP length to host byte order.

Looks good. Please commit with "Approved: jtl (mentor)".

Oct 4 2018, 4:23 PM
jtl accepted D17406: Fix ips_localout counter for SCTP.
Oct 4 2018, 4:21 PM

Sep 8 2018

jtl added a comment to D17065: Use ratecheck(9) in in_pcbinslbgrouphash()..

Hi. I know I'm late to the party, but I have three comments:
a) I could be wrong, but I don't think there is any guarantee this won't be called simultaneously for two different groups at the same time. (The groups could be in different VNETs, for example.) In that case, two different invocations could be working on the function's static variables at the same time. That may produce unexpected results. (Granted, it would take an unusual series of events. But, I think we've all seen highly unusual events occur.)
b) I don't think the const variable also needs to be static.
c) It seems like the rate limiter should really be per-group, so I would suggest adding the lastprint variable to the inpcblbgroup struct.

Sep 8 2018, 12:56 AM

Aug 23 2018

jtl added a comment to D16847: Eliminate KAME custom circular queues in reassembly code..

FYI, something didn't look right doing my tests. So, I'm going to delay committing this until I can satisfy myself that it behaves correctly. That will almost certainly mean I miss the code freeze. C'est la vie!

Aug 23 2018, 10:25 PM
jtl updated the diff for D16847: Eliminate KAME custom circular queues in reassembly code..
  • Limit the ipq structure to the kernel to eliminate a buildworld failure. (And, why should we make userspace code import the sys/queue.h header for a structure they don't need anyway?)
  • Address @jhb's nit.
Aug 23 2018, 10:24 PM
jtl accepted D16860: Use arc4rand() instead of read_random().
Aug 23 2018, 6:16 PM
jtl added inline comments to D16847: Eliminate KAME custom circular queues in reassembly code..
Aug 23 2018, 1:09 PM

Aug 22 2018

jtl added a comment to D16471: Some TCP reassembly improvements.

D16626 expanded on these changes and was recently committed. I believe we can close this one out.

Aug 22 2018, 5:40 PM
jtl created D16850: Update the fragment reassembly code's handling of overlapping fragments to conform to RFC 8200..
Aug 22 2018, 5:31 PM
jtl created D16847: Eliminate KAME custom circular queues in reassembly code..
Aug 22 2018, 4:27 PM

Aug 21 2018

jtl accepted D16835: KASSERT: Make runtime optionality optional.
Aug 21 2018, 8:31 PM

Aug 18 2018

jtl accepted D16626: Rewrite of TCP Reassembly code.
Aug 18 2018, 10:32 PM
jtl accepted D16626: Rewrite of TCP Reassembly code.

LGTM (with minor change noted in-line).

Aug 18 2018, 10:24 AM
jtl added a comment to D16626: Rewrite of TCP Reassembly code.
In D16626#356917, @rrs wrote:

This version incorporates all of Jonathans comments and suggested improvements. Thanks
Jonathan!!!

Aug 18 2018, 10:22 AM

Aug 14 2018

jtl committed rS337804: MFC r337788:.
MFC r337788:
Aug 14 2018, 6:17 PM
jtl committed rS337803: MFC r337787:.
MFC r337787:
Aug 14 2018, 6:15 PM
jtl committed rS337802: MFC r337786:.
MFC r337786:
Aug 14 2018, 6:13 PM
jtl committed rS337801: MFC r337784:.
MFC r337784:
Aug 14 2018, 6:12 PM
jtl committed rS337799: MFC r337783:.
MFC r337783:
Aug 14 2018, 6:10 PM
jtl committed rS337798: MFC r337782:.
MFC r337782:
Aug 14 2018, 6:07 PM
jtl committed rS337797: MFC r337781:.
MFC r337781:
Aug 14 2018, 6:00 PM
jtl committed rS337796: MFC r337780:.
MFC r337780:
Aug 14 2018, 5:54 PM
jtl committed rS337795: MFC r337778:.
MFC r337778:
Aug 14 2018, 5:52 PM
jtl committed rS337790: MFC r337776:.
MFC r337776:
Aug 14 2018, 5:47 PM
jtl committed rS337789: MFC r337775:.
MFC r337775:
Aug 14 2018, 5:43 PM
jtl committed rS337788: Update the inet(4) and inet6(4) man pages to reflect the changes made.
Update the inet(4) and inet6(4) man pages to reflect the changes made
Aug 14 2018, 5:36 PM
jtl committed rS337787: Lower the default limits on the IPv6 reassembly queue..
Lower the default limits on the IPv6 reassembly queue.
Aug 14 2018, 5:32 PM
jtl committed rS337786: Lower the default limits on the IPv4 reassembly queue..
Lower the default limits on the IPv4 reassembly queue.
Aug 14 2018, 5:30 PM
jtl committed rS337784: Drop 0-byte IPv6 fragments..
Drop 0-byte IPv6 fragments.
Aug 14 2018, 5:29 PM
jtl committed rS337783: Implement a limit on on the number of IPv6 reassembly queues per bucket..
Implement a limit on on the number of IPv6 reassembly queues per bucket.
Aug 14 2018, 5:27 PM
jtl committed rS337782: Add a limit of the number of fragments per IPv6 packet..
Add a limit of the number of fragments per IPv6 packet.
Aug 14 2018, 5:26 PM