On 09/04/2015 19:24, Emilio G. Cota wrote:
> Since commit
>
> b7b5233a "bsd-user/mmap.c: Don't try to override g_malloc/g_free"
>
> the exception we make here for usermode has been unnecessary.
> Get rid of it.
>
> Signed-off-by: Emilio G. Cota <[email protected]>
> ---
> translate-all.c | 18 ++----------------
> 1 file changed, 2 insertions(+), 16 deletions(-)
>
> diff --git a/translate-all.c b/translate-all.c
> index 11763c6..3a6d116 100644
> --- a/translate-all.c
> +++ b/translate-all.c
> @@ -389,18 +389,6 @@ static PageDesc *page_find_alloc(tb_page_addr_t index,
> int alloc)
> void **lp;
> int i;
>
> -#if defined(CONFIG_USER_ONLY)
> - /* We can't use g_malloc because it may recurse into a locked mutex. */
> -# define ALLOC(P, SIZE) \
> - do { \
> - P = mmap(NULL, SIZE, PROT_READ | PROT_WRITE, \
> - MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); \
> - } while (0)
> -#else
> -# define ALLOC(P, SIZE) \
> - do { P = g_malloc0(SIZE); } while (0)
> -#endif
> -
> /* Level 1. Always allocated. */
> lp = l1_map + ((index >> V_L1_SHIFT) & (V_L1_SIZE - 1));
>
> @@ -412,7 +400,7 @@ static PageDesc *page_find_alloc(tb_page_addr_t index,
> int alloc)
> if (!alloc) {
> return NULL;
> }
> - ALLOC(p, sizeof(void *) * V_L2_SIZE);
> + p = g_malloc0(sizeof(void *) * V_L2_SIZE);
Using g_new0 would be even better. :)
Paolo
> *lp = p;
> }
>
> @@ -424,12 +412,10 @@ static PageDesc *page_find_alloc(tb_page_addr_t index,
> int alloc)
> if (!alloc) {
> return NULL;
> }
> - ALLOC(pd, sizeof(PageDesc) * V_L2_SIZE);
> + pd = g_malloc0(sizeof(PageDesc) * V_L2_SIZE);
> *lp = pd;
> }
>
> -#undef ALLOC
> -
> return pd + (index & (V_L2_SIZE - 1));
> }
>
>