All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH]fix xencomm_copy_{from, to}_guest.
@ 2007-01-05  3:19 Isaku Yamahata
  2007-01-08 22:51 ` [XenPPC] " Hollis Blanchard
  2007-01-09 19:24 ` Jerone Young
  0 siblings, 2 replies; 4+ messages in thread
From: Isaku Yamahata @ 2007-01-05  3:19 UTC (permalink / raw)
  To: xen-devel; +Cc: xen-ppc-devel, Hollis Blanchard, xen-ia64-devel

[-- Attachment #1: Type: text/plain, Size: 296 bytes --]


fix xencomm_copy_{from, to}_guest.
It should not call paddr_to_maddr() with invalid address.

Originally this issue was found in xen/ia64 xencomm code and
in fact I didn't test this patch because currently ia64 xencomm forked
from common code. They should be consolidated somehow.

-- 
yamahata

[-- Attachment #2: 13218_25cdcc5f21f8_fix_xencomm_copy_tofrom_guest.patch --]
[-- Type: text/plain, Size: 1254 bytes --]

# HG changeset patch
# User yamahata@valinux.co.jp
# Date 1167966417 -32400
# Node ID 25cdcc5f21f8147371aed5fb8f56d93479df0ca8
# Parent  338ceb7b1f0993bf9735c0c1c5d21e39c381cf2f
fix xencomm_copy_{from, to}_guest.
It should not call paddr_to_maddr() with invalid address.
PATCHNAME: fix_xencomm_copy_tofrom_guest

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>

diff -r 338ceb7b1f09 -r 25cdcc5f21f8 xen/common/xencomm.c
--- a/xen/common/xencomm.c	Thu Jan 04 10:58:01 2007 +0000
+++ b/xen/common/xencomm.c	Fri Jan 05 12:06:57 2007 +0900
@@ -119,7 +119,7 @@ xencomm_copy_from_guest(void *to, const 
         chunksz -= chunk_skip;
         skip -= chunk_skip;
 
-        if (skip == 0) {
+        if (skip == 0 && chunksz > 0) {
             unsigned long src_maddr;
             unsigned long dest = (unsigned long)to + to_pos;
             unsigned int bytes = min(chunksz, n - to_pos);
@@ -225,7 +225,7 @@ xencomm_copy_to_guest(void *to, const vo
         chunksz -= chunk_skip;
         skip -= chunk_skip;
 
-        if (skip == 0) {
+        if (skip == 0 && chunksz > 0) {
             unsigned long dest_maddr;
             unsigned long source = (unsigned long)from + from_pos;
             unsigned int bytes = min(chunksz, n - from_pos);

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-01-09 19:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-05  3:19 [PATCH]fix xencomm_copy_{from, to}_guest Isaku Yamahata
2007-01-08 22:51 ` [XenPPC] " Hollis Blanchard
2007-01-08 23:15   ` Jerone Young
2007-01-09 19:24 ` Jerone Young

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.