Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Nov 2025 12:48:32 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        Konstantin Belousov <kostikbel@gmail.com>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: mmap( MAP_ANON) is broken on current. (was Still seeing Failed assertion: "p[i] == 0" on armv7 buildworld) [debug.vm_check_pg_zero=1 silent]
Message-ID:  <75CEABED-3CCB-4DB9-AC82-5980696C2A06@yahoo.com>
References:  <75CEABED-3CCB-4DB9-AC82-5980696C2A06.ref@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Konstantin Belousov <kostikbel_at_gmail.com> wrote on
Date: Sat, 22 Nov 2025 20:19:33 UTC :

> On Sat, Nov 22, 2025 at 08:54:21PM +0100, Michal Meloun wrote:
> > 
> > 
> > On 22.11.2025 19:45, Konstantin Belousov wrote:
> > > On Sat, Nov 22, 2025 at 07:01:03PM +0100, Michal Meloun wrote:
> > > > > Would you please gather the same ddebugging info, with this patch applied?
> > > > Oups, sorry.
> > > > In meantime, next round with he vm_map patch finished successfully.
> > > 
> > > It was still the case of coalescing previous entry and the mapping.
> > > 
> > > It is weird, the patch ensures that there is no pages in the object
> > > backing the new region, and due to the ensured properties of the object,
> > > there should be no way to create pages under us.
> > > I am almost sure that the provided patch is correct, but it might be
> > > some additional cases that I miss.
> > > 
> > > Please apply the following debugging patch, it includes the vm_object'
> > > part. Instead of allowing the corruption in userspace, kernel should
> > > panic now. Can you confirm that?
> > > 
> > > diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c
> > > . . .
> > 
> > Unfortunately, KASSERT doesn't assert on failure. Don't hit me, please. :)
> > 
> > . . .
> > ...
> Please in addition to the patch, enable debug.vm_check_pg_zero.


# sysctl debug.vm_check_pg_zero=1
debug.vm_check_pg_zero: 0 -> 1
# sysctl debug.vm_check_pg_zero
debug.vm_check_pg_zero: 1
# env WITH_META_MODE= make -j10 buildworld
--- buildworld ---
. . .
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaCodeComplete.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaConcept.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaConsumer.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaCoroutine.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaDecl.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaDeclAttr.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaDeclCXX.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaDeclObjC.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaExceptionSpec.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaExpr.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaExprCXX.pico
Building /usr/obj/usr/src/i386.i386/lib/clang/libclang/Sema/SemaExprMember.pico
<jemalloc>: /usr/src/contrib/jemalloc/include/jemalloc/internal/ehooks.h:170: Failed assertion: "p[i] == 0"
Abort trap (core dumped)
*** [Sema/SemaCodeComplete.pico] Error code 134
. . .



===
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?75CEABED-3CCB-4DB9-AC82-5980696C2A06>