From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathias.Froehlich@gmx.net Subject: [PATCH] drm/amd/display: Fix reference counting for struct dc_sink. Date: Sun, 10 Feb 2019 11:13:01 +0100 Message-ID: <20190210101301.5940-1-Mathias.Froehlich@gmx.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by gabe.freedesktop.org (Postfix) with ESMTPS id 089B86E0C0 for ; Sun, 10 Feb 2019 10:13:30 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: alexander.deucher@amd.com, michel.daenzer@amd.com, christian.koenig@amd.com, =?UTF-8?q?Mathias=20Fr=C3=B6hlich?= List-Id: dri-devel@lists.freedesktop.org RnJvbTogTWF0aGlhcyBGcsO2aGxpY2ggPE1hdGhpYXMuRnJvZWhsaWNoQGdteC5uZXQ+CgpSZWZl cmVuY2UgY291bnRpbmcgaW4gYW1kZ3B1X2RtX2Nvbm5lY3RvciBmb3IgYW1kZ3B1X2RtX2Nvbm5l Y3Rvcjo6ZGNfc2luawphbmQgYW1kZ3B1X2RtX2Nvbm5lY3Rvcjo6ZGNfZW1fc2luayBhcyB3ZWxs IGFzIGluIGRjX2xpbms6OmxvY2FsX3Npbmsgc2VlbXMKdG8gYmUgb3V0IG9mIHNoYXBlLiBUaHVz IG1ha2UgcmVmZXJlbmNlIGNvdW50aW5nIGNvbnNpc3RlbnQgZm9yIHRoZXNlCm1lbWJlcnMgYW5k IGp1c3QgcGxhaW4gaW5jcmVtZW50IHRoZSByZWZlcmVuY2UgY291bnQgd2hlbiB0aGUgdmFyaWFi bGUKZ2V0cyBhc3NpZ25lZCBhbmQgZGVjcmVtZW50IHdoZW4gdGhlIHBvaW50ZXIgaXMgc2V0IHRv IHplcm8gb3IgcmVwbGFjZWQuCkFsc28gc2ltcGxpZnkgcmVmZXJlbmNlIGNvdW50aW5nIGluIHNl bGVjdGVkIGZ1bmN0aW9uIHNvcGVzIHRvIGJlIHN1cmUgdGhlCnJlZmVyZW5jZSBpcyByZWxlYXNl ZCBpbiBhbnkgY2FzZS4gSW4gc29tZSBjYXNlcyBhZGQgTlVMTCBwb2ludGVyIGNoZWNrCmJlZm9y ZSBkZXJlZmVyZW5jaW5nLgpBdCBhIGhhbmQgZnVsbCBvZiBwbGFjZXMgYSBjb21tZW50IGlzIHBs YWNlZCB0byBzdGF0IHRoYXQgdGhlIHJlZmVyZW5jZQppbmNyZW1lbnQgaGFwcGVuZWQgYWxyZWFk eSBzb21ld2hlcmUgZWxzZS4KClRoaXMgYWN0dWFsbHkgZml4ZXMgdGhlIGZvbGxvd2luZyBrZXJu ZWwgYnVnIG9uIG15IHN5c3RlbSB3aGVuIGVuYWJsaW5nCmRpc3BsYXkgY29yZSBpbiBhbWRncHUu IFRoZXJlIGFyZSBzb21lIG1vcmUgc2ltaWxhciBidWcgcmVwb3J0cyBhcm91bmQsCnNvIGl0IHBy b2JhYmx5IGhlbHBzIGF0IG1vcmUgcGxhY2VzLgoKICAga2VybmVsIEJVRyBhdCBtbS9zbHViLmM6 Mjk0IQogICBpbnZhbGlkIG9wY29kZTogMDAwMCBbIzFdIFNNUCBQVEkKICAgQ1BVOiA5IFBJRDog MTE4MCBDb21tOiBYb3JnIE5vdCB0YWludGVkIDUuMC4wLXJjMSsgIzIKICAgSGFyZHdhcmUgbmFt ZTogU3VwZXJtaWNybyBYMTBEQWkvWDEwREFJLCBCSU9TIDMuMGEgMDIvMDUvMjAxOAogICBSSVA6 IDAwMTA6X19zbGFiX2ZyZWUrMHgxZTIvMHgzZDAKICAgQ29kZTogOGIgNTQgMjQgMzAgNDggODkg NGMgMjQgMjggZTggZGEgZmIgZmYgZmYgNGMgOGIgNTQgMjQgMjggODUgYzAgMGYgODUgNjcgZmUg ZmYgZmYgNDggOGQgNjUgZDggNWIgNDEgNWMgNDEgNWQgNDEgNWUgNDEgNWYgNWQgYzMgPDBmPiAw YiA0OSAzYiA1YyAyNCAyOCA3NSBhYiA0OCA4YiA0NCAyNCAzMCA0OSA4OSA0YyAyNCAyOCA0OSA4 OSA0NAogICBSU1A6IDAwMTg6ZmZmZmIwOTc4NTg5ZmE5MCBFRkxBR1M6IDAwMDEwMjQ2CiAgIFJB WDogZmZmZjkyZjEyODA2YzQwMCBSQlg6IDAwMDAwMDAwODAyMDAwMTkgUkNYOiBmZmZmOTJmMTI4 MDZjNDAwCiAgIFJEWDogZmZmZjkyZjEyODA2YzQwMCBSU0k6IGZmZmZkZDY0MjFhMDFhMDAgUkRJ OiBmZmZmOTJlZDJmNDA2ZTgwCiAgIFJCUDogZmZmZmIwOTc4NTg5ZmI0MCBSMDg6IDAwMDAwMDAw MDAwMDAwMDEgUjA5OiBmZmZmZmZmZmMwZWU0NzQ4CiAgIFIxMDogZmZmZjkyZjEyODA2YzQwMCBS MTE6IDAwMDAwMDAwMDAwMDAwMDEgUjEyOiBmZmZmZGQ2NDIxYTAxYTAwCiAgIFIxMzogZmZmZjky ZjEyODA2YzQwMCBSMTQ6IGZmZmY5MmVkMmY0MDZlODAgUjE1OiBmZmZmZGQ2NDIxYTAxYTIwCiAg IEZTOiAgMDAwMDdmNDE3MGJlMGFjMCgwMDAwKSBHUzpmZmZmOTJlZDJmYjQwMDAwKDAwMDApIGtu bEdTOjAwMDAwMDAwMDAwMDAwMDAKICAgQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDog MDAwMDAwMDA4MDA1MDAzMwogICBDUjI6IDAwMDA1NjI4MThhYWEwMDAgQ1IzOiAwMDAwMDAwNDU3 NDVhMDAyIENSNDogMDAwMDAwMDAwMDM2MDZlMAogICBEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIx OiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMAogICBEUjM6IDAwMDAwMDAw MDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMAogICBD YWxsIFRyYWNlOgogICAgPyBkcm1fZGJnKzB4ODcvMHg5MCBbZHJtXQogICAgZGNfc3RyZWFtX3Jl bGVhc2UrMHgyOC8weDUwIFthbWRncHVdCiAgICBhbWRncHVfZG1fY29ubmVjdG9yX21vZGVfdmFs aWQrMHhiNC8weDFmMCBbYW1kZ3B1XQogICAgZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVj dG9yX21vZGVzKzB4NDkyLzB4NmIwIFtkcm1fa21zX2hlbHBlcl0KICAgIGRybV9tb2RlX2dldGNv bm5lY3RvcisweDQ1Ny8weDQ5MCBbZHJtXQogICAgPyBkcm1fY29ubmVjdG9yX3Byb3BlcnR5X3Nl dF9pb2N0bCsweDYwLzB4NjAgW2RybV0KICAgIGRybV9pb2N0bF9rZXJuZWwrMHhhOS8weGYwIFtk cm1dCiAgICBkcm1faW9jdGwrMHgyMDEvMHgzYTAgW2RybV0KICAgID8gZHJtX2Nvbm5lY3Rvcl9w cm9wZXJ0eV9zZXRfaW9jdGwrMHg2MC8weDYwIFtkcm1dCiAgICBhbWRncHVfZHJtX2lvY3RsKzB4 NDkvMHg4MCBbYW1kZ3B1XQogICAgZG9fdmZzX2lvY3RsKzB4YTQvMHg2MzAKICAgID8gX19zeXNf cmVjdm1zZysweDgzLzB4YTAKICAgIGtzeXNfaW9jdGwrMHg2MC8weDkwCiAgICBfX3g2NF9zeXNf aW9jdGwrMHgxNi8weDIwCiAgICBkb19zeXNjYWxsXzY0KzB4NWIvMHgxNjAKICAgIGVudHJ5X1NZ U0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKICAgUklQOiAwMDMzOjB4N2Y0MTcxMTA4 MDliCiAgIENvZGU6IDBmIDFlIGZhIDQ4IDhiIDA1IGVkIGJkIDBjIDAwIDY0IGM3IDAwIDI2IDAw IDAwIDAwIDQ4IGM3IGMwIGZmIGZmIGZmIGZmIGMzIDY2IDBmIDFmIDQ0IDAwIDAwIGYzIDBmIDFl IGZhIGI4IDEwIDAwIDAwIDAwIDBmIDA1IDw0OD4gM2QgMDEgZjAgZmYgZmYgNzMgMDEgYzMgNDgg OGIgMGQgYmQgYmQgMGMgMDAgZjcgZDggNjQgODkgMDEgNDgKICAgUlNQOiAwMDJiOjAwMDA3ZmZk ZDhkMWMyNjggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAxMAogICBS QVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwNTYyODE4YThlYmMwIFJDWDogMDAwMDdmNDE3 MTEwODA5YgogICBSRFg6IDAwMDA3ZmZkZDhkMWMyYTAgUlNJOiAwMDAwMDAwMGMwNTA2NGE3IFJE STogMDAwMDAwMDAwMDAwMDAxMgogICBSQlA6IDAwMDA3ZmZkZDhkMWMyYTAgUjA4OiAwMDAwNTYy ODE5MDEyMjgwIFIwOTogMDAwMDAwMDAwMDAwMDAwNwogICBSMTA6IDAwMDAwMDAwMDAwMDAwMDAg UjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDAwMDBjMDUwNjRhNwogICBSMTM6IDAwMDAw MDAwMDAwMDAwMTIgUjE0OiAwMDAwMDAwMDAwMDAwMDEyIFIxNTogMDAwMDdmZmRkOGQxYzJhMAog ICBNb2R1bGVzIGxpbmtlZCBpbjogbmZzdjQgZG5zX3Jlc29sdmVyIG5mcyBsb2NrZCBncmFjZSBm c2NhY2hlIGZ1c2UgdmZhdCBmYXQgYW1kZ3B1IGludGVsX3JhcGwgc2JfZWRhYyB4ODZfcGtnX3Rl bXBfdGhlcm1hbCBpbnRlbF9wb3dlcmNsYW1wIGNvcmV0ZW1wIGt2bV9pbnRlbCBrdm0gaXJxYnlw YXNzIGNyY3QxMGRpZl9wY2xtdWwgY2hhc2ggZ3B1X3NjaGVkIGNyYzMyX3BjbG11bCBzbmRfaGRh X2NvZGVjX3JlYWx0ZWsgZ2hhc2hfY2xtdWxuaV9pbnRlbCBhbWRfaW9tbXVfdjIgaVRDT193ZHQg aVRDT192ZW5kb3Jfc3VwcG9ydCB0dG0gc25kX2hkYV9jb2RlY19nZW5lcmljIHNuZF9oZGFfY29k ZWNfaGRtaSBsZWR0cmlnX2F1ZGlvIHNuZF9oZGFfaW50ZWwgZHJtX2ttc19oZWxwZXIgc25kX2hk YV9jb2RlYyBpbnRlbF9jc3RhdGUgc25kX2hkYV9jb3JlIGRybSBzbmRfaHdkZXAgc25kX3NlcSBz bmRfc2VxX2RldmljZSBpbnRlbF91bmNvcmUgc25kX3BjbSBpbnRlbF9yYXBsX3BlcmYgc25kX3Rp bWVyIHNuZCBzb3VuZGNvcmUgaW9hdGRtYSBwY3Nwa3IgaW50ZWxfd21pX3RodW5kZXJib2x0IG14 bV93bWkgaTJjX2k4MDEgbHBjX2ljaCBwY2NfY3B1ZnJlcSBhdXRoX3JwY2dzcyBzdW5ycGMgaWdi IGNyYzMyY19pbnRlbCBpMmNfYWxnb19iaXQgZGNhIHdtaSBoaWRfY2hlcnJ5IGFuYWxvZyBnYW1l cG9ydCBqb3lkZXYKClRoaXMgcGF0Y2ggaXMgYmFzZWQgb24gYWdkNWYvZHJtLW5leHQtNS4xLXdp cC4gVGhpcyBwYXRjaCBkb2VzIG5vdCByZXF1aXJlCmFsbCBvZiB0aGF0LCBidXQgYWdkNWYvZHJt LW5leHQtNS4xLXdpcCBjb250YWlucyBhdCBsZWFzdCBvbmUgbW9yZSBkY19zaW5rCmNvdW50aW5n IGZpeCB0aGF0IEkgY291bGQgc3BvdC4KClNpZ25lZC1vZmYtYnk6IE1hdGhpYXMgRnLDtmhsaWNo IDxNYXRoaWFzLkZyb2VobGljaEB3ZWIuZGU+Ci0tLQogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkv YW1kZ3B1X2RtL2FtZGdwdV9kbS5jIHwgNDMgKysrKysrKysrKysrKysrLS0tLQogLi4uL2Rpc3Bs YXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYyAgIHwgIDEgKwogZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2Vk LCAzNyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCmluZGV4IDNhNmY1OTVmMjk1ZS4u MjBmYTAxYmZmNjg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1k Z3B1X2RtL2FtZGdwdV9kbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRn cHVfZG0vYW1kZ3B1X2RtLmMKQEAgLTg4Niw2ICs4ODYsNyBAQCBzdGF0aWMgdm9pZCBlbXVsYXRl ZF9saW5rX2RldGVjdChzdHJ1Y3QgZGNfbGluayAqbGluaykKIAkJcmV0dXJuOwogCX0KIAorCS8q IGRjX3NpbmtfY3JlYXRlIHJldHVybnMgYSBuZXcgcmVmZXJlbmNlICovCiAJbGluay0+bG9jYWxf c2luayA9IHNpbms7CiAKIAllZGlkX3N0YXR1cyA9IGRtX2hlbHBlcnNfcmVhZF9sb2NhbF9lZGlk KApAQCAtOTUyLDYgKzk1Myw4IEBAIHN0YXRpYyBpbnQgZG1fcmVzdW1lKHZvaWQgKmhhbmRsZSkK IAkJaWYgKGFjb25uZWN0b3ItPmZha2VfZW5hYmxlICYmIGFjb25uZWN0b3ItPmRjX2xpbmstPmxv Y2FsX3NpbmspCiAJCQlhY29ubmVjdG9yLT5mYWtlX2VuYWJsZSA9IGZhbHNlOwogCisJCWlmIChh Y29ubmVjdG9yLT5kY19zaW5rKQorCQkJZGNfc2lua19yZWxlYXNlKGFjb25uZWN0b3ItPmRjX3Np bmspOwogCQlhY29ubmVjdG9yLT5kY19zaW5rID0gTlVMTDsKIAkJYW1kZ3B1X2RtX3VwZGF0ZV9j b25uZWN0b3JfYWZ0ZXJfZGV0ZWN0KGFjb25uZWN0b3IpOwogCQltdXRleF91bmxvY2soJmFjb25u ZWN0b3ItPmhwZF9sb2NrKTsKQEAgLTEwNjEsNiArMTA2NCw4IEBAIGFtZGdwdV9kbV91cGRhdGVf Y29ubmVjdG9yX2FmdGVyX2RldGVjdChzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5l Y3RvcikKIAogCiAJc2luayA9IGFjb25uZWN0b3ItPmRjX2xpbmstPmxvY2FsX3Npbms7CisJaWYg KHNpbmspCisJCWRjX3NpbmtfcmV0YWluKHNpbmspOwogCiAJLyoKIAkgKiBFZGlkIG1nbXQgY29u bmVjdG9yIGdldHMgZmlyc3QgdXBkYXRlIG9ubHkgaW4gbW9kZV92YWxpZCBob29rIGFuZCB0aGVu CkBAIC0xMDg1LDIxICsxMDkwLDI0IEBAIGFtZGdwdV9kbV91cGRhdGVfY29ubmVjdG9yX2FmdGVy X2RldGVjdChzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvcikKIAkJCQkgKiB0 byBpdCBhbnltb3JlIGFmdGVyIGRpc2Nvbm5lY3QsIHNvIG9uIG5leHQgY3J0YyB0byBjb25uZWN0 b3IKIAkJCQkgKiByZXNodWZmbGUgYnkgVU1EIHdlIHdpbGwgZ2V0IGludG8gdW53YW50ZWQgZGNf c2luayByZWxlYXNlCiAJCQkJICovCi0JCQkJaWYgKGFjb25uZWN0b3ItPmRjX3NpbmsgIT0gYWNv bm5lY3Rvci0+ZGNfZW1fc2luaykKLQkJCQkJZGNfc2lua19yZWxlYXNlKGFjb25uZWN0b3ItPmRj X3NpbmspOworCQkJCWRjX3NpbmtfcmVsZWFzZShhY29ubmVjdG9yLT5kY19zaW5rKTsKIAkJCX0K IAkJCWFjb25uZWN0b3ItPmRjX3NpbmsgPSBzaW5rOworCQkJZGNfc2lua19yZXRhaW4oYWNvbm5l Y3Rvci0+ZGNfc2luayk7CiAJCQlhbWRncHVfZG1fdXBkYXRlX2ZyZWVzeW5jX2NhcHMoY29ubmVj dG9yLAogCQkJCQlhY29ubmVjdG9yLT5lZGlkKTsKIAkJfSBlbHNlIHsKIAkJCWFtZGdwdV9kbV91 cGRhdGVfZnJlZXN5bmNfY2Fwcyhjb25uZWN0b3IsIE5VTEwpOwotCQkJaWYgKCFhY29ubmVjdG9y LT5kY19zaW5rKQorCQkJaWYgKCFhY29ubmVjdG9yLT5kY19zaW5rKSB7CiAJCQkJYWNvbm5lY3Rv ci0+ZGNfc2luayA9IGFjb25uZWN0b3ItPmRjX2VtX3Npbms7Ci0JCQllbHNlIGlmIChhY29ubmVj dG9yLT5kY19zaW5rICE9IGFjb25uZWN0b3ItPmRjX2VtX3NpbmspCiAJCQkJZGNfc2lua19yZXRh aW4oYWNvbm5lY3Rvci0+ZGNfc2luayk7CisJCQl9CiAJCX0KIAogCQltdXRleF91bmxvY2soJmRl di0+bW9kZV9jb25maWcubXV0ZXgpOworCisJCWlmIChzaW5rKQorCQkJZGNfc2lua19yZWxlYXNl KHNpbmspOwogCQlyZXR1cm47CiAJfQogCkBAIC0xMTA3LDggKzExMTUsMTAgQEAgYW1kZ3B1X2Rt X3VwZGF0ZV9jb25uZWN0b3JfYWZ0ZXJfZGV0ZWN0KHN0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9y ICphY29ubmVjdG9yKQogCSAqIFRPRE86IHRlbXBvcmFyeSBndWFyZCB0byBsb29rIGZvciBwcm9w ZXIgZml4CiAJICogaWYgdGhpcyBzaW5rIGlzIE1TVCBzaW5rLCB3ZSBzaG91bGQgbm90IGRvIGFu eXRoaW5nCiAJICovCi0JaWYgKHNpbmsgJiYgc2luay0+c2lua19zaWduYWwgPT0gU0lHTkFMX1RZ UEVfRElTUExBWV9QT1JUX01TVCkKKwlpZiAoc2luayAmJiBzaW5rLT5zaW5rX3NpZ25hbCA9PSBT SUdOQUxfVFlQRV9ESVNQTEFZX1BPUlRfTVNUKSB7CisJCWRjX3NpbmtfcmVsZWFzZShzaW5rKTsK IAkJcmV0dXJuOworCX0KIAogCWlmIChhY29ubmVjdG9yLT5kY19zaW5rID09IHNpbmspIHsKIAkJ LyoKQEAgLTExMTcsNiArMTEyNyw4IEBAIGFtZGdwdV9kbV91cGRhdGVfY29ubmVjdG9yX2FmdGVy X2RldGVjdChzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvcikKIAkJICovCiAJ CURSTV9ERUJVR19EUklWRVIoIkRDSFBEOiBjb25uZWN0b3JfaWQ9JWQ6IGRjX3NpbmsgZGlkbid0 IGNoYW5nZS5cbiIsCiAJCQkJYWNvbm5lY3Rvci0+Y29ubmVjdG9yX2lkKTsKKwkJaWYgKHNpbmsp CisJCQlkY19zaW5rX3JlbGVhc2Uoc2luayk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTExMzgsNiAr MTE1MCw3IEBAIGFtZGdwdV9kbV91cGRhdGVfY29ubmVjdG9yX2FmdGVyX2RldGVjdChzdHJ1Y3Qg YW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvcikKIAkJCWFtZGdwdV9kbV91cGRhdGVfZnJl ZXN5bmNfY2Fwcyhjb25uZWN0b3IsIE5VTEwpOwogCiAJCWFjb25uZWN0b3ItPmRjX3NpbmsgPSBz aW5rOworCQlkY19zaW5rX3JldGFpbihhY29ubmVjdG9yLT5kY19zaW5rKTsKIAkJaWYgKHNpbmst PmRjX2VkaWQubGVuZ3RoID09IDApIHsKIAkJCWFjb25uZWN0b3ItPmVkaWQgPSBOVUxMOwogCQkJ ZHJtX2RwX2NlY191bnNldF9lZGlkKCZhY29ubmVjdG9yLT5kbV9kcF9hdXguYXV4KTsKQEAgLTEx NTgsMTEgKzExNzEsMTUgQEAgYW1kZ3B1X2RtX3VwZGF0ZV9jb25uZWN0b3JfYWZ0ZXJfZGV0ZWN0 KHN0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9yICphY29ubmVjdG9yKQogCQlhbWRncHVfZG1fdXBk YXRlX2ZyZWVzeW5jX2NhcHMoY29ubmVjdG9yLCBOVUxMKTsKIAkJZHJtX2Nvbm5lY3Rvcl91cGRh dGVfZWRpZF9wcm9wZXJ0eShjb25uZWN0b3IsIE5VTEwpOwogCQlhY29ubmVjdG9yLT5udW1fbW9k ZXMgPSAwOworCQlkY19zaW5rX3JlbGVhc2UoYWNvbm5lY3Rvci0+ZGNfc2luayk7CiAJCWFjb25u ZWN0b3ItPmRjX3NpbmsgPSBOVUxMOwogCQlhY29ubmVjdG9yLT5lZGlkID0gTlVMTDsKIAl9CiAK IAltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOworCisJaWYgKHNpbmspCisJ CWRjX3NpbmtfcmVsZWFzZShzaW5rKTsKIH0KIAogc3RhdGljIHZvaWQgaGFuZGxlX2hwZF9pcnEo dm9pZCAqcGFyYW0pCkBAIC0yOTc3LDYgKzI5OTQsNyBAQCBjcmVhdGVfc3RyZWFtX2Zvcl9zaW5r KHN0cnVjdCBhbWRncHVfZG1fY29ubmVjdG9yICphY29ubmVjdG9yLAogCQkJcmV0dXJuIHN0cmVh bTsKIAl9IGVsc2UgewogCQlzaW5rID0gYWNvbm5lY3Rvci0+ZGNfc2luazsKKwkJZGNfc2lua19y ZXRhaW4oc2luayk7CiAJfQogCiAJc3RyZWFtID0gZGNfY3JlYXRlX3N0cmVhbV9mb3Jfc2luayhz aW5rKTsKQEAgLTMwNDIsOCArMzA2MCw3IEBAIGNyZWF0ZV9zdHJlYW1fZm9yX3Npbmsoc3RydWN0 IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFjb25uZWN0b3IsCiAJdXBkYXRlX3N0cmVhbV9zaWduYWwo c3RyZWFtLCBzaW5rKTsKIAogZmluaXNoOgotCWlmIChzaW5rICYmIHNpbmstPnNpbmtfc2lnbmFs ID09IFNJR05BTF9UWVBFX1ZJUlRVQUwgJiYgYWNvbm5lY3Rvci0+YmFzZS5mb3JjZSAhPSBEUk1f Rk9SQ0VfT04pCi0JCWRjX3NpbmtfcmVsZWFzZShzaW5rKTsKKwlkY19zaW5rX3JlbGVhc2Uoc2lu ayk7CiAKIAlyZXR1cm4gc3RyZWFtOwogfQpAQCAtMzMwMSw2ICszMzE4LDE0IEBAIHN0YXRpYyB2 b2lkIGFtZGdwdV9kbV9jb25uZWN0b3JfZGVzdHJveShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQogCQlkbS0+YmFja2xpZ2h0X2RldiA9IE5VTEw7CiAJfQogI2VuZGlmCisKKwlpZiAo YWNvbm5lY3Rvci0+ZGNfZW1fc2luaykKKwkJZGNfc2lua19yZWxlYXNlKGFjb25uZWN0b3ItPmRj X2VtX3NpbmspOworCWFjb25uZWN0b3ItPmRjX2VtX3NpbmsgPSBOVUxMOworCWlmIChhY29ubmVj dG9yLT5kY19zaW5rKQorCQlkY19zaW5rX3JlbGVhc2UoYWNvbm5lY3Rvci0+ZGNfc2luayk7CisJ YWNvbm5lY3Rvci0+ZGNfc2luayA9IE5VTEw7CisKIAlkcm1fZHBfY2VjX3VucmVnaXN0ZXJfY29u bmVjdG9yKCZhY29ubmVjdG9yLT5kbV9kcF9hdXguYXV4KTsKIAlkcm1fY29ubmVjdG9yX3VucmVn aXN0ZXIoY29ubmVjdG9yKTsKIAlkcm1fY29ubmVjdG9yX2NsZWFudXAoY29ubmVjdG9yKTsKQEAg LTMzOTgsMTAgKzM0MjMsMTIgQEAgc3RhdGljIHZvaWQgY3JlYXRlX2VtbF9zaW5rKHN0cnVjdCBh bWRncHVfZG1fY29ubmVjdG9yICphY29ubmVjdG9yKQogCQkoZWRpZC0+ZXh0ZW5zaW9ucyArIDEp ICogRURJRF9MRU5HVEgsCiAJCSZpbml0X3BhcmFtcyk7CiAKLQlpZiAoYWNvbm5lY3Rvci0+YmFz ZS5mb3JjZSA9PSBEUk1fRk9SQ0VfT04pCisJaWYgKGFjb25uZWN0b3ItPmJhc2UuZm9yY2UgPT0g RFJNX0ZPUkNFX09OKSB7CiAJCWFjb25uZWN0b3ItPmRjX3NpbmsgPSBhY29ubmVjdG9yLT5kY19s aW5rLT5sb2NhbF9zaW5rID8KIAkJYWNvbm5lY3Rvci0+ZGNfbGluay0+bG9jYWxfc2luayA6CiAJ CWFjb25uZWN0b3ItPmRjX2VtX3Npbms7CisJCWRjX3NpbmtfcmV0YWluKGFjb25uZWN0b3ItPmRj X3NpbmspOworCX0KIH0KIAogc3RhdGljIHZvaWQgaGFuZGxlX2VkaWRfbWdtdChzdHJ1Y3QgYW1k Z3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvcikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fbXN0X3R5cGVzLmMKaW5kZXgg NDRjMWEwMmU2NDUyLi41ZTUyNGQ3MzMyNDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jCkBAIC0x OTAsNiArMTkwLDcgQEAgc3RhdGljIGludCBkbV9kcF9tc3RfZ2V0X21vZGVzKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IpCiAJCQkmaW5pdF9wYXJhbXMpOwogCiAJCWRjX3NpbmstPnBy aXYgPSBhY29ubmVjdG9yOworCQkvKiBkY19saW5rX2FkZF9yZW1vdGVfc2luayByZXR1cm5zIGEg bmV3IHJlZmVyZW5jZSAqLwogCQlhY29ubmVjdG9yLT5kY19zaW5rID0gZGNfc2luazsKIAogCQlp ZiAoYWNvbm5lY3Rvci0+ZGNfc2luaykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9jb3JlL2RjX2xpbmsuYwppbmRleCA3ZjVhOTQ3YWQzMWQuLjc5MjExNGU3MzdjZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsuYwpAQCAtNzk0LDYg Kzc5NCw3IEBAIGJvb2wgZGNfbGlua19kZXRlY3Qoc3RydWN0IGRjX2xpbmsgKmxpbmssIGVudW0g ZGNfZGV0ZWN0X3JlYXNvbiByZWFzb24pCiAJCXNpbmstPmxpbmstPmRvbmdsZV9tYXhfcGl4X2Ns ayA9IHNpbmtfY2Fwcy5tYXhfaGRtaV9waXhlbF9jbG9jazsKIAkJc2luay0+Y29udmVydGVyX2Rp c2FibGVfYXVkaW8gPSBjb252ZXJ0ZXJfZGlzYWJsZV9hdWRpbzsKIAorCQkvKiBkY19zaW5rX2Ny ZWF0ZSByZXR1cm5zIGEgbmV3IHJlZmVyZW5jZSAqLwogCQlsaW5rLT5sb2NhbF9zaW5rID0gc2lu azsKIAogCQllZGlkX3N0YXR1cyA9IGRtX2hlbHBlcnNfcmVhZF9sb2NhbF9lZGlkKAotLSAKMi4y MC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK