]> Zhao Yanbai Git Server - minix.git/commitdiff
VM: align frame buffer 71/3171/1
authorDavid van Moolenbroek <david@minix3.org>
Fri, 4 Sep 2015 01:19:59 +0000 (03:19 +0200)
committerDavid van Moolenbroek <david@minix3.org>
Thu, 17 Sep 2015 17:14:38 +0000 (17:14 +0000)
Lack of alignment causes minix_stack_fill to produce an incorrect
frame layout, subsequently resulting in a crash of the started
process.  For now, we assume that the other callers of
minix_stack_fill do get an aligned buffer through sbrk(3), but this
may have to be changed later as well.

Change-Id: I1575bd62b050749d1a1aae7417310c91713462c3

minix/servers/vm/main.c

index 884fb43e1e8cbd9ca73ee0c6857114001652b647..9f939da8c5aca56aa0524f6a969d3f7f58e360d9 100644 (file)
@@ -346,7 +346,7 @@ static void exec_bootproc(struct vmproc *vmp, struct boot_image *ip)
        char *argv[] = { ip->proc_name, NULL };
        char *envp[] = { NULL };
        char *path = ip->proc_name;
-       char frame[VM_PAGE_SIZE];
+       char frame[VM_PAGE_SIZE] __aligned(sizeof(void *));
 
        memset(&vmexeci, 0, sizeof(vmexeci));