[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [v10][PATCH 11/16] tools/libxl: detect and avoid conflicts with RDM

+int libxl__domain_device_construct_rdm(libxl__gc *gc,
+                                       libxl_domain_config *d_config,
+                                       uint64_t rdm_mem_boundary,
+                                       struct xc_hvm_build_args *args)
+    /* Query all RDM entries in this platform */
+    if (strategy == LIBXL_RDM_RESERVE_STRATEGY_HOST) {
+    } else {
+        d_config->num_rdms = 0;
+    }

Does this not override the domain configuration's num_rdms ?  I don't

We don't have the specific "num_rdms" parameter in .cfg so I don't
understand what you mean here.

The domain configuration specified to libxl might contain some rdms.
Then num_rdms in the incoming config would be nonzero.

We never set d_config->num_rdms/d_config->rdms before we goes inside libxl__domain_device_construct_rdm(). And actually libxl__domain_device_construct_rdm is only one place to set d_config->num_rdms/d_config->rdms.

I guess this line make you or other guys confused so lets delete this line directly.

And if you still worry about something, I can add assert() at the beginning of this function like this,

assert(!d_config->num_rdms && !d_config->rdms).


So I think there are two problems here:

1. If that were the case you would leak the application's rdms array.

2. Anyway, if the caller specifies such an array you should use it.
    (Fixing this would avoid (1) in any case.)


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.