* [PATCH] lguest: fix out-by-one error in address checking.
@ 2015-05-27 1:29 Rusty Russell
0 siblings, 0 replies; only message in thread
From: Rusty Russell @ 2015-05-27 1:29 UTC (permalink / raw)
To: torvalds; +Cc: lguest, LKML
This bug has been there since day 1; addresses in the top guest
physical page weren't considered valid. You could map that page (the
check in check_gpte() is correct), but if a guest tried to put a
pagetable there we'd check that address manually when walking it, and
kill the guest.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: stable@kernel.org
diff --git a/drivers/lguest/core.c b/drivers/lguest/core.c
index 7dc93aa004c8..312ffd3d0017 100644
--- a/drivers/lguest/core.c
+++ b/drivers/lguest/core.c
@@ -173,7 +173,7 @@ static void unmap_switcher(void)
bool lguest_address_ok(const struct lguest *lg,
unsigned long addr, unsigned long len)
{
- return (addr+len) / PAGE_SIZE < lg->pfn_limit && (addr+len >= addr);
+ return addr+len <= lg->pfn_limit * PAGE_SIZE && (addr+len >= addr);
}
/*
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-05-27 1:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-27 1:29 [PATCH] lguest: fix out-by-one error in address checking Rusty Russell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.