Page MenuHomeFreeBSD

kib (Konstantin Belousov)
User

Projects

User Details

User Since
May 16 2014, 7:35 PM (375 w, 1 d)

Recent Activity

Yesterday

kib added inline comments to D31295: amd64: Introduce KMSAN shadow maps.
Sat, Jul 24, 8:06 PM
kib added a comment to D31293: geom: Handle truncated I/O in g_*_data().

Generally, this is a quite unusual interface conventions. Typical unix approach is to tolerate short io and not make it error, instead having the caller to interpret and make the decision.

Sat, Jul 24, 7:59 PM
kib added a reviewer for D31121: amd64 UEFI boot: stop copying staging area to 2M phys : kevans.
Sat, Jul 24, 3:59 PM
kib updated the diff for D31121: amd64 UEFI boot: stop copying staging area to 2M phys .

Rebase after some trivial bits were committed.

Sat, Jul 24, 3:57 PM
kib reopened D31121: amd64 UEFI boot: stop copying staging area to 2M phys .
Sat, Jul 24, 3:56 PM
kib committed R10:48216088b115: amd64: do not touch low memory in AP startup unless we used legacy boot (authored by kib).
amd64: do not touch low memory in AP startup unless we used legacy boot
Sat, Jul 24, 3:54 PM
kib committed R10:6a3821369f43: amd64: make efi_boot global (authored by kib).
amd64: make efi_boot global
Sat, Jul 24, 3:54 PM
kib committed R10:c8bae074d9e1: amd64: add pmap_alloc_page_below_4g() (authored by kib).
amd64: add pmap_alloc_page_below_4g()
Sat, Jul 24, 3:54 PM
kib closed D31121: amd64 UEFI boot: stop copying staging area to 2M phys .
Sat, Jul 24, 3:53 PM
kib committed R10:34516d4ad19b: amd64 pti init: fix calculation of the kernel text start (authored by kib).
amd64 pti init: fix calculation of the kernel text start
Sat, Jul 24, 3:53 PM
kib added a comment to D31281: lib/csu: Get rid of unused fptr typedef on amd64..

So yes, this is definitely the make (1) regression in HEAD. I tried tinderboxing your patch on stable/13 machine, and everything went fine. Feel free to commit with 'Approved by: kib'.

Sat, Jul 24, 1:43 PM

Fri, Jul 23

kib added a comment to D31292: libc qsort(3): Eliminate ambiguous sign comparison.

ptrdiff_t sounds arbitrary. Why did not you used e.g. ssize_t? Because it is not defined by C STD?

Fri, Jul 23, 8:10 PM
kib added inline comments to D31283: Measure latency of PMC interruptions.
Fri, Jul 23, 5:57 PM
kib added inline comments to D31121: amd64 UEFI boot: stop copying staging area to 2M phys .
Fri, Jul 23, 4:37 PM
kib added a comment to D31281: lib/csu: Get rid of unused fptr typedef on amd64..

Yes, it seems to be a recent regression in make. Do you build on HEAD or stable?

Fri, Jul 23, 2:46 PM
kib accepted D31056: time.h: reduce CLOCK_ namespace pollution, move to _clock_id.h.
Fri, Jul 23, 2:44 PM

Thu, Jul 22

kib added a comment to D31016: Allow stacked filesystems to be recursively unmounted.
In D31016#704447, @pho wrote:

All done. No problems seen.

20210722 19:00:47 all.sh done, elapsed 2 day(s), 04:40.10
Thu, Jul 22, 8:15 PM
kib accepted D31281: lib/csu: Get rid of unused fptr typedef on amd64..

The changes are fine.

Thu, Jul 22, 8:14 PM
kib accepted D31282: man9: Update guarantees for userspace fetch/store operations.
Thu, Jul 22, 5:32 PM
kib updated the diff for D31121: amd64 UEFI boot: stop copying staging area to 2M phys .

KERNSTART
Remove second set of CR4_PGE
Update comment about KERNLOAD
Do not corrupt low memory doing AP startup if EFI boot

Thu, Jul 22, 5:19 PM
kib added a comment to D31279: linux(4): Futex address must be 32-bit aligned..

Ok, I see. So according to your suggestion, amd64 fuword should fall back to a lock-prefixed instruction if it detects that the operand is unaligned.

I do not think so. As far as kernel does not melt under unaligned access, it should be fine. The fact that fuword/suword are not atomic on perfectly unaligned addresses only breaks userspace that is already broken by requesting umtx op on such address.

Thu, Jul 22, 4:41 PM
kib added a comment to D31279: linux(4): Futex address must be 32-bit aligned..
In D31279#704348, @kib wrote:

But why is this check needed? We do not do similar checks in kern_umtx.c.

IMO MD casueword/fuword/suword interfaces must handle this case, e.g. returning EFAULT if unaligned userspace address is not acceptable (or silently do whatever is needed).

Hmm, for some reason I thought that umtx checks this. When are unaligned addresses ever acceptable? I don't see how e.g., fuword can silently handle unaligned addresses.

Thu, Jul 22, 4:05 PM
kib added a comment to D31279: linux(4): Futex address must be 32-bit aligned..

But why is this check needed? We do not do similar checks in kern_umtx.c.

Thu, Jul 22, 3:18 PM
kib accepted D31274: Switch to an ifunc in the kernel for crc32c.
Thu, Jul 22, 1:23 PM
kib committed R10:1db1e58d9384: mlx5en: vxlan: do not report TCP inner packet as UDP for software parser (authored by kib).
mlx5en: vxlan: do not report TCP inner packet as UDP for software parser
Thu, Jul 22, 12:35 PM
kib committed R10:dba677d13b26: libc: add mempcpy(3) and wmempcpy(3) (authored by kib).
libc: add mempcpy(3) and wmempcpy(3)
Thu, Jul 22, 10:34 AM
kib committed R10:17658c8a6d90: Create namespace for the symbols added during 14-CURRENT cycle. (authored by kib).
Create namespace for the symbols added during 14-CURRENT cycle.
Thu, Jul 22, 10:34 AM

Wed, Jul 21

kib committed R10:df674da44ef9: cloudabi and linux ABIs: do not call umtx_thread_cleanup() from thr_exit syscall (authored by kib).
cloudabi and linux ABIs: do not call umtx_thread_cleanup() from thr_exit syscall
Wed, Jul 21, 10:32 PM
kib committed R10:39f259b1d5a8: Do not call FreeBSD-ABI specific code for all ABIs (authored by kib).
Do not call FreeBSD-ABI specific code for all ABIs
Wed, Jul 21, 10:32 PM
kib committed R10:cdb79e2e08c2: Move sv_onexit() sysentvec hook slightly later (authored by kib).
Move sv_onexit() sysentvec hook slightly later
Wed, Jul 21, 10:31 PM
kib committed R10:855fb8944c59: Add sv_onexec_old() sysent hook for exec event (authored by kib).
Add sv_onexec_old() sysent hook for exec event
Wed, Jul 21, 10:31 PM
kib accepted D31238: umtx: Split do_unlock_pi on two counterparts..

UMTXQ_LOCKED_ASSERT?

Wed, Jul 21, 10:10 PM
kib accepted D31230: init: execute /etc/rc.final after all user processes have terminated.
Wed, Jul 21, 10:06 PM
kib added inline comments to D31238: umtx: Split do_unlock_pi on two counterparts..
Wed, Jul 21, 8:24 PM
kib accepted D31254: linux(4): Replace casuword32 by casueword32 in handle_futex_death()..
Wed, Jul 21, 7:36 PM
kib accepted D31235: umtx: Add umtxq_requeue Linux emulation layer extension..
Wed, Jul 21, 7:34 PM
kib added inline comments to D31238: umtx: Split do_unlock_pi on two counterparts..
Wed, Jul 21, 7:24 PM
kib accepted D31234: umtx: Add bitset member to the struct umtx_q..
Wed, Jul 21, 7:20 PM
kib added inline comments to D31234: umtx: Add bitset member to the struct umtx_q..
Wed, Jul 21, 3:49 PM
kib added inline comments to D31238: umtx: Split do_unlock_pi on two counterparts..
Wed, Jul 21, 10:31 AM
kib added inline comments to D31254: linux(4): Replace casuword32 by casueword32 in handle_futex_death()..
Wed, Jul 21, 10:29 AM
kib accepted D31228: Update mlx5en(4).
Wed, Jul 21, 9:01 AM
kib accepted D31254: linux(4): Replace casuword32 by casueword32 in handle_futex_death()..
Wed, Jul 21, 8:05 AM
kib accepted D31249: umtx: Expose struct abs_timeout to the rest of the kernel..
Wed, Jul 21, 8:03 AM

Tue, Jul 20

kib added inline comments to D31249: umtx: Expose struct abs_timeout to the rest of the kernel..
Tue, Jul 20, 11:15 PM
kib added inline comments to D31238: umtx: Split do_unlock_pi on two counterparts..
Tue, Jul 20, 11:13 PM
kib accepted D31248: umtx: Split umtx.h on two counterparts..
Tue, Jul 20, 10:43 PM
kib added inline comments to D31238: umtx: Split do_unlock_pi on two counterparts..
Tue, Jul 20, 10:20 PM
kib accepted D31249: umtx: Expose struct abs_timeout to the rest of the kernel..
Tue, Jul 20, 10:07 PM
kib added inline comments to D31248: umtx: Split umtx.h on two counterparts..
Tue, Jul 20, 10:01 PM
kib added inline comments to D31248: umtx: Split umtx.h on two counterparts..
Tue, Jul 20, 10:00 PM
kib accepted D31247: freebsd32: Remove the unnecessary spaces..

Ah, ok

Tue, Jul 20, 9:58 PM
kib requested changes to D31247: freebsd32: Remove the unnecessary spaces..

Style requires a blank line before multi-line comment. Also it requires a blank line after end of the block described in the comment, in this case 422/423.

Tue, Jul 20, 8:09 PM
kib accepted D31245: freebsd32: Eliminate spaces at end of line..

I am sure that you can manage such changes without a review.

Tue, Jul 20, 7:42 PM
kib accepted D31239: linux(4): Replace copyin() by fueword32() in handle_futex_death()..

I think on ARM there exist the same problem we fixed for umtx in 30b3018d48e4441083b

Tue, Jul 20, 4:34 PM
kib added inline comments to D31228: Update mlx5en(4).
Tue, Jul 20, 4:30 PM
kib added a comment to D31233: umtx: Expose some of the umtx structures and API to the rest of the kernel..

I do not object against the idea of making more guts of kern_umtx.c usable for e.g. Linuxolator, but I think that polluting sys/umtx.h is not a right approach. I suggest to follow established practice, and add a new header, e.g. sys/umtxvar.h, where most of the stuff you moved could land.

Tue, Jul 20, 4:25 PM
kib added inline comments to D31230: init: execute /etc/rc.final after all user processes have terminated.
Tue, Jul 20, 2:42 PM
kib accepted D31229: kern: mountroot: avoid fd leak in .md parsing.
Tue, Jul 20, 2:28 PM
kib added inline comments to D31228: Update mlx5en(4).
Tue, Jul 20, 11:32 AM

Mon, Jul 19

kib updated the diff for D31121: amd64 UEFI boot: stop copying staging area to 2M phys .

Set slop to 8M for amd64, and 0 for other arches.
Add 'staging_slop' loader command to set slop to any value.

Mon, Jul 19, 11:01 PM
kib added inline comments to D31220: Revert most of ce42e793100b460f597e4c85ec0da12e274f9394.
Mon, Jul 19, 10:28 PM
kib requested review of D31220: Revert most of ce42e793100b460f597e4c85ec0da12e274f9394.
Mon, Jul 19, 4:30 PM
kib accepted D31016: Allow stacked filesystems to be recursively unmounted.

I am fine with the patch in review, but think that the actual commits should be split. In particular:

  • new test
  • removal of the task from UFS code
  • removal of the marker

needs to be a separate commits, at least.

Mon, Jul 19, 11:21 AM

Sun, Jul 18

kib updated the diff for D31213: developers-handbook: update shared libraries policy section.

More grammar.

Sun, Jul 18, 10:26 PM
kib updated the diff for D31213: developers-handbook: update shared libraries policy section.

Some grammar.

Sun, Jul 18, 7:13 PM
kib requested review of D31213: developers-handbook: update shared libraries policy section.
Sun, Jul 18, 1:54 PM
kib committed R10:f40b0295b5c6: procctl(PROC_ASLR_STATUS): fix vmspace leak (authored by kib).
procctl(PROC_ASLR_STATUS): fix vmspace leak
Sun, Jul 18, 12:52 AM
kib committed R10:b1381828c6c1: procctl(PROC_ASLR_STATUS): fix vmspace leak (authored by kib).
procctl(PROC_ASLR_STATUS): fix vmspace leak
Sun, Jul 18, 12:30 AM

Sat, Jul 17

kib closed D31207: zfs: add missed dependency of zfs module on zlib.
Sat, Jul 17, 10:45 PM
kib committed R10:dbaad75f2834: zfs: add missed dependency of zfs module on zlib (authored by kib).
zfs: add missed dependency of zfs module on zlib
Sat, Jul 17, 10:45 PM
kib added a comment to D31203: genoffset: simplify and rewrite in sh.

Did you tried to look at the opinion of shellcheck? Often this linter catches quite amusing issues, also it often allows to simplify.

Sat, Jul 17, 6:03 PM
kib updated the diff for D31121: amd64 UEFI boot: stop copying staging area to 2M phys .

Add symbolic names for copy_staging values.
Fix pmap_page_alloc_below_4g() to use zeroed for bzero() call.
Comments fixes and style.

Sat, Jul 17, 5:37 PM
kib added inline comments to D31121: amd64 UEFI boot: stop copying staging area to 2M phys .
Sat, Jul 17, 5:36 PM
kib added inline comments to D31016: Allow stacked filesystems to be recursively unmounted.
Sat, Jul 17, 4:52 PM
kib requested review of D31207: zfs: add missed dependency of zfs module on zlib.
Sat, Jul 17, 3:55 PM
kib updated the diff for D31121: amd64 UEFI boot: stop copying staging area to 2M phys .

Fix indexes for kernel page table pages.

Sat, Jul 17, 3:04 PM
kib added a comment to D31121: amd64 UEFI boot: stop copying staging area to 2M phys .

The kernel panic after service zfs onestart seems to be caused by this patch. I can reproduce it every time I run the command from an installation media on a KVM virtual machine.

  • Without this patch, service zfs onestart succeeds.
  • With this patch and copy_staging enable, the service also starts.
  • With this patch, and with the default value of copy_staging, the kernel panics every time I run service zfs onestart. The error message is panic: vm_radix_insert: key 7fffffffc16 is already present.
Sat, Jul 17, 3:02 PM
kib committed R10:fec5a70e1f41: x86: use ANSI C definition style for trap_fatal (authored by kib).
x86: use ANSI C definition style for trap_fatal
Sat, Jul 17, 11:05 AM
kib committed R10:4b52622de77c: amd64 pmap: unexpand the NBPDR macro definition (authored by kib).
amd64 pmap: unexpand the NBPDR macro definition
Sat, Jul 17, 11:04 AM
kib committed R10:dc5511d75d82: amd64 locore.S: trim .globl list from symbols gone for long time (authored by kib).
amd64 locore.S: trim .globl list from symbols gone for long time
Sat, Jul 17, 11:04 AM
kib committed R10:48619df1d270: amd64 mpboot.S: fix typo in comment (authored by kib).
amd64 mpboot.S: fix typo in comment
Sat, Jul 17, 11:04 AM
kib committed R10:0ecd3cde77e5: amd64 locore.S: add FF copyright for LA57 work (authored by kib).
amd64 locore.S: add FF copyright for LA57 work
Sat, Jul 17, 11:03 AM

Fri, Jul 16

kib updated the diff for D31121: amd64 UEFI boot: stop copying staging area to 2M phys .

Restore automatic state of copy_staging if kernel exec failed.

Fri, Jul 16, 3:03 PM
kib updated the summary of D31121: amd64 UEFI boot: stop copying staging area to 2M phys .
Fri, Jul 16, 1:39 PM
kib updated the diff for D31121: amd64 UEFI boot: stop copying staging area to 2M phys .

Add autodetection of the kernel type WRT copying of the staging area. Infer it from the type and size of the kernphys symbol. I am very happy with this hack because it allows us to not depend on any special notes or rather expensive and fragile mechanism. Instead, loader directly tests for the present functionality.

Fri, Jul 16, 1:37 PM

Thu, Jul 15

kib accepted D31070: libc: Use the initial-exec TLS model for libc on amd64 and arm64.
Thu, Jul 15, 10:12 PM
kib committed R10:ee37f64cf875: libc: add mempcpy(3) and wmempcpy(3) (authored by kib).
libc: add mempcpy(3) and wmempcpy(3)
Thu, Jul 15, 4:41 PM
kib committed R10:8c3ea3f4c4f3: Create namespace for the symbols added during 14-CURRENT cycle. (authored by kib).
Create namespace for the symbols added during 14-CURRENT cycle.
Thu, Jul 15, 4:41 PM
kib closed D31180: Implement mempcpy(3) and wmempcpy(3).
Thu, Jul 15, 4:41 PM
kib accepted D31016: Allow stacked filesystems to be recursively unmounted.
Thu, Jul 15, 3:58 PM
kib accepted D31192: memcpy.3: remove BUGS section allowing overlapping strings.

I do not object, but we need to coordinate due to D31180

Thu, Jul 15, 2:34 PM
kib updated the diff for D31180: Implement mempcpy(3) and wmempcpy(3).

Add __restrict to mempcpy(3) definition as well.

Thu, Jul 15, 1:37 PM
kib added inline comments to D31180: Implement mempcpy(3) and wmempcpy(3).
Thu, Jul 15, 1:36 PM
kib accepted D31185: Add __diagused.
Thu, Jul 15, 1:32 PM
kib added a comment to D31185: Add __diagused.

The added macro is affected by symbols from the user namespace. This is actually a feature for kernel compilation environment. It should be put e.g. into sys/systm.h, not into the common header that must be usable in all environments. And in sys/systm.h, it should be under #ifdef _KERNEL.

Thu, Jul 15, 10:42 AM
kib accepted D31179: Start to clean up arm64 address space selection.
Thu, Jul 15, 10:24 AM
kib updated the diff for D31163: Add sysctl vm.objects_swap.

Add the 'yield if hog' patch

Thu, Jul 15, 12:06 AM
kib committed R10:0bdb2cbf9d7c: procctl(PROC_ASLR_STATUS): fix vmspace leak (authored by kib).
procctl(PROC_ASLR_STATUS): fix vmspace leak
Thu, Jul 15, 12:03 AM

Wed, Jul 14

kib accepted D31181: arm64: Sync icache when creating executable superpage mappings.
Wed, Jul 14, 7:51 PM