From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 1/3] xen/common: Avoid undefined behaviour by shifting into a sign bit Date: Fri, 5 Aug 2016 14:50:11 +0100 Message-ID: <1470405013-18856-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: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Stefano Stabellini , George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K LS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBHZW9yZ2UgRHVubGFw IDxHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+CkNDOiBLb25yYWQgUnplc3p1dGVrIFdpbGsg PGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxs aW5pQGtlcm5lbC5vcmc+CkNDOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KLS0tCiB4ZW4vY29t bW9uL2RvbWN0bC5jICAgICAgIHwgMiArLQogeGVuL2NvbW1vbi94bWFsbG9jX3Rsc2YuYyB8IDQg KystLQogeGVuL2luY2x1ZGUveGVuL3NjaGVkLmggICB8IDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24v ZG9tY3RsLmMgYi94ZW4vY29tbW9uL2RvbWN0bC5jCmluZGV4IDhmMjUxMzEuLmNmNzkyOGMgMTAw NjQ0Ci0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMKKysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpA QCAtMTg4LDcgKzE4OCw3IEBAIHZvaWQgZ2V0ZG9tYWluaW5mbyhzdHJ1Y3QgZG9tYWluICpkLCBz dHJ1Y3QgeGVuX2RvbWN0bF9nZXRkb21haW5pbmZvICppbmZvKQogICAgICAgICAoZC0+Y29udHJv bGxlcl9wYXVzZV9jb3VudCA+IDAgID8gWEVOX0RPTUlORl9wYXVzZWQgICAgOiAwKSB8CiAgICAg ICAgIChkLT5kZWJ1Z2dlcl9hdHRhY2hlZCAgICAgICAgICAgPyBYRU5fRE9NSU5GX2RlYnVnZ2Vk ICA6IDApIHwKICAgICAgICAgKGQtPmlzX3hlbnN0b3JlICAgICAgICAgICAgICAgICA/IFhFTl9E T01JTkZfeHNfZG9tYWluIDogMCkgfAotICAgICAgICBkLT5zaHV0ZG93bl9jb2RlIDw8IFhFTl9E T01JTkZfc2h1dGRvd25zaGlmdDsKKyAgICAgICAgKHVuc2lnbmVkIGludClkLT5zaHV0ZG93bl9j b2RlIDw8IFhFTl9ET01JTkZfc2h1dGRvd25zaGlmdDsKIAogICAgIHN3aXRjaCAoIGQtPmd1ZXN0 X3R5cGUgKQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24veG1hbGxvY190bHNmLmMgYi94 ZW4vY29tbW9uL3htYWxsb2NfdGxzZi5jCmluZGV4IGIxMzMxN2UuLjZjMWI4ODIgMTAwNjQ0Ci0t LSBhL3hlbi9jb21tb24veG1hbGxvY190bHNmLmMKKysrIGIveGVuL2NvbW1vbi94bWFsbG9jX3Rs c2YuYwpAQCAtMTc3LDcgKzE3Nyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBNQVBQSU5HX0lOU0VS VCh1bnNpZ25lZCBsb25nIHIsIGludCAqZmwsIGludCAqc2wpCiBzdGF0aWMgaW5saW5lIHN0cnVj dCBiaGRyICpGSU5EX1NVSVRBQkxFX0JMT0NLKHN0cnVjdCB4bWVtX3Bvb2wgKnAsIGludCAqZmws CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAqc2wp CiB7Ci0gICAgdTMyIHRtcCA9IHAtPnNsX2JpdG1hcFsqZmxdICYgKH4wIDw8ICpzbCk7CisgICAg dTMyIHRtcCA9IHAtPnNsX2JpdG1hcFsqZmxdICYgKH4wdSA8PCAqc2wpOwogICAgIHN0cnVjdCBi aGRyICpiID0gTlVMTDsKIAogICAgIGlmICggdG1wICkKQEAgLTE4Nyw3ICsxODcsNyBAQCBzdGF0 aWMgaW5saW5lIHN0cnVjdCBiaGRyICpGSU5EX1NVSVRBQkxFX0JMT0NLKHN0cnVjdCB4bWVtX3Bv b2wgKnAsIGludCAqZmwsCiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAgICpmbCA9IGZm cyhwLT5mbF9iaXRtYXAgJiAofjAgPDwgKCpmbCArIDEpKSkgLSAxOworICAgICAgICAqZmwgPSBm ZnMocC0+ZmxfYml0bWFwICYgKH4wdSA8PCAoKmZsICsgMSkpKSAtIDE7CiAgICAgICAgIGlmICgg bGlrZWx5KCpmbCA+IDApICkKICAgICAgICAgewogICAgICAgICAgICAgKnNsID0gZmZzKHAtPnNs X2JpdG1hcFsqZmxdKSAtIDE7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCBi L3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oCmluZGV4IDg4OGJjMTkuLmJiNGVlNGUgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5o CkBAIC00ODMsNyArNDgzLDcgQEAgZXh0ZXJuIHN0cnVjdCB2Y3B1ICppZGxlX3ZjcHVbTlJfQ1BV U107CiAjZGVmaW5lIGlzX2lkbGVfZG9tYWluKGQpICgoZCktPmRvbWFpbl9pZCA9PSBET01JRF9J RExFKQogI2RlZmluZSBpc19pZGxlX3ZjcHUodikgICAoaXNfaWRsZV9kb21haW4oKHYpLT5kb21h aW4pKQogCi0jZGVmaW5lIERPTUFJTl9ERVNUUk9ZRUQgKDE8PDMxKSAvKiBhc3N1bWVzIGF0b21p Y190IGlzID49IDMyIGJpdHMgKi8KKyNkZWZpbmUgRE9NQUlOX0RFU1RST1lFRCAoMXUgPDwgMzEp IC8qIGFzc3VtZXMgYXRvbWljX3QgaXMgPj0gMzIgYml0cyAqLwogI2RlZmluZSBwdXRfZG9tYWlu KF9kKSBcCiAgIGlmICggYXRvbWljX2RlY19hbmRfdGVzdCgmKF9kKS0+cmVmY250KSApIGRvbWFp bl9kZXN0cm95KF9kKQogCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=