From b9811b0aefb701d89cbc0ac505537b6b4287be41 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Sun, 18 Jan 2004 18:10:14 -0800 Subject: [PATCH] [PATCH] ppc64: HvCall_writeLogBuffer called with too large of a buffer From: Anton Blanchard HvCall_writeLogBuffer called with too large of a buffer --- arch/ppc64/kernel/HvCall.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/ppc64/kernel/HvCall.c b/arch/ppc64/kernel/HvCall.c index 980cff0edc9de..c3ec634f3d217 100644 --- a/arch/ppc64/kernel/HvCall.c +++ b/arch/ppc64/kernel/HvCall.c @@ -90,11 +90,11 @@ void HvCall_writeLogBuffer(const void *buffer, u64 bufLen) struct HvLpBufferList bufList; u64 bytesLeft = bufLen; u64 leftThisPage; - u64 curPtr = virt_to_absolute( (unsigned long) buffer ); + u64 curPtr = virt_to_absolute((unsigned long) buffer); while (bytesLeft) { bufList.addr = curPtr; - + leftThisPage = ((curPtr & PAGE_MASK) + PAGE_SIZE) - curPtr; if (leftThisPage > bytesLeft) { @@ -105,11 +105,11 @@ void HvCall_writeLogBuffer(const void *buffer, u64 bufLen) bytesLeft -= leftThisPage; } - curPtr = (curPtr & PAGE_MASK) + PAGE_SIZE; - } - - HvCall2(HvCallBaseWriteLogBuffer, - virt_to_absolute((unsigned long)&bufList), bufLen); + HvCall2(HvCallBaseWriteLogBuffer, + virt_to_absolute((unsigned long) &bufList), + bufList.len); + curPtr = (curPtr & PAGE_MASK) + PAGE_SIZE; + } } -- 2.53.0