From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [patch] drm/amdkfd: fix some range checks in address watch ioctl Date: Thu, 11 Jun 2015 18:19:02 +0300 Message-ID: <20150611151902.GF12192@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by gabe.freedesktop.org (Postfix) with ESMTP id 21CA06E4DF for ; Thu, 11 Jun 2015 08:19:24 -0700 (PDT) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Oded Gabbay , Yair Shachar Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org LT5idWZfc2l6ZV9pbl9ieXRlcyBtdXN0IGJlIGxhcmdlIGVub3VnaCB0byBob2xkIC0+bnVtX3dh dGNoX3BvaW50cyBhbmQKLT53YXRjaF9tb2RlIHNvIEkgaGF2ZSBhZGRlZCBhIHNpemVvZihpbnQp ICogMiB0byB0aGUgbWluaW11bSBzaXplLgoKQWxzbyB3ZSBoYXZlIHRvIHN1YnRyYWN0IHNpemVv ZigqYXJncykgZnJvbSB0aGUgbWF4IGFyZ3NfaWR4IGxpbWl0IHNvCnRoYXQgaXQgbWF0Y2hlcyB0 aGUgYWxsb2NhdGlvbi4gIEFsc28gSSBjaGFuZ2VkIGEgPiB0byA+PSBmb3IgdGhlIGxhc3QKY29t cGFyZS4KCkkgbW92ZWQgdGhlIGlmIChhd19pbmZvLm51bV93YXRjaF9wb2ludHMgPiBNQVhfV0FU Q0hfQUREUkVTU0VTKSB7IGNoZWNrCmhlcmUgc28gdGhhdCB3ZSBkb24ndCBnZXQgYW4gaW50ZWdl ciBvdmVyZmxvdyBvbiAzMmJpdCBzeXN0ZW1zLiAgSXQncwpoYXJtbGVzcyBiZWNhdXNlIHdlIHdv dWxkIGhhdmUgY2F1Z2h0IGl0IGxhdGVyIGJ1dCBpdCBjYXVzZXMgYSBzdGF0aWMKY2hlY2tlciB3 YXJuaW5nLiAgSSBoYWQgdG8gYWRkIGEgbmV3IGluY2x1ZGUgdG8gZ2V0IHRoZQpNQVhfV0FUQ0hf QUREUkVTU0VTIGRlZmluZS4KClNpZ25lZC1vZmYtYnk6IERhbiBDYXJwZW50ZXIgPGRhbi5jYXJw ZW50ZXJAb3JhY2xlLmNvbT4KLS0tCkkgZmVlbCBsaWtlIHRoaXMgcGF0Y2ggaXMgcHJvYmFibHkg bm90IGdvaW5nIHRvIGJlIG1lcmdlZCB3aXRob3V0CmNoYW5nZXMuICBBbHNvIHdlIHNlZW0gdG8g c2V0IC0+d2F0Y2hfYWRkcmVzcyB0byB0aGUgbGFzdCBhZGRyZXNzIGluIHRoZQpidWZmZXIgaW5z dGVhZCBvZiB0aGUgZmlyc3Q/ICBJdCBpcyB2ZXJ5IHN0cmFuZ2UuICBJIGFtIGdvaW5nIG9uCnZh Y2F0aW9uIHNvIEkgd2lsbCBiZSBvZmZsaW5lIGZvciBhIHdlZWsuICBZYWlyLCBpZiB0aGlzIHBh dGNoIGlzbid0CnJpZ2h0IHRoZW4gZmVlbCBmcmVlIHRvIGZpeCBpdCBhbmQgZ2l2ZSBtZSBhIFJl cG9ydGVkLWJ5IHRhZy4KCk90aGVyd2lzZSwgSSB3aWxsIHNlZSBldmVyeW9uZSBvbiB0aGUgZmxp cCBzaWRlLiAgOikKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRf Y2hhcmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2NoYXJkZXYuYwppbmRl eCA5NmM5MDRiLi41NGE2MDhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtm ZC9rZmRfY2hhcmRldi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9jaGFy ZGV2LmMKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJrZmRfcHJpdi5oIgogI2luY2x1ZGUg ImtmZF9kZXZpY2VfcXVldWVfbWFuYWdlci5oIgogI2luY2x1ZGUgImtmZF9kYmdtZ3IuaCIKKyNp bmNsdWRlICIuLi8uLi9yYWRlb24vY2lrX3JlZy5oIgogCiBzdGF0aWMgbG9uZyBrZmRfaW9jdGwo c3RydWN0IGZpbGUgKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBsb25nKTsKIHN0YXRpYyBpbnQg a2ZkX29wZW4oc3RydWN0IGlub2RlICosIHN0cnVjdCBmaWxlICopOwpAQCAtNTUzLDcgKzU1NCw3 IEBAIHN0YXRpYyBpbnQga2ZkX2lvY3RsX2RiZ19hZGRyZXNzX3dhdGNoKHN0cnVjdCBmaWxlICpm aWxlcCwKIAkvKiBWYWxpZGF0ZSBhcmd1bWVudHMgKi8KIAogCWlmICgoYXJncy0+YnVmX3NpemVf aW5fYnl0ZXMgPiBNQVhfQUxMT1dFRF9BV19CVUZGX1NJWkUpIHx8Ci0JCShhcmdzLT5idWZfc2l6 ZV9pbl9ieXRlcyA8PSBzaXplb2YoKmFyZ3MpKSB8fAorCQkoYXJncy0+YnVmX3NpemVfaW5fYnl0 ZXMgPD0gc2l6ZW9mKCphcmdzKSArIHNpemVvZihpbnQpICogMikgfHwKIAkJKGNtZF9mcm9tX3Vz ZXIgPT0gTlVMTCkpCiAJCXJldHVybiAtRUlOVkFMOwogCkBAIC01NzYsNiArNTc3LDExIEBAIHN0 YXRpYyBpbnQga2ZkX2lvY3RsX2RiZ19hZGRyZXNzX3dhdGNoKHN0cnVjdCBmaWxlICpmaWxlcCwK IAlhd19pbmZvLnByb2Nlc3MgPSBwOwogCiAJYXdfaW5mby5udW1fd2F0Y2hfcG9pbnRzID0gKigo dWludDMyX3QgKikoJmFyZ3NfYnVmZlthcmdzX2lkeF0pKTsKKwlpZiAoYXdfaW5mby5udW1fd2F0 Y2hfcG9pbnRzID09IDAgfHwKKwkgICAgYXdfaW5mby5udW1fd2F0Y2hfcG9pbnRzID4gTUFYX1dB VENIX0FERFJFU1NFUykgeworCQlrZnJlZShhcmdzX2J1ZmYpOworCQlyZXR1cm4gLUVJTlZBTDsK Kwl9CiAJYXJnc19pZHggKz0gc2l6ZW9mKGF3X2luZm8ubnVtX3dhdGNoX3BvaW50cyk7CiAKIAlh d19pbmZvLndhdGNoX21vZGUgPSAoZW51bSBIU0FfREJHX1dBVENIX01PREUgKikgJmFyZ3NfYnVm ZlthcmdzX2lkeF07CkBAIC01OTAsNyArNTk2LDcgQEAgc3RhdGljIGludCBrZmRfaW9jdGxfZGJn X2FkZHJlc3Nfd2F0Y2goc3RydWN0IGZpbGUgKmZpbGVwLAogCS8qIHNraXAgb3ZlciB0aGUgYWRk cmVzc2VzIGJ1ZmZlciAqLwogCWFyZ3NfaWR4ICs9IHNpemVvZihhd19pbmZvLndhdGNoX2FkZHJl c3MpICogYXdfaW5mby5udW1fd2F0Y2hfcG9pbnRzOwogCi0JaWYgKGFyZ3NfaWR4ID49IGFyZ3Mt PmJ1Zl9zaXplX2luX2J5dGVzKSB7CisJaWYgKGFyZ3NfaWR4ID49IGFyZ3MtPmJ1Zl9zaXplX2lu X2J5dGVzIC0gc2l6ZW9mKCphcmdzKSkgewogCQlrZnJlZShhcmdzX2J1ZmYpOwogCQlyZXR1cm4g LUVJTlZBTDsKIAl9CkBAIC02MTQsNyArNjIwLDcgQEAgc3RhdGljIGludCBrZmRfaW9jdGxfZGJn X2FkZHJlc3Nfd2F0Y2goc3RydWN0IGZpbGUgKmZpbGVwLAogCQlhcmdzX2lkeCArPSBzaXplb2Yo YXdfaW5mby53YXRjaF9tYXNrKTsKIAl9CiAKLQlpZiAoYXJnc19pZHggPiBhcmdzLT5idWZfc2l6 ZV9pbl9ieXRlcykgeworCWlmIChhcmdzX2lkeCA+PSBhcmdzLT5idWZfc2l6ZV9pbl9ieXRlcyAt IHNpemVvZihhcmdzKSkgewogCQlrZnJlZShhcmdzX2J1ZmYpOwogCQlyZXR1cm4gLUVJTlZBTDsK IAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfZGJnZGV2LmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfZGJnZGV2LmMKaW5kZXggOTYxNTNmMi4u ZDM2Njc1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2RiZ2Rl di5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9kYmdkZXYuYwpAQCAtMzAx LDEyICszMDEsNiBAQCBzdGF0aWMgaW50IGRiZ2Rldl9hZGRyZXNzX3dhdGNoX25vZGlxKHN0cnVj dCBrZmRfZGJnZGV2ICpkYmdkZXYsCiAJYWRkckxvLnUzMkFsbCA9IDA7CiAJY250bC51MzJBbGwg PSAwOwogCi0JaWYgKChhZHdfaW5mby0+bnVtX3dhdGNoX3BvaW50cyA+IE1BWF9XQVRDSF9BRERS RVNTRVMpIHx8Ci0JCQkoYWR3X2luZm8tPm51bV93YXRjaF9wb2ludHMgPT0gMCkpIHsKLQkJcHJf ZXJyKCJhbWRrZmQ6IG51bV93YXRjaF9wb2ludHMgaXMgaW52YWxpZFxuIik7Ci0JCXJldHVybiAt RUlOVkFMOwotCX0KLQogCWlmICgoYWR3X2luZm8tPndhdGNoX21vZGUgPT0gTlVMTCkgfHwKIAkJ KGFkd19pbmZvLT53YXRjaF9hZGRyZXNzID09IE5VTEwpKSB7CiAJCXByX2VycigiYW1ka2ZkOiBh ZHdfaW5mbyBmaWVsZHMgYXJlIG5vdCB2YWxpZFxuIik7CkBAIC0zNjksMTIgKzM2Myw2IEBAIHN0 YXRpYyBpbnQgZGJnZGV2X2FkZHJlc3Nfd2F0Y2hfZGlxKHN0cnVjdCBrZmRfZGJnZGV2ICpkYmdk ZXYsCiAJYWRkckxvLnUzMkFsbCA9IDA7CiAJY250bC51MzJBbGwgPSAwOwogCi0JaWYgKChhZHdf aW5mby0+bnVtX3dhdGNoX3BvaW50cyA+IE1BWF9XQVRDSF9BRERSRVNTRVMpIHx8Ci0JCQkoYWR3 X2luZm8tPm51bV93YXRjaF9wb2ludHMgPT0gMCkpIHsKLQkJcHJfZXJyKCJhbWRrZmQ6IG51bV93 YXRjaF9wb2ludHMgaXMgaW52YWxpZFxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQogCWlm ICgoTlVMTCA9PSBhZHdfaW5mby0+d2F0Y2hfbW9kZSkgfHwKIAkJCShOVUxMID09IGFkd19pbmZv LT53YXRjaF9hZGRyZXNzKSkgewogCQlwcl9lcnIoImFtZGtmZDogYWR3X2luZm8gZmllbGRzIGFy ZSBub3QgdmFsaWRcbiIpOwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=