Page MenuHomeFreeBSD

kp (Kristof Provost)
Troubleshooter

Projects (6)

User Details

User Since
Sep 28 2014, 7:22 PM (607 w, 3 d)

Recent Activity

Sat, May 16

kp committed rG9d0b771caa49: pfctl: relax interface name requirement (authored by kp).
pfctl: relax interface name requirement
Sat, May 16, 4:45 PM
kp committed rGe5536b061033: pfctl: relax interface name requirement (authored by kp).
pfctl: relax interface name requirement
Sat, May 16, 4:45 PM

Tue, May 12

kp committed rG91d1c1c2b1e7: pfsync: reject invalid SCTP states (authored by kp).
pfsync: reject invalid SCTP states
Tue, May 12, 4:46 PM
kp committed rG8d583858e499: pfsync: reject invalid SCTP states (authored by kp).
pfsync: reject invalid SCTP states
Tue, May 12, 4:45 PM

Sat, May 9

kp committed rGfab9bfc92751: pf: do not reject rules with colliding hashes (authored by kp).
pf: do not reject rules with colliding hashes
Sat, May 9, 1:31 PM
kp committed rG0cd655f71b46: pf: do not reject rules with colliding hashes (authored by kp).
pf: do not reject rules with colliding hashes
Sat, May 9, 1:31 PM

Thu, May 7

kp committed rG4e7c1ff95a51: pfctl: relax interface name requirement (authored by kp).
pfctl: relax interface name requirement
Thu, May 7, 4:24 PM
kp committed rG726ff260ecfa: pfctl: optionally print the rule in the state overview (authored by kp).
pfctl: optionally print the rule in the state overview
Thu, May 7, 4:24 PM

Tue, May 5

kp committed rGc24b1d9359b8: pfctl: handle errors from PFNL_CMD_GETSTATES (authored by kp).
pfctl: handle errors from PFNL_CMD_GETSTATES
Tue, May 5, 9:26 PM
kp committed rGa0e4c65f1814: pf: do not reject rules with colliding hashes (authored by kp).
pf: do not reject rules with colliding hashes
Tue, May 5, 9:26 PM
kp closed D56745: pf: do not reject rules with colliding hashes.
Tue, May 5, 9:26 PM
kp committed rG730fb48f1387: pf: improve ASCONF chunk validation (authored by kp).
pf: improve ASCONF chunk validation
Tue, May 5, 4:26 PM
kp committed rG9fe189c79a81: pf: improve ASCONF chunk validation (authored by kp).
pf: improve ASCONF chunk validation
Tue, May 5, 4:26 PM
kp accepted D56778: if_vlan: Use the exclusive lock everywhere.
Tue, May 5, 9:12 AM
kp committed rGbf6d00afdb61: pfsync: reject invalid SCTP states (authored by kp).
pfsync: reject invalid SCTP states
Tue, May 5, 8:35 AM

Fri, May 1

kp committed R11:a1f2cc4491c3: net/libpfctl: add 15.1, remove 13.5 (authored by kp).
net/libpfctl: add 15.1, remove 13.5
Fri, May 1, 9:13 PM

Thu, Apr 30

kp requested review of D56745: pf: do not reject rules with colliding hashes.
Thu, Apr 30, 11:44 AM

Wed, Apr 29

kp committed rGbf1529d83918: netlink: fix LINT-NOVIMAGE build (authored by kp).
netlink: fix LINT-NOVIMAGE build
Wed, Apr 29, 7:58 AM

Tue, Apr 28

kp committed rG47c12f20bf58: pf: only allow a subset of netlink calls when securelevel is set (authored by kp).
pf: only allow a subset of netlink calls when securelevel is set
Tue, Apr 28, 4:05 PM
kp committed rGff141ea17cb7: pf: do not allow flags to be changed with securelevel set (authored by kp).
pf: do not allow flags to be changed with securelevel set
Tue, Apr 28, 4:05 PM
kp committed rGafbda5806304: pf: do not allow flags to be changed with securelevel set (authored by kp).
pf: do not allow flags to be changed with securelevel set
Tue, Apr 28, 4:05 PM
kp committed rGbea1c2fcd783: pf: improve ASCONF chunk validation (authored by kp).
pf: improve ASCONF chunk validation
Tue, Apr 28, 1:31 PM

Sun, Apr 26

kp committed rGfdcc60f52841: pf: fix duplicate rule detection for automatic tables (authored by kp).
pf: fix duplicate rule detection for automatic tables
Sun, Apr 26, 10:13 AM
kp committed rG4fc1503f8617: pf: fix duplicate rule detection for automatic tables (authored by kp).
pf: fix duplicate rule detection for automatic tables
Sun, Apr 26, 10:13 AM

Sat, Apr 25

kp committed rG4001613878fe: pfsync: rename unused variable (authored by kp).
pfsync: rename unused variable
Sat, Apr 25, 12:48 PM
kp added inline comments to D56564: offload: Compute and insert checksums as late as possible.
Sat, Apr 25, 12:32 PM

Thu, Apr 23

kp committed rGfb8383527517: pf: fix duplicate rule detection for automatic tables (authored by kp).
pf: fix duplicate rule detection for automatic tables
Thu, Apr 23, 11:47 AM
kp accepted D56559: pf: Document broadcast/multicast forwarding through route-to.

I suppose we could spell the example rules like this too:
block out quick on $wan from any to { 255.255.255.255, ($wan:broadcast), 224.0.0.0/4, ff00::/8 } received-on any
but they're fine as they are. They result in the same rules in the kernel anyway.

Thu, Apr 23, 9:00 AM · pfsense
kp committed rG3103d39cd99f: netlink: fix LINT-NOVIMAGE build (authored by kp).
netlink: fix LINT-NOVIMAGE build
Thu, Apr 23, 7:38 AM

Wed, Apr 22

kp added a comment to D56559: pf: Document broadcast/multicast forwarding through route-to.

There are good arguments for both blocking and allowing this I believe.
I'm not entirely sure where I fall. On the one hand, yes, users should be allowed to shoot themselves in the foot if they really want to, but on the other hand, it's non-obvious that this will happen. There are going to be a lot more users in the "I didn't want this to happen but it did" camp than there'd be in the "I want to do this dumb thing and pf won't let me." camp.

Wed, Apr 22, 12:44 PM · pfsense
kp added a comment to D56563: divert: Define semantics for SO_REUSEPORT_LB on divert sockets.

The pf change looks fine to me.

Wed, Apr 22, 8:48 AM

Tue, Apr 21

kp committed rG07a3501e6c85: loopback: fix use-after-free (authored by kp).
loopback: fix use-after-free
Tue, Apr 21, 11:33 AM
kp committed rG9933bdcb1264: pf: only allow a subset of netlink calls when securelevel is set (authored by kp).
pf: only allow a subset of netlink calls when securelevel is set
Tue, Apr 21, 11:33 AM
kp committed rGd5ca00f2d874: pf: do not allow flags to be changed with securelevel set (authored by kp).
pf: do not allow flags to be changed with securelevel set
Tue, Apr 21, 11:33 AM
kp closed D56390: pf: only allow a subset of netlink calls when securelevel is set.
Tue, Apr 21, 11:33 AM

Apr 20 2026

kp added a comment to D54817: Committer's Guide: Add project's AI policy and link to AI guide.

Maybe we should rename ai-policy to ai-note. During the many and length meetings, discussions, a "policy" cannot please everyone.

The current situation and the truth is that people are already using it, and we can't stop them. A strong "NO" will just let some people lie and pretend not using it, or worse, we lost some good contributions.

Apr 20 2026, 9:36 PM
kp accepted D56501: pf: Use MTX_DUPOK to initialize hash chain mutexes.
Apr 20 2026, 4:12 PM
kp added inline comments to D56501: pf: Use MTX_DUPOK to initialize hash chain mutexes.
Apr 20 2026, 3:24 PM
kp committed rG18de44e7b442: pfctl: fix man page and error message for -S option (authored by ross_ross-williams.net).
pfctl: fix man page and error message for -S option
Apr 20 2026, 2:25 PM
kp committed rG19eecf94fa16: pfctl: clarify usage of load option flags (authored by ross_ross-williams.net).
pfctl: clarify usage of load option flags
Apr 20 2026, 2:25 PM
kp committed rGff76ec3e9b28: pf: be more robust against interface name conflicts (authored by kp).
pf: be more robust against interface name conflicts
Apr 20 2026, 2:25 PM
kp updated the diff for D56390: pf: only allow a subset of netlink calls when securelevel is set.

If we tweak it slightly I guess we can express everything we need.
So here's a version where we deny the call from the indicated securelevel on up,
and don't do anything if the value is 0

Apr 20 2026, 2:20 PM

Apr 19 2026

kp added a comment to D56501: pf: Use MTX_DUPOK to initialize hash chain mutexes.

I did see a warning about that recently but didn't investigate too much. This (with Gleb's remark) makes sense.

Apr 19 2026, 9:37 AM

Apr 17 2026

kp committed rG3c9cd6e4dc59: pf: use correct address family in pfr_pool_get() (authored by kp).
pf: use correct address family in pfr_pool_get()
Apr 17 2026, 11:56 AM
kp committed rG5b7192230a15: pf: pf_frag_compare() should not be using subtraction to compare fragment IDs (authored by kp).
pf: pf_frag_compare() should not be using subtraction to compare fragment IDs
Apr 17 2026, 11:56 AM
kp committed rG05ac1013984c: pf: fix error handling in pf_sourcelim_add() (authored by kp).
pf: fix error handling in pf_sourcelim_add()
Apr 17 2026, 11:56 AM
kp committed rG6f8ea66cbcf2: pfctl: fix how source and state limiters are wired into rbtrees (authored by kp).
pfctl: fix how source and state limiters are wired into rbtrees
Apr 17 2026, 11:56 AM
kp committed rG13b4a14c719a: libpfctl: fix add state/source limiter (authored by kp).
libpfctl: fix add state/source limiter
Apr 17 2026, 11:56 AM
kp committed rG95fe1ba5579d: pf tests: test having multiple state limiters (authored by kp).
pf tests: test having multiple state limiters
Apr 17 2026, 11:56 AM

Apr 16 2026

kp added a comment to D56390: pf: only allow a subset of netlink calls when securelevel is set.

The previous version (modulo the mistake) looked better. What's the point in the additional bool? All existing declarations rely on sparse initialization, so would have .cmd_securelevel = 0 always. If you add cmd_securelevel_set, it would be .cmd_securelevel_set = false. Thus, checking .cmd_securelevel_set for being true has no difference to checking .cmd_securelevel to be positive. I'd suggest to just do the securelevel_gt() check unconditionally.

P.S. Of course the inverted logic of securelevel_gt() really blows one's mind.

Apr 16 2026, 8:26 AM

Apr 15 2026

kp updated the diff for D56390: pf: only allow a subset of netlink calls when securelevel is set.

Thanks, I don't know how I messed that up, but mess that up I did.

Apr 15 2026, 12:37 PM

Apr 14 2026

kp requested review of D56390: pf: only allow a subset of netlink calls when securelevel is set.
Apr 14 2026, 3:14 PM

Apr 11 2026

kp accepted D56298: if_clone: Make ifnet_detach_sxlock opaque to consumers.
Apr 11 2026, 12:44 PM

Apr 9 2026

kp added a comment to D56333: tests/sys: Fix the build on non-arm64.

I'm not familiar enough with the build system to have opinions on how it got fixed.

Apr 9 2026, 4:44 PM

Apr 7 2026

kp committed rG6642ba36f186: pf tests: explicitly test zeroing counters within an anchor (authored by kp).
pf tests: explicitly test zeroing counters within an anchor
Apr 7 2026, 3:26 PM
kp added inline comments to D54172: Add Support for Geneve (RFC8926).
Apr 7 2026, 12:25 PM

Apr 3 2026

kp committed rG8ef0093f297a: truss: add support for decoding Netlink messages (authored by Ishan Agrawal <iagrawal9990@gmail.com>).
truss: add support for decoding Netlink messages
Apr 3 2026, 6:55 AM

Mar 30 2026

kp accepted D56113: pf: use hashalloc(9) for key, id, src-node and udp-endpoint hashes.

Ah, yes, thanks!

Mar 30 2026, 8:03 PM
kp committed rG5b8ab97b3e4a: pfctl: parser must not ignore error from pfctl_optimize_ruleset() (authored by kp).
pfctl: parser must not ignore error from pfctl_optimize_ruleset()
Mar 30 2026, 3:10 PM
kp committed rGc5e1dde24dac: pfctl: parser must not ignore error from pfctl_optimize_ruleset() (authored by kp).
pfctl: parser must not ignore error from pfctl_optimize_ruleset()
Mar 30 2026, 3:09 PM
kp added a comment to D56113: pf: use hashalloc(9) for key, id, src-node and udp-endpoint hashes.

I'm seeing panics with this patch ("panic: lock "pf_keyhash" 0xfffffe00e8dffff8 already initialized").
I believe the problem is that hashalloc() allocates unzero'd memory, and which leads to incorrect assertions on the lock, if LO_INITIALIZED happens to be set in lo_flags.

Mar 30 2026, 12:21 PM

Mar 27 2026

kp added a comment to D55904: hash(9): introduce hashalloc()/hashfree() KPI.

I've had a quick look at making pf use this, and I have a minor annoyance.

Mar 27 2026, 10:37 AM

Mar 26 2026

kp accepted D55997: ifnet: Fix races in if_vmove_reclaim().
Mar 26 2026, 1:23 PM

Mar 25 2026

kp committed rG38f8ac568273: pf: Fix hashing of IP address ranges (authored by grembo).
pf: Fix hashing of IP address ranges
Mar 25 2026, 10:55 AM
kp committed rGd107424a44b3: pf: Fix hashing of IP address ranges (authored by grembo).
pf: Fix hashing of IP address ranges
Mar 25 2026, 10:55 AM
kp committed rG4311217a039c: pf: include all elements when hashing rules (authored by kp).
pf: include all elements when hashing rules
Mar 25 2026, 10:55 AM
kp committed rGe224b9b867f4: pfctl: always warn if a duplicate rule was detected (authored by kp).
pfctl: always warn if a duplicate rule was detected
Mar 25 2026, 10:55 AM
kp committed rG4e007734ff8e: pf tests: verify that we handle address range rules correctly (authored by kp).
pf tests: verify that we handle address range rules correctly
Mar 25 2026, 10:55 AM
kp committed rG536751cb4e15: pf: include all elements when hashing rules (authored by kp).
pf: include all elements when hashing rules
Mar 25 2026, 10:55 AM
kp committed rGac6bb58a715e: pf: Fix hashing of IP address ranges (authored by grembo).
pf: Fix hashing of IP address ranges
Mar 25 2026, 10:55 AM
kp committed rG6666b2a0e7c2: pf tests: verify that we handle address range rules correctly (authored by kp).
pf tests: verify that we handle address range rules correctly
Mar 25 2026, 10:55 AM
kp committed rGe3b801edded9: pf: include all elements when hashing rules (authored by kp).
pf: include all elements when hashing rules
Mar 25 2026, 10:55 AM
kp committed rGe79818ec36ef: pfctl: always warn if a duplicate rule was detected (authored by kp).
pfctl: always warn if a duplicate rule was detected
Mar 25 2026, 10:55 AM
kp committed rG958dbc87e9c5: pf tests: verify that we handle address range rules correctly (authored by kp).
pf tests: verify that we handle address range rules correctly
Mar 25 2026, 10:54 AM

Mar 24 2026

kp committed rGc6bcf6e6fd50: pf: include all elements when hashing rules (authored by kp).
pf: include all elements when hashing rules
Mar 24 2026, 6:04 AM
kp committed rG1fa873c93c8b: pf: Fix hashing of IP address ranges (authored by grembo).
pf: Fix hashing of IP address ranges
Mar 24 2026, 6:04 AM
kp committed rG66d66dd0f6f8: pfctl: always warn if a duplicate rule was detected (authored by kp).
pfctl: always warn if a duplicate rule was detected
Mar 24 2026, 6:04 AM
kp committed rGab74151e8d09: pf tests: verify that we handle address range rules correctly (authored by kp).
pf tests: verify that we handle address range rules correctly
Mar 24 2026, 6:04 AM

Mar 22 2026

kp committed rG434e1c3d8413: pfctl tests: test rdr-to and nat-to in one rule (authored by kp).
pfctl tests: test rdr-to and nat-to in one rule
Mar 22 2026, 7:24 AM
kp committed rG343ace42f82a: pfctl: parser must not ignore error from pfctl_optimize_ruleset() (authored by kp).
pfctl: parser must not ignore error from pfctl_optimize_ruleset()
Mar 22 2026, 6:03 AM
kp committed rG0b0d34fd2f40: pf tests: verify first-match-wins for nat rules (authored by kp).
pf tests: verify first-match-wins for nat rules
Mar 22 2026, 6:03 AM

Mar 18 2026

kp committed rG9031b83ac133: pfctl: consistency (authored by Seth Hoffert <seth.hoffert@gmail.com>).
pfctl: consistency
Mar 18 2026, 9:43 AM

Mar 16 2026

kp accepted D55875: ifnet: Add some sanity checks.
Mar 16 2026, 10:59 AM
kp accepted D55873: ifnet: Fix decreasing the vnet interface count.
Mar 16 2026, 8:28 AM

Mar 15 2026

kp added a reviewer for D55859: kyua: Add external setup and teardown mechanism: kp.
Mar 15 2026, 12:39 AM

Mar 12 2026

kp accepted D55804: carp: retire ioctl(2) API.
Mar 12 2026, 1:15 PM
kp committed R11:d4dad47577db: net/libpfctl: add 14.4 version (authored by kp).
net/libpfctl: add 14.4 version
Mar 12 2026, 10:41 AM

Mar 4 2026

kp committed rG36acf1bd32ed: pfctl: consistency (authored by Seth Hoffert <seth.hoffert@gmail.com>).
pfctl: consistency
Mar 4 2026, 4:21 PM
kp accepted D55558: fix global demotion counter to VRRP advertisements.
In D55558#1271271, @kp wrote:

I haven't debugged it any depth (and won't be able to before early next week), but the new test case fails for me:

(kp@nut)  /usr/tests/sys/netinet % sudo kyua debug carp:vrrp_preempt                                                                                                               [14:00]
net.inet.carp.preempt: 0 -> 1
net.inet.carp.preempt: 0 -> 1
	vrrp: MASTER vrid 2 prio 10 interval 100
Files left in work directory after failure: created_interfaces.lst, created_jails.lst
ifconfig: interface epair0b does not exist
ifconfig: interface epair1b does not exist
carp:vrrp_preempt  ->  failed: preemption did not affect the second interface

But it works on both my side, and on my VM lab:

olivier@workstation:/usr/tests/sys/netinet $ sudo kyua debug carp:vrrp_preempt
net.inet.carp.preempt: 0 -> 1
net.inet.carp.preempt: 0 -> 1
        vrrp: MASTER vrid 2 prio 10 interval 100
ifconfig: interface epair0b does not exist
ifconfig: interface epair1b does not exist
carp:vrrp_preempt  ->  passed
Mar 4 2026, 10:25 AM

Feb 27 2026

kp added a comment to D55558: fix global demotion counter to VRRP advertisements.

I haven't debugged it any depth (and won't be able to before early next week), but the new test case fails for me:

Feb 27 2026, 1:08 PM
kp added a comment to D55558: fix global demotion counter to VRRP advertisements.

One small issue is that this patch claims to move these files. That's clearly unintentional. Perhaps an artefact of how it was uploaded?

Feb 27 2026, 9:11 AM

Feb 25 2026

kp abandoned D50968: pf: limit extra SCTP states.

This is already in the tree, as cd0169c9379c400ec75b77e87ca770e37f964276. I managed to forget to add the 'differential revision' tag, so Phabricator didn't notice.

Feb 25 2026, 2:19 PM
kp committed rGb642867c2cc7: pf: avoid NULL deref on purged states (authored by kp).
pf: avoid NULL deref on purged states
Feb 25 2026, 1:42 PM

Feb 19 2026

kp committed rG4d0186cd12a7: libpfctl: Sort order of snl attribute parser (authored by eborisch_gmail.com).
libpfctl: Sort order of snl attribute parser
Feb 19 2026, 4:01 PM
kp committed rGdc7eb96ba945: pf tests: verify blocked count on log interface (authored by kp).
pf tests: verify blocked count on log interface
Feb 19 2026, 4:01 PM
kp accepted D55367: icmp6: Remove csum_flags on mbuf reused for ICMP message.

(Not tested, but that just seems sensible.)

Feb 19 2026, 12:47 PM

Feb 18 2026

kp committed rGd60082f16e4c: pf: avoid NULL deref on purged states (authored by kp).
pf: avoid NULL deref on purged states
Feb 18 2026, 10:27 PM

Feb 17 2026

kp committed rGf3a0e54656cc: pf: fix use of uninitialised variable (authored by kp).
pf: fix use of uninitialised variable
Feb 17 2026, 2:30 PM

Feb 16 2026

kp committed rG281282e9357b: pf: convert DIOCRTSTADDRS to netlink (authored by kp).
pf: convert DIOCRTSTADDRS to netlink
Feb 16 2026, 12:47 PM

Feb 12 2026

kp committed rG363b57d579ba: libpfctl: Sort order of snl attribute parser (authored by eborisch_gmail.com).
libpfctl: Sort order of snl attribute parser
Feb 12 2026, 9:40 PM