Changes pde_t* -> pgdir_t
[akaros.git] / kern / src / kmalloc.c
index 3f9ebbf..d1d14f6 100644 (file)
@@ -107,6 +107,7 @@ void *kmalloc_align(size_t size, int flags, size_t align)
        /* must fit in the space reserved for the offset amount, which is at most
         * 'align'. */
        assert(align < (1 << (32 - KMALLOC_ALIGN_SHIFT)));
+       assert(IS_PWR2(align));
        addr = kmalloc(size + align, flags);
        if (!addr)
                return 0;
@@ -136,8 +137,8 @@ static struct kmalloc_tag *__get_km_tag(void *buf)
        struct kmalloc_tag *tag = (struct kmalloc_tag*)(buf -
                                                    sizeof(struct kmalloc_tag));
        if (tag->canary != KMALLOC_CANARY){
-               printk("__get_km_tag bad canary: %08lx, expected %08lx\n", tag->canary,
-                      KMALLOC_CANARY);
+               printk("__get_km_tag bad canary: %08lx@%p, buf %p, expected %08lx\n",
+                      tag->canary, &tag->canary, buf, KMALLOC_CANARY);
                hexdump((void *)(buf - sizeof(struct kmalloc_tag)), 256);
                panic("Bad canary");
        }