WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] [IA64] work around for skbuff_ctor() on n

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] work around for skbuff_ctor() on non-privileged domain
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 16 Jun 2006 18:41:40 +0000
Delivery-date: Fri, 16 Jun 2006 11:47:55 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 511ced94839002915b6f63d2b6d0a8765c80f3d6
# Parent  a5bf90abcbe88e59f3f24dcd6dafddfe37c38330
[IA64] work around for skbuff_ctor() on non-privileged domain

populate physmap/increase reservation hypercall fail with
extent order > 0 on non-privileged domain.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletion(-)

diff -r a5bf90abcbe8 -r 511ced948390 
linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c
--- a/linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c   Thu Jun 15 08:56:47 
2006 -0600
+++ b/linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c   Thu Jun 15 09:10:14 
2006 -0600
@@ -76,6 +76,15 @@ ia64_xenmem_reservation_op(unsigned long
                        }
                        break;
                }
+               if (tmp_ret == 0) {
+                       //XXX dirty work around for skbuff_ctor()
+                       //    of a non-privileged domain, 
+                       if ((op == XENMEM_increase_reservation ||
+                            op == XENMEM_populate_physmap) &&
+                           !(xen_start_info->flags & SIF_PRIVILEGED) &&
+                           reservation.extent_order > 0)
+                               return ret;
+               }
                frame_list += tmp_ret;
                nr_extents -= tmp_ret;
                ret += tmp_ret;
@@ -165,7 +174,12 @@ HYPERVISOR_populate_physmap(unsigned lon
         };
        set_xen_guest_handle(reservation.extent_start, &gpfn);
        ret = HYPERVISOR_memory_op(XENMEM_populate_physmap, &reservation);
-       BUG_ON(ret != 1);
+       // it may fail on non-privileged domain with extent_order > 0.
+       BUG_ON(ret != 1 &&
+              !(ret == 0 && !(xen_start_info->flags & SIF_PRIVILEGED) &&
+                extent_order > 0));
+       if (ret != 1)
+               return -EINVAL;//XXX
        return 0;
 }
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [IA64] work around for skbuff_ctor() on non-privileged domain, Xen patchbot-unstable <=