From 386bd9cae471438a685234556111a01a666ca165 Mon Sep 17 00:00:00 2001 From: Neven Sajko Date: Tue, 7 Jan 2020 17:17:39 +0000 Subject: cmd/venti/srv: split memory allocation call This splits a certain vtmallocz call in mkihash into two vtmallocz calls. The first issue this fixes is that the C aliasing rules were not respected in the code before this commit. The other thing is that this enables better memory alignment guarantees. Updates #313 Change-Id: Ia4f3e0fc85facc778193f5e977d4f99a1a9abd23 --- src/cmd/venti/srv/icache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/cmd/venti/srv/icache.c b/src/cmd/venti/srv/icache.c index 3663345d..700da754 100644 --- a/src/cmd/venti/srv/icache.c +++ b/src/cmd/venti/srv/icache.c @@ -68,8 +68,8 @@ mkihash(int size1) size <<= 1; } - ih = vtmallocz(sizeof(IHash)+size*sizeof(ih->table[0])); - ih->table = (IEntry**)(ih+1); + ih = vtmallocz(sizeof(IHash)); + ih->table = vtmallocz(size * sizeof(ih->table[0])); ih->bits = bits; ih->size = size; return ih; -- cgit v1.2.3