From a10f4b861c9c7f0e57a0f8eec6f62afd00d5f4b4 Mon Sep 17 00:00:00 2001 From: Dominique Martinet Date: Tue, 29 Jan 2019 16:45:35 +0900 Subject: [PATCH] do_pageout: fix direct kernel-user access Change-Id: Ie02faca93fdb0d52d72e1f2aa1384a214c84ebff Fujitsu: POSTK_DEBUG_ARCH_DEP_46 --- executer/kernel/mcctrl/arch/x86_64/archdeps.c | 1 + kernel/pager.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/executer/kernel/mcctrl/arch/x86_64/archdeps.c b/executer/kernel/mcctrl/arch/x86_64/archdeps.c index 68775853..2cd88941 100644 --- a/executer/kernel/mcctrl/arch/x86_64/archdeps.c +++ b/executer/kernel/mcctrl/arch/x86_64/archdeps.c @@ -1,6 +1,7 @@ /* archdeps.c COPYRIGHT FUJITSU LIMITED 2016 */ #include #include +#include #include "../../../config.h" #include "../../mcctrl.h" diff --git a/kernel/pager.c b/kernel/pager.c index b06c7f02..f5373471 100644 --- a/kernel/pager.c +++ b/kernel/pager.c @@ -725,7 +725,7 @@ do_pageout(char *fname, void *buf, size_t size, int flag) return cc; } si->udata_buf = myalloc(si, UDATA_BUFSIZE); - si->swapfname = kmalloc(strlen(fname) + 1, IHK_MC_AP_NOWAIT); + si->swapfname = kmalloc(strlen_user(fname) + 1, IHK_MC_AP_NOWAIT); if (si->swapfname == NULL) { kfree(si); ekprintf("do_pageout: Cannot allocate working memory in kmalloc\n");