From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PULL 1/2] xen/blkif: avoid double access to any shared ring request fields Date: Tue, 14 Jun 2016 16:05:37 +0100 Message-ID: <1465916738-15687-1-git-send-email-sstabellini@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: peter.maydell@linaro.org Cc: anthony.perard@citrix.com, sstabellini@kernel.org, qemu-devel@nongnu.org, Jan Beulich , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org RnJvbTogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgoKQ29tbWl0IGY5ZTk4ZTVkN2Eg KCJ4ZW4vYmxraWY6IEF2b2lkIGRvdWJsZSBhY2Nlc3MgdG8Kc3JjLT5ucl9zZWdtZW50cyIpIGRp ZG4ndCBnbyBmYXIgZW5vdWdoOiBzcmMtPm9wZXJhdGlvbiBpcyBhbHNvIGJlaW5nCnVzZWQgdHdp Y2UuIEFuZCBub3RoaW5nIHdhcyBkb25lIHRvIHByZXZlbnQgdGhlIGNvbXBpbGVyIGZyb20gdXNp bmcgdGhlCnNvdXJjZSBzaWRlIG9mIHRoZSBjb3B5IGRvbmUgYnkgYmxrX2dldF9yZXF1ZXN0KCkg KGdyYW50ZWQgdGhhdCdzIHZlcnkKdW5saWtlbHkpLgoKTW92ZSB0aGUgYmFycmllcigpcyB1cCwg YW5kIGFkZCBhbm90aGVyIG9uZSB0byBibGtfZ2V0X3JlcXVlc3QoKS4KCk5vdGUgdGhhdCBmb3Ig Y29tcGxldGluZyBYU0EtMTU1LCB0aGUgYmFycmllcigpIGdldHRpbmcgYWRkZWQgdG8KYmxrX2dl dF9yZXF1ZXN0KCkgd291bGQgc3VmZmljZSwgYW5kIGhlbmNlIHRoZSBjaGFuZ2VzIHRvIHhlbl9i bGtpZi5oCmFyZSBtb3JlIGxpa2UganVzdCBjbGVhbnVwLiBBbmQgc2luY2UsIGFzIHNhaWQsIHRo ZSB1bnBhdGNoZWQgY29kZQpnZXR0aW5nIGNvbXBpbGVkIHRvIHNvbWV0aGluZyB2dWxuZXJhYmxl IGlzIHZlcnkgdW5saWtlbHkgKGFuZCBub3QKb2JzZXJ2ZWQgaW4gcHJhY3RpY2UpLCB0aGlzIGlz bid0IGJlaW5nIHZpZXdlZCBhcyBhIG5ldyBzZWN1cml0eSBpc3N1ZS4KClNpZ25lZC1vZmYtYnk6 IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3Rh YmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogU3RlZmFubyBT dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgotLS0KIGh3L2Jsb2NrL3hlbl9ibGtp Zi5oIHwgMTIgKysrKysrLS0tLS0tCiBody9ibG9jay94ZW5fZGlzay5jICB8ICAyICsrCiAyIGZp bGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9ody9ibG9jay94ZW5fYmxraWYuaCBiL2h3L2Jsb2NrL3hlbl9ibGtpZi5oCmluZGV4IGM2ODQ4 N2NiLi5lM2IxMzNiIDEwMDY0NAotLS0gYS9ody9ibG9jay94ZW5fYmxraWYuaAorKysgYi9ody9i bG9jay94ZW5fYmxraWYuaApAQCAtNzksMTQgKzc5LDE0IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBi bGtpZl9nZXRfeDg2XzMyX3JlcShibGtpZl9yZXF1ZXN0X3QgKmRzdCwgYmxraWZfeDg2XzMyX3Jl cXVlCiAJZHN0LT5oYW5kbGUgPSBzcmMtPmhhbmRsZTsKIAlkc3QtPmlkID0gc3JjLT5pZDsKIAlk c3QtPnNlY3Rvcl9udW1iZXIgPSBzcmMtPnNlY3Rvcl9udW1iZXI7Ci0JaWYgKHNyYy0+b3BlcmF0 aW9uID09IEJMS0lGX09QX0RJU0NBUkQpIHsKKwkvKiBQcmV2ZW50IHRoZSBjb21waWxlciBmcm9t IHVzaW5nIHNyYy0+Li4uIGluc3RlYWQuICovCisJYmFycmllcigpOworCWlmIChkc3QtPm9wZXJh dGlvbiA9PSBCTEtJRl9PUF9ESVNDQVJEKSB7CiAJCXN0cnVjdCBibGtpZl9yZXF1ZXN0X2Rpc2Nh cmQgKnMgPSAodm9pZCAqKXNyYzsKIAkJc3RydWN0IGJsa2lmX3JlcXVlc3RfZGlzY2FyZCAqZCA9 ICh2b2lkICopZHN0OwogCQlkLT5ucl9zZWN0b3JzID0gcy0+bnJfc2VjdG9yczsKIAkJcmV0dXJu OwogCX0KLQkvKiBwcmV2ZW50IHRoZSBjb21waWxlciBmcm9tIG9wdGltaXppbmcgdGhlIGNvZGUg YW5kIHVzaW5nIHNyYy0+bnJfc2VnbWVudHMgaW5zdGVhZCAqLwotCWJhcnJpZXIoKTsKIAlpZiAo biA+IGRzdC0+bnJfc2VnbWVudHMpCiAJCW4gPSBkc3QtPm5yX3NlZ21lbnRzOwogCWZvciAoaSA9 IDA7IGkgPCBuOyBpKyspCkBAIC0xMDIsMTQgKzEwMiwxNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQg YmxraWZfZ2V0X3g4Nl82NF9yZXEoYmxraWZfcmVxdWVzdF90ICpkc3QsIGJsa2lmX3g4Nl82NF9y ZXF1ZQogCWRzdC0+aGFuZGxlID0gc3JjLT5oYW5kbGU7CiAJZHN0LT5pZCA9IHNyYy0+aWQ7CiAJ ZHN0LT5zZWN0b3JfbnVtYmVyID0gc3JjLT5zZWN0b3JfbnVtYmVyOwotCWlmIChzcmMtPm9wZXJh dGlvbiA9PSBCTEtJRl9PUF9ESVNDQVJEKSB7CisJLyogUHJldmVudCB0aGUgY29tcGlsZXIgZnJv bSB1c2luZyBzcmMtPi4uLiBpbnN0ZWFkLiAqLworCWJhcnJpZXIoKTsKKwlpZiAoZHN0LT5vcGVy YXRpb24gPT0gQkxLSUZfT1BfRElTQ0FSRCkgewogCQlzdHJ1Y3QgYmxraWZfcmVxdWVzdF9kaXNj YXJkICpzID0gKHZvaWQgKilzcmM7CiAJCXN0cnVjdCBibGtpZl9yZXF1ZXN0X2Rpc2NhcmQgKmQg PSAodm9pZCAqKWRzdDsKIAkJZC0+bnJfc2VjdG9ycyA9IHMtPm5yX3NlY3RvcnM7CiAJCXJldHVy bjsKIAl9Ci0JLyogcHJldmVudCB0aGUgY29tcGlsZXIgZnJvbSBvcHRpbWl6aW5nIHRoZSBjb2Rl IGFuZCB1c2luZyBzcmMtPm5yX3NlZ21lbnRzIGluc3RlYWQgKi8KLQliYXJyaWVyKCk7CiAJaWYg KG4gPiBkc3QtPm5yX3NlZ21lbnRzKQogCQluID0gZHN0LT5ucl9zZWdtZW50czsKIAlmb3IgKGkg PSAwOyBpIDwgbjsgaSsrKQpkaWZmIC0tZ2l0IGEvaHcvYmxvY2sveGVuX2Rpc2suYyBiL2h3L2Js b2NrL3hlbl9kaXNrLmMKaW5kZXggMDY0YzExNi4uY2Y1NzgxNCAxMDA2NDQKLS0tIGEvaHcvYmxv Y2sveGVuX2Rpc2suYworKysgYi9ody9ibG9jay94ZW5fZGlzay5jCkBAIC02NzksNiArNjc5LDgg QEAgc3RhdGljIGludCBibGtfZ2V0X3JlcXVlc3Qoc3RydWN0IFhlbkJsa0RldiAqYmxrZGV2LCBz dHJ1Y3QgaW9yZXEgKmlvcmVxLCBSSU5HX0kKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UklOR19HRVRfUkVRVUVTVCgmYmxrZGV2LT5yaW5ncy54ODZfNjRfcGFydCwgcmMpKTsKICAgICAg ICAgYnJlYWs7CiAgICAgfQorICAgIC8qIFByZXZlbnQgdGhlIGNvbXBpbGVyIGZyb20gYWNjZXNz aW5nIHRoZSBvbi1yaW5nIGZpZWxkcyBpbnN0ZWFkLiAqLworICAgIGJhcnJpZXIoKTsKICAgICBy ZXR1cm4gMDsKIH0KIAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=