From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Marczykowski Subject: Re: [PATCH] libxc: fix xc_gntshr_munmap semantic Date: Fri, 26 Apr 2013 16:01:45 +0200 Message-ID: <517A88C9.7090705@invisiblethingslab.com> References: <517A840F.7060105@invisiblethingslab.com> <20130426134535.5BA912AE@duch.mimuw.edu.pl> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6040341498846774354==" Return-path: In-Reply-To: <20130426134535.5BA912AE@duch.mimuw.edu.pl> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Marek Marczykowski Cc: Ian Campbell , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --===============6040341498846774354== Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig266FC24A160651292D80F500" This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig266FC24A160651292D80F500 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable CC'ed Ian. On 26.04.2013 14:40, Marek Marczykowski wrote: > "count" parameter should be pages count (as stated in comment in > xenctrl.h), not bytes count. > This patch fixes also the only user of this function (in xen sources) -= > libvchan. >=20 > Signed-off-by: Marek Marczykowski > --- > tools/libvchan/init.c | 4 ++-- > tools/libvchan/io.c | 10 ++++++---- > tools/libxc/xc_linux_osdep.c | 2 +- > 3 files changed, 9 insertions(+), 7 deletions(-) >=20 > diff --git a/tools/libvchan/init.c b/tools/libvchan/init.c > index 0c7cff6..f0d2505 100644 > --- a/tools/libvchan/init.c > +++ b/tools/libvchan/init.c > @@ -129,9 +129,9 @@ out: > return ring_ref; > out_unmap_left: > if (pages_left) > - xc_gntshr_munmap(ctrl->gntshr, ctrl->read.buffer, pages_left * PAGE_= SIZE); > + xc_gntshr_munmap(ctrl->gntshr, ctrl->read.buffer, pages_left); > out_ring: > - xc_gntshr_munmap(ctrl->gntshr, ring, PAGE_SIZE); > + xc_gntshr_munmap(ctrl->gntshr, ring, 1); > ring_ref =3D -1; > ctrl->ring =3D NULL; > ctrl->write.order =3D ctrl->read.order =3D 0; > diff --git a/tools/libvchan/io.c b/tools/libvchan/io.c > index 3c8d236..3040099 100644 > --- a/tools/libvchan/io.c > +++ b/tools/libvchan/io.c > @@ -324,16 +324,18 @@ void libxenvchan_close(struct libxenvchan *ctrl) > if (!ctrl) > return; > if (ctrl->read.order >=3D PAGE_SHIFT) > - munmap(ctrl->read.buffer, 1 << ctrl->read.order); > + xc_gntshr_munmap(ctrl->gntshr, ctrl->read.buffer, > + 1 << (ctrl->read.order - PAGE_SHIFT)); > if (ctrl->write.order >=3D PAGE_SHIFT) > - munmap(ctrl->write.buffer, 1 << ctrl->write.order); > + xc_gntshr_munmap(ctrl->gntshr, ctrl->write.buffer, > + 1 << (ctrl->write.order - PAGE_SHIFT)); > if (ctrl->ring) { > if (ctrl->is_server) { > ctrl->ring->srv_live =3D 0; > - xc_gntshr_munmap(ctrl->gntshr, ctrl->ring, PAGE_SIZE); > + xc_gntshr_munmap(ctrl->gntshr, ctrl->ring, 1); > } else { > ctrl->ring->cli_live =3D 0; > - xc_gnttab_munmap(ctrl->gnttab, ctrl->ring, PAGE_SIZE); > + xc_gnttab_munmap(ctrl->gnttab, ctrl->ring, 1); > } > } > if (ctrl->event) { > diff --git a/tools/libxc/xc_linux_osdep.c b/tools/libxc/xc_linux_osdep.= c > index 36832b6..3c43fca 100644 > --- a/tools/libxc/xc_linux_osdep.c > +++ b/tools/libxc/xc_linux_osdep.c > @@ -825,7 +825,7 @@ static void *linux_gntshr_share_pages(xc_gntshr *xc= h, xc_osdep_handle h, > static int linux_gntshr_munmap(xc_gntshr *xcg, xc_osdep_handle h, > void *start_address, uint32_t count) > { > - return munmap(start_address, count); > + return munmap(start_address, count * XC_PAGE_SIZE); > } > =20 > static struct xc_osdep_ops linux_gntshr_ops =3D { >=20 --=20 Best Regards / Pozdrawiam, Marek Marczykowski Invisible Things Lab --------------enig266FC24A160651292D80F500 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) Comment: Using GnuPG with undefined - http://www.enigmail.net/ iQEcBAEBAgAGBQJReojJAAoJENuP0xzK19cscbYH/0ieGp8jCuyK1wF0xd0k9xBZ 6IuDUNwABx4GrTpV9Yfc8rhraksMdW+iPyikVsu25HXh7qOfO6JO2faoOQfTSp34 n2mNBfA7QlYZuHeFj4nY/rIxc/xIy6JsubiwWWW5sUhhkojpusv7dkCNIs1PkymV Ezy6gQykurRYwNEmASaWC7Es58iD807mHlH3TTa8BYUy1kuTc3uuLNi87U3Zanzc ccTGkPltikYf5NT/Mp6vGe39GdM/4RNPejpBgPbgTwacSGSdYLFFPVl4aT+8db4O HRww/JEtQ/VKEGCvUwizUZ/hENN8uYGRP1pgC2a1WFWrAC07GAlCkelaWyBWk0w= =R51u -----END PGP SIGNATURE----- --------------enig266FC24A160651292D80F500-- --===============6040341498846774354== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============6040341498846774354==--