From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 387603858D20 for ; Fri, 20 Jan 2023 22:25:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 387603858D20 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=golang.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=google.com Received: by mail-ej1-x62f.google.com with SMTP id tz11so17541842ejc.0 for ; Fri, 20 Jan 2023 14:25:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=golang-org.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=jsEYPBg6XGFCjlhptS/oSIz/vBadu9tAKCtmPDw1WsY=; b=lau3Lvy5YXIH0+ufJgBlvKYct2EmgXsJ0M4Kn52i+DQmqGff7Y9YGgOG+HMHRfr838 La5+yA4nmLR7v3xdGiYIPSOlTNHejV1rwxN0O5zI7DXgiGOOr+BoMCYctZvDrdXGTI9W vol2yqRebwELGEfeYCH0bQdWSPxZRyeNTf50vkPbHeVI1VdcHrpaRsEBrf344FB52Upk sSBdHYt5SwBQemOCrSp0/py4Mbg/Cxhehxj22sFHIlo3Wh6Xn23xAEms+JibezGsj/5c UabdKCydZW+dSLv+Gw8hzmzXt5iHxRzU6oNydgWPiEWhP4tllsfP2p6Ruwnva9YWOPXZ zQ9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=jsEYPBg6XGFCjlhptS/oSIz/vBadu9tAKCtmPDw1WsY=; b=kVxs2PuNQFgzmNssWs2xPeM3UHM2mVdA/OgcT9mmoVpX2jDhgUlUOt57OhfuItibZz ZzJJL300jiwptiIHsj1f1YgqFKNyMQMUzanOboyjziD1BVJ2wW1M5yxecDFrcv5/WH8U oUjNVTvdbXwdNXvr6/ccJOL6K+zPeBs1/lzMo1Btuwhx123lWfA2gP/h/bpnHfMucwS9 7d4oFhn16vb78/98wDx8PNxHQBEYXfSccHbvxG5X22PJ8YyMekR4bQHAdjwmvc5Gt1Yl Qy3wj0uCzvLNgASh2gJQnOAhjAHag4Tpd8FuPGoCp0Nro2BgLQLS9Q9g1zHuVQDd5I3S g0hQ== X-Gm-Message-State: AFqh2konpbA2LwWuFWmvcsxEJgZkQx2anvc3kYG2MPATfV0jvT0n/VE4 g9RkWE2c6XdvJ7Gh7iy6V2XnBsmnyHAAcECNROk3rw== X-Google-Smtp-Source: AMrXdXvaR1dRNq6TeRtTsCtzXdHcQCFwh9awyteIOkQVVy610AxtvL2rpKbiE/DjWSt63B5WoL3Jc15LC4zYT32QT1U= X-Received: by 2002:a17:906:2983:b0:868:b146:b29a with SMTP id x3-20020a170906298300b00868b146b29amr1236880eje.398.1674253539712; Fri, 20 Jan 2023 14:25:39 -0800 (PST) MIME-Version: 1.0 References: <20230120105409.54949-1-gcc@hazardy.de> In-Reply-To: <20230120105409.54949-1-gcc@hazardy.de> From: Ian Lance Taylor Date: Fri, 20 Jan 2023 14:25:27 -0800 Message-ID: Subject: Re: [PATCH 1/4] libbacktrace: change all pc related variables to uintptr_t To: =?UTF-8?B?QmrDtnJuIFNjaMOkcGVycw==?= Cc: gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org Content-Type: multipart/mixed; boundary="000000000000809d8005f2b987a4" X-Spam-Status: No, score=-17.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000809d8005f2b987a4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Jan 20, 2023 at 2:54 AM Bj=C3=B6rn Sch=C3=A4pers w= rote: > > From: Bj=C3=B6rn Sch=C3=A4pers > > It's the right thing to do, since the PC shouldn't go out of the > uintptr_t domain, and in backtrace_pcinfo the pc is uintptr_t. > This is a preparation for a following patch. > > Tested on x86_64-linux and i686-w64-mingw32. Thanks. Committed like so, with some additional tweaks. For future reference, when pinging a patch, please reply to the original patch to maintain the thread. Or at least mention the original patch. It was still on my list, I just hadn't gotten to it. Thanks. Ian Change variables holding PC values from uint64_t to uintptr_t. Patch by Bj=C3=B6rn Sch=C3=A4pers. * dwarf.c (struct function_addrs): Change low and high fields to uintptr_t. (struct unit_addrs): Likewise. (resolve_addr_index): Change address parameter to uintptr_t*. (add_unit_addr): Change lowpc and highpc parameters to uintptr_t. (add_function_range): Likewise. (struct pcrange): Change lowpc and highpc fields to uintptr_t. (add_low_high_range): Change add_range lowpc and highpc parameters to uintptr_t. (add_ranges_from_ranges): Likewise. (add_ranges_from_rnglists): Likewise. (add_low_high_range): Chnage lowpc and highpc variables to uintpr_t. (add_ranges_from_rnglists): Change some local variables to uintptr_t. (add_ranges_from_ranges): Change base parameter to uintptr_t. (add_ranges_from_rnglists): Likewise. (read_function_entry): Likewise. (resolve_addr_index): Add explicit casts to uintptr_t. (update_pcrange): Likewise. (add_ranges_from_ranges): Likewise. (add_ranges_from_rnglists): Likewise. (read_function_entry): Likewise. --000000000000809d8005f2b987a4 Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ld53avav0 MGMxOTNjYWJlMWQ4ZjIwOTM1OWYzY2NiOGU3NGNmODdiMzhmYzRiYwpkaWZmIC0tZ2l0IGEvbGli YmFja3RyYWNlL2R3YXJmLmMgYi9saWJiYWNrdHJhY2UvZHdhcmYuYwppbmRleCAyZDQxZjNiMDM5 Ny4uOGZmMWZiM2NlM2QgMTAwNjQ0Ci0tLSBhL2xpYmJhY2t0cmFjZS9kd2FyZi5jCisrKyBiL2xp YmJhY2t0cmFjZS9kd2FyZi5jCkBAIC0xMzYsNyArMTM2LDcgQEAgZW51bSBhdHRyX3ZhbF9lbmNv ZGluZwogICAvKiBBbiBhZGRyZXNzLiAgKi8KICAgQVRUUl9WQUxfQUREUkVTUywKICAgLyogQW4g aW5kZXggaW50byB0aGUgLmRlYnVnX2FkZHIgc2VjdGlvbiwgd2hvc2UgdmFsdWUgaXMgcmVsYXRp dmUgdG8KLSAgICogdGhlIERXX0FUX2FkZHJfYmFzZSBhdHRyaWJ1dGUgb2YgdGhlIGNvbXBpbGF0 aW9uIHVuaXQuICAqLworICAgICB0aGUgRFdfQVRfYWRkcl9iYXNlIGF0dHJpYnV0ZSBvZiB0aGUg Y29tcGlsYXRpb24gdW5pdC4gICovCiAgIEFUVFJfVkFMX0FERFJFU1NfSU5ERVgsCiAgIC8qIEEg dW5zaWduZWQgaW50ZWdlci4gICovCiAgIEFUVFJfVkFMX1VJTlQsCkBAIC0yNzQsOCArMjc0LDgg QEAgc3RydWN0IGZ1bmN0aW9uCiBzdHJ1Y3QgZnVuY3Rpb25fYWRkcnMKIHsKICAgLyogUmFuZ2Ug aXMgTE9XIDw9IFBDIDwgSElHSC4gICovCi0gIHVpbnQ2NF90IGxvdzsKLSAgdWludDY0X3QgaGln aDsKKyAgdWludHB0cl90IGxvdzsKKyAgdWludHB0cl90IGhpZ2g7CiAgIC8qIEZ1bmN0aW9uIGZv ciB0aGlzIGFkZHJlc3MgcmFuZ2UuICAqLwogICBzdHJ1Y3QgZnVuY3Rpb24gKmZ1bmN0aW9uOwog fTsKQEAgLTM1Niw4ICszNTYsOCBAQCBzdHJ1Y3QgdW5pdAogc3RydWN0IHVuaXRfYWRkcnMKIHsK ICAgLyogUmFuZ2UgaXMgTE9XIDw9IFBDIDwgSElHSC4gICovCi0gIHVpbnQ2NF90IGxvdzsKLSAg dWludDY0X3QgaGlnaDsKKyAgdWludHB0cl90IGxvdzsKKyAgdWludHB0cl90IGhpZ2g7CiAgIC8q IENvbXBpbGF0aW9uIHVuaXQgZm9yIHRoaXMgYWRkcmVzcyByYW5nZS4gICovCiAgIHN0cnVjdCB1 bml0ICp1OwogfTsKQEAgLTEwOTQsNyArMTA5NCw3IEBAIHJlc29sdmVfYWRkcl9pbmRleCAoY29u c3Qgc3RydWN0IGR3YXJmX3NlY3Rpb25zICpkd2FyZl9zZWN0aW9ucywKIAkJICAgIHVpbnQ2NF90 IGFkZHJfYmFzZSwgaW50IGFkZHJzaXplLCBpbnQgaXNfYmlnZW5kaWFuLAogCQkgICAgdWludDY0 X3QgYWRkcl9pbmRleCwKIAkJICAgIGJhY2t0cmFjZV9lcnJvcl9jYWxsYmFjayBlcnJvcl9jYWxs YmFjaywgdm9pZCAqZGF0YSwKLQkJICAgIHVpbnQ2NF90ICphZGRyZXNzKQorCQkgICAgdWludHB0 cl90ICphZGRyZXNzKQogewogICB1aW50NjRfdCBvZmZzZXQ7CiAgIHN0cnVjdCBkd2FyZl9idWYg YWRkcl9idWY7CkBAIC0xMTE1LDcgKzExMTUsNyBAQCByZXNvbHZlX2FkZHJfaW5kZXggKGNvbnN0 IHN0cnVjdCBkd2FyZl9zZWN0aW9ucyAqZHdhcmZfc2VjdGlvbnMsCiAgIGFkZHJfYnVmLmRhdGEg PSBkYXRhOwogICBhZGRyX2J1Zi5yZXBvcnRlZF91bmRlcmZsb3cgPSAwOwogCi0gICphZGRyZXNz ID0gcmVhZF9hZGRyZXNzICgmYWRkcl9idWYsIGFkZHJzaXplKTsKKyAgKmFkZHJlc3MgPSAodWlu dHB0cl90KSByZWFkX2FkZHJlc3MgKCZhZGRyX2J1ZiwgYWRkcnNpemUpOwogICByZXR1cm4gMTsK IH0KIApAQCAtMTE5NCw3ICsxMTk0LDcgQEAgZnVuY3Rpb25fYWRkcnNfc2VhcmNoIChjb25zdCB2 b2lkICp2a2V5LCBjb25zdCB2b2lkICp2ZW50cnkpCiAKIHN0YXRpYyBpbnQKIGFkZF91bml0X2Fk ZHIgKHN0cnVjdCBiYWNrdHJhY2Vfc3RhdGUgKnN0YXRlLCB2b2lkICpyZGF0YSwKLQkgICAgICAg dWludDY0X3QgbG93cGMsIHVpbnQ2NF90IGhpZ2hwYywKKwkgICAgICAgdWludHB0cl90IGxvd3Bj LCB1aW50cHRyX3QgaGlnaHBjLAogCSAgICAgICBiYWNrdHJhY2VfZXJyb3JfY2FsbGJhY2sgZXJy b3JfY2FsbGJhY2ssIHZvaWQgKmRhdGEsCiAJICAgICAgIHZvaWQgKnB2ZWMpCiB7CkBAIC0xNTMw LDEwICsxNTMwLDEwIEBAIGxvb2t1cF9hYmJyZXYgKHN0cnVjdCBhYmJyZXZzICphYmJyZXZzLCB1 aW50NjRfdCBjb2RlLAogICAgbG93cGMvaGlnaHBjIGlzIHNldCBvciByYW5nZXMgaXMgc2V0LiAg Ki8KIAogc3RydWN0IHBjcmFuZ2UgewotICB1aW50NjRfdCBsb3dwYzsJCS8qIFRoZSBsb3cgUEMg dmFsdWUuICAqLworICB1aW50cHRyX3QgbG93cGM7ICAgICAgICAgICAgIC8qIFRoZSBsb3cgUEMg dmFsdWUuICAqLwogICBpbnQgaGF2ZV9sb3dwYzsJCS8qIFdoZXRoZXIgYSBsb3cgUEMgdmFsdWUg d2FzIGZvdW5kLiAgKi8KICAgaW50IGxvd3BjX2lzX2FkZHJfaW5kZXg7CS8qIFdoZXRoZXIgbG93 cGMgaXMgaW4gLmRlYnVnX2FkZHIuICAqLwotICB1aW50NjRfdCBoaWdocGM7CQkvKiBUaGUgaGln aCBQQyB2YWx1ZS4gICovCisgIHVpbnRwdHJfdCBoaWdocGM7ICAgICAgICAgICAgLyogVGhlIGhp Z2ggUEMgdmFsdWUuICAqLwogICBpbnQgaGF2ZV9oaWdocGM7CQkvKiBXaGV0aGVyIGEgaGlnaCBQ QyB2YWx1ZSB3YXMgZm91bmQuICAqLwogICBpbnQgaGlnaHBjX2lzX3JlbGF0aXZlOwkvKiBXaGV0 aGVyIGhpZ2hwYyBpcyByZWxhdGl2ZSB0byBsb3dwYy4gICovCiAgIGludCBoaWdocGNfaXNfYWRk cl9pbmRleDsJLyogV2hldGhlciBoaWdocGMgaXMgaW4gLmRlYnVnX2FkZHIuICAqLwpAQCAtMTU1 MywxMiArMTU1MywxMiBAQCB1cGRhdGVfcGNyYW5nZSAoY29uc3Qgc3RydWN0IGF0dHIqIGF0dHIs IGNvbnN0IHN0cnVjdCBhdHRyX3ZhbCogdmFsLAogICAgIGNhc2UgRFdfQVRfbG93X3BjOgogICAg ICAgaWYgKHZhbC0+ZW5jb2RpbmcgPT0gQVRUUl9WQUxfQUREUkVTUykKIAl7Ci0JICBwY3Jhbmdl LT5sb3dwYyA9IHZhbC0+dS51aW50OworCSAgcGNyYW5nZS0+bG93cGMgPSAodWludHB0cl90KSB2 YWwtPnUudWludDsKIAkgIHBjcmFuZ2UtPmhhdmVfbG93cGMgPSAxOwogCX0KICAgICAgIGVsc2Ug aWYgKHZhbC0+ZW5jb2RpbmcgPT0gQVRUUl9WQUxfQUREUkVTU19JTkRFWCkKIAl7Ci0JICBwY3Jh bmdlLT5sb3dwYyA9IHZhbC0+dS51aW50OworCSAgcGNyYW5nZS0+bG93cGMgPSAodWludHB0cl90 KSB2YWwtPnUudWludDsKIAkgIHBjcmFuZ2UtPmhhdmVfbG93cGMgPSAxOwogCSAgcGNyYW5nZS0+ bG93cGNfaXNfYWRkcl9pbmRleCA9IDE7CiAJfQpAQCAtMTU2NywxOCArMTU2NywxOCBAQCB1cGRh dGVfcGNyYW5nZSAoY29uc3Qgc3RydWN0IGF0dHIqIGF0dHIsIGNvbnN0IHN0cnVjdCBhdHRyX3Zh bCogdmFsLAogICAgIGNhc2UgRFdfQVRfaGlnaF9wYzoKICAgICAgIGlmICh2YWwtPmVuY29kaW5n ID09IEFUVFJfVkFMX0FERFJFU1MpCiAJewotCSAgcGNyYW5nZS0+aGlnaHBjID0gdmFsLT51LnVp bnQ7CisJICBwY3JhbmdlLT5oaWdocGMgPSAodWludHB0cl90KSB2YWwtPnUudWludDsKIAkgIHBj cmFuZ2UtPmhhdmVfaGlnaHBjID0gMTsKIAl9CiAgICAgICBlbHNlIGlmICh2YWwtPmVuY29kaW5n ID09IEFUVFJfVkFMX1VJTlQpCiAJewotCSAgcGNyYW5nZS0+aGlnaHBjID0gdmFsLT51LnVpbnQ7 CisJICBwY3JhbmdlLT5oaWdocGMgPSAodWludHB0cl90KSB2YWwtPnUudWludDsKIAkgIHBjcmFu Z2UtPmhhdmVfaGlnaHBjID0gMTsKIAkgIHBjcmFuZ2UtPmhpZ2hwY19pc19yZWxhdGl2ZSA9IDE7 CiAJfQogICAgICAgZWxzZSBpZiAodmFsLT5lbmNvZGluZyA9PSBBVFRSX1ZBTF9BRERSRVNTX0lO REVYKQogCXsKLQkgIHBjcmFuZ2UtPmhpZ2hwYyA9IHZhbC0+dS51aW50OworCSAgcGNyYW5nZS0+ aGlnaHBjID0gKHVpbnRwdHJfdCkgdmFsLT51LnVpbnQ7CiAJICBwY3JhbmdlLT5oYXZlX2hpZ2hw YyA9IDE7CiAJICBwY3JhbmdlLT5oaWdocGNfaXNfYWRkcl9pbmRleCA9IDE7CiAJfQpAQCAtMTYx MywxNiArMTYxMywxNiBAQCBhZGRfbG93X2hpZ2hfcmFuZ2UgKHN0cnVjdCBiYWNrdHJhY2Vfc3Rh dGUgKnN0YXRlLAogCQkgICAgdWludHB0cl90IGJhc2VfYWRkcmVzcywgaW50IGlzX2JpZ2VuZGlh biwKIAkJICAgIHN0cnVjdCB1bml0ICp1LCBjb25zdCBzdHJ1Y3QgcGNyYW5nZSAqcGNyYW5nZSwK IAkJICAgIGludCAoKmFkZF9yYW5nZSkgKHN0cnVjdCBiYWNrdHJhY2Vfc3RhdGUgKnN0YXRlLAot CQkJCSAgICAgIHZvaWQgKnJkYXRhLCB1aW50NjRfdCBsb3dwYywKLQkJCQkgICAgICB1aW50NjRf dCBoaWdocGMsCisJCQkJICAgICAgdm9pZCAqcmRhdGEsIHVpbnRwdHJfdCBsb3dwYywKKwkJCQkg ICAgICB1aW50cHRyX3QgaGlnaHBjLAogCQkJCSAgICAgIGJhY2t0cmFjZV9lcnJvcl9jYWxsYmFj ayBlcnJvcl9jYWxsYmFjaywKIAkJCQkgICAgICB2b2lkICpkYXRhLCB2b2lkICp2ZWMpLAogCQkg ICAgdm9pZCAqcmRhdGEsCiAJCSAgICBiYWNrdHJhY2VfZXJyb3JfY2FsbGJhY2sgZXJyb3JfY2Fs bGJhY2ssIHZvaWQgKmRhdGEsCiAJCSAgICB2b2lkICp2ZWMpCiB7Ci0gIHVpbnQ2NF90IGxvd3Bj OwotICB1aW50NjRfdCBoaWdocGM7CisgIHVpbnRwdHJfdCBsb3dwYzsKKyAgdWludHB0cl90IGhp Z2hwYzsKIAogICBsb3dwYyA9IHBjcmFuZ2UtPmxvd3BjOwogICBpZiAocGNyYW5nZS0+bG93cGNf aXNfYWRkcl9pbmRleCkKQEAgLTE2NjAsMTAgKzE2NjAsMTAgQEAgYWRkX3Jhbmdlc19mcm9tX3Jh bmdlcyAoCiAgICAgc3RydWN0IGJhY2t0cmFjZV9zdGF0ZSAqc3RhdGUsCiAgICAgY29uc3Qgc3Ry dWN0IGR3YXJmX3NlY3Rpb25zICpkd2FyZl9zZWN0aW9ucywKICAgICB1aW50cHRyX3QgYmFzZV9h ZGRyZXNzLCBpbnQgaXNfYmlnZW5kaWFuLAotICAgIHN0cnVjdCB1bml0ICp1LCB1aW50NjRfdCBi YXNlLAorICAgIHN0cnVjdCB1bml0ICp1LCB1aW50cHRyX3QgYmFzZSwKICAgICBjb25zdCBzdHJ1 Y3QgcGNyYW5nZSAqcGNyYW5nZSwKICAgICBpbnQgKCphZGRfcmFuZ2UpIChzdHJ1Y3QgYmFja3Ry YWNlX3N0YXRlICpzdGF0ZSwgdm9pZCAqcmRhdGEsCi0JCSAgICAgIHVpbnQ2NF90IGxvd3BjLCB1 aW50NjRfdCBoaWdocGMsCisJCSAgICAgIHVpbnRwdHJfdCBsb3dwYywgdWludHB0cl90IGhpZ2hw YywKIAkJICAgICAgYmFja3RyYWNlX2Vycm9yX2NhbGxiYWNrIGVycm9yX2NhbGxiYWNrLCB2b2lk ICpkYXRhLAogCQkgICAgICB2b2lkICp2ZWMpLAogICAgIHZvaWQgKnJkYXRhLApAQCAtMTcwMiwx MiArMTcwMiwxMiBAQCBhZGRfcmFuZ2VzX2Zyb21fcmFuZ2VzICgKIAlicmVhazsKIAogICAgICAg aWYgKGlzX2hpZ2hlc3RfYWRkcmVzcyAobG93LCB1LT5hZGRyc2l6ZSkpCi0JYmFzZSA9IGhpZ2g7 CisJYmFzZSA9ICh1aW50cHRyX3QpIGhpZ2g7CiAgICAgICBlbHNlCiAJewogCSAgaWYgKCFhZGRf cmFuZ2UgKHN0YXRlLCByZGF0YSwgCi0JCQkgIGxvdyArIGJhc2UgKyBiYXNlX2FkZHJlc3MsCi0J CQkgIGhpZ2ggKyBiYXNlICsgYmFzZV9hZGRyZXNzLAorCQkJICAodWludHB0cl90KSBsb3cgKyBi YXNlICsgYmFzZV9hZGRyZXNzLAorCQkJICAodWludHB0cl90KSBoaWdoICsgYmFzZSArIGJhc2Vf YWRkcmVzcywKIAkJCSAgZXJyb3JfY2FsbGJhY2ssIGRhdGEsIHZlYykpCiAJICAgIHJldHVybiAw OwogCX0KQEAgLTE3MjcsMTAgKzE3MjcsMTAgQEAgYWRkX3Jhbmdlc19mcm9tX3JuZ2xpc3RzICgK ICAgICBzdHJ1Y3QgYmFja3RyYWNlX3N0YXRlICpzdGF0ZSwKICAgICBjb25zdCBzdHJ1Y3QgZHdh cmZfc2VjdGlvbnMgKmR3YXJmX3NlY3Rpb25zLAogICAgIHVpbnRwdHJfdCBiYXNlX2FkZHJlc3Ms IGludCBpc19iaWdlbmRpYW4sCi0gICAgc3RydWN0IHVuaXQgKnUsIHVpbnQ2NF90IGJhc2UsCisg ICAgc3RydWN0IHVuaXQgKnUsIHVpbnRwdHJfdCBiYXNlLAogICAgIGNvbnN0IHN0cnVjdCBwY3Jh bmdlICpwY3JhbmdlLAogICAgIGludCAoKmFkZF9yYW5nZSkgKHN0cnVjdCBiYWNrdHJhY2Vfc3Rh dGUgKnN0YXRlLCB2b2lkICpyZGF0YSwKLQkJICAgICAgdWludDY0X3QgbG93cGMsIHVpbnQ2NF90 IGhpZ2hwYywKKwkJICAgICAgdWludHB0cl90IGxvd3BjLCB1aW50cHRyX3QgaGlnaHBjLAogCQkg ICAgICBiYWNrdHJhY2VfZXJyb3JfY2FsbGJhY2sgZXJyb3JfY2FsbGJhY2ssIHZvaWQgKmRhdGEs CiAJCSAgICAgIHZvaWQgKnZlYyksCiAgICAgdm9pZCAqcmRhdGEsCkBAIC0xNzk2LDggKzE3OTYs OCBAQCBhZGRfcmFuZ2VzX2Zyb21fcm5nbGlzdHMgKAogCWNhc2UgRFdfUkxFX3N0YXJ0eF9lbmR4 OgogCSAgewogCSAgICB1aW50NjRfdCBpbmRleDsKLQkgICAgdWludDY0X3QgbG93OwotCSAgICB1 aW50NjRfdCBoaWdoOworCSAgICB1aW50cHRyX3QgbG93OworCSAgICB1aW50cHRyX3QgaGlnaDsK IAogCSAgICBpbmRleCA9IHJlYWRfdWxlYjEyOCAoJnJuZ2xpc3RzX2J1Zik7CiAJICAgIGlmICgh cmVzb2x2ZV9hZGRyX2luZGV4IChkd2FyZl9zZWN0aW9ucywgdS0+YWRkcl9iYXNlLApAQCAtMTgx OSw4ICsxODE5LDggQEAgYWRkX3Jhbmdlc19mcm9tX3JuZ2xpc3RzICgKIAljYXNlIERXX1JMRV9z dGFydHhfbGVuZ3RoOgogCSAgewogCSAgICB1aW50NjRfdCBpbmRleDsKLQkgICAgdWludDY0X3Qg bG93OwotCSAgICB1aW50NjRfdCBsZW5ndGg7CisJICAgIHVpbnRwdHJfdCBsb3c7CisJICAgIHVp bnRwdHJfdCBsZW5ndGg7CiAKIAkgICAgaW5kZXggPSByZWFkX3VsZWIxMjggKCZybmdsaXN0c19i dWYpOwogCSAgICBpZiAoIXJlc29sdmVfYWRkcl9pbmRleCAoZHdhcmZfc2VjdGlvbnMsIHUtPmFk ZHJfYmFzZSwKQEAgLTE4NTAsMTYgKzE4NTAsMTYgQEAgYWRkX3Jhbmdlc19mcm9tX3JuZ2xpc3Rz ICgKIAkgIGJyZWFrOwogCiAJY2FzZSBEV19STEVfYmFzZV9hZGRyZXNzOgotCSAgYmFzZSA9IHJl YWRfYWRkcmVzcyAoJnJuZ2xpc3RzX2J1ZiwgdS0+YWRkcnNpemUpOworCSAgYmFzZSA9ICh1aW50 cHRyX3QpIHJlYWRfYWRkcmVzcyAoJnJuZ2xpc3RzX2J1ZiwgdS0+YWRkcnNpemUpOwogCSAgYnJl YWs7CiAKIAljYXNlIERXX1JMRV9zdGFydF9lbmQ6CiAJICB7Ci0JICAgIHVpbnQ2NF90IGxvdzsK LQkgICAgdWludDY0X3QgaGlnaDsKKwkgICAgdWludHB0cl90IGxvdzsKKwkgICAgdWludHB0cl90 IGhpZ2g7CiAKLQkgICAgbG93ID0gcmVhZF9hZGRyZXNzICgmcm5nbGlzdHNfYnVmLCB1LT5hZGRy c2l6ZSk7Ci0JICAgIGhpZ2ggPSByZWFkX2FkZHJlc3MgKCZybmdsaXN0c19idWYsIHUtPmFkZHJz aXplKTsKKwkgICAgbG93ID0gKHVpbnRwdHJfdCkgcmVhZF9hZGRyZXNzICgmcm5nbGlzdHNfYnVm LCB1LT5hZGRyc2l6ZSk7CisJICAgIGhpZ2ggPSAodWludHB0cl90KSByZWFkX2FkZHJlc3MgKCZy bmdsaXN0c19idWYsIHUtPmFkZHJzaXplKTsKIAkgICAgaWYgKCFhZGRfcmFuZ2UgKHN0YXRlLCBy ZGF0YSwgbG93ICsgYmFzZV9hZGRyZXNzLAogCQkJICAgIGhpZ2ggKyBiYXNlX2FkZHJlc3MsIGVy cm9yX2NhbGxiYWNrLCBkYXRhLAogCQkJICAgIHZlYykpCkBAIC0xODY5LDExICsxODY5LDExIEBA IGFkZF9yYW5nZXNfZnJvbV9ybmdsaXN0cyAoCiAKIAljYXNlIERXX1JMRV9zdGFydF9sZW5ndGg6 CiAJICB7Ci0JICAgIHVpbnQ2NF90IGxvdzsKLQkgICAgdWludDY0X3QgbGVuZ3RoOworCSAgICB1 aW50cHRyX3QgbG93OworCSAgICB1aW50cHRyX3QgbGVuZ3RoOwogCi0JICAgIGxvdyA9IHJlYWRf YWRkcmVzcyAoJnJuZ2xpc3RzX2J1ZiwgdS0+YWRkcnNpemUpOwotCSAgICBsZW5ndGggPSByZWFk X3VsZWIxMjggKCZybmdsaXN0c19idWYpOworCSAgICBsb3cgPSAodWludHB0cl90KSByZWFkX2Fk ZHJlc3MgKCZybmdsaXN0c19idWYsIHUtPmFkZHJzaXplKTsKKwkgICAgbGVuZ3RoID0gKHVpbnRw dHJfdCkgcmVhZF91bGViMTI4ICgmcm5nbGlzdHNfYnVmKTsKIAkgICAgbG93ICs9IGJhc2VfYWRk cmVzczsKIAkgICAgaWYgKCFhZGRfcmFuZ2UgKHN0YXRlLCByZGF0YSwgbG93LCBsb3cgKyBsZW5n dGgsCiAJCQkgICAgZXJyb3JfY2FsbGJhY2ssIGRhdGEsIHZlYykpCkBAIC0xOTAzLDkgKzE5MDMs OSBAQCBzdGF0aWMgaW50CiBhZGRfcmFuZ2VzIChzdHJ1Y3QgYmFja3RyYWNlX3N0YXRlICpzdGF0 ZSwKIAkgICAgY29uc3Qgc3RydWN0IGR3YXJmX3NlY3Rpb25zICpkd2FyZl9zZWN0aW9ucywKIAkg ICAgdWludHB0cl90IGJhc2VfYWRkcmVzcywgaW50IGlzX2JpZ2VuZGlhbiwKLQkgICAgc3RydWN0 IHVuaXQgKnUsIHVpbnQ2NF90IGJhc2UsIGNvbnN0IHN0cnVjdCBwY3JhbmdlICpwY3JhbmdlLAor CSAgICBzdHJ1Y3QgdW5pdCAqdSwgdWludHB0cl90IGJhc2UsIGNvbnN0IHN0cnVjdCBwY3Jhbmdl ICpwY3JhbmdlLAogCSAgICBpbnQgKCphZGRfcmFuZ2UpIChzdHJ1Y3QgYmFja3RyYWNlX3N0YXRl ICpzdGF0ZSwgdm9pZCAqcmRhdGEsIAotCQkJICAgICAgdWludDY0X3QgbG93cGMsIHVpbnQ2NF90 IGhpZ2hwYywKKwkJCSAgICAgIHVpbnRwdHJfdCBsb3dwYywgdWludHB0cl90IGhpZ2hwYywKIAkJ CSAgICAgIGJhY2t0cmFjZV9lcnJvcl9jYWxsYmFjayBlcnJvcl9jYWxsYmFjaywKIAkJCSAgICAg IHZvaWQgKmRhdGEsIHZvaWQgKnZlYyksCiAJICAgIHZvaWQgKnJkYXRhLApAQCAtMzE4Myw3ICsz MTgzLDcgQEAgcmVhZF9yZWZlcmVuY2VkX25hbWUgKHN0cnVjdCBkd2FyZl9kYXRhICpkZGF0YSwg c3RydWN0IHVuaXQgKnUsCiAKIHN0YXRpYyBpbnQKIGFkZF9mdW5jdGlvbl9yYW5nZSAoc3RydWN0 IGJhY2t0cmFjZV9zdGF0ZSAqc3RhdGUsIHZvaWQgKnJkYXRhLAotCQkgICAgdWludDY0X3QgbG93 cGMsIHVpbnQ2NF90IGhpZ2hwYywKKwkJICAgIHVpbnRwdHJfdCBsb3dwYywgdWludHB0cl90IGhp Z2hwYywKIAkJICAgIGJhY2t0cmFjZV9lcnJvcl9jYWxsYmFjayBlcnJvcl9jYWxsYmFjaywgdm9p ZCAqZGF0YSwKIAkJICAgIHZvaWQgKnB2ZWMpCiB7CkBAIC0zMjIzLDcgKzMyMjMsNyBAQCBhZGRf ZnVuY3Rpb25fcmFuZ2UgKHN0cnVjdCBiYWNrdHJhY2Vfc3RhdGUgKnN0YXRlLCB2b2lkICpyZGF0 YSwKIAogc3RhdGljIGludAogcmVhZF9mdW5jdGlvbl9lbnRyeSAoc3RydWN0IGJhY2t0cmFjZV9z dGF0ZSAqc3RhdGUsIHN0cnVjdCBkd2FyZl9kYXRhICpkZGF0YSwKLQkJICAgICBzdHJ1Y3QgdW5p dCAqdSwgdWludDY0X3QgYmFzZSwgc3RydWN0IGR3YXJmX2J1ZiAqdW5pdF9idWYsCisJCSAgICAg c3RydWN0IHVuaXQgKnUsIHVpbnRwdHJfdCBiYXNlLCBzdHJ1Y3QgZHdhcmZfYnVmICp1bml0X2J1 ZiwKIAkJICAgICBjb25zdCBzdHJ1Y3QgbGluZV9oZWFkZXIgKmxoZHIsCiAJCSAgICAgYmFja3Ry YWNlX2Vycm9yX2NhbGxiYWNrIGVycm9yX2NhbGxiYWNrLCB2b2lkICpkYXRhLAogCQkgICAgIHN0 cnVjdCBmdW5jdGlvbl92ZWN0b3IgKnZlY19mdW5jdGlvbiwKQEAgLTMyODcsNyArMzI4Nyw3IEBA IHJlYWRfZnVuY3Rpb25fZW50cnkgKHN0cnVjdCBiYWNrdHJhY2Vfc3RhdGUgKnN0YXRlLCBzdHJ1 Y3QgZHdhcmZfZGF0YSAqZGRhdGEsCiAJICAgICAgJiYgYWJicmV2LT5hdHRyc1tpXS5uYW1lID09 IERXX0FUX2xvd19wYykKIAkgICAgewogCSAgICAgIGlmICh2YWwuZW5jb2RpbmcgPT0gQVRUUl9W QUxfQUREUkVTUykKLQkJYmFzZSA9IHZhbC51LnVpbnQ7CisJCWJhc2UgPSAodWludHB0cl90KSB2 YWwudS51aW50OwogCSAgICAgIGVsc2UgaWYgKHZhbC5lbmNvZGluZyA9PSBBVFRSX1ZBTF9BRERS RVNTX0lOREVYKQogCQl7CiAJCSAgaWYgKCFyZXNvbHZlX2FkZHJfaW5kZXggKCZkZGF0YS0+ZHdh cmZfc2VjdGlvbnMsCg== --000000000000809d8005f2b987a4--