From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] xen/x86: Avoid undefined behaviour by shifting into a sign bit Date: Tue, 9 Aug 2016 13:48:03 +0100 Message-ID: <1470746884-27118-2-git-send-email-andrew.cooper3@citrix.com> References: <1470405013-18856-1-git-send-email-andrew.cooper3@citrix.com> <1470746884-27118-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470746884-27118-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KCnYyOgogKiBVc2Ug fjB1IGFzIG9wcG9zZWQgdG8gLTF1Ci0tLQogeGVuL2FyY2gveDg2L2FwaWMuYyAgICAgICAgICAg fCAyICstCiB4ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jICAgICB8IDIgKy0KIHhlbi9hcmNoL3g4 Ni94ODZfNjQvdHJhcHMuYyAgIHwgMiArLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9hcGljZGVmLmgg fCAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYXBpYy5jIGIveGVuL2FyY2gveDg2L2FwaWMuYwpp bmRleCBmMzcyN2NkLi4zZmI5YTgyIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYXBpYy5jCisr KyBiL3hlbi9hcmNoL3g4Ni9hcGljLmMKQEAgLTU3MSw3ICs1NzEsNyBAQCB2b2lkIHNldHVwX2xv Y2FsX0FQSUModm9pZCkKICAgICBmb3IgKGkgPSBBUElDX0lTUl9OUiAtIDE7IGkgPj0gMDsgaS0t KSB7CiAgICAgICAgIHZhbHVlID0gYXBpY19yZWFkKEFQSUNfSVNSICsgaSoweDEwKTsKICAgICAg ICAgZm9yIChqID0gMzE7IGogPj0gMDsgai0tKSB7Ci0gICAgICAgICAgICBpZiAodmFsdWUgJiAo MTw8aikpCisgICAgICAgICAgICBpZiAodmFsdWUgJiAoMXUgPDwgaikpCiAgICAgICAgICAgICAg ICAgYWNrX0FQSUNfaXJxKCk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvY3B1L2NvbW1vbi5jIGIveGVuL2FyY2gveDg2L2NwdS9jb21tb24uYwppbmRleCAyYzQ3 NTg5Li41NzdhMDFmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jCisrKyBi L3hlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMKQEAgLTQ3Niw3ICs0NzYsNyBAQCB2b2lkIGRldGVj dF9leHRlbmRlZF90b3BvbG9neShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiAJCXN1Yl9pbmRleCsr OwogCX0gd2hpbGUgKCBMRUFGQl9TVUJUWVBFKGVjeCkgIT0gSU5WQUxJRF9UWVBFICk7CiAKLQlj b3JlX3NlbGVjdF9tYXNrID0gKH4oLTEgPDwgY29yZV9wbHVzX21hc2tfd2lkdGgpKSA+PiBodF9t YXNrX3dpZHRoOworCWNvcmVfc2VsZWN0X21hc2sgPSAofih+MHUgPDwgY29yZV9wbHVzX21hc2tf d2lkdGgpKSA+PiBodF9tYXNrX3dpZHRoOwogCiAJYy0+Y3B1X2NvcmVfaWQgPSBwaHlzX3BrZ19p ZChpbml0aWFsX2FwaWNpZCwgaHRfbWFza193aWR0aCkKIAkJJiBjb3JlX3NlbGVjdF9tYXNrOwpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82NC90cmFwcy5jIGIveGVuL2FyY2gveDg2L3g4 Nl82NC90cmFwcy5jCmluZGV4IDE5ZjU4YTEuLjJkOGVjZjUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni94ODZfNjQvdHJhcHMuYworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L3RyYXBzLmMKQEAg LTQxNCw3ICs0MTQsNyBAQCB2b2lkIHN1YmFyY2hfcGVyY3B1X3RyYXBzX2luaXQodm9pZCkKICAg ICB1bm1hcF9kb21haW5fcGFnZShzdHViX3BhZ2UpOwogCiAgICAgLyogQ29tbW9uIFNZU0NBTEwg cGFyYW1ldGVycy4gKi8KLSAgICB3cm1zcihNU1JfU1RBUiwgMCwgKEZMQVRfUklORzNfQ1MzMjw8 MTYpIHwgX19IWVBFUlZJU09SX0NTKTsKKyAgICB3cm1zcihNU1JfU1RBUiwgMCwgKCh1bnNpZ25l ZCBpbnQpRkxBVF9SSU5HM19DUzMyIDw8IDE2KSB8IF9fSFlQRVJWSVNPUl9DUyk7CiAgICAgd3Jt c3IoTVNSX1NZU0NBTExfTUFTSywgWEVOX1NZU0NBTExfTUFTSywgMFUpOwogfQogCmRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2FwaWNkZWYuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv YXBpY2RlZi5oCmluZGV4IDg3NTIyODcuLmRhN2Y0ZDMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl L2FzbS14ODYvYXBpY2RlZi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvYXBpY2RlZi5oCkBA IC0zMCw3ICszMCw3IEBACiAjZGVmaW5lCQkJQVBJQ19FSU9fQUNLCQkweDAJCS8qIFdyaXRlIHRo aXMgdG8gdGhlIEVPSSByZWdpc3RlciAqLwogI2RlZmluZQkJQVBJQ19SUlIJMHhDMAogI2RlZmlu ZQkJQVBJQ19MRFIJMHhEMAotI2RlZmluZQkJCUFQSUNfTERSX01BU0sJCSgweEZGPDwyNCkKKyNk ZWZpbmUJCQlBUElDX0xEUl9NQVNLCQkoMHhGRnU8PDI0KQogI2RlZmluZQkJCUdFVF94QVBJQ19M T0dJQ0FMX0lEKHgpCSgoKHgpPj4yNCkmMHhGRikKICNkZWZpbmUJCQlTRVRfeEFQSUNfTE9HSUNB TF9JRCh4KQkoKCh4KTw8MjQpKQogI2RlZmluZQkJCUFQSUNfQUxMX0NQVVMJCTB4RkYKLS0gCjIu MS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==