From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 03/44] drm: Make drm_connector_register() safe against multiple calls Date: Wed, 15 Jun 2016 13:17:48 +0100 Message-ID: <1465993109-19523-4-git-send-email-chris@chris-wilson.co.uk> References: <1465993109-19523-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1465993109-19523-1-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , Dave Airlie , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org UHJvdGVjdCBhZ2FpbnN0IGRyaXZlcnMgdGhhdCBtYXkgdHJ5IHRvIHJlZ2lzdGVyIHRoZSBjb25u ZWN0b3IgbW9yZQp0aGFuIG9uY2UsIG9yIHdobyB0cnkgdG8gdW5yZWdpc3RlciBpdCBtdWx0aXBs ZSB0aW1lcy4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29u LmNvLnVrPgpDYzogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KQ2M6IGRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgfCA5ICsr KysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgfCAyICsrCiAyIGZpbGVzIGNoYW5n ZWQsIDExIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Ny dGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCmluZGV4IDIzZGZlYzQxZGVjYi4uZWE1 ZWM2NDFlYWNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwpAQCAtOTg0LDYgKzk4NCw5IEBAIGludCBkcm1fY29u bmVjdG9yX3JlZ2lzdGVyKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiB7CiAJaW50 IHJldDsKIAorCWlmIChjb25uZWN0b3ItPnJlZ2lzdGVyZWQpCisJCXJldHVybiAwOworCiAJcmV0 ID0gZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9hZGQoY29ubmVjdG9yKTsKIAlpZiAocmV0KQogCQlyZXR1 cm4gcmV0OwpAQCAtMTAwMSw2ICsxMDA0LDcgQEAgaW50IGRybV9jb25uZWN0b3JfcmVnaXN0ZXIo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogCWRybV9tb2RlX29iamVjdF9yZWdp c3Rlcihjb25uZWN0b3ItPmRldiwgJmNvbm5lY3Rvci0+YmFzZSk7CiAKKwljb25uZWN0b3ItPnJl Z2lzdGVyZWQgPSB0cnVlOwogCXJldHVybiAwOwogCiBlcnJfZGVidWdmczoKQEAgLTEwMTksMTEg KzEwMjMsMTYgQEAgRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX3JlZ2lzdGVyKTsKICAqLwog dm9pZCBkcm1fY29ubmVjdG9yX3VucmVnaXN0ZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKIHsKKwlpZiAoIWNvbm5lY3Rvci0+cmVnaXN0ZXJlZCkKKwkJcmV0dXJuOworCiAJaWYg KGNvbm5lY3Rvci0+ZnVuY3MtPmVhcmx5X3VucmVnaXN0ZXIpCiAJCWNvbm5lY3Rvci0+ZnVuY3Mt PmVhcmx5X3VucmVnaXN0ZXIoY29ubmVjdG9yKTsKIAogCWRybV9zeXNmc19jb25uZWN0b3JfcmVt b3ZlKGNvbm5lY3Rvcik7CiAJZHJtX2RlYnVnZnNfY29ubmVjdG9yX3JlbW92ZShjb25uZWN0b3Ip OworCisJY29ubmVjdG9yLT5yZWdpc3RlcmVkID0gZmFsc2U7CiB9CiBFWFBPUlRfU1lNQk9MKGRy bV9jb25uZWN0b3JfdW5yZWdpc3Rlcik7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9j cnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCmluZGV4IDBjMzViNGY3M2U0Yy4uZTM4Yjg4 Njk2ZmYwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCisrKyBiL2luY2x1ZGUv ZHJtL2RybV9jcnRjLmgKQEAgLTExOTQsNiArMTE5NCw3IEBAIHN0cnVjdCBkcm1fZW5jb2RlciB7 CiAgKiBAaW50ZXJsYWNlX2FsbG93ZWQ6IGNhbiB0aGlzIGNvbm5lY3RvciBoYW5kbGUgaW50ZXJs YWNlZCBtb2Rlcz8KICAqIEBkb3VibGVzY2FuX2FsbG93ZWQ6IGNhbiB0aGlzIGNvbm5lY3RvciBo YW5kbGUgZG91Ymxlc2Nhbj8KICAqIEBzdGVyZW9fYWxsb3dlZDogY2FuIHRoaXMgY29ubmVjdG9y IGhhbmRsZSBzdGVyZW8gbW9kZXM/CisgKiBAcmVnaXN0ZXJlZDogaXMgdGhpcyBjb25uZWN0b3Ig ZXhwb3NlZCAocmVnaXN0ZXJlZCkgd2l0aCB1c2Vyc3BhY2U/CiAgKiBAbW9kZXM6IG1vZGVzIGF2 YWlsYWJsZSBvbiB0aGlzIGNvbm5lY3RvciAoZnJvbSBmaWxsX21vZGVzKCkgKyB1c2VyKQogICog QHN0YXR1czogb25lIG9mIHRoZSBkcm1fY29ubmVjdG9yX3N0YXR1cyBlbnVtcyAoY29ubmVjdGVk LCBub3QsIG9yIHVua25vd24pCiAgKiBAcHJvYmVkX21vZGVzOiBsaXN0IG9mIG1vZGVzIGRlcml2 ZWQgZGlyZWN0bHkgZnJvbSB0aGUgZGlzcGxheQpAQCAtMTI1MCw2ICsxMjUxLDcgQEAgc3RydWN0 IGRybV9jb25uZWN0b3IgewogCWJvb2wgaW50ZXJsYWNlX2FsbG93ZWQ7CiAJYm9vbCBkb3VibGVz Y2FuX2FsbG93ZWQ7CiAJYm9vbCBzdGVyZW9fYWxsb3dlZDsKKwlib29sIHJlZ2lzdGVyZWQ7CiAJ c3RydWN0IGxpc3RfaGVhZCBtb2RlczsgLyogbGlzdCBvZiBtb2RlcyBvbiB0aGlzIGNvbm5lY3Rv ciAqLwogCiAJZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cyBzdGF0dXM7Ci0tIAoyLjguMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==