diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c index cf472912164b..a40aa5a358c8 100644 --- a/sys/kern/kern_umtx.c +++ b/sys/kern/kern_umtx.c @@ -820,8 +820,8 @@ umtx_key_get(const void *addr, int type, int share, struct umtx_key *key) (share == AUTO_SHARE && VM_INHERIT_SHARE == entry->inheritance)) { key->shared = 1; - key->info.shared.offset = entry->offset + entry->start - - (vm_offset_t)addr; + key->info.shared.offset = (vm_offset_t)addr - + entry->start + entry->offset; vm_object_reference(key->info.shared.object); } else { key->shared = 0;