Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jun 2018 00:23:36 +0200
From:      Emmanuel Vadot <manu@bidouilliste.com>
To:        "Jonathan T. Looney" <jtl@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r335068 - in head: share/man/man9 sys/amd64/amd64 sys/i386/i386 sys/kern sys/net sys/sys sys/vm
Message-ID:  <20180615002336.fcb966efe812cd60af59f68f@bidouilliste.com>
In-Reply-To: <201806131704.w5DH4gLv048134@repo.freebsd.org>
References:  <201806131704.w5DH4gLv048134@repo.freebsd.org>

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

 Hi Jonathan,

On Wed, 13 Jun 2018 17:04:42 +0000 (UTC)
"Jonathan T. Looney" <jtl@FreeBSD.org> wrote:

> Author: jtl
> Date: Wed Jun 13 17:04:41 2018
> New Revision: 335068
> URL: https://svnweb.freebsd.org/changeset/base/335068
> 
> Log:
>   Make UMA and malloc(9) return non-executable memory in most cases.
>   
>   Most kernel memory that is allocated after boot does not need to be
>   executable.  There are a few exceptions.  For example, kernel modules
>   do need executable memory, but they don't use UMA or malloc(9).  The
>   BPF JIT compiler also needs executable memory and did use malloc(9)
>   until r317072.
>   
>   (Note that a side effect of r316767 was that the "small allocation"
>   path in UMA on amd64 already returned non-executable memory.  This
>   meant that some calls to malloc(9) or the UMA zone(9) allocator could
>   return executable memory, while others could return non-executable
>   memory.  This change makes the behavior consistent.)
>   
>   This change makes malloc(9) return non-executable memory unless the new
>   M_EXEC flag is specified.  After this change, the UMA zone(9) allocator
>   will always return non-executable memory, and a KASSERT will catch
>   attempts to use the M_EXEC flag to allocate executable memory using
>   uma_zalloc() or its variants.
>   
>   Allocations that do need executable memory have various choices.  They
>   may use the M_EXEC flag to malloc(9), or they may use a different VM
>   interfact to obtain executable pages.
>   
>   Now that malloc(9) again allows executable allocations, this change also
>   reverts most of r317072.
>   
>   PR:		228927
>   Reviewed by:	alc, kib, markj, jhb (previous version)
>   Sponsored by:	Netflix
>   Differential Revision:	https://reviews.freebsd.org/D15691

 This brake module loading on armv7 and arm64
 kevans log on armv7 :
https://gist.github.com/kevans91/d0ffcd6c94a0e4cdfdc5433612fce2e8
 mine on arm64 : http://dpaste.com/3VVBZDV

 Do you have any idea what could cause that ? Is any MD stuff is
missing for those arches ?

 Thanks,

-- 
Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180615002336.fcb966efe812cd60af59f68f>