From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v1 1/1] drm: Multiple Null pointer dereference [null-pointer-deref] (CWE 476) problems: Date: Fri, 09 Feb 2018 14:17:08 +0200 Message-ID: <871shu8iij.fsf@intel.com> References: <20180208174231.116808-1-joe.moriarty@oracle.com> <20180208174231.116808-2-joe.moriarty@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id BC2C06E80D for ; Fri, 9 Feb 2018 12:17:16 +0000 (UTC) In-Reply-To: <20180208174231.116808-2-joe.moriarty@oracle.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: airlied@linux.ie Cc: joe.moriarty@oracle.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCAwOCBGZWIgMjAxOCwgSm9lIE1vcmlhcnR5IDxqb2UubW9yaWFydHlAb3JhY2xlLmNv bT4gd3JvdGU6Cj4gVGhlIFBhcmZhaXQgKHZlcnNpb24gMi4xLjApIHN0YXRpYyBjb2RlIGFuYWx5 c2lzIHRvb2wgZm91bmQgbXVsdGlwbGUgTlVMTAo+IHBvaW50ZXIgZGVyZWZlcm5jZSBwcm9ibGVt cy4KClRoYW5rcyBmb3IgdGhlIHBhdGNoLiBNdWx0aXBsZSBwcm9ibGVtcyByZXF1aXJlcyBtdWx0 aXBsZSBwYXRjaGVzIHRvIGZpeAp0aGVtLCBvbmUgcGF0Y2ggcGVyIHByb2JsZW0uIFBsZWFzZSBz cGxpdCB1cCB0aGUgcGF0Y2guCgpUaGFua3MsCkphbmkuCgo+Cj4gLSBkcml2ZXJzL2dwdS9kcm0v ZHJtX2RwX21zdF90b3BvbG9neS5jCj4gVGhlIGNhbGwgdG8gZHJtX2RwX2NhbGN1bGF0ZV9yYWQo KSBpbiBmdW5jdGlvbiBkcm1fZHBfcG9ydF9zZXR1cF9wZHQoKQo+IGNvdWxkIHJlc3VsdCBpbiBh IE5VTEwgcG9pbnRlciBiZWluZyByZXR1cm5lZCB0byBwb3J0LT5tc3RiIGR1ZSB0byBhCj4gZmFp bHVyZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIHBvcnQtPm1zdGIuCj4KPiAtIGRyaXZlcnMvZ3B1 L2RybS9kcm1fZHJ2LmMKPiBBbnkgY2FsbHMgdG8gZHJtX21pbm9yX2dldF9zbG90KCkgY291bGQg cmVzdWx0IGluIHRoZSByZXR1cm4gb2YgYSBOVUxMCj4gcG9pbnRlciB3aGVuIGFuIGludmFsaWQg RFJNIGRldmljZSB0eXBlIGlzIGVuY291bnRlcmVkLiAgMiBoZWxwZXIKPiBmdW5jdGlvbnMgd2hl cmUgYWRkZWQgZm9yIHBvaW50ZXIgbWFuaXB1bGF0aW9uIChkcm1fbWlub3JfZ2V0X3Nsb3QoKQo+ IGFuZCBkcm1fbWlub3Jfc2V0X21pbm9yKCkpIGFsb25nIHdpdGggY2hlY2tzIGZvciB2YWxpZCBw b2ludGVycyBmb3IKPiBzdHJ1Y3QgZHJtX2RldmljZSB2YXJpYWJsZXMgdGhyb3VnaG91dCB0aGlz IG1vZHVsZS4KPgo+IC0gZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMKPiBUaGUgY2FsbCB0byBk cm1fY3Z0X21vZGUoKSBpbiBmdW5jdGlvbiBkcm1fbW9kZV9zdGQoKSBmb3IgdGhlCj4gSERUViBo YWNrIHJlc3VsdGVkIGluIHRoZSBwb3NzaWJpbGl0eSBvZiBhY2Nlc3NpbmcgYSBOVUxMIHBvaW50 ZXIKPiBpZiBkcm1fbW9kZV9zdGQoKSByZXR1cm5lZCBOVUxMLiAgQSBjaGVjayBmb3IgdGhpcyBh ZGRlZCByaWdodCBhZnRlcgo+IHRoZSBjYWxsIHRvIGRybV9jdnRfbW9kZSgpIGluIHRoaXMgcGFy dGljdWxhciBhcmVhIG9mIGNvZGUuCj4KPiAtIGRyaXZlcnMvZ3B1L2RybS9kcm1fdmJsYW5rLmMK PiBOdWxsIHBvaW50ZXIgY2hlY2tzIHdlcmUgYWRkZWQgdG8gcmV0dXJuIHZhbHVlcyBmcm9tIGNh bGxzIHRvCj4gZHJtX2NydGNfZnJvbV9pbmRleCgpLiAgVGhlcmUgaXMgYSBwb3NzaWJpbGl0eSwg aG93ZXZlciBtaW51dGUsIHRoYXQKPiBjcnRjLT5pbmRleCBtYXkgbm90IGJlIGZvdW5kIHdoZW4g dHJ5aW5nIHRvIGZpbmQgdGhlIHN0cnVjdCBjcnRjCj4gZnJvbSBpdCdzIGFzc2lnbmVkIGluZGV4 IGdpdmVuIGluIGRybV9jcnRjX2luaXRfd2l0aF9wbGFuZXMoKS4KPiAzIHJldHVybiBjaGVja3Mg Zm9yIE5VTEwgd2hlcmUgYWRkZWQuCj4KPiBTaWduZWQtb2ZmLWJ5OiBKb2UgTW9yaWFydHkgPGpv ZS5tb3JpYXJ0eUBvcmFjbGUuY29tPgo+IFJldmlld2VkLWJ5OiBTdGV2ZW4gU2lzdGFyZSA8c3Rl dmVuLnNpc3RhcmVAb3JhY2xlLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9kcF9t c3RfdG9wb2xvZ3kuYyB8ICA4ICsrKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMg ICAgICAgICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyAgICAgICAgICAgIHwgIDIgKysKPiAgZHJpdmVycy9n cHUvZHJtL2RybV92YmxhbmsuYyAgICAgICAgICB8ICA2ICsrKy0tLQo+ICA0IGZpbGVzIGNoYW5n ZWQsIDQ0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2RwX21zdF90b3BvbG9neS5jCj4gaW5kZXggNzBkY2ZhNThkM2MyLi5lYzUwM2Q0MTYwNjIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKPiBAQCAtMTA4MiwxMCArMTA4 MiwxMiBAQCBzdGF0aWMgYm9vbCBkcm1fZHBfcG9ydF9zZXR1cF9wZHQoc3RydWN0IGRybV9kcF9t c3RfcG9ydCAqcG9ydCkKPiAgCQlsY3QgPSBkcm1fZHBfY2FsY3VsYXRlX3JhZChwb3J0LCByYWQp Owo+ICAKPiAgCQlwb3J0LT5tc3RiID0gZHJtX2RwX2FkZF9tc3RfYnJhbmNoX2RldmljZShsY3Qs IHJhZCk7Cj4gLQkJcG9ydC0+bXN0Yi0+bWdyID0gcG9ydC0+bWdyOwo+IC0JCXBvcnQtPm1zdGIt PnBvcnRfcGFyZW50ID0gcG9ydDsKPiArCQlpZiAocG9ydC0+bXN0Yikgewo+ICsJCQlwb3J0LT5t c3RiLT5tZ3IgPSBwb3J0LT5tZ3I7Cj4gKwkJCXBvcnQtPm1zdGItPnBvcnRfcGFyZW50ID0gcG9y dDsKPiAgCj4gLQkJc2VuZF9saW5rID0gdHJ1ZTsKPiArCQkJc2VuZF9saW5rID0gdHJ1ZTsKPiAr CQl9Cj4gIAkJYnJlYWs7Cj4gIAl9Cj4gIAlyZXR1cm4gc2VuZF9saW5rOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwo+ IGluZGV4IDlhY2MxZTE1NzgxMy4uOTM4ZWVlNzdmMDE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCj4gQEAg LTk5LDEwICs5OSwzNiBAQCBzdGF0aWMgc3RydWN0IGRybV9taW5vciAqKmRybV9taW5vcl9nZXRf c2xvdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJY2FzZSBEUk1fTUlOT1JfQ09OVFJPTDoK PiAgCQlyZXR1cm4gJmRldi0+Y29udHJvbDsKPiAgCWRlZmF1bHQ6Cj4gKwkJRFJNX0VSUk9SKCJF cnJvciBpbiAlczogSW52YWxpZCBkZXYsIHR5cGUgPSAlZFxuIiwKPiArCQkJICBfX2Z1bmNfXywg dHlwZSk7Cj4gIAkJcmV0dXJuIE5VTEw7Cj4gIAl9Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbmxpbmUg aW50IGRybV9taW5vcl9zZXRfbWlub3Ioc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkJCSAg ICAgIHVuc2lnbmVkIGludCB0eXBlLAo+ICsJCQkJICAgICAgc3RydWN0IGRybV9taW5vciAqbWlu b3IpCj4gK3sKPiArCXN0cnVjdCBkcm1fbWlub3IgKipzbG90ID0gZHJtX21pbm9yX2dldF9zbG90 KGRldiwgdHlwZSk7Cj4gKwlpbnQgcmV0dmFsID0gLUVOT0RFVjsKPiArCj4gKwlpZiAoc2xvdCkg ewo+ICsJCXJldHZhbCA9IDA7Cj4gKwkJKnNsb3QgPSBtaW5vcjsKPiArCX0KPiArCXJldHVybiBy ZXR2YWw7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9taW5vciAqZHJtX21p bm9yX2dldF9taW5vcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkJCQkgICAgdW5zaWdu ZWQgaW50IHR5cGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fbWlub3IgKipzbG90ID0gZHJtX21pbm9y X2dldF9zbG90KGRldiwgdHlwZSk7Cj4gKwo+ICsJaWYgKHNsb3QpCj4gKwkJcmV0dXJuICpzbG90 Owo+ICsJcmV0dXJuIE5VTEw7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgZHJtX21pbm9yX2FsbG9j KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB0eXBlKQo+ICB7Cj4gIAlzdHJ1 Y3QgZHJtX21pbm9yICptaW5vcjsKPiBAQCAtMTM3LDggKzE2Myw5IEBAIHN0YXRpYyBpbnQgZHJt X21pbm9yX2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB0eXBlKQo+ ICAJCWdvdG8gZXJyX2luZGV4Owo+ICAJfQo+ICAKPiAtCSpkcm1fbWlub3JfZ2V0X3Nsb3QoZGV2 LCB0eXBlKSA9IG1pbm9yOwo+IC0JcmV0dXJuIDA7Cj4gKwlyID0gZHJtX21pbm9yX3NldF9taW5v cihkZXYsIHR5cGUsIG1pbm9yKTsKPiArCWlmIChyID09IDApCj4gKwkJcmV0dXJuIHI7Cj4gIAo+ ICBlcnJfaW5kZXg6Cj4gIAlzcGluX2xvY2tfaXJxc2F2ZSgmZHJtX21pbm9yX2xvY2ssIGZsYWdz KTsKPiBAQCAtMTU1LDYgKzE4Miw5IEBAIHN0YXRpYyB2b2lkIGRybV9taW5vcl9mcmVlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB0eXBlKQo+ICAJdW5zaWduZWQgbG9uZyBm bGFnczsKPiAgCj4gIAlzbG90ID0gZHJtX21pbm9yX2dldF9zbG90KGRldiwgdHlwZSk7Cj4gKwlp ZiAoIXNsb3QpCj4gKwkJcmV0dXJuCj4gKwo+ICAJbWlub3IgPSAqc2xvdDsKPiAgCWlmICghbWlu b3IpCj4gIAkJcmV0dXJuOwo+IEBAIC0xNzcsNyArMjA3LDcgQEAgc3RhdGljIGludCBkcm1fbWlu b3JfcmVnaXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHR5cGUpCj4g IAo+ICAJRFJNX0RFQlVHKCJcbiIpOwo+ICAKPiAtCW1pbm9yID0gKmRybV9taW5vcl9nZXRfc2xv dChkZXYsIHR5cGUpOwo+ICsJbWlub3IgPSBkcm1fbWlub3JfZ2V0X3Nsb3QoZGV2LCB0eXBlKTsK PiAgCWlmICghbWlub3IpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+IEBAIC0yMDksNyArMjM5LDcgQEAg c3RhdGljIHZvaWQgZHJtX21pbm9yX3VucmVnaXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dW5zaWduZWQgaW50IHR5cGUpCj4gIAlzdHJ1Y3QgZHJtX21pbm9yICptaW5vcjsKPiAgCXVuc2ln bmVkIGxvbmcgZmxhZ3M7Cj4gIAo+IC0JbWlub3IgPSAqZHJtX21pbm9yX2dldF9zbG90KGRldiwg dHlwZSk7Cj4gKwltaW5vciA9IGRybV9taW5vcl9nZXRfc2xvdChkZXYsIHR5cGUpOwo+ICAJaWYg KCFtaW5vciB8fCAhZGV2aWNlX2lzX3JlZ2lzdGVyZWQobWlub3ItPmtkZXYpKQo+ICAJCXJldHVy bjsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9lZGlkLmMKPiBpbmRleCBkZGQ1Mzc5MTQ1NzUuLjIzYzk5NzdkODk5OSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fZWRpZC5jCj4gQEAgLTIwODMsNiArMjA4Myw4IEBAIGRybV9tb2RlX3N0ZChz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1Y3QgZWRpZCAqZWRpZCwKPiAgCWlm IChoc2l6ZSA9PSAxMzY2ICYmIHZzaXplID09IDc2OCAmJiB2cmVmcmVzaF9yYXRlID09IDYwKSB7 Cj4gIAkJbW9kZSA9IGRybV9jdnRfbW9kZShkZXYsIDEzNjYsIDc2OCwgdnJlZnJlc2hfcmF0ZSwg MCwgMCwKPiAgCQkJCSAgICBmYWxzZSk7Cj4gKwkJaWYgKCFtb2RlKQo+ICsJCQlyZXR1cm4gTlVM TDsKPiAgCQltb2RlLT5oZGlzcGxheSA9IDEzNjY7Cj4gIAkJbW9kZS0+aHN5bmNfc3RhcnQgPSBt b2RlLT5oc3luY19zdGFydCAtIDE7Cj4gIAkJbW9kZS0+aHN5bmNfZW5kID0gbW9kZS0+aHN5bmNf ZW5kIC0gMTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV92YmxhbmsuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fdmJsYW5rLmMKPiBpbmRleCAzMmQ5YmNmNWJlN2YuLmEzYTFiY2U4 NzQ2OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3ZibGFuay5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV92YmxhbmsuYwo+IEBAIC0xMjAsNyArMTIwLDcgQEAgc3RhdGlj IHUzMiBfX2dldF92YmxhbmtfY291bnRlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25l ZCBpbnQgcGlwZSkKPiAgCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01P REVTRVQpKSB7Cj4gIAkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gZHJtX2NydGNfZnJvbV9pbmRl eChkZXYsIHBpcGUpOwo+ICAKPiAtCQlpZiAoY3J0Yy0+ZnVuY3MtPmdldF92YmxhbmtfY291bnRl cikKPiArCQlpZiAoY3J0YyAmJiBjcnRjLT5mdW5jcy0+Z2V0X3ZibGFua19jb3VudGVyKQo+ICAJ CQlyZXR1cm4gY3J0Yy0+ZnVuY3MtPmdldF92YmxhbmtfY291bnRlcihjcnRjKTsKPiAgCX0KPiAg Cj4gQEAgLTMxOCw3ICszMTgsNyBAQCBzdGF0aWMgdm9pZCBfX2Rpc2FibGVfdmJsYW5rKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlKQo+ICAJaWYgKGRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpIHsKPiAgCQlzdHJ1Y3QgZHJtX2NydGMg KmNydGMgPSBkcm1fY3J0Y19mcm9tX2luZGV4KGRldiwgcGlwZSk7Cj4gIAo+IC0JCWlmIChjcnRj LT5mdW5jcy0+ZGlzYWJsZV92YmxhbmspIHsKPiArCQlpZiAoY3J0YyAmJiBjcnRjLT5mdW5jcy0+ ZGlzYWJsZV92YmxhbmspIHsKPiAgCQkJY3J0Yy0+ZnVuY3MtPmRpc2FibGVfdmJsYW5rKGNydGMp Owo+ICAJCQlyZXR1cm47Cj4gIAkJfQo+IEBAIC05MTgsNyArOTE4LDcgQEAgc3RhdGljIGludCBf X2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUp Cj4gIAlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkgewo+ ICAJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGRybV9jcnRjX2Zyb21faW5kZXgoZGV2LCBwaXBl KTsKPiAgCj4gLQkJaWYgKGNydGMtPmZ1bmNzLT5lbmFibGVfdmJsYW5rKQo+ICsJCWlmIChjcnRj ICYmIGNydGMtPmZ1bmNzLT5lbmFibGVfdmJsYW5rKQo+ICAJCQlyZXR1cm4gY3J0Yy0+ZnVuY3Mt PmVuYWJsZV92YmxhbmsoY3J0Yyk7Cj4gIAl9CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4g U291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=