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/
Home Products Support Community News


[Xen-ia64-devel] A potential issue in allocate_rid_range()

To: <dan.magenheimer@xxxxxx>
Subject: [Xen-ia64-devel] A potential issue in allocate_rid_range()
From: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
Date: Fri, 2 Sep 2005 16:50:57 +0800
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 02 Sep 2005 08:48:53 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcWvm28RRoInUjMyTGGL87Yq27WpxA==
Thread-topic: [Xen-ia64-devel] A potential issue in allocate_rid_range()
Hi Dan,

n_rid_blocks should be the number of current domain occupying in
ridblock_owner array.
See below patch.
Because currently ridbits of each domain are 18, this bug isn't exposed,

if ridbits is 19 or bigger, domain can't allocate enough rids.

diff -r 8799d14bef77 xen/arch/ia64/regionreg.c
--- a/xen/arch/ia64/regionreg.c Thu Aug 25 22:53:20 2005
+++ b/xen/arch/ia64/regionreg.c Fri Sep  2 16:24:24 2005
@@ -116,7 +116,7 @@
        ridbits = IA64_MIN_IMPL_RID_BITS;

        // convert to rid_blocks and find one
-       n_rid_blocks = ridbits - IA64_MIN_IMPL_RID_BITS + 1;
+       n_rid_blocks = 1<<(ridbits - IA64_MIN_IMPL_RID_BITS) ;

        // skip over block 0, reserved for "meta-physical mappings (and
        for (i = n_rid_blocks; i < MAX_RID_BLOCKS; i += n_rid_blocks) {

Xen-ia64-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>