From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-co1nam03on0111.outbound.protection.outlook.com ([104.47.40.111]:16102 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935185AbeCSQLw (ORCPT ); Mon, 19 Mar 2018 12:11:52 -0400 From: Sasha Levin To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" CC: Paul Mackerras , Sasha Levin Subject: [PATCH AUTOSEL for 3.18 016/102] KVM: PPC: Book3S PR: Check copy_to/from_user return values Date: Mon, 19 Mar 2018 16:11:47 +0000 Message-ID: <20180319161117.17833-16-alexander.levin@microsoft.com> References: <20180319161117.17833-1-alexander.levin@microsoft.com> In-Reply-To: <20180319161117.17833-1-alexander.levin@microsoft.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <473E9251CB72F44E9C4E9C878BEB8E22@namprd21.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org List-ID: RnJvbTogUGF1bCBNYWNrZXJyYXMgPHBhdWx1c0BvemxhYnMub3JnPg0KDQpbIFVwc3RyZWFtIGNv bW1pdCA2NzMyNWU5ODhmYWVhNzM1ZDY2Mzc5OWI2ZDE1MmI1ZjQyNTQwOTNjIF0NCg0KVGhlIFBS IEtWTSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgUEFQUiBIUFQgaHlwZXJjYWxscyAoSF9FTlRFUiBl dGMuKQ0KYWNjZXNzIGFuIGltYWdlIG9mIHRoZSBIUFQgaW4gdXNlcnNwYWNlIG1lbW9yeSB1c2lu ZyBjb3B5X2Zyb21fdXNlcg0KYW5kIGNvcHlfdG9fdXNlci4gIFJlY2VudGx5LCB0aGUgZGVjbGFy YXRpb25zIG9mIHRob3NlIGZ1bmN0aW9ucyB3ZXJlDQphbm5vdGF0ZWQgdG8gaW5kaWNhdGUgdGhh dCB0aGUgcmV0dXJuIHZhbHVlIG11c3QgYmUgY2hlY2tlZC4gIFNpbmNlDQp0aGlzIGNvZGUgZG9l c24ndCBjdXJyZW50bHkgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSwgdGhpcyBjYXVzZXMNCmNvbXBp bGUgd2FybmluZ3MgbGlrZSB0aGUgb25lcyBzaG93biBiZWxvdywgYW5kIHNpbmNlIG9uIFBQQyB0 aGUNCmRlZmF1bHQgaXMgdG8gY29tcGlsZSBhcmNoL3Bvd2VycGMgd2l0aCAtV2Vycm9yLCB0aGlz IGNhdXNlcyB0aGUNCmJ1aWxkIHRvIGZhaWwuDQoNClRvIGZpeCB0aGlzLCB3ZSBjaGVjayB0aGUg cmV0dXJuIHZhbHVlcywgYW5kIGlmIG5vbi16ZXJvLCBmYWlsIHRoZQ0KaHlwZXJjYWxsIGJlaW5n IHByb2Nlc3NlZCB3aXRoIGEgSF9GVU5DVElPTiBlcnJvciByZXR1cm4gdmFsdWUuDQpUaGVyZSBp cyByZWFsbHkgbm8gZ29vZCBlcnJvciByZXR1cm4gdmFsdWUgdG8gdXNlIHNpbmNlIFBBUFIgZGlk bid0DQplbnZpc2FnZSB0aGUgcG9zc2liaWxpdHkgdGhhdCB0aGUgaHlwZXJ2aXNvciBtYXkgbm90 IGJlIGFibGUgdG8gYWNjZXNzDQp0aGUgZ3Vlc3QncyBIUFQsIGFuZCBIX0ZVTkNUSU9OIChmdW5j dGlvbiBub3Qgc3VwcG9ydGVkKSBzZWVtcyBhcw0KZ29vZCBhcyBhbnkuDQoNClRoZSB0eXBpY2Fs IGNvbXBpbGUgd2FybmluZ3MgbG9vayBsaWtlIHRoaXM6DQoNCiAgQ0MgICAgICBhcmNoL3Bvd2Vy cGMva3ZtL2Jvb2szc19wcl9wYXByLm8NCi9ob21lL3BhdWx1cy9rZXJuZWwva3ZtL2FyY2gvcG93 ZXJwYy9rdm0vYm9vazNzX3ByX3BhcHIuYzogSW4gZnVuY3Rpb24g4oCYa3ZtcHBjX2hfcHJfZW50 ZXLigJk6DQovaG9tZS9wYXVsdXMva2VybmVsL2t2bS9hcmNoL3Bvd2VycGMva3ZtL2Jvb2szc19w cl9wYXByLmM6NTM6MjogZXJyb3I6IGlnbm9yaW5nIHJldHVybiB2YWx1ZSBvZiDigJhjb3B5X2Zy b21fdXNlcuKAmSwgZGVjbGFyZWQgd2l0aCBhdHRyaWJ1dGUgd2Fybl91bnVzZWRfcmVzdWx0IFst V2Vycm9yPXVudXNlZC1yZXN1bHRdDQogIGNvcHlfZnJvbV91c2VyKHB0ZWcsICh2b2lkIF9fdXNl ciAqKXB0ZWdfYWRkciwgc2l6ZW9mKHB0ZWcpKTsNCiAgXg0KL2hvbWUvcGF1bHVzL2tlcm5lbC9r dm0vYXJjaC9wb3dlcnBjL2t2bS9ib29rM3NfcHJfcGFwci5jOjc0OjI6IGVycm9yOiBpZ25vcmlu ZyByZXR1cm4gdmFsdWUgb2Yg4oCYY29weV90b191c2Vy4oCZLCBkZWNsYXJlZCB3aXRoIGF0dHJp YnV0ZSB3YXJuX3VudXNlZF9yZXN1bHQgWy1XZXJyb3I9dW51c2VkLXJlc3VsdF0NCiAgY29weV90 b191c2VyKCh2b2lkIF9fdXNlciAqKXB0ZWdfYWRkciwgaHB0ZSwgSFBURV9TSVpFKTsNCiAgXg0K DQouLi4gZXRjLg0KDQpTaWduZWQtb2ZmLWJ5OiBQYXVsIE1hY2tlcnJhcyA8cGF1bHVzQG96bGFi cy5vcmc+DQpTaWduZWQtb2ZmLWJ5OiBTYXNoYSBMZXZpbiA8YWxleGFuZGVyLmxldmluQG1pY3Jv c29mdC5jb20+DQotLS0NCiBhcmNoL3Bvd2VycGMva3ZtL2Jvb2szc19wcl9wYXByLmMgfCAzNCAr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tDQogMSBmaWxlIGNoYW5nZWQsIDI2IGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMv a3ZtL2Jvb2szc19wcl9wYXByLmMgYi9hcmNoL3Bvd2VycGMva3ZtL2Jvb2szc19wcl9wYXByLmMN CmluZGV4IGNlM2M4OTNkNTA5Yi4uZTEwMGFhZjk3Zjg2IDEwMDY0NA0KLS0tIGEvYXJjaC9wb3dl cnBjL2t2bS9ib29rM3NfcHJfcGFwci5jDQorKysgYi9hcmNoL3Bvd2VycGMva3ZtL2Jvb2szc19w cl9wYXByLmMNCkBAIC01MCw3ICs1MCw5IEBAIHN0YXRpYyBpbnQga3ZtcHBjX2hfcHJfZW50ZXIo c3RydWN0IGt2bV92Y3B1ICp2Y3B1KQ0KIAlwdGVnX2FkZHIgPSBnZXRfcHRlZ19hZGRyKHZjcHUs IHB0ZV9pbmRleCk7DQogDQogCW11dGV4X2xvY2soJnZjcHUtPmt2bS0+YXJjaC5ocHRfbXV0ZXgp Ow0KLQljb3B5X2Zyb21fdXNlcihwdGVnLCAodm9pZCBfX3VzZXIgKilwdGVnX2FkZHIsIHNpemVv ZihwdGVnKSk7DQorCXJldCA9IEhfRlVOQ1RJT047DQorCWlmIChjb3B5X2Zyb21fdXNlcihwdGVn LCAodm9pZCBfX3VzZXIgKilwdGVnX2FkZHIsIHNpemVvZihwdGVnKSkpDQorCQlnb3RvIGRvbmU7 DQogCWhwdGUgPSBwdGVnOw0KIA0KIAlyZXQgPSBIX1BURUdfRlVMTDsNCkBAIC03MSw3ICs3Myw5 IEBAIHN0YXRpYyBpbnQga3ZtcHBjX2hfcHJfZW50ZXIoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQ0K IAlocHRlWzBdID0gY3B1X3RvX2JlNjQoa3ZtcHBjX2dldF9ncHIodmNwdSwgNikpOw0KIAlocHRl WzFdID0gY3B1X3RvX2JlNjQoa3ZtcHBjX2dldF9ncHIodmNwdSwgNykpOw0KIAlwdGVnX2FkZHIg Kz0gaSAqIEhQVEVfU0laRTsNCi0JY29weV90b191c2VyKCh2b2lkIF9fdXNlciAqKXB0ZWdfYWRk ciwgaHB0ZSwgSFBURV9TSVpFKTsNCisJcmV0ID0gSF9GVU5DVElPTjsNCisJaWYgKGNvcHlfdG9f dXNlcigodm9pZCBfX3VzZXIgKilwdGVnX2FkZHIsIGhwdGUsIEhQVEVfU0laRSkpDQorCQlnb3Rv IGRvbmU7DQogCWt2bXBwY19zZXRfZ3ByKHZjcHUsIDQsIHB0ZV9pbmRleCB8IGkpOw0KIAlyZXQg PSBIX1NVQ0NFU1M7DQogDQpAQCAtOTMsNyArOTcsOSBAQCBzdGF0aWMgaW50IGt2bXBwY19oX3By X3JlbW92ZShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpDQogDQogCXB0ZWcgPSBnZXRfcHRlZ19hZGRy KHZjcHUsIHB0ZV9pbmRleCk7DQogCW11dGV4X2xvY2soJnZjcHUtPmt2bS0+YXJjaC5ocHRfbXV0 ZXgpOw0KLQljb3B5X2Zyb21fdXNlcihwdGUsICh2b2lkIF9fdXNlciAqKXB0ZWcsIHNpemVvZihw dGUpKTsNCisJcmV0ID0gSF9GVU5DVElPTjsNCisJaWYgKGNvcHlfZnJvbV91c2VyKHB0ZSwgKHZv aWQgX191c2VyICopcHRlZywgc2l6ZW9mKHB0ZSkpKQ0KKwkJZ290byBkb25lOw0KIAlwdGVbMF0g PSBiZTY0X3RvX2NwdSgoX19mb3JjZSBfX2JlNjQpcHRlWzBdKTsNCiAJcHRlWzFdID0gYmU2NF90 b19jcHUoKF9fZm9yY2UgX19iZTY0KXB0ZVsxXSk7DQogDQpAQCAtMTAzLDcgKzEwOSw5IEBAIHN0 YXRpYyBpbnQga3ZtcHBjX2hfcHJfcmVtb3ZlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkNCiAJICAg ICgoZmxhZ3MgJiBIX0FORENPTkQpICYmIChwdGVbMF0gJiBhdnBuKSAhPSAwKSkNCiAJCWdvdG8g ZG9uZTsNCiANCi0JY29weV90b191c2VyKCh2b2lkIF9fdXNlciAqKXB0ZWcsICZ2LCBzaXplb2Yo dikpOw0KKwlyZXQgPSBIX0ZVTkNUSU9OOw0KKwlpZiAoY29weV90b191c2VyKCh2b2lkIF9fdXNl ciAqKXB0ZWcsICZ2LCBzaXplb2YodikpKQ0KKwkJZ290byBkb25lOw0KIA0KIAlyYiA9IGNvbXB1 dGVfdGxiaWVfcmIocHRlWzBdLCBwdGVbMV0sIHB0ZV9pbmRleCk7DQogCXZjcHUtPmFyY2gubW11 LnRsYmllKHZjcHUsIHJiLCByYiAmIDEgPyB0cnVlIDogZmFsc2UpOw0KQEAgLTE3MSw3ICsxNzks MTAgQEAgc3RhdGljIGludCBrdm1wcGNfaF9wcl9idWxrX3JlbW92ZShzdHJ1Y3Qga3ZtX3ZjcHUg KnZjcHUpDQogCQl9DQogDQogCQlwdGVnID0gZ2V0X3B0ZWdfYWRkcih2Y3B1LCB0c2ggJiBIX0JV TEtfUkVNT1ZFX1BURVgpOw0KLQkJY29weV9mcm9tX3VzZXIocHRlLCAodm9pZCBfX3VzZXIgKilw dGVnLCBzaXplb2YocHRlKSk7DQorCQlpZiAoY29weV9mcm9tX3VzZXIocHRlLCAodm9pZCBfX3Vz ZXIgKilwdGVnLCBzaXplb2YocHRlKSkpIHsNCisJCQlyZXQgPSBIX0ZVTkNUSU9OOw0KKwkJCWJy ZWFrOw0KKwkJfQ0KIAkJcHRlWzBdID0gYmU2NF90b19jcHUoKF9fZm9yY2UgX19iZTY0KXB0ZVsw XSk7DQogCQlwdGVbMV0gPSBiZTY0X3RvX2NwdSgoX19mb3JjZSBfX2JlNjQpcHRlWzFdKTsNCiAN CkBAIC0xODQsNyArMTk1LDEwIEBAIHN0YXRpYyBpbnQga3ZtcHBjX2hfcHJfYnVsa19yZW1vdmUo c3RydWN0IGt2bV92Y3B1ICp2Y3B1KQ0KIAkJCXRzaCB8PSBIX0JVTEtfUkVNT1ZFX05PVF9GT1VO RDsNCiAJCX0gZWxzZSB7DQogCQkJLyogU3BsYXQgdGhlIHB0ZWcgaW4gKHVzZXJsYW5kKSBocHQg Ki8NCi0JCQljb3B5X3RvX3VzZXIoKHZvaWQgX191c2VyICopcHRlZywgJnYsIHNpemVvZih2KSk7 DQorCQkJaWYgKGNvcHlfdG9fdXNlcigodm9pZCBfX3VzZXIgKilwdGVnLCAmdiwgc2l6ZW9mKHYp KSkgew0KKwkJCQlyZXQgPSBIX0ZVTkNUSU9OOw0KKwkJCQlicmVhazsNCisJCQl9DQogDQogCQkJ cmIgPSBjb21wdXRlX3RsYmllX3JiKHB0ZVswXSwgcHRlWzFdLA0KIAkJCQkJICAgICAgdHNoICYg SF9CVUxLX1JFTU9WRV9QVEVYKTsNCkBAIC0yMTEsNyArMjI1LDkgQEAgc3RhdGljIGludCBrdm1w cGNfaF9wcl9wcm90ZWN0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkNCiANCiAJcHRlZyA9IGdldF9w dGVnX2FkZHIodmNwdSwgcHRlX2luZGV4KTsNCiAJbXV0ZXhfbG9jaygmdmNwdS0+a3ZtLT5hcmNo LmhwdF9tdXRleCk7DQotCWNvcHlfZnJvbV91c2VyKHB0ZSwgKHZvaWQgX191c2VyICopcHRlZywg c2l6ZW9mKHB0ZSkpOw0KKwlyZXQgPSBIX0ZVTkNUSU9OOw0KKwlpZiAoY29weV9mcm9tX3VzZXIo cHRlLCAodm9pZCBfX3VzZXIgKilwdGVnLCBzaXplb2YocHRlKSkpDQorCQlnb3RvIGRvbmU7DQog CXB0ZVswXSA9IGJlNjRfdG9fY3B1KChfX2ZvcmNlIF9fYmU2NClwdGVbMF0pOw0KIAlwdGVbMV0g PSBiZTY0X3RvX2NwdSgoX19mb3JjZSBfX2JlNjQpcHRlWzFdKTsNCiANCkBAIC0yMzQsNyArMjUw LDkgQEAgc3RhdGljIGludCBrdm1wcGNfaF9wcl9wcm90ZWN0KHN0cnVjdCBrdm1fdmNwdSAqdmNw dSkNCiAJdmNwdS0+YXJjaC5tbXUudGxiaWUodmNwdSwgcmIsIHJiICYgMSA/IHRydWUgOiBmYWxz ZSk7DQogCXB0ZVswXSA9IChfX2ZvcmNlIHU2NCljcHVfdG9fYmU2NChwdGVbMF0pOw0KIAlwdGVb MV0gPSAoX19mb3JjZSB1NjQpY3B1X3RvX2JlNjQocHRlWzFdKTsNCi0JY29weV90b191c2VyKCh2 b2lkIF9fdXNlciAqKXB0ZWcsIHB0ZSwgc2l6ZW9mKHB0ZSkpOw0KKwlyZXQgPSBIX0ZVTkNUSU9O Ow0KKwlpZiAoY29weV90b191c2VyKCh2b2lkIF9fdXNlciAqKXB0ZWcsIHB0ZSwgc2l6ZW9mKHB0 ZSkpKQ0KKwkJZ290byBkb25lOw0KIAlyZXQgPSBIX1NVQ0NFU1M7DQogDQogIGRvbmU6DQotLSAN CjIuMTQuMQ0K