Page MenuHomeFreeBSD

zlei (Zhenlei Huang)
User

Projects

User Details

User Since
Apr 1 2021, 3:21 AM (246 w, 5 d)

Recent Activity

Today

zlei accepted D54107: qat: Export missing symbols in qat_common.

Looks good to me.

Tue, Dec 23, 6:14 AM

Fri, Dec 19

zlei accepted D54306: netinet6: Disallow connections to IN6ADDR_ANY.

This is a behavior change. I think it deserves a Relnotes: Yes commit meta message.

Fri, Dec 19, 5:56 PM

Thu, Dec 18

zlei accepted D54085: net: split ifnet_arrival_event into two events.
Thu, Dec 18, 9:15 AM

Wed, Dec 17

zlei added a comment to D54177: lio: Avoid out-of-bounds read or write MAC address.

Good find.

Wed, Dec 17, 6:18 PM
zlei added a comment to D53871: bpf: don't recursively enter the network epoch in bpf taps.

I uploaded the patch to https://reviews.freebsd.org/F139754092 . I might miss some drivers but that should be almost completed. While working on this, I'm not fully convinced this is a good approach. I'd argue the bpf part is too tightly coupled with the net epoch.

Thanks a lot! Do you plan to commit? Maybe the watchdogged drivers can be generalized in some way...

Wed, Dec 17, 6:09 PM
zlei accepted D54241: ng_iface: don't recursively enter epoch in the rcvdata method.

I'm not familiar with netgraph. While I'm finding possible missing of net epoch context,

Okay, here is a short description. When data travels through netgraph(4) the context SHALL be in the net epoch. Thus, any rcvdata method is entered with the epoch.

It appears only ng_socket.c has done right. netflow.c, netflow_v9.c and ng_ppp.c lack proper net epoch context around NG_FWD_ITEM_HOOK(), then this change can lead regression and NET_EPOCH_ASSERT() will complain.

The ng_socket.c is an edge type of a node. It means that it has one side facing into netgraph and one side facing into somewhere else (write(2) syscall in case of ng_socket(4). The edge nodes are responsible for entering epoch when they inject data into netgraph. The netflow and ppp nodes are not edge nodes.

Wed, Dec 17, 5:08 AM

Tue, Dec 16

zlei closed D54177: lio: Avoid out-of-bounds read or write MAC address.
Tue, Dec 16, 4:43 AM
zlei committed rG094626d3a500: lio: Avoid out-of-bounds read or write MAC address (authored by zlei).
lio: Avoid out-of-bounds read or write MAC address
Tue, Dec 16, 4:42 AM
zlei added inline comments to D54172: Add Support for Geneve (RFC8926).
Tue, Dec 16, 4:03 AM
zlei added a comment to D54241: ng_iface: don't recursively enter epoch in the rcvdata method.

I'm not familiar with netgraph. While I'm finding possible missing of net epoch context,

Tue, Dec 16, 2:54 AM

Mon, Dec 15

zlei added a comment to D53871: bpf: don't recursively enter the network epoch in bpf taps.

I uploaded the patch to https://reviews.freebsd.org/F139754092 . I might miss some drivers but that should be almost completed. While working on this, I'm not fully convinced this is a good approach. I'd argue the bpf part is too tightly coupled with the net epoch.

Mon, Dec 15, 7:11 PM
zlei added a comment to D54121: locking.9: Tweak the table column width to fix 80 characters.

@ziaee Does this look good to you ?

Mon, Dec 15, 4:01 PM
zlei updated the diff for D54177: lio: Avoid out-of-bounds read or write MAC address.

Replaced loop copying with memcpy() for better readability.

Mon, Dec 15, 3:32 PM
zlei added inline comments to D54177: lio: Avoid out-of-bounds read or write MAC address.
Mon, Dec 15, 9:36 AM

Sat, Dec 13

zlei added a comment to D53871: bpf: don't recursively enter the network epoch in bpf taps.

@zlei thanks for all these findings! It seems that at least few of them were violating epoch even before the suggested bpf change. Are you going to commit the fixes? I can help. To me some of these fixes do not look related to bpf at all.

Sat, Dec 13, 2:28 AM

Fri, Dec 12

zlei added a comment to D53871: bpf: don't recursively enter the network epoch in bpf taps.

The NET_EPOCH_ENTER() in sys/dev/iicbus/if_ic.c should be adjusted,

Fri, Dec 12, 10:17 AM
zlei added a comment to D54107: qat: Export missing symbols in qat_common.

Thank you for working on this, but for this driver I think it would be better to just have EXPORT_SYMS=yes rather than enumerating and maintaining the list of symbols. Otherwise this will be a headache for the upstream maintainer.

Fri, Dec 12, 1:58 AM

Thu, Dec 11

zlei requested review of D54177: lio: Avoid out-of-bounds read or write MAC address.
Thu, Dec 11, 4:24 PM
zlei added inline comments to D54085: net: split ifnet_arrival_event into two events.
Thu, Dec 11, 4:05 PM

Tue, Dec 9

zlei added a comment to D54121: locking.9: Tweak the table column width to fix 80 characters.

The lint check complains,

% mandoc -Tlint share/man/man9/locking.9  
mandoc: share/man/man9/locking.9:375:23: STYLE: no blank before trailing delimiter: Em        You want:
mandoc: share/man/man9/locking.9:376:16: STYLE: no blank before trailing delimiter: Em You have:
mandoc: share/man/man9/locking.9:411:15: STYLE: no blank before trailing delimiter: Em Context:
Tue, Dec 9, 2:40 PM
zlei updated the diff for D54121: locking.9: Tweak the table column width to fix 80 characters.

Address @ziaee 's comment.

Tue, Dec 9, 2:35 PM

Mon, Dec 8

zlei accepted D54086: lltable: use own lock.

Looks good to me.

Mon, Dec 8, 10:11 AM
zlei requested review of D54121: locking.9: Tweak the table column width to fix 80 characters.
Mon, Dec 8, 10:01 AM
zlei added inline comments to D54085: net: split ifnet_arrival_event into two events.
Mon, Dec 8, 3:27 AM
zlei accepted D54089: net: attach IPv4 and IPv6 stacks to an interface with EVENTHANDLER(9).

I like this approach. This change will also relief the cache usage and have nice effect on performance.

Mon, Dec 8, 2:39 AM

Wed, Dec 3

zlei added a comment to D54037: PR 291273 - p9fs module missing symbol exports -- dependent modules fail to load with module loader local symbol resolution disabled.
In D54037#1234622, @imp wrote:

Why can't we make virtio_p9fs.ko depend on p9fs.ko?

Wed, Dec 3, 7:21 AM
zlei accepted D54037: PR 291273 - p9fs module missing symbol exports -- dependent modules fail to load with module loader local symbol resolution disabled.

Looks good to me.

Wed, Dec 3, 7:02 AM

Wed, Nov 26

zlei accepted D53907: mqueue: Export kern_kmq_* symbols from kernel module.

I think this is the right approach.

Wed, Nov 26, 6:14 AM

Nov 16 2025

zlei committed rGa537694b49f7: sys/net/sff8436.h: Fix the register address of link length of copper or active… (authored by Kirill Kochnev <sabashlive@gmail.com>).
sys/net/sff8436.h: Fix the register address of link length of copper or active…
Nov 16 2025, 5:04 PM

Nov 14 2025

zlei accepted D53739: Update ip_ecn to use C standard types.
Nov 14 2025, 2:52 AM
zlei added a comment to D53739: Update ip_ecn to use C standard types.

I have no objections to do this. Well new code should prefer the standard types, but the existing code can be left as is.

Nov 14 2025, 2:52 AM

Nov 3 2025

zlei accepted D53545: ifconfig: Fix invalid free() in ifbridge.

Looks good to me.

Nov 3 2025, 7:08 AM

Oct 28 2025

zlei added inline comments to D53387: if_media.h: Add 400GBase-SR8 and 400GBase-CR8.
Oct 28 2025, 7:02 AM

Oct 26 2025

zlei added inline comments to D53344: net: Validate interface group names in ioctl handlers.
Oct 26 2025, 5:08 PM
zlei added inline comments to D53344: net: Validate interface group names in ioctl handlers.
Oct 26 2025, 9:37 AM

Oct 25 2025

zlei accepted D53344: net: Validate interface group names in ioctl handlers.
Oct 25 2025, 3:36 AM

Oct 24 2025

zlei accepted D53089: rss: Enable portions of RSS globally to enable symmetric hashing.

Looks good to me.

Oct 24 2025, 4:54 PM
zlei accepted D53104: tcp: Enable symmetric hashing by setting hash on outgoing conns.

So typically a queue is bound to one core, then we have better cache localization for the same flow ? That sounds a good idea.

Oct 24 2025, 4:48 PM
zlei accepted D53102: sfxge: use newly exposed RSS hash key API rather than ad-hoc hashing.

Looks good to me.

Oct 24 2025, 4:13 PM
zlei accepted D53090: loopback: Clear hash unconditionally..

Looks good to me.

Oct 24 2025, 4:04 PM
zlei accepted D53101: lio: use newly exposed RSS hash key API rather than ad-hoc hashing.

I spent some time to learn the FreeBSD's RSS design. I do not have hardware to test, but the change looks good to me.

Oct 24 2025, 4:03 PM

Oct 22 2025

zlei added a comment to D44204: ip6_output: Reduce cache misses on pktopts.
In D44204#1216519, @ae wrote:
Oct 22 2025, 10:56 AM

Oct 20 2025

zlei added inline comments to D53160: kthread: Add a wrapper macro KPROC_START.
Oct 20 2025, 2:28 PM
zlei updated the diff for D53160: kthread: Add a wrapper macro KPROC_START.
Oct 20 2025, 2:19 PM
zlei committed R9:a620acececae: pgpkeys: Extend my key's expiration dates (authored by zlei).
pgpkeys: Extend my key's expiration dates
Oct 20 2025, 5:51 AM
zlei added inline comments to D53158: linux: Make the macro LINUX_IOCTL_SET public.
Oct 20 2025, 4:32 AM
zlei committed rG0a2fb63b4954: mrsas: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler (authored by zlei).
mrsas: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Oct 20 2025, 4:29 AM
zlei committed rGd12ce84b0d33: mfi: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler (authored by zlei).
mfi: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Oct 20 2025, 4:29 AM
zlei committed rGcb0116af7ac7: ipmi: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler (authored by zlei).
ipmi: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Oct 20 2025, 4:29 AM
zlei committed rGff29e5bc53e6: aacraid: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler (authored by zlei).
aacraid: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Oct 20 2025, 4:29 AM
zlei committed rGdb1844a0e1bc: aac: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler (authored by zlei).
aac: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Oct 20 2025, 4:29 AM
zlei committed rG8350f46d9808: sgx: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler (authored by zlei).
sgx: Migrate to use macro LINUX_IOCTL_SET to register linux ioctl handler
Oct 20 2025, 4:29 AM
zlei committed rG790c27317ec1: linux: Make the macro LINUX_IOCTL_SET public (authored by zlei).
linux: Make the macro LINUX_IOCTL_SET public
Oct 20 2025, 4:29 AM
zlei closed D53158: linux: Make the macro LINUX_IOCTL_SET public.
Oct 20 2025, 4:29 AM

Oct 18 2025

zlei added inline comments to D53173: imgact: Mark brandinfo and note structures as const.
Oct 18 2025, 4:17 PM
zlei committed rG301e6c47127d: imgact: Mark brandinfo and note structures as const (authored by zlei).
imgact: Mark brandinfo and note structures as const
Oct 18 2025, 4:13 PM
zlei closed D53173: imgact: Mark brandinfo and note structures as const.
Oct 18 2025, 4:13 PM
zlei added inline comments to D53158: linux: Make the macro LINUX_IOCTL_SET public.
Oct 18 2025, 3:43 PM

Oct 17 2025

zlei added a comment to D53173: imgact: Mark brandinfo and note structures as const.

This is for other architectures, i386, arm, powerpc and riscv.

Oct 17 2025, 5:35 PM
zlei requested review of D53173: imgact: Mark brandinfo and note structures as const.
Oct 17 2025, 5:30 PM
zlei added inline comments to D53062: imgact: Mark brandinfo and note structures as const.
Oct 17 2025, 5:17 PM
zlei added inline comments to D53051: Teach bridge interfaces to work with async DHCP (devd config).
Oct 17 2025, 3:13 PM · bridge
zlei added a comment to D53101: lio: use newly exposed RSS hash key API rather than ad-hoc hashing.

I'm not getting this change. The kernel build option RSS is not enabled by default. Is this change want to enable a variant RSS when RSS is not enabled in the kernel ?

Oct 17 2025, 2:08 PM
zlei added a comment to D53101: lio: use newly exposed RSS hash key API rather than ad-hoc hashing.

I'm not getting this change. The kernel build option RSS is not enabled by default. Is this change want to enable a variant RSS when RSS is not enabled in the kernel ?

Oct 17 2025, 2:05 PM
zlei added inline comments to D53160: kthread: Add a wrapper macro KPROC_START.
Oct 17 2025, 10:45 AM
zlei added a reviewer for D53160: kthread: Add a wrapper macro KPROC_START: jeff.
Oct 17 2025, 10:40 AM
zlei requested review of D53160: kthread: Add a wrapper macro KPROC_START.
Oct 17 2025, 10:38 AM
zlei requested review of D53158: linux: Make the macro LINUX_IOCTL_SET public.
Oct 17 2025, 9:44 AM

Oct 13 2025

zlei committed rGc8e077e57b25: x86/xen: Use proper prototype for SYSINIT functions (authored by zlei).
x86/xen: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rGbf8f6545f6ca: tsc: Use proper prototype for SYSINIT functions (authored by zlei).
tsc: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rG9caa16bd0287: powerpc: Use proper prototype for SYSINIT functions (authored by zlei).
powerpc: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rG0039721e3bab: i386: Use proper prototype for SYSINIT functions (authored by zlei).
i386: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rG5d5ba0c0fa9e: arm64 coresight: Use proper prototype for SYSINIT functions (authored by zlei).
arm64 coresight: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rG0b9c12fa9764: arm: Use proper prototype for SYSINIT functions (authored by zlei).
arm: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rG296db8c72dca: sys/sysent.h: Remove an unneeded type cast (authored by zlei).
sys/sysent.h: Remove an unneeded type cast
Oct 13 2025, 10:15 AM
zlei committed rG12ac59a0d1f6: MAC: Use proper prototype for SYSINIT functions (authored by zlei).
MAC: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rGa5d5851c86eb: vm: Use proper prototype for SYSINIT functions (authored by zlei).
vm: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rG32c1e940e07c: audit: Use proper prototype for SYSINIT functions (authored by zlei).
audit: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rG0ce8c20fcd44: pf: Use proper prototype for SYSINIT functions (authored by zlei).
pf: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rGa06ecc4f70c2: nfs: Use proper prototype for SYSINIT functions (authored by zlei).
nfs: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rG1bba2194c8a9: ipfw: Use proper prototype for SYSINIT functions (authored by zlei).
ipfw: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:15 AM
zlei committed rG360bb45690d9: netipsec: Use proper prototype for SYSINIT functions (authored by zlei).
netipsec: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rGd4a80fa271b1: netinet6: Use proper prototype for SYSINIT functions (authored by zlei).
netinet6: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rG6613b6ad1ecc: netinet: Use proper prototype for SYSINIT functions (authored by zlei).
netinet: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rG7449e59110b8: net80211: Use proper prototype for SYSINIT functions (authored by zlei).
net80211: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rG6f8259eae619: net: Use proper prototype for SYSINIT functions (authored by zlei).
net: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rG850a88e8db76: libkern: Use proper prototype for SYSINIT functions (authored by zlei).
libkern: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rGa988393b469b: jail: Use proper prototype for SYSINIT functions (authored by zlei).
jail: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rG141b44e0afc2: kern_sharedpage.c: Remove an unneeded type cast (authored by zlei).
kern_sharedpage.c: Remove an unneeded type cast
Oct 13 2025, 10:14 AM
zlei committed rG19061a898ac8: xen: Use proper prototype for SYSINIT functions (authored by zlei).
xen: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rG9c35c4470ad1: kern: Use proper prototype for SYSINIT functions (authored by zlei).
kern: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rG11cfa861e3ff: p9fs: Use proper prototype for SYSINIT functions (authored by zlei).
p9fs: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rGef56b9188937: xdma: Use proper prototype for SYSINIT functions (authored by zlei).
xdma: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rGdd256c3fa738: nvme: Use proper prototype for SYSINIT functions (authored by zlei).
nvme: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rG05c313cd2cbc: iommu_gas: Use proper prototype for SYSINIT functions (authored by zlei).
iommu_gas: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rGd82653aee7e3: dev/fdt: Use proper prototype for SYSINIT functions (authored by zlei).
dev/fdt: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rG41c0b64f021e: opensolaris: Use proper prototype for SYSINIT functions (authored by zlei).
opensolaris: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM
zlei committed rGf94b1a8ca6e0: scsi: Use proper prototype for SYSINIT functions (authored by zlei).
scsi: Use proper prototype for SYSINIT functions
Oct 13 2025, 10:14 AM

Oct 12 2025

zlei added inline comments to D53022: if_vxlan: fix byteorder of source port.
Oct 12 2025, 1:18 PM

Oct 10 2025

zlei accepted D53022: if_vxlan: fix byteorder of source port.

Looks good to me.

Oct 10 2025, 3:24 PM