HomeFreeBSD

libgeom: Fix segfault in 32-on-64 case

Description

libgeom: Fix segfault in 32-on-64 case

We were using strtoul() to parse object identifiers, which are kernel
pointers. This works fine as long as the kernel and userland match,
but in a 32-bit libgeom on a 64-bit kernel this will return ULONG_MAX
for all objects, resulting in memory corruption when we later pick the
wrong object while resolving consumer-producer references.

MFC after: 1 week
PR: 292127
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D54452

(cherry picked from commit 27894e20f140ee2729c14b589035870c8185b87d)

Details

Provenance
desAuthored on Jan 3 2026, 9:09 AM
Reviewer
imp
Differential Revision
D54452: libgeom: Fix segfault in 32-on-64 case
Parents
rG66206e00de17: linuxkpi: Correct kstrtobool
Branches
Unknown
Tags
Unknown