>>> On 17.10.17 at 15:24, <paul.durr...@citrix.com> wrote: > @@ -777,6 +887,52 @@ int hvm_get_ioreq_server_info(struct domain *d, > ioservid_t id, > return rc; > } > > +int hvm_get_ioreq_server_frame(struct domain *d, ioservid_t id,
There's another silent truncation issue here: Iirc ioservid_t is 16 bits. > @@ -3866,6 +3867,27 @@ int xenmem_add_to_physmap_one( > return rc; > } > > +int xenmem_acquire_ioreq_server(struct domain *d, unsigned int id, > + unsigned long frame, > + unsigned int nr_frames, > + unsigned long mfn_list[]) > +{ > + unsigned int i; > + > + for ( i = 0; i < nr_frames; i++ ) > + { > + mfn_t mfn; > + int rc = hvm_get_ioreq_server_frame(d, id, frame + i, &mfn); The caller here holds a 32-bit quantity in its hands, though. With the upper half suitably checked in either place Reviewed-by: Jan Beulich <jbeul...@suse.com> Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel