From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: Re: [PATCH v2] libxl: memory size in kb requires 64 bit variable Date: Thu, 28 Jul 2016 14:11:43 +0200 Message-ID: <1469707903.5501.3.camel@citrix.com> References: <1469170393-9487-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4631251125569496930==" Return-path: In-Reply-To: <1469170393-9487-1-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Juergen Gross , xen-devel@lists.xen.org Cc: ian.jackson@eu.citrix.com, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org --===============4631251125569496930== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="=-zlBWL13s8QnVjypTZd9K" --=-zlBWL13s8QnVjypTZd9K Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 2016-07-22 at 08:53 +0200, Juergen Gross wrote: > libxl_set_memory_target() and several other interface functions of > libxl use a 32 bit sized parameter for a memory size value in kBytes. > This limits the maximum size to be passed in such a parameter > depending on signedness of the parameter to 2TB or 4TB. >=20 > Correct this by using 64 bit types. >=20 > Signed-off-by: Juergen Gross > Reviewed-by: Dario Faggioli Entirely out of folklore, it seems to me that this function... > @@ -5057,8 +5057,28 @@ out: > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0return rc; > =C2=A0} > =C2=A0 > +static int libxl__memkb_32to64(libxl_ctx *ctx, int rc, > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0uint64_t val64, uint32_t *ptr32) > +{ > +=C2=A0=C2=A0=C2=A0=C2=A0GC_INIT(ctx); > + > +=C2=A0=C2=A0=C2=A0=C2=A0if (rc) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0goto out; > + > +=C2=A0=C2=A0=C2=A0=C2=A0*ptr32 =3D val64; > +=C2=A0=C2=A0=C2=A0=C2=A0if (*ptr32 =3D=3D val64) > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0goto out; > + > +=C2=A0=C2=A0=C2=A0=C2=A0LOGE(ERROR, "memory size %"PRIu64" too large for= 32 bit > value\n", val64); > +=C2=A0=C2=A0=C2=A0=C2=A0rc =3D ERROR_FAIL; > + > +out: > +=C2=A0=C2=A0=C2=A0=C2=A0GC_FREE; > +=C2=A0=C2=A0=C2=A0=C2=A0return rc; > +} > + ...does more 64to32 then 32to64, but maybe that's me, and, anyway, it's certainly not a big deal. Regards, Dario --=20 <> (Raistlin Majere) ----------------------------------------------------------------- Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK) --=-zlBWL13s8QnVjypTZd9K Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJXmfaAAAoJEBZCeImluHPuXpcQAKzF/v/+qTlZd+nWVkJmVcHl 0WZ3yy9YiADMccYqxWhalKkT7KMNbTgUbUMtHFjh5kg83Fs7GxKopgdyatV8nNRU dDSi8PA6eGANRwYtIwDgDrvKlc4WTkVLpAqSuwnACfHdSGRslf8RGQcYpw5TNPhJ d9Gvq0ZE0dNws3CVN+WU6cO68sQuO2HaR/gR/2bhVkpfUQF+G+ndiFps9McXyp+H Gv+Ez0QB7nYALqTI3yehFD0NSABpoQ2OdtlnuUpd5QiIPsJDAtMdSjAADZlGgOax e5kVcZLgHlkSW5KIniOqmYdSRF/Uj8jSq4pVwMb7jiol0ipVoUw+kQ6bBlX12I8+ I19AJ00e1ix7z+jB4MM1oPqFw+rh2kTol7A6KMIQXswER/jimy94uMg1NKGvfFIk qXwd9Z4zgEcep7UrmTSIoYpWW5yCYg8R5EeBF0ddAhD8D79Yc3CrtKRNmnrjUNtO EU0A1xMG4wsuZxM8hoou6s1NO0gUjUlcIiCm3spVFqCF6/x0fiCkhrveNV7TUSdc 64P5eNckWS+TA6RRnn56ldeha4XI0nk1w1abUNrHpbuo2sHIwWZXEH8pxf4blo/5 0fXVQU9fhkeXZuoF2v5G3IEd56xZPjOMapCg86UItC6FYNlx90Wxeahxq7vQaBHo 8ahI62jtw1EEHYeIK0BS =EW/B -----END PGP SIGNATURE----- --=-zlBWL13s8QnVjypTZd9K-- --===============4631251125569496930== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg== --===============4631251125569496930==--