From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC PATCH] drm/i915: fix potential dangling else problems in for_each_ macros Date: Tue, 24 Nov 2015 19:25:44 +0100 Message-ID: <20151124182544.GF17050@phenom.ffwll.local> References: <1448386585-4144-1-git-send-email-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f54.google.com (mail-wm0-f54.google.com [74.125.82.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id 18D536E933 for ; Tue, 24 Nov 2015 10:25:48 -0800 (PST) Received: by wmww144 with SMTP id w144so150512160wmw.1 for ; Tue, 24 Nov 2015 10:25:46 -0800 (PST) Content-Disposition: inline In-Reply-To: <1448386585-4144-1-git-send-email-jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBOb3YgMjQsIDIwMTUgYXQgMDc6MzY6MjVQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gV2UgaGF2ZSBzZXJpb3VzIGRhbmdsaW5nIGVsc2UgYnVncyB3YWl0aW5nIHRvIGhhcHBl biBpbiBvdXIgZm9yX2VhY2hfCj4gc3R5bGUgbWFjcm9zIHdpdGggaWZzLiBDb25zaWRlciwgZm9y IGV4YW1wbGUsCj4gCj4gICNkZWZpbmUgZm9yX2VhY2hfcG93ZXJfZG9tYWluKGRvbWFpbiwgbWFz aykgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICAgICAgICAgIGZvciAoKGRvbWFpbikgPSAw OyAoZG9tYWluKSA8IFBPV0VSX0RPTUFJTl9OVU07IChkb21haW4pKyspIFwKPiAgICAgICAgICAg ICAgICAgIGZvcl9lYWNoX2lmICgoMSA8PCAoZG9tYWluKSkgJiAobWFzaykpCj4gCj4gSWYgdGhp cyBpcyB1c2VkIGluIGNvbnRleHQ6Cj4gCj4gCWlmIChjb25kaXRpb24pCj4gCQlmb3JfZWFjaF9w b3dlcl9kb21haW4oZG9tYWluLCBtYXNrKTsKPiAJZWxzZQo+IAkJZm9vKCk7Cj4gCj4gZm9vKCkg d2lsbCBiZSBjYWxsZWQgZm9yIGVhY2ggZG9tYWluICpub3QqIGluIG1hc2ssIGlmIGNvbmRpdGlv biBob2xkcywKPiBhbmQgbm90IGF0IGFsbCBpZiBjb25kaXRpb24gZG9lc24ndCBob2xkLgo+IAo+ IEZpeCB0aGlzIGJ5IHJldmVyc2luZyB0aGUgY29uZGl0aW9ucyBpbiB0aGUgbWFjcm9zLCBhbmQg YWRkaW5nIGFuIGVsc2UKPiBicmFuY2ggZm9yIHRoZSAiZm9yIGVhY2giIGJsb2NrLCBzbyB0aGF0 IG90aGVyIGlmL2Vsc2UgYmxvY2tzIGNhbid0Cj4gaW50ZXJmZXJlLiBQcm92aWRlIGEgImZvcl9l YWNoX2lmIiBoZWxwZXIgbWFjcm8gdG8gbWFrZSBpdCBlYXNpZXIgdG8gZ2V0Cj4gdGhpcyByaWdo dC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29t PgoKVGhlcmUncyBhIHNob2NraW5nIGFtb3VudCBvZiB0aGVzZSBpbiBkcm0gY29yZSB0b28uIEp1 c3QgbG9va2luZyB0aHJvdWdoCmRybV9jcnRjLmggZmluZHMgcGxlbnR5LgoKQ2FyZSB0byByZXNw aW4gd2l0aCB0aGF0IGluY2x1ZGVkIChhbmQgZm9yX2VhY2hfaWYgbW92ZSB0byBkcm1QLmggb3IK c29tZXRoaW5nIGxpa2UgdGhhdCk/CgpPbiB0aGUgaTkxNSBwYXJ0cyBtZWFud2hpbGU6CgpSZXZp ZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KCj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8IDE0ICsrKysrKysrLS0t LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICB8ICAyICstCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oICAgICAgICB8ICAyICstCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8ICA0ICsrLS0KPiAgNCBmaWxlcyBj aGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiBpbmRleCAzZDg3NDFlZmY3ZDMuLmY5Yzc3OWZkODRhZCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0yNjMsNiArMjYzLDggQEAgc3RydWN0IGk5MTVfaG90 cGx1ZyB7Cj4gIAkgSTkxNV9HRU1fRE9NQUlOX0lOU1RSVUNUSU9OIHwgXAo+ICAJIEk5MTVfR0VN X0RPTUFJTl9WRVJURVgpCj4gIAo+ICsjZGVmaW5lIGZvcl9lYWNoX2lmKGNvbmRpdGlvbikgaWYg KCEoY29uZGl0aW9uKSk7IGVsc2UKPiArCj4gICNkZWZpbmUgZm9yX2VhY2hfcGlwZShfX2Rldl9w cml2LCBfX3ApIFwKPiAgCWZvciAoKF9fcCkgPSAwOyAoX19wKSA8IElOVEVMX0lORk8oX19kZXZf cHJpdiktPm51bV9waXBlczsgKF9fcCkrKykKPiAgI2RlZmluZSBmb3JfZWFjaF9wbGFuZShfX2Rl dl9wcml2LCBfX3BpcGUsIF9fcCkJCQkJXAo+IEBAIC0yODYsNyArMjg4LDcgQEAgc3RydWN0IGk5 MTVfaG90cGx1ZyB7Cj4gIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGludGVsX3BsYW5lLAkJCQlcCj4g IAkJCSAgICAmKGRldiktPm1vZGVfY29uZmlnLnBsYW5lX2xpc3QsCQlcCj4gIAkJCSAgICBiYXNl LmhlYWQpCQkJCQlcCj4gLQkJaWYgKChpbnRlbF9wbGFuZSktPnBpcGUgPT0gKGludGVsX2NydGMp LT5waXBlKQo+ICsJCWZvcl9lYWNoX2lmICgoaW50ZWxfcGxhbmUpLT5waXBlID09IChpbnRlbF9j cnRjKS0+cGlwZSkKPiAgCj4gICNkZWZpbmUgZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGludGVs X2NydGMpIFwKPiAgCWxpc3RfZm9yX2VhY2hfZW50cnkoaW50ZWxfY3J0YywgJmRldi0+bW9kZV9j b25maWcuY3J0Y19saXN0LCBiYXNlLmhlYWQpCj4gQEAgLTMwMywxNSArMzA1LDE1IEBAIHN0cnVj dCBpOTE1X2hvdHBsdWcgewo+ICAKPiAgI2RlZmluZSBmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMo ZGV2LCBfX2NydGMsIGludGVsX2VuY29kZXIpIFwKPiAgCWxpc3RfZm9yX2VhY2hfZW50cnkoKGlu dGVsX2VuY29kZXIpLCAmKGRldiktPm1vZGVfY29uZmlnLmVuY29kZXJfbGlzdCwgYmFzZS5oZWFk KSBcCj4gLQkJaWYgKChpbnRlbF9lbmNvZGVyKS0+YmFzZS5jcnRjID09IChfX2NydGMpKQo+ICsJ CWZvcl9lYWNoX2lmICgoaW50ZWxfZW5jb2RlciktPmJhc2UuY3J0YyA9PSAoX19jcnRjKSkKPiAg Cj4gICNkZWZpbmUgZm9yX2VhY2hfY29ubmVjdG9yX29uX2VuY29kZXIoZGV2LCBfX2VuY29kZXIs IGludGVsX2Nvbm5lY3RvcikgXAo+ICAJbGlzdF9mb3JfZWFjaF9lbnRyeSgoaW50ZWxfY29ubmVj dG9yKSwgJihkZXYpLT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdCwgYmFzZS5oZWFkKSBcCj4g LQkJaWYgKChpbnRlbF9jb25uZWN0b3IpLT5iYXNlLmVuY29kZXIgPT0gKF9fZW5jb2RlcikpCj4g KwkJZm9yX2VhY2hfaWYgKChpbnRlbF9jb25uZWN0b3IpLT5iYXNlLmVuY29kZXIgPT0gKF9fZW5j b2RlcikpCj4gIAo+ICAjZGVmaW5lIGZvcl9lYWNoX3Bvd2VyX2RvbWFpbihkb21haW4sIG1hc2sp CQkJCVwKPiAgCWZvciAoKGRvbWFpbikgPSAwOyAoZG9tYWluKSA8IFBPV0VSX0RPTUFJTl9OVU07 IChkb21haW4pKyspCVwKPiAtCQlpZiAoKDEgPDwgKGRvbWFpbikpICYgKG1hc2spKQo+ICsJCWZv cl9lYWNoX2lmICgoMSA8PCAoZG9tYWluKSkgJiAobWFzaykpCj4gIAo+ICBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZTsKPiAgc3RydWN0IGk5MTVfbW1fc3RydWN0Owo+IEBAIC03MzAsNyArNzMyLDcg QEAgc3RydWN0IGludGVsX3VuY29yZSB7Cj4gIAlmb3IgKChpX18pID0gMCwgKGRvbWFpbl9fKSA9 ICYoZGV2X3ByaXZfXyktPnVuY29yZS5md19kb21haW5bMF07IFwKPiAgCSAgICAgKGlfXykgPCBG V19ET01BSU5fSURfQ09VTlQ7IFwKPiAgCSAgICAgKGlfXykrKywgKGRvbWFpbl9fKSA9ICYoZGV2 X3ByaXZfXyktPnVuY29yZS5md19kb21haW5baV9fXSkgXAo+IC0JCWlmICgoKG1hc2tfXykgJiAo ZGV2X3ByaXZfXyktPnVuY29yZS5md19kb21haW5zKSAmICgxIDw8IChpX18pKSkKPiArCQlmb3Jf ZWFjaF9pZiAoKChtYXNrX18pICYgKGRldl9wcml2X18pLT51bmNvcmUuZndfZG9tYWlucykgJiAo MSA8PCAoaV9fKSkpCj4gIAo+ICAjZGVmaW5lIGZvcl9lYWNoX2Z3X2RvbWFpbihkb21haW5fXywg ZGV2X3ByaXZfXywgaV9fKSBcCj4gIAlmb3JfZWFjaF9md19kb21haW5fbWFzayhkb21haW5fXywg Rk9SQ0VXQUtFX0FMTCwgZGV2X3ByaXZfXywgaV9fKQo+IEBAIC0xOTY5LDcgKzE5NzEsNyBAQCBz dGF0aWMgaW5saW5lIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpndWNfdG9faTkxNShzdHJ1Y3Qg aW50ZWxfZ3VjICpndWMpCj4gIC8qIEl0ZXJhdGUgb3ZlciBpbml0aWFsaXNlZCByaW5ncyAqLwo+ ICAjZGVmaW5lIGZvcl9lYWNoX3JpbmcocmluZ19fLCBkZXZfcHJpdl9fLCBpX18pIFwKPiAgCWZv ciAoKGlfXykgPSAwOyAoaV9fKSA8IEk5MTVfTlVNX1JJTkdTOyAoaV9fKSsrKSBcCj4gLQkJaWYg KCgocmluZ19fKSA9ICYoZGV2X3ByaXZfXyktPnJpbmdbKGlfXyldKSwgaW50ZWxfcmluZ19pbml0 aWFsaXplZCgocmluZ19fKSkpCj4gKwkJZm9yX2VhY2hfaWYgKCgoKHJpbmdfXykgPSAmKGRldl9w cml2X18pLT5yaW5nWyhpX18pXSksIGludGVsX3JpbmdfaW5pdGlhbGl6ZWQoKHJpbmdfXykpKSkK PiAgCj4gIGVudW0gaGRtaV9mb3JjZV9hdWRpbyB7Cj4gIAlIRE1JX0FVRElPX09GRl9EVkkgPSAt MiwJLyogbm8gYXV4IGRhdGEgZm9yIEhETUktRFZJIGNvbnZlcnRlciAqLwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA3NWYwM2U1YmVlNTEuLjRiMjFkNWUxMzdkYyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTI0MTcsNyArMTI0 MTcsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9mdXp6eV9jbG9ja19jaGVjayhpbnQgY2xvY2sxLCBp bnQgY2xvY2syKQo+ICAJbGlzdF9mb3JfZWFjaF9lbnRyeSgoaW50ZWxfY3J0YyksIFwKPiAgCQkJ ICAgICYoZGV2KS0+bW9kZV9jb25maWcuY3J0Y19saXN0LCBcCj4gIAkJCSAgICBiYXNlLmhlYWQp IFwKPiAtCQlpZiAobWFzayAmICgxIDw8KGludGVsX2NydGMpLT5waXBlKSkKPiArCQlmb3JfZWFj aF9pZiAobWFzayAmICgxIDw8KGludGVsX2NydGMpLT5waXBlKSkKPiAgCj4gIHN0YXRpYyBib29s Cj4gIGludGVsX2NvbXBhcmVfbV9uKHVuc2lnbmVkIGludCBtLCB1bnNpZ25lZCBpbnQgbiwKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kc2kuaAo+IGluZGV4IGU2Y2IyNTIzOTk0MS4uMDI1NTFmZjIyOGMy IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmgKPiBAQCAtMTE3LDcgKzExNyw3IEBAIHN0 YXRpYyBpbmxpbmUgc3RydWN0IGludGVsX2RzaV9ob3N0ICp0b19pbnRlbF9kc2lfaG9zdChzdHJ1 Y3QgbWlwaV9kc2lfaG9zdCAqaCkKPiAgCj4gICNkZWZpbmUgZm9yX2VhY2hfZHNpX3BvcnQoX19w b3J0LCBfX3BvcnRzX21hc2spIFwKPiAgCWZvciAoKF9fcG9ydCkgPSBQT1JUX0E7IChfX3BvcnQp IDwgSTkxNV9NQVhfUE9SVFM7IChfX3BvcnQpKyspCVwKPiAtCQlpZiAoKF9fcG9ydHNfbWFzaykg JiAoMSA8PCAoX19wb3J0KSkpCj4gKwkJZm9yX2VhY2hfaWYgKChfX3BvcnRzX21hc2spICYgKDEg PDwgKF9fcG9ydCkpKQo+ICAKPiAgc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxfZHNpICplbmNf dG9faW50ZWxfZHNpKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiAgewo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBpbmRleCAzZmE0M2FmOTQ5NDYuLjQ2OTky N2VkZjQ1OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1l X3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBA QCAtNTQsMTMgKzU0LDEzIEBACj4gIAkgICAgIGkgPCAocG93ZXJfZG9tYWlucyktPnBvd2VyX3dl bGxfY291bnQgJiYJCQlcCj4gIAkJICgocG93ZXJfd2VsbCkgPSAmKHBvd2VyX2RvbWFpbnMpLT5w b3dlcl93ZWxsc1tpXSk7CVwKPiAgCSAgICAgaSsrKQkJCQkJCQlcCj4gLQkJaWYgKChwb3dlcl93 ZWxsKS0+ZG9tYWlucyAmIChkb21haW5fbWFzaykpCj4gKwkJZm9yX2VhY2hfaWYgKChwb3dlcl93 ZWxsKS0+ZG9tYWlucyAmIChkb21haW5fbWFzaykpCj4gIAo+ICAjZGVmaW5lIGZvcl9lYWNoX3Bv d2VyX3dlbGxfcmV2KGksIHBvd2VyX3dlbGwsIGRvbWFpbl9tYXNrLCBwb3dlcl9kb21haW5zKSBc Cj4gIAlmb3IgKGkgPSAocG93ZXJfZG9tYWlucyktPnBvd2VyX3dlbGxfY291bnQgLSAxOwkJCSBc Cj4gIAkgICAgIGkgPj0gMCAmJiAoKHBvd2VyX3dlbGwpID0gJihwb3dlcl9kb21haW5zKS0+cG93 ZXJfd2VsbHNbaV0pO1wKPiAgCSAgICAgaS0tKQkJCQkJCQkgXAo+IC0JCWlmICgocG93ZXJfd2Vs bCktPmRvbWFpbnMgJiAoZG9tYWluX21hc2spKQo+ICsJCWZvcl9lYWNoX2lmICgocG93ZXJfd2Vs bCktPmRvbWFpbnMgJiAoZG9tYWluX21hc2spKQo+ICAKPiAgYm9vbCBpbnRlbF9kaXNwbGF5X3Bv d2VyX3dlbGxfaXNfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g IAkJCQkgICAgaW50IHBvd2VyX3dlbGxfaWQpOwo+IC0tIAo+IDIuMS40Cj4gCj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGlu ZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0 dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZnds bC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=