ACK: [PATCH] lib: fwts_alloc: use plain old mmap on 32 bit machines (LP: #1204065)
Alex Hung
alex.hung at canonical.com
Mon Jul 29 08:18:06 UTC 2013
On 07/26/2013 11:15 PM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> For 32 bit machines, we know that we're going to get a 32 bit mmap'd
> address, so there is no need to lark about with forcing a low 32 bit
> allocation. We only really need to fret about this for 64 bit systems.
> So, just do a normal mmap for 32 bit.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/lib/src/fwts_alloc.c | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/src/lib/src/fwts_alloc.c b/src/lib/src/fwts_alloc.c
> index 5ea759a..667e8fd 100644
> --- a/src/lib/src/fwts_alloc.c
> +++ b/src/lib/src/fwts_alloc.c
> @@ -122,10 +122,15 @@ void *fwts_low_calloc(const size_t nmemb, const size_t size)
> ret = mmap(NULL, n, PROT_READ | PROT_WRITE,
> MAP_PRIVATE | MAP_ANONYMOUS | MAP_32BIT, -1, 0);
> #else
> - /* We don't have a native MAP_32BIT, so bodge our own */
> - ret = fwts_low_mmap(n);
> + if (sizeof(void *) == 4) {
> + /* 32 bit mmap by default */
> + ret = mmap(NULL, n, PROT_READ | PROT_WRITE,
> + MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
> + } else {
> + /* We don't have a native MAP_32BIT, so bodge our own */
> + ret = fwts_low_mmap(n);
> + }
> #endif
> -
> if (ret == MAP_FAILED)
> return NULL;
>
>
Acked-by: Alex Hung <alex.hung at canonical.com>
More information about the fwts-devel
mailing list