From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ua1-x932.google.com (mail-ua1-x932.google.com [IPv6:2607:f8b0:4864:20::932]) by sourceware.org (Postfix) with ESMTPS id D475B3858027 for ; Thu, 3 Feb 2022 11:43:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D475B3858027 Received: by mail-ua1-x932.google.com with SMTP id u76so4670143uau.3 for ; Thu, 03 Feb 2022 03:43:27 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=Nn6J73vroU0Ky/e+4xWdaUfQXKr5/UEs19PB6Jw9b6I=; b=sHRwlaA9R8tKfQ8l6ExO+Kzg4Vyji3G8xT2pM5WAEoVLsUlWDpmPrpakZfIfbxQYP/ Yhhs5CUPWD+r94io0xmyMPvAtj/wjNDQAvyR+DUuKzFqvQBIjwZAhlyioxcsmZHsoLlF WRz3YnXztaKO9HCoBueBERsb2ruVXmIK1B5PrqzPeu57TMZA8sntt5NxCE4HtpnhSHaK ZHDMqA1KmhqktGdT1rPID12Y35hBYTANIEafrmFBBjM/rtig/qxGDpzWs3REWsL9eOmj BAx3zsEtgQJIcU1ZrtGH09lQ1a99Z6K6xJRFnkPJC1MI1IXuoFuVXxhI3KellMixuvS2 rX0Q== X-Gm-Message-State: AOAM5329oPG+5Q0dXoxrs/G8xbZvzPpM+ODcER1aqJ4RSlUsMs9LqAmH 2m+Nu9nmN2MYEz88JAi5F22tH11LDQGJSR0hx6CKd343 X-Google-Smtp-Source: ABdhPJwsRUJXQuJijDaSQOCC6pvXCPO/+TXQCwRx22f9sbV91zFkW4PiU7VURQymMJhUqbG8i42nOMbWzCcz9dyCqOg= X-Received: by 2002:ab0:3814:: with SMTP id x20mr13447672uav.12.1643888607295; Thu, 03 Feb 2022 03:43:27 -0800 (PST) MIME-Version: 1.0 From: pgowda cve Date: Thu, 3 Feb 2022 17:13:18 +0530 Message-ID: Subject: [2.33 and 2.34][PATCH] Simplify __opensock and fix race condition [BZ #28353] To: libc-stable@sourceware.org Cc: fweimer@redhat.com, samuel.thibault@ens-lyon.org Content-Type: multipart/mixed; boundary="0000000000007d401005d71ba432" X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-stable@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-stable mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Feb 2022 11:43:29 -0000 --0000000000007d401005d71ba432 Content-Type: text/plain; charset="UTF-8" Hi, (cherry picked from commit 5bf07e1b3a74232bfb8332275110be1a5da50f83) Please find attached the backported patch for glibc versions 2.33 and 2.34. Please let me know if it's okay. Regards, Pgowda --0000000000007d401005d71ba432 Content-Type: application/x-patch; name="Race_condition_on_opensock.patch" Content-Disposition: attachment; filename="Race_condition_on_opensock.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kz6wr37q0 ZGlmZiAtLWdpdCBhL3NvY2tldC9vcGVuc29jay5jIGIvc29ja2V0L29wZW5zb2NrLmMKaW5kZXgg MzcxNDhkNDc0My4uZmY5NGQyN2E2MSAxMDA2NDQKLS0tIGEvc29ja2V0L29wZW5zb2NrLmMKKysr IGIvc29ja2V0L29wZW5zb2NrLmMKQEAgLTEsNCArMSw1IEBACi0vKiBDb3B5cmlnaHQgKEMpIDE5 OTktMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENyZWF0ZSBzb2NrZXQg d2l0aCBhbiB1bnNwZWNpZmllZCBhZGRyZXNzIGZhbWlseSBmb3IgdXNlIHdpdGggaW9jdGwuCisg ICBDb3B5cmlnaHQgKEMpIDE5OTktMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K ICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgogCiAgICBUaGUgR05V IEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKQEAgLTE1LDU2ICsxNiwzNCBAQAogICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBM aWJyYXJ5OyBpZiBub3QsIHNlZQogICAgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4g ICovCiAKLSNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8 c3lzL3NvY2tldC5oPgotI2luY2x1ZGUgPGxpYmMtbG9jay5oPgogCiAvKiBSZXR1cm4gYSBzb2Nr ZXQgb2YgYW55IHR5cGUuICBUaGUgc29ja2V0IGNhbiBiZSB1c2VkIGluIHN1YnNlcXVlbnQKICAg IGlvY3RsIGNhbGxzIHRvIHRhbGsgdG8gdGhlIGtlcm5lbC4gICovCiBpbnQKIF9fb3BlbnNvY2sg KHZvaWQpCiB7Ci0gIC8qIENhY2hlIHRoZSBsYXN0IEFGIHRoYXQgd29ya2VkLCB0byBhdm9pZCBt YW55IHJlZHVuZGFudCBjYWxscyB0bwotICAgICBzb2NrZXQoKS4gICovCi0gIHN0YXRpYyBpbnQg c29ja19hZiA9IC0xOwotICBpbnQgZmQgPSAtMTsKLSAgX19saWJjX2xvY2tfZGVmaW5lX2luaXRp YWxpemVkIChzdGF0aWMsIGxvY2spOwotCi0gIGlmIChzb2NrX2FmICE9IC0xKQotICAgIHsKLSAg ICAgIGZkID0gX19zb2NrZXQgKHNvY2tfYWYsIFNPQ0tfREdSQU0sIDApOwotICAgICAgaWYgKGZk ICE9IC0xKQotICAgICAgICByZXR1cm4gZmQ7Ci0gICAgfQotCi0gIF9fbGliY19sb2NrX2xvY2sg KGxvY2spOwotCi0gIGlmIChzb2NrX2FmICE9IC0xKQotICAgIGZkID0gX19zb2NrZXQgKHNvY2tf YWYsIFNPQ0tfREdSQU0sIDApOwotCi0gIGlmIChmZCA9PSAtMSkKLSAgICB7Ci0jaWZkZWYgQUZf SU5FVAotICAgICAgZmQgPSBfX3NvY2tldCAoc29ja19hZiA9IEFGX0lORVQsIFNPQ0tfREdSQU0s IDApOworICAvKiBTT0NLX0RHUkFNIGlzIHN1cHBvcnRlZCBieSBhbGwgYWRkcmVzcyBmYW1pbGll cy4gIChOZXRsaW5rIGRvZXMKKyAgICAgbm90IHN1cHBvcnQgU09DS19TVFJFQU0uKSAgKi8KKyAg aW50IHR5cGUgPSBTT0NLX0RHUkFNIHwgU09DS19DTE9FWEVDOworICBpbnQgZmQ7CisKKyNpZmRl ZiBBRl9ORVRMSU5LCisgIGZkID0gX19zb2NrZXQgKEFGX05FVExJTkssIHR5cGUsIDApOworICBp ZiAoZmQgPj0gMCkKKyAgICByZXR1cm4gZmQ7CiAjZW5kaWYKLSNpZmRlZiBBRl9JTkVUNgotICAg ICAgaWYgKGZkIDwgMCkKLQlmZCA9IF9fc29ja2V0IChzb2NrX2FmID0gQUZfSU5FVDYsIFNPQ0tf REdSQU0sIDApOwotI2VuZGlmCi0jaWZkZWYgQUZfSVBYCi0gICAgICBpZiAoZmQgPCAwKQotCWZk ID0gX19zb2NrZXQgKHNvY2tfYWYgPSBBRl9JUFgsIFNPQ0tfREdSQU0sIDApOwotI2VuZGlmCi0j aWZkZWYgQUZfQVgyNQotICAgICAgaWYgKGZkIDwgMCkKLQlmZCA9IF9fc29ja2V0IChzb2NrX2Fm ID0gQUZfQVgyNSwgU09DS19ER1JBTSwgMCk7Ci0jZW5kaWYKLSNpZmRlZiBBRl9BUFBMRVRBTEsK LSAgICAgIGlmIChmZCA8IDApCi0JZmQgPSBfX3NvY2tldCAoc29ja19hZiA9IEFGX0FQUExFVEFM SywgU09DS19ER1JBTSwgMCk7Ci0jZW5kaWYKLSAgICB9CiAKLSAgX19saWJjX2xvY2tfdW5sb2Nr IChsb2NrKTsKKyAgZmQgPSBfX3NvY2tldCAoQUZfVU5JWCwgdHlwZSwgMCk7CisgIGlmIChmZCA+ PSAwKQorICAgIHJldHVybiBmZDsKKyAgZmQgPSBfX3NvY2tldCAoQUZfSU5FVCwgdHlwZSwgMCk7 CisgIGlmIChmZCA+PSAwKQorICAgIHJldHVybiBmZDsKKyAgZmQgPSBfX3NvY2tldCAoQUZfSU5F VDYsIHR5cGUsIDApOworICBpZiAoZmQgPj0gMCkKKyAgICByZXR1cm4gZmQ7CisgIF9fc2V0X2Vy cm5vIChFTk9FTlQpOwogICByZXR1cm4gZmQ7CiB9CmRpZmYgLS1naXQgYS9zeXNkZXBzL21hY2gv aHVyZC9pZl9pbmRleC5jIGIvc3lzZGVwcy9tYWNoL2h1cmQvaWZfaW5kZXguYwppbmRleCAwZWFi NTEwNDUzLi5lNzg1YWMxNWFhIDEwMDY0NAotLS0gYS9zeXNkZXBzL21hY2gvaHVyZC9pZl9pbmRl eC5jCisrKyBiL3N5c2RlcHMvbWFjaC9odXJkL2lmX2luZGV4LmMKQEAgLTMyLDcgKzMyLDcgQEAg dW5zaWduZWQgaW50CiBfX2lmX25hbWV0b2luZGV4IChjb25zdCBjaGFyICppZm5hbWUpCiB7CiAg IHN0cnVjdCBpZnJlcSBpZnI7Ci0gIGludCBmZCA9IF9fb3BlbnNvY2sgKCk7CisgIGludCBmZCA9 IF9fc29ja2V0IChBRl9JTkVULCBTT0NLX0RHUkFNLCAwKTsKIAogICBpZiAoZmQgPCAwKQogICAg IHJldHVybiAwOwpAQCAtODQsNyArODQsNyBAQCBfX2lmX25hbWVpbmRleCAodm9pZCkKICAgZXJy b3JfdCBlcnIgPSAwOwogICBjaGFyIGRhdGFbMjA0OF07CiAgIGZpbGVfdCBzZXJ2ZXI7Ci0gIGlu dCBmZCA9IF9fb3BlbnNvY2sgKCk7CisgIGludCBmZCA9IF9fc29ja2V0IChBRl9JTkVULCBTT0NL X0RHUkFNLCAwKTsKICAgc3RydWN0IGlmY29uZiBpZmM7CiAgIHVuc2lnbmVkIGludCBuaWZzLCBp OwogICBzdHJ1Y3QgaWZfbmFtZWluZGV4ICppZHggPSBOVUxMOwpAQCAtMTY5LDcgKzE2OSw3IEBA IGNoYXIgKgogX19pZl9pbmRleHRvbmFtZSAodW5zaWduZWQgaW50IGlmaW5kZXgsIGNoYXIgKmlm bmFtZSkKIHsKICAgc3RydWN0IGlmcmVxIGlmcjsKLSAgaW50IGZkID0gX19vcGVuc29jayAoKTsK KyAgaW50IGZkID0gX19zb2NrZXQgKEFGX0lORVQsIFNPQ0tfREdSQU0sIDApOwogCiAgIGlmIChm ZCA8IDApCiAgICAgcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9s aW51eC9vcGVuc29jay5jIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvb3BlbnNvY2suYwpkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg3ZDZlNThiMC4uMDAwMDAwMDAwMAotLS0gYS9z eXNkZXBzL3VuaXgvc3lzdi9saW51eC9vcGVuc29jay5jCisrKyAvZGV2L251bGwKQEAgLTEsMTE0 ICswLDAgQEAKLS8qIENvcHlyaWdodCAoQykgMTk5OS0yMDIxIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgotICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCi0K LSAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgotICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl c3NlciBHZW5lcmFsIFB1YmxpYwotICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgVGhlIEdOVSBD IExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKLSAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCi0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICAgTGljZW5zZSBhbG9uZyB3aXRo IHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3QsIHNlZQotICAgPGh0dHBzOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4gICovCi0KLSNpbmNsdWRlIDxhc3NlcnQuaD4KLSNpbmNsdWRlIDxlcnJuby5o PgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8dW5p c3RkLmg+Ci0jaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotCi0vKiBSZXR1cm4gYSBzb2NrZXQgb2Yg YW55IHR5cGUuICBUaGUgc29ja2V0IGNhbiBiZSB1c2VkIGluIHN1YnNlcXVlbnQKLSAgIGlvY3Rs IGNhbGxzIHRvIHRhbGsgdG8gdGhlIGtlcm5lbC4gICovCi1pbnQKLV9fb3BlbnNvY2sgKHZvaWQp Ci17Ci0gIHN0YXRpYyBpbnQgbGFzdF9mYW1pbHk7CS8qIEF2YWlsYWJsZSBzb2NrZXQgZmFtaWx5 IHdlIHdpbGwgdXNlLiAgKi8KLSAgc3RhdGljIGludCBsYXN0X3R5cGU7Ci0gIHN0YXRpYyBjb25z dCBzdHJ1Y3QKLSAgewotICAgIGludCBmYW1pbHk7Ci0gICAgY29uc3QgY2hhciBwcm9jbmFtZVsx NV07Ci0gIH0gYWZzW10gPQotICAgIHsKLSAgICAgIHsgQUZfVU5JWCwgIm5ldC91bml4IiB9LAot ICAgICAgeyBBRl9JTkVULCAiIiB9LAotICAgICAgeyBBRl9JTkVUNiwgIm5ldC9pZl9pbmV0NiIg fSwKLSAgICAgIHsgQUZfQVgyNSwgIm5ldC9heDI1IiB9LAotICAgICAgeyBBRl9ORVRST00sICJu ZXQvbnIiIH0sCi0gICAgICB7IEFGX1JPU0UsICJuZXQvcm9zZSIgfSwKLSAgICAgIHsgQUZfSVBY LCAibmV0L2lweCIgfSwKLSAgICAgIHsgQUZfQVBQTEVUQUxLLCAibmV0L2FwcGxldGFsayIgfSwK LSAgICAgIHsgQUZfRUNPTkVULCAic3lzL25ldC9lY29uZXQiIH0sCi0gICAgICB7IEFGX0FTSCwg InN5cy9uZXQvYXNoIiB9LAotICAgICAgeyBBRl9YMjUsICJuZXQveDI1IiB9LAotI2lmZGVmIE5F RURfQUZfSVVDVgotICAgICAgeyBBRl9JVUNWLCAibmV0L2l1Y3YiIH0KLSNlbmRpZgotICAgIH07 Ci0jZGVmaW5lIG5hZnMgKHNpemVvZiAoYWZzKSAvIHNpemVvZiAoYWZzWzBdKSkKLSAgY2hhciBm bmFtZVtzaXplb2YgIi9wcm9jLyIgKyAxNF07Ci0gIGludCByZXN1bHQ7Ci0gIGludCBoYXNfcHJv YzsKLSAgc2l6ZV90IGNudDsKLQotICAvKiBXZSBhbHJlYWR5IGtub3cgd2hpY2ggZmFtaWx5IHRv IHVzZSBmcm9tIHRoZSBsYXN0IGNhbGwuICBVc2UgaXQKLSAgICAgYWdhaW4uICAqLwotICBpZiAo bGFzdF9mYW1pbHkgIT0gMCkKLSAgICB7Ci0gICAgICBhc3NlcnQgKGxhc3RfdHlwZSAhPSAwKTsK LQotICAgICAgcmVzdWx0ID0gX19zb2NrZXQgKGxhc3RfZmFtaWx5LCBsYXN0X3R5cGUgfCBTT0NL X0NMT0VYRUMsIDApOwotICAgICAgaWYgKHJlc3VsdCAhPSAtMSB8fCBlcnJubyAhPSBFQUZOT1NV UFBPUlQpCi0JLyogTWF5YmUgdGhlIHNvY2tldCB0eXBlIGlzbid0IHN1cHBvcnRlZCBhbnltb3Jl IChtb2R1bGUgaXMKLQkgICB1bmxvYWRlZCkuICBJbiB0aGlzIGNhc2UgYWdhaW4gdHJ5IHRvIGZp bmQgdGhlIHR5cGUuICAqLwotCXJldHVybiByZXN1bHQ7Ci0KLSAgICAgIC8qIFJlc2V0IHRoZSB2 YWx1ZXMuICBUaGV5IHNlZW0gbm90IHZhbGlkIGFueW1vcmUuICAqLwotICAgICAgbGFzdF9mYW1p bHkgPSAwOwotICAgICAgbGFzdF90eXBlID0gMDsKLSAgICB9Ci0KLSAgLyogQ2hlY2sgd2hldGhl ciB0aGUgL3Byb2MgZmlsZXN5c3RlbSBpcyBhdmFpbGFibGUuICAqLwotICBoYXNfcHJvYyA9IF9f YWNjZXNzICgiL3Byb2MvbmV0IiwgUl9PSykgIT0gLTE7Ci0gIHN0cmNweSAoZm5hbWUsICIvcHJv Yy8iKTsKLQotICAvKiBJdGVyYXRlIG92ZXIgdGhlIGludGVyZmFjZSBmYW1pbGllcyBhbmQgZmlu ZCBvbmUgd2hpY2ggaXMKLSAgICAgYXZhaWxhYmxlLiAgKi8KLSAgZm9yIChjbnQgPSAwOyBjbnQg PCBuYWZzOyArK2NudCkKLSAgICB7Ci0gICAgICBpbnQgdHlwZSA9IFNPQ0tfREdSQU07Ci0KLSAg ICAgIGlmIChoYXNfcHJvYyAmJiBhZnNbY250XS5wcm9jbmFtZVswXSAhPSAnXDAnKQotCXsKLQkg IHN0cmNweSAoZm5hbWUgKyA2LCBhZnNbY250XS5wcm9jbmFtZSk7Ci0JICBpZiAoX19hY2Nlc3Mg KGZuYW1lLCBSX09LKSA9PSAtMSkKLQkgICAgLyogVGhlIC9wcm9jIGVudHJ5IGlzIG5vdCBhdmFp bGFibGUuICBJLmUuLCB3ZSBjYW5ub3QKLQkgICAgICAgY3JlYXRlIGEgc29ja2V0IG9mIHRoaXMg dHlwZSAod2l0aG91dCBsb2FkaW5nIHRoZQotCSAgICAgICBtb2R1bGUpLiAgRG9uJ3QgbG9vayBm b3IgaXQgc2luY2UgdGhpcyBtaWdodCB0cmlnZ2VyCi0JICAgICAgIGxvYWRpbmcgdGhlIG1vZHVs ZS4gICovCi0JICAgIGNvbnRpbnVlOwotCX0KLQotICAgICAgaWYgKGFmc1tjbnRdLmZhbWlseSA9 PSBBRl9ORVRST00gfHwgYWZzW2NudF0uZmFtaWx5ID09IEFGX1gyNSkKLQl0eXBlID0gU09DS19T RVFQQUNLRVQ7Ci0KLSAgICAgIHJlc3VsdCA9IF9fc29ja2V0IChhZnNbY250XS5mYW1pbHksIHR5 cGUgfCBTT0NLX0NMT0VYRUMsIDApOwotICAgICAgaWYgKHJlc3VsdCAhPSAtMSkKLQl7Ci0JICAv KiBGb3VuZCBhbiBhdmFpbGFibGUgZmFtaWx5LiAgKi8KLQkgIGxhc3RfdHlwZSA9IHR5cGU7Ci0J ICBsYXN0X2ZhbWlseSA9IGFmc1tjbnRdLmZhbWlseTsKLQkgIHJldHVybiByZXN1bHQ7Ci0JfQot ICAgIH0KLQotICAvKiBOb25lIG9mIHRoZSBwcm90b2NvbCBmYW1pbGllcyBpcyBhdmFpbGFibGUu ICBJdCBpcyB1bmNsZWFyIHdoYXQga2luZAotICAgICBvZiBlcnJvciBpcyByZXR1cm5lZC4gIEVO T0VOVCBzZWVtcyBsaWtlIGEgcmVhc29uYWJsZSBjaG9pY2UuICAqLwotICBfX3NldF9lcnJubyAo RU5PRU5UKTsKLSAgcmV0dXJuIC0xOwotfQpkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3Yv bGludXgvczM5MC9vcGVuc29jay5jIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvczM5MC9vcGVu c29jay5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMDk5ZDY1MWZmLi4wMDAwMDAw MDAwCi0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3MzOTAvb3BlbnNvY2suYworKysgL2Rl di9udWxsCkBAIC0xLDIgKzAsMCBAQAotI2RlZmluZSBORUVEX0FGX0lVQ1YgMQotI2luY2x1ZGUg Ii4uL29wZW5zb2NrLmMiCg== --0000000000007d401005d71ba432--