[CRIU] [PATCH] rst alloc: align on reporting cpos too
Tycho Andersen
tycho.andersen at canonical.com
Tue Feb 9 09:38:36 PST 2016
Since we align in rst_mem_alloc, we should also align when reporting the
current position; if we don't and things get unlucky, we report a different
position than where the pointer is actually allocated, which fucks things
up quite bad :)
Closes #111
Signed-off-by: Tycho Andersen <tycho.andersen at canonical.com>
---
rst-malloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rst-malloc.c b/rst-malloc.c
index 3556980..8e17255 100644
--- a/rst-malloc.c
+++ b/rst-malloc.c
@@ -128,7 +128,7 @@ unsigned long rst_mem_cpos(int type)
{
struct rst_mem_type_s *t = &rst_mems[type];
BUG_ON(!t->remapable || !t->enabled);
- return t->free_mem - t->buf;
+ return ((void*) round_up((unsigned long)t->free_mem, sizeof(void *))) - t->buf;
}
void *rst_mem_remap_ptr(unsigned long pos, int type)
--
2.7.0.rc3
More information about the CRIU
mailing list