X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=smalloc.c;h=cab7132511b1729b152278f119d300c83f54b5d2;hp=d038ac64ccfb8dedbe2801ed3630dafbb121b97c;hb=e8fb335e4a704786d9cd82224db187019000abef;hpb=c7334fa3f3be87854354044615b0c0e473c50713 diff --git a/smalloc.c b/smalloc.c index d038ac64..cab71325 100644 --- a/smalloc.c +++ b/smalloc.c @@ -13,6 +13,7 @@ #include #include +#include "fio.h" #include "mutex.h" #include "arch/arch.h" #include "os/os.h" @@ -188,7 +189,7 @@ static bool add_pool(struct pool *pool, unsigned int alloc_size) goto out_fail; pool->map = ptr; - pool->bitmap = (void *) ptr + (pool->nr_blocks * SMALLOC_BPL); + pool->bitmap = (unsigned int *)((char *) ptr + (pool->nr_blocks * SMALLOC_BPL)); memset(pool->bitmap, 0, bitmap_blocks * sizeof(unsigned int)); pool->lock = fio_mutex_init(FIO_MUTEX_UNLOCKED); @@ -248,7 +249,7 @@ static void *postred_ptr(struct block_hdr *hdr) uintptr_t ptr; ptr = (uintptr_t) hdr + hdr->size - sizeof(unsigned int); - ptr = (ptr + int_mask) & ~int_mask; + ptr = (uintptr_t) PTR_ALIGN(ptr, int_mask); return (void *) ptr; }