From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: [PATCH AUTOSEL 5.0 078/262] drm/amd/display: Fix reference counting for struct dc_sink. Date: Wed, 27 Mar 2019 13:58:53 -0400 Message-ID: <20190327180158.10245-78-sashal@kernel.org> References: <20190327180158.10245-1-sashal@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190327180158.10245-1-sashal@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Alex Deucher , Sasha Levin , dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, =?UTF-8?q?Mathias=20Fr=C3=B6hlich?= List-Id: amd-gfx.lists.freedesktop.org RnJvbTogTWF0aGlhcyBGcsO2aGxpY2ggPE1hdGhpYXMuRnJvZWhsaWNoQHdlYi5kZT4KClsgVXBz dHJlYW0gY29tbWl0IGRjZDVmYjgyZmZiNDg0MTI0MjAzYWEzMzk3MzM2NjNhYzBiMDU5ZjMgXQoK UmVmZXJlbmNlIGNvdW50aW5nIGluIGFtZGdwdV9kbV9jb25uZWN0b3IgZm9yIGFtZGdwdV9kbV9j b25uZWN0b3I6OmRjX3NpbmsKYW5kIGFtZGdwdV9kbV9jb25uZWN0b3I6OmRjX2VtX3NpbmsgYXMg d2VsbCBhcyBpbiBkY19saW5rOjpsb2NhbF9zaW5rIHNlZW1zCnRvIGJlIG91dCBvZiBzaGFwZS4g VGh1cyBtYWtlIHJlZmVyZW5jZSBjb3VudGluZyBjb25zaXN0ZW50IGZvciB0aGVzZQptZW1iZXJz IGFuZCBqdXN0IHBsYWluIGluY3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50IHdoZW4gdGhlIHZh cmlhYmxlCmdldHMgYXNzaWduZWQgYW5kIGRlY3JlbWVudCB3aGVuIHRoZSBwb2ludGVyIGlzIHNl dCB0byB6ZXJvIG9yIHJlcGxhY2VkLgpBbHNvIHNpbXBsaWZ5IHJlZmVyZW5jZSBjb3VudGluZyBp biBzZWxlY3RlZCBmdW5jdGlvbiBzb3BlcyB0byBiZSBzdXJlIHRoZQpyZWZlcmVuY2UgaXMgcmVs ZWFzZWQgaW4gYW55IGNhc2UuIEluIHNvbWUgY2FzZXMgYWRkIE5VTEwgcG9pbnRlciBjaGVjawpi ZWZvcmUgZGVyZWZlcmVuY2luZy4KQXQgYSBoYW5kIGZ1bGwgb2YgcGxhY2VzIGEgY29tbWVudCBp cyBwbGFjZWQgdG8gc3RhdCB0aGF0IHRoZSByZWZlcmVuY2UKaW5jcmVtZW50IGhhcHBlbmVkIGFs cmVhZHkgc29tZXdoZXJlIGVsc2UuCgpUaGlzIGFjdHVhbGx5IGZpeGVzIHRoZSBmb2xsb3dpbmcg a2VybmVsIGJ1ZyBvbiBteSBzeXN0ZW0gd2hlbiBlbmFibGluZwpkaXNwbGF5IGNvcmUgaW4gYW1k Z3B1LiBUaGVyZSBhcmUgc29tZSBtb3JlIHNpbWlsYXIgYnVnIHJlcG9ydHMgYXJvdW5kLApzbyBp dCBwcm9iYWJseSBoZWxwcyBhdCBtb3JlIHBsYWNlcy4KCiAgIGtlcm5lbCBCVUcgYXQgbW0vc2x1 Yi5jOjI5NCEKICAgaW52YWxpZCBvcGNvZGU6IDAwMDAgWyMxXSBTTVAgUFRJCiAgIENQVTogOSBQ SUQ6IDExODAgQ29tbTogWG9yZyBOb3QgdGFpbnRlZCA1LjAuMC1yYzErICMyCiAgIEhhcmR3YXJl IG5hbWU6IFN1cGVybWljcm8gWDEwREFpL1gxMERBSSwgQklPUyAzLjBhIDAyLzA1LzIwMTgKICAg UklQOiAwMDEwOl9fc2xhYl9mcmVlKzB4MWUyLzB4M2QwCiAgIENvZGU6IDhiIDU0IDI0IDMwIDQ4 IDg5IDRjIDI0IDI4IGU4IGRhIGZiIGZmIGZmIDRjIDhiIDU0IDI0IDI4IDg1IGMwIDBmIDg1IDY3 IGZlIGZmIGZmIDQ4IDhkIDY1IGQ4IDViIDQxIDVjIDQxIDVkIDQxIDVlIDQxIDVmIDVkIGMzIDww Zj4gMGIgNDkgM2IgNWMgMjQgMjggNzUgYWIgNDggOGIgNDQgMjQgMzAgNDkgODkgNGMgMjQgMjgg NDkgODkgNDQKICAgUlNQOiAwMDE4OmZmZmZiMDk3ODU4OWZhOTAgRUZMQUdTOiAwMDAxMDI0Ngog ICBSQVg6IGZmZmY5MmYxMjgwNmM0MDAgUkJYOiAwMDAwMDAwMDgwMjAwMDE5IFJDWDogZmZmZjky ZjEyODA2YzQwMAogICBSRFg6IGZmZmY5MmYxMjgwNmM0MDAgUlNJOiBmZmZmZGQ2NDIxYTAxYTAw IFJESTogZmZmZjkyZWQyZjQwNmU4MAogICBSQlA6IGZmZmZiMDk3ODU4OWZiNDAgUjA4OiAwMDAw MDAwMDAwMDAwMDAxIFIwOTogZmZmZmZmZmZjMGVlNDc0OAogICBSMTA6IGZmZmY5MmYxMjgwNmM0 MDAgUjExOiAwMDAwMDAwMDAwMDAwMDAxIFIxMjogZmZmZmRkNjQyMWEwMWEwMAogICBSMTM6IGZm ZmY5MmYxMjgwNmM0MDAgUjE0OiBmZmZmOTJlZDJmNDA2ZTgwIFIxNTogZmZmZmRkNjQyMWEwMWEy MAogICBGUzogIDAwMDA3ZjQxNzBiZTBhYzAoMDAwMCkgR1M6ZmZmZjkyZWQyZmI0MDAwMCgwMDAw KSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCiAgIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBD UjA6IDAwMDAwMDAwODAwNTAwMzMKICAgQ1IyOiAwMDAwNTYyODE4YWFhMDAwIENSMzogMDAwMDAw MDQ1NzQ1YTAwMiBDUjQ6IDAwMDAwMDAwMDAzNjA2ZTAKICAgRFIwOiAwMDAwMDAwMDAwMDAwMDAw IERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKICAgRFIzOiAwMDAw MDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAK ICAgQ2FsbCBUcmFjZToKICAgID8gZHJtX2RiZysweDg3LzB4OTAgW2RybV0KICAgIGRjX3N0cmVh bV9yZWxlYXNlKzB4MjgvMHg1MCBbYW1kZ3B1XQogICAgYW1kZ3B1X2RtX2Nvbm5lY3Rvcl9tb2Rl X3ZhbGlkKzB4YjQvMHgxZjAgW2FtZGdwdV0KICAgIGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nv bm5lY3Rvcl9tb2RlcysweDQ5Mi8weDZiMCBbZHJtX2ttc19oZWxwZXJdCiAgICBkcm1fbW9kZV9n ZXRjb25uZWN0b3IrMHg0NTcvMHg0OTAgW2RybV0KICAgID8gZHJtX2Nvbm5lY3Rvcl9wcm9wZXJ0 eV9zZXRfaW9jdGwrMHg2MC8weDYwIFtkcm1dCiAgICBkcm1faW9jdGxfa2VybmVsKzB4YTkvMHhm MCBbZHJtXQogICAgZHJtX2lvY3RsKzB4MjAxLzB4M2EwIFtkcm1dCiAgICA/IGRybV9jb25uZWN0 b3JfcHJvcGVydHlfc2V0X2lvY3RsKzB4NjAvMHg2MCBbZHJtXQogICAgYW1kZ3B1X2RybV9pb2N0 bCsweDQ5LzB4ODAgW2FtZGdwdV0KICAgIGRvX3Zmc19pb2N0bCsweGE0LzB4NjMwCiAgICA/IF9f c3lzX3JlY3Ztc2crMHg4My8weGEwCiAgICBrc3lzX2lvY3RsKzB4NjAvMHg5MAogICAgX194NjRf c3lzX2lvY3RsKzB4MTYvMHgyMAogICAgZG9fc3lzY2FsbF82NCsweDViLzB4MTYwCiAgICBlbnRy eV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5CiAgIFJJUDogMDAzMzoweDdmNDE3 MTEwODA5YgogICBDb2RlOiAwZiAxZSBmYSA0OCA4YiAwNSBlZCBiZCAwYyAwMCA2NCBjNyAwMCAy NiAwMCAwMCAwMCA0OCBjNyBjMCBmZiBmZiBmZiBmZiBjMyA2NiAwZiAxZiA0NCAwMCAwMCBmMyAw ZiAxZSBmYSBiOCAxMCAwMCAwMCAwMCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDczIDAxIGMz IDQ4IDhiIDBkIGJkIGJkIDBjIDAwIGY3IGQ4IDY0IDg5IDAxIDQ4CiAgIFJTUDogMDAyYjowMDAw N2ZmZGQ4ZDFjMjY4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMTAK ICAgUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDU2MjgxOGE4ZWJjMCBSQ1g6IDAwMDA3 ZjQxNzExMDgwOWIKICAgUkRYOiAwMDAwN2ZmZGQ4ZDFjMmEwIFJTSTogMDAwMDAwMDBjMDUwNjRh NyBSREk6IDAwMDAwMDAwMDAwMDAwMTIKICAgUkJQOiAwMDAwN2ZmZGQ4ZDFjMmEwIFIwODogMDAw MDU2MjgxOTAxMjI4MCBSMDk6IDAwMDAwMDAwMDAwMDAwMDcKICAgUjEwOiAwMDAwMDAwMDAwMDAw MDAwIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDAwMDAwYzA1MDY0YTcKICAgUjEzOiAw MDAwMDAwMDAwMDAwMDEyIFIxNDogMDAwMDAwMDAwMDAwMDAxMiBSMTU6IDAwMDA3ZmZkZDhkMWMy YTAKICAgTW9kdWxlcyBsaW5rZWQgaW46IG5mc3Y0IGRuc19yZXNvbHZlciBuZnMgbG9ja2QgZ3Jh Y2UgZnNjYWNoZSBmdXNlIHZmYXQgZmF0IGFtZGdwdSBpbnRlbF9yYXBsIHNiX2VkYWMgeDg2X3Br Z190ZW1wX3RoZXJtYWwgaW50ZWxfcG93ZXJjbGFtcCBjb3JldGVtcCBrdm1faW50ZWwga3ZtIGly cWJ5cGFzcyBjcmN0MTBkaWZfcGNsbXVsIGNoYXNoIGdwdV9zY2hlZCBjcmMzMl9wY2xtdWwgc25k X2hkYV9jb2RlY19yZWFsdGVrIGdoYXNoX2NsbXVsbmlfaW50ZWwgYW1kX2lvbW11X3YyIGlUQ09f d2R0IGlUQ09fdmVuZG9yX3N1cHBvcnQgdHRtIHNuZF9oZGFfY29kZWNfZ2VuZXJpYyBzbmRfaGRh X2NvZGVjX2hkbWkgbGVkdHJpZ19hdWRpbyBzbmRfaGRhX2ludGVsIGRybV9rbXNfaGVscGVyIHNu ZF9oZGFfY29kZWMgaW50ZWxfY3N0YXRlIHNuZF9oZGFfY29yZSBkcm0gc25kX2h3ZGVwIHNuZF9z ZXEgc25kX3NlcV9kZXZpY2UgaW50ZWxfdW5jb3JlIHNuZF9wY20gaW50ZWxfcmFwbF9wZXJmIHNu ZF90aW1lciBzbmQgc291bmRjb3JlIGlvYXRkbWEgcGNzcGtyIGludGVsX3dtaV90aHVuZGVyYm9s dCBteG1fd21pIGkyY19pODAxIGxwY19pY2ggcGNjX2NwdWZyZXEgYXV0aF9ycGNnc3Mgc3VucnBj IGlnYiBjcmMzMmNfaW50ZWwgaTJjX2FsZ29fYml0IGRjYSB3bWkgaGlkX2NoZXJyeSBhbmFsb2cg Z2FtZXBvcnQgam95ZGV2CgpUaGlzIHBhdGNoIGlzIGJhc2VkIG9uIGFnZDVmL2RybS1uZXh0LTUu MS13aXAuIFRoaXMgcGF0Y2ggZG9lcyBub3QgcmVxdWlyZQphbGwgb2YgdGhhdCwgYnV0IGFnZDVm L2RybS1uZXh0LTUuMS13aXAgY29udGFpbnMgYXQgbGVhc3Qgb25lIG1vcmUgZGNfc2luawpjb3Vu dGluZyBmaXggdGhhdCBJIGNvdWxkIHNwb3QuCgpTaWduZWQtb2ZmLWJ5OiBNYXRoaWFzIEZyw7Zo bGljaCA8TWF0aGlhcy5Gcm9laGxpY2hAd2ViLmRlPgpSZXZpZXdlZC1ieTogTGVvIExpIDxzdW5w ZW5nLmxpQGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRl dWNoZXJAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogU2FzaGEgTGV2aW4gPHNhc2hhbEBrZXJuZWwu b3JnPgotLS0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyB8 IDQzICsrKysrKysrKysrKysrKy0tLS0KIC4uLi9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1f bXN0X3R5cGVzLmMgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3Jl L2RjX2xpbmsuYyB8ICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgOCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1k Z3B1X2RtL2FtZGdwdV9kbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9k bS9hbWRncHVfZG0uYwppbmRleCA2MzZkMTRhNjA5NTIuLjZkNzdmZDk2NmRiZCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCkBAIC04 ODYsNiArODg2LDcgQEAgc3RhdGljIHZvaWQgZW11bGF0ZWRfbGlua19kZXRlY3Qoc3RydWN0IGRj X2xpbmsgKmxpbmspCiAJCXJldHVybjsKIAl9CiAKKwkvKiBkY19zaW5rX2NyZWF0ZSByZXR1cm5z IGEgbmV3IHJlZmVyZW5jZSAqLwogCWxpbmstPmxvY2FsX3NpbmsgPSBzaW5rOwogCiAJZWRpZF9z dGF0dXMgPSBkbV9oZWxwZXJzX3JlYWRfbG9jYWxfZWRpZCgKQEAgLTk1Miw2ICs5NTMsOCBAQCBz dGF0aWMgaW50IGRtX3Jlc3VtZSh2b2lkICpoYW5kbGUpCiAJCWlmIChhY29ubmVjdG9yLT5mYWtl X2VuYWJsZSAmJiBhY29ubmVjdG9yLT5kY19saW5rLT5sb2NhbF9zaW5rKQogCQkJYWNvbm5lY3Rv ci0+ZmFrZV9lbmFibGUgPSBmYWxzZTsKIAorCQlpZiAoYWNvbm5lY3Rvci0+ZGNfc2luaykKKwkJ CWRjX3NpbmtfcmVsZWFzZShhY29ubmVjdG9yLT5kY19zaW5rKTsKIAkJYWNvbm5lY3Rvci0+ZGNf c2luayA9IE5VTEw7CiAJCWFtZGdwdV9kbV91cGRhdGVfY29ubmVjdG9yX2FmdGVyX2RldGVjdChh Y29ubmVjdG9yKTsKIAkJbXV0ZXhfdW5sb2NrKCZhY29ubmVjdG9yLT5ocGRfbG9jayk7CkBAIC0x MDYxLDYgKzEwNjQsOCBAQCBhbWRncHVfZG1fdXBkYXRlX2Nvbm5lY3Rvcl9hZnRlcl9kZXRlY3Qo c3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFjb25uZWN0b3IpCiAKIAogCXNpbmsgPSBhY29u bmVjdG9yLT5kY19saW5rLT5sb2NhbF9zaW5rOworCWlmIChzaW5rKQorCQlkY19zaW5rX3JldGFp bihzaW5rKTsKIAogCS8qCiAJICogRWRpZCBtZ210IGNvbm5lY3RvciBnZXRzIGZpcnN0IHVwZGF0 ZSBvbmx5IGluIG1vZGVfdmFsaWQgaG9vayBhbmQgdGhlbgpAQCAtMTA4NSwyMSArMTA5MCwyNCBA QCBhbWRncHVfZG1fdXBkYXRlX2Nvbm5lY3Rvcl9hZnRlcl9kZXRlY3Qoc3RydWN0IGFtZGdwdV9k bV9jb25uZWN0b3IgKmFjb25uZWN0b3IpCiAJCQkJICogdG8gaXQgYW55bW9yZSBhZnRlciBkaXNj b25uZWN0LCBzbyBvbiBuZXh0IGNydGMgdG8gY29ubmVjdG9yCiAJCQkJICogcmVzaHVmZmxlIGJ5 IFVNRCB3ZSB3aWxsIGdldCBpbnRvIHVud2FudGVkIGRjX3NpbmsgcmVsZWFzZQogCQkJCSAqLwot CQkJCWlmIChhY29ubmVjdG9yLT5kY19zaW5rICE9IGFjb25uZWN0b3ItPmRjX2VtX3NpbmspCi0J CQkJCWRjX3NpbmtfcmVsZWFzZShhY29ubmVjdG9yLT5kY19zaW5rKTsKKwkJCQlkY19zaW5rX3Jl bGVhc2UoYWNvbm5lY3Rvci0+ZGNfc2luayk7CiAJCQl9CiAJCQlhY29ubmVjdG9yLT5kY19zaW5r ID0gc2luazsKKwkJCWRjX3NpbmtfcmV0YWluKGFjb25uZWN0b3ItPmRjX3NpbmspOwogCQkJYW1k Z3B1X2RtX3VwZGF0ZV9mcmVlc3luY19jYXBzKGNvbm5lY3RvciwKIAkJCQkJYWNvbm5lY3Rvci0+ ZWRpZCk7CiAJCX0gZWxzZSB7CiAJCQlhbWRncHVfZG1fdXBkYXRlX2ZyZWVzeW5jX2NhcHMoY29u bmVjdG9yLCBOVUxMKTsKLQkJCWlmICghYWNvbm5lY3Rvci0+ZGNfc2luaykKKwkJCWlmICghYWNv bm5lY3Rvci0+ZGNfc2luaykgewogCQkJCWFjb25uZWN0b3ItPmRjX3NpbmsgPSBhY29ubmVjdG9y LT5kY19lbV9zaW5rOwotCQkJZWxzZSBpZiAoYWNvbm5lY3Rvci0+ZGNfc2luayAhPSBhY29ubmVj dG9yLT5kY19lbV9zaW5rKQogCQkJCWRjX3NpbmtfcmV0YWluKGFjb25uZWN0b3ItPmRjX3Npbmsp OworCQkJfQogCQl9CiAKIAkJbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsK KworCQlpZiAoc2luaykKKwkJCWRjX3NpbmtfcmVsZWFzZShzaW5rKTsKIAkJcmV0dXJuOwogCX0K IApAQCAtMTEwNyw4ICsxMTE1LDEwIEBAIGFtZGdwdV9kbV91cGRhdGVfY29ubmVjdG9yX2FmdGVy X2RldGVjdChzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvcikKIAkgKiBUT0RP OiB0ZW1wb3JhcnkgZ3VhcmQgdG8gbG9vayBmb3IgcHJvcGVyIGZpeAogCSAqIGlmIHRoaXMgc2lu ayBpcyBNU1Qgc2luaywgd2Ugc2hvdWxkIG5vdCBkbyBhbnl0aGluZwogCSAqLwotCWlmIChzaW5r ICYmIHNpbmstPnNpbmtfc2lnbmFsID09IFNJR05BTF9UWVBFX0RJU1BMQVlfUE9SVF9NU1QpCisJ aWYgKHNpbmsgJiYgc2luay0+c2lua19zaWduYWwgPT0gU0lHTkFMX1RZUEVfRElTUExBWV9QT1JU X01TVCkgeworCQlkY19zaW5rX3JlbGVhc2Uoc2luayk7CiAJCXJldHVybjsKKwl9CiAKIAlpZiAo YWNvbm5lY3Rvci0+ZGNfc2luayA9PSBzaW5rKSB7CiAJCS8qCkBAIC0xMTE3LDYgKzExMjcsOCBA QCBhbWRncHVfZG1fdXBkYXRlX2Nvbm5lY3Rvcl9hZnRlcl9kZXRlY3Qoc3RydWN0IGFtZGdwdV9k bV9jb25uZWN0b3IgKmFjb25uZWN0b3IpCiAJCSAqLwogCQlEUk1fREVCVUdfRFJJVkVSKCJEQ0hQ RDogY29ubmVjdG9yX2lkPSVkOiBkY19zaW5rIGRpZG4ndCBjaGFuZ2UuXG4iLAogCQkJCWFjb25u ZWN0b3ItPmNvbm5lY3Rvcl9pZCk7CisJCWlmIChzaW5rKQorCQkJZGNfc2lua19yZWxlYXNlKHNp bmspOwogCQlyZXR1cm47CiAJfQogCkBAIC0xMTM4LDYgKzExNTAsNyBAQCBhbWRncHVfZG1fdXBk YXRlX2Nvbm5lY3Rvcl9hZnRlcl9kZXRlY3Qoc3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFj b25uZWN0b3IpCiAJCQlhbWRncHVfZG1fdXBkYXRlX2ZyZWVzeW5jX2NhcHMoY29ubmVjdG9yLCBO VUxMKTsKIAogCQlhY29ubmVjdG9yLT5kY19zaW5rID0gc2luazsKKwkJZGNfc2lua19yZXRhaW4o YWNvbm5lY3Rvci0+ZGNfc2luayk7CiAJCWlmIChzaW5rLT5kY19lZGlkLmxlbmd0aCA9PSAwKSB7 CiAJCQlhY29ubmVjdG9yLT5lZGlkID0gTlVMTDsKIAkJCWRybV9kcF9jZWNfdW5zZXRfZWRpZCgm YWNvbm5lY3Rvci0+ZG1fZHBfYXV4LmF1eCk7CkBAIC0xMTU4LDExICsxMTcxLDE1IEBAIGFtZGdw dV9kbV91cGRhdGVfY29ubmVjdG9yX2FmdGVyX2RldGVjdChzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5l Y3RvciAqYWNvbm5lY3RvcikKIAkJYW1kZ3B1X2RtX3VwZGF0ZV9mcmVlc3luY19jYXBzKGNvbm5l Y3RvciwgTlVMTCk7CiAJCWRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoY29ubmVj dG9yLCBOVUxMKTsKIAkJYWNvbm5lY3Rvci0+bnVtX21vZGVzID0gMDsKKwkJZGNfc2lua19yZWxl YXNlKGFjb25uZWN0b3ItPmRjX3NpbmspOwogCQlhY29ubmVjdG9yLT5kY19zaW5rID0gTlVMTDsK IAkJYWNvbm5lY3Rvci0+ZWRpZCA9IE5VTEw7CiAJfQogCiAJbXV0ZXhfdW5sb2NrKCZkZXYtPm1v ZGVfY29uZmlnLm11dGV4KTsKKworCWlmIChzaW5rKQorCQlkY19zaW5rX3JlbGVhc2Uoc2luayk7 CiB9CiAKIHN0YXRpYyB2b2lkIGhhbmRsZV9ocGRfaXJxKHZvaWQgKnBhcmFtKQpAQCAtMjkwOCw2 ICsyOTI1LDcgQEAgY3JlYXRlX3N0cmVhbV9mb3Jfc2luayhzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5l Y3RvciAqYWNvbm5lY3RvciwKIAkJfQogCX0gZWxzZSB7CiAJCXNpbmsgPSBhY29ubmVjdG9yLT5k Y19zaW5rOworCQlkY19zaW5rX3JldGFpbihzaW5rKTsKIAl9CiAKIAlzdHJlYW0gPSBkY19jcmVh dGVfc3RyZWFtX2Zvcl9zaW5rKHNpbmspOwpAQCAtMjk3NCw4ICsyOTkyLDcgQEAgY3JlYXRlX3N0 cmVhbV9mb3Jfc2luayhzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvciwKIAkJ c3RyZWFtLT5pZ25vcmVfbXNhX3RpbWluZ19wYXJhbSA9IHRydWU7CiAKIGZpbmlzaDoKLQlpZiAo c2luayAmJiBzaW5rLT5zaW5rX3NpZ25hbCA9PSBTSUdOQUxfVFlQRV9WSVJUVUFMICYmIGFjb25u ZWN0b3ItPmJhc2UuZm9yY2UgIT0gRFJNX0ZPUkNFX09OKQotCQlkY19zaW5rX3JlbGVhc2Uoc2lu ayk7CisJZGNfc2lua19yZWxlYXNlKHNpbmspOwogCiAJcmV0dXJuIHN0cmVhbTsKIH0KQEAgLTMy MzMsNiArMzI1MCwxNCBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZG1fY29ubmVjdG9yX2Rlc3Ryb3ko c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkJZG0tPmJhY2tsaWdodF9kZXYgPSBO VUxMOwogCX0KICNlbmRpZgorCisJaWYgKGFjb25uZWN0b3ItPmRjX2VtX3NpbmspCisJCWRjX3Np bmtfcmVsZWFzZShhY29ubmVjdG9yLT5kY19lbV9zaW5rKTsKKwlhY29ubmVjdG9yLT5kY19lbV9z aW5rID0gTlVMTDsKKwlpZiAoYWNvbm5lY3Rvci0+ZGNfc2luaykKKwkJZGNfc2lua19yZWxlYXNl KGFjb25uZWN0b3ItPmRjX3NpbmspOworCWFjb25uZWN0b3ItPmRjX3NpbmsgPSBOVUxMOworCiAJ ZHJtX2RwX2NlY191bnJlZ2lzdGVyX2Nvbm5lY3RvcigmYWNvbm5lY3Rvci0+ZG1fZHBfYXV4LmF1 eCk7CiAJZHJtX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKGNvbm5lY3Rvcik7CiAJZHJtX2Nvbm5lY3Rv cl9jbGVhbnVwKGNvbm5lY3Rvcik7CkBAIC0zMzMwLDEwICszMzU1LDEyIEBAIHN0YXRpYyB2b2lk IGNyZWF0ZV9lbWxfc2luayhzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvcikK IAkJKGVkaWQtPmV4dGVuc2lvbnMgKyAxKSAqIEVESURfTEVOR1RILAogCQkmaW5pdF9wYXJhbXMp OwogCi0JaWYgKGFjb25uZWN0b3ItPmJhc2UuZm9yY2UgPT0gRFJNX0ZPUkNFX09OKQorCWlmIChh Y29ubmVjdG9yLT5iYXNlLmZvcmNlID09IERSTV9GT1JDRV9PTikgewogCQlhY29ubmVjdG9yLT5k Y19zaW5rID0gYWNvbm5lY3Rvci0+ZGNfbGluay0+bG9jYWxfc2luayA/CiAJCWFjb25uZWN0b3It PmRjX2xpbmstPmxvY2FsX3NpbmsgOgogCQlhY29ubmVjdG9yLT5kY19lbV9zaW5rOworCQlkY19z aW5rX3JldGFpbihhY29ubmVjdG9yLT5kY19zaW5rKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIGhh bmRsZV9lZGlkX21nbXQoc3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFjb25uZWN0b3IpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9k bV9tc3RfdHlwZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1k Z3B1X2RtX21zdF90eXBlcy5jCmluZGV4IDFiMGQyMDlkODM2Ny4uM2I5NWE2MzdiNTA4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9t c3RfdHlwZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2Ft ZGdwdV9kbV9tc3RfdHlwZXMuYwpAQCAtMjM5LDYgKzIzOSw3IEBAIHN0YXRpYyBpbnQgZG1fZHBf bXN0X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQkJJmluaXRf cGFyYW1zKTsKIAogCQlkY19zaW5rLT5wcml2ID0gYWNvbm5lY3RvcjsKKwkJLyogZGNfbGlua19h ZGRfcmVtb3RlX3NpbmsgcmV0dXJucyBhIG5ldyByZWZlcmVuY2UgKi8KIAkJYWNvbm5lY3Rvci0+ ZGNfc2luayA9IGRjX3Npbms7CiAKIAkJaWYgKGFjb25uZWN0b3ItPmRjX3NpbmspCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19saW5rLmMKaW5kZXggYjAyNjVkYmVi ZDRjLi41ODNlYjM2Nzg1MGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9jb3JlL2RjX2xpbmsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv Y29yZS9kY19saW5rLmMKQEAgLTc5Miw2ICs3OTIsNyBAQCBib29sIGRjX2xpbmtfZGV0ZWN0KHN0 cnVjdCBkY19saW5rICpsaW5rLCBlbnVtIGRjX2RldGVjdF9yZWFzb24gcmVhc29uKQogCQlzaW5r LT5kb25nbGVfbWF4X3BpeF9jbGsgPSBzaW5rX2NhcHMubWF4X2hkbWlfcGl4ZWxfY2xvY2s7CiAJ CXNpbmstPmNvbnZlcnRlcl9kaXNhYmxlX2F1ZGlvID0gY29udmVydGVyX2Rpc2FibGVfYXVkaW87 CiAKKwkJLyogZGNfc2lua19jcmVhdGUgcmV0dXJucyBhIG5ldyByZWZlcmVuY2UgKi8KIAkJbGlu ay0+bG9jYWxfc2luayA9IHNpbms7CiAKIAkJZWRpZF9zdGF0dXMgPSBkbV9oZWxwZXJzX3JlYWRf bG9jYWxfZWRpZCgKLS0gCjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVs