From nobody Tue Sep 29 07:44:25 2026 Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6E144366045 for ; Mon, 10 Aug 2026 22:19:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=209.85.208.176 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786400356; cv=pass; b=qsrZHwEWxTRsRuvK5nU6we+mlCwwwUW+SRCIeCOGSgv8ty1I9H8ipK4wUSxl+Sc5jTn0L21mhmQuZo9FCiLHc2v2cZql9WDHRS5At6hr44YuAvvQkTI1+TYcPbyQRhiv421wF636bhcVJr1h5+uyWBafBjpfGmdox0rgXQKWZqk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786400356; c=relaxed/simple; bh=vfIc2n/bE2oddAwstk6unKCtfZaW5or+jlhpvREdR90=; h=MIME-Version:From:Date:Message-ID:Subject:To:Cc:Content-Type; b=BNgpND75CsSyzh59aXAKVCN3pwDZKlxn+ABNE390G9C/M+tCIdVKjJYnTWuBzMe/U3V08CxGkdQW2XNTmZnxSSSDo+WAU5OuXYPwgBjLWVlTJK0o4go4xgGIdHwfONEk31/+jPhbDeGSxT2D22/w4eTtTz5cPif5zARMiUU39WE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=aomjanC1; arc=pass smtp.client-ip=209.85.208.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="aomjanC1" Received: by mail-lj1-f176.google.com with SMTP id 38308e7fff4ca-39c8ee87f7eso18462161fa.3 for ; Mon, 10 Aug 2026 15:19:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1786400351; cv=none; d=google.com; s=arc-20260327; b=UBhbNQc2rC74vsF0FVtaiR8GsU0XdwxPEDlpeXPjdOZIHOPhNtoqh4yW7xFKQSyXnL eyX3vdVe+NZcBP1AV/N9kEIiba4PW2buEnfmCoBpANw60euORdujO2X/L8Kn/6c3nnFG RRPwqgHY0Jlcsr8B7lcqSCDM0LizDtU+6rw4AhqL7rfY9tokENwfG+xcW1/VHTtApK9N sVWaJ3FwUCSmL+SEMrsf9sHz1Fcj7vI/YCc+VOB/a+M3yfxMERtEzd4MlEz3L9WK/lnJ BC1w/koUGjsDn++jXRH5sap6Au9Gl34P6T93Qxp6lJzzxdS4XNvqfMq9ywBSADw9q5uT TBrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:mime-version:dkim-signature; bh=wApo2Os9DOMxJiDoIUlPqNDJnbj6WyChdIL/Dd+3c/o=; fh=KepTD2eORxmjIWP3EGUAsPZWmV+isJOHCQYVTLjfXsk=; b=aLbe4M9K+kziJX/eCulFIP8CxTXTlySAtalX94gkRiTdFFQbJ3gaNFe0JumvH8L+5X IpfDKGroIl8EAs3y3ePLug0RzHhHXFDweod7Jxc0p4/ydrYcGbEhoFPGNcpFoIX1smVq 3KyPep0QUJDLcmfYBDhIr7CDkYwhjK8l1d/XSu73MJavRdM4gdavnHHU/MfYlHpUvTyX XBeuCOocznsoh213gteAzEL6KoyAphHqzazNDmtra2mKtiKDT2ctsmeW6dY3QcnVzzg3 qBMtmdxTN3+8BQsivqZABd2A6k4llnFVJOkyXckLVPJeIbzrFRrG3beEHvr34Ru71jzv TeuA==; darn=vger.kernel.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786400351; x=1787005151; darn=vger.kernel.org; h=content-type:cc:to:subject:message-id:date:from:mime-version:from :to:cc:subject:date:message-id:reply-to:content-type; bh=wApo2Os9DOMxJiDoIUlPqNDJnbj6WyChdIL/Dd+3c/o=; b=aomjanC13uOaLcJT+Jw9rpzBbjQtM55pc3E3VzL2XzZV66S+AeIEvCkqcNUXWmFdGR r+lkd4MJEgkCuF8OoLxgyyyDRS423LfxGsyJEPwDLGGegmhiNmGQTk1P38XpqyS4JV/L q43yJfg+CT8BX617tOfrQwLbs30cwJfqsNJezGHxjdVOydJIpfauwQEc2AyKvgduCpbO Hwy8TK5uBk544a3Qm/dCEYzGrHJtBQCfMtpFpg1oEqj1gKyxBktBS87i+F8qiA66y2pL omZ2kjGBnP72NCW5Ba8JweAaZEKaJs9XqrutEjs2oXZ9Zc9pLf8F5OCjNH7+8BA/n2tg j/mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786400351; x=1787005151; h=content-type:cc:to:subject:message-id:date:from:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to:content-type; bh=wApo2Os9DOMxJiDoIUlPqNDJnbj6WyChdIL/Dd+3c/o=; b=Bx0E0BdZDXXTa7ZAXit2Kn5m9lPBmF1qzkDo2azSUYtbKzEjBp1HE2sX7k1L/rufTs dgdc+xmrCkIm+5um0BLYjXG1Wh1fLLUFr2Ph3HOHRH7bHAlE0CFgvPyeUoB8nOFu+xxd i5keUOESWBqTbbKxnZSWmKSQaVHhXdJaeJ6Xq1BmWMjBv2g5IaWJ7lepnRxcatIEsCn6 VQ/AzD3ZaqxNBLbM0t/mbFUtwn/MN22//4RTT7VEzEmAD0sETiuROMiS1Xifwb89Yzon PjUwANQVa60BRtjTV+buxDw2D5++EH/sMd9w0826aw7wfDhN6j5ZZSe+pZRKs+kwI0JA iMFw== X-Gm-Message-State: AOJu0YxzNHei2vsP/QuwlZlHtn/nEDboVnIULXQdPz1HNT//cMO4cGmy UgX0KLzeP9q4LEYjbJP7k4GUEo6qBPKt0aBugMJ4m3WwVu1xurYlcmx18quXq3EKTCwxiOJZtZC aLfxs0H+wmqSNrukLviSqBXssOebhvP4= X-Gm-Gg: AR+sD13brbVUl+3rCo+4gjtEuDtUzC2NHoO9l/3RHS8n13qoPzbczdQg4JgF8y4n+Ik 6Tc95ObELhk7UEmZc9l09LWyNFtb5JO4c2qTJ4Y+rxrYTbnn0KzqtSqYVJvmvAun8K4r1/vFq/k GILy8Vm7gFYsWx5FfTSwq7YVsV1JenWo+Ua7hj1wHw4lPsHLCa5VzobhBTftETxl3ppRKOYUM22 cofUaT+51KfVX9Zx9rHSn/8PVSv5cNnGRwyXsJb+yBdxgF5bvqSxjbImby/dPp7h6Y9XUiI2Lu3 ak+lw3MXdFgjzE0oMpTVp8jL46ZkqU+1tb74RD1hQKgyQTJj//sH4avSdXOoBL6ecCjAE8OAiVw 0r7mlJS6C6nVhQTRRFZwWeDBCMlEDL8Wsi/SJmDs3eQUvRLvUNwyPwFckk9Y= X-Received: by 2002:a05:651c:221c:b0:39f:1b37:82bd with SMTP id 38308e7fff4ca-39fe56dec18mr26298821fa.11.1786400351228; Mon, 10 Aug 2026 15:19:11 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Darren Carreras Date: Mon, 10 Aug 2026 18:18:58 -0400 X-Gm-Features: AUfX_mxnlk3L8yNt0ijwIWYQcLthDwOVLOVpEqCKKhMsVDc5_Kr-34hOoFXhTBA Message-ID: Subject: [PATCH bpf-next v4] libbpf: avoid overflow in BTF.ext bounds check To: bpf@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, shuah@kernel.org, jolsa@kernel.org, yonghong.song@linux.dev, song@kernel.org, martin.lau@linux.dev, memxor@gmail.com, daniel@iogearbox.net, ast@kernel.org, ihor.solodrai@linux.dev, eddyz87@gmail.com, andrii@kernel.org Content-Type: multipart/mixed; boundary="0000000000005caeda0658b8beb0" Content-Transfer-Encoding: quoted-printable --0000000000005caeda0658b8beb0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QW4gaW52YWxpZCBCVEYuZXh0IHN1YnNlY3Rpb24gbGVuZ3RoIGNhbiB3cmFwIHRoZSBwb2ludGVy IGFkZGl0aW9uIHVzZWQgYnkKYnRmX2V4dF9wYXJzZV9zZWNfaW5mbygpIG9uIDMyLWJpdCBidWls ZHMuIFRoZSB3cmFwcGVkIHBvaW50ZXIgcGFzc2VzIHRoZQpib3VuZHMgY2hlY2sgYW5kIHBhcnNp bmcgdGhlbiByZWFkcyBiZXlvbmQgdGhlIGNvcGllZCBCVEYuZXh0IGRhdGEuCgpWYWxpZGF0ZSB0 aGUgb2Zmc2V0IGFuZCBsZW5ndGggd2l0aCBzdWJ0cmFjdGlvbiBiZWZvcmUgZm9ybWluZyB0aGUg c2VjdGlvbgpwb2ludGVyLgoKRml4ZXM6IGFlNGFiNGI0MTE3ZCAoImJ0ZjogZXhwb3NlIEFQSSB0 byB3b3JrIHdpdGggcmF3IGJ0Zl9leHQgZGF0YSIpCkNsb3NlczogaHR0cHM6Ly9pc3N1ZXMub3Nz LWZ1enouY29tL2lzc3Vlcy80NzczMTUxMTkKU2lnbmVkLW9mZi1ieTogRGFycmVuIENhcnJlcmFz IDxjYXJyZXJhc2RhcnJlbkBnbWFpbC5jb20+Ci0tLQpDaGFuZ2VzIGluIHY0OgotIERyb3AgdGhl IHNlbGZ0ZXN0IGJlY2F1c2UgdGhlIG1hbGZvcm1lZCBsZW5ndGggaXMgYWxyZWFkeSByZWplY3Rl ZCBieSB0aGUKICBvbGQgY2hlY2sgb24gNjQtYml0IENJOyB0aGUgYmVoYXZpb3JhbCBkaXZlcmdl bmNlIGlzIHNwZWNpZmljIHRvIDMyLWJpdC4KLSBDb3JyZWN0IHRoZSBGaXhlcyB0YWcgdG8gdGhl IGNvbW1pdCB0aGF0IGludHJvZHVjZWQgdGhlIHBvaW50ZXItYmFzZWQgY2hlPQpjay4KCkNoYW5n ZXMgaW4gdjM6Ci0gUmVtb3ZlIHRoZSBuZXN0ZWQgbWJveCBlbnZlbG9wZSBhbmQgbWFpbCBoZWFk ZXJzIGZyb20gdGhlIEdtYWlsIGF0dGFjaG1lbnQKICBzbyBQYXRjaHdvcmsncyBnZW5lcmF0ZWQg bWJveCBhcHBsaWVzIHdpdGggZ2l0IGFtLgoKQ2hhbmdlcyBpbiB2MjoKLSBSZXNlbmQgYXMgcGxh aW4gdGV4dCBiZWNhdXNlIEdtYWlsIG1hbmdsZWQgdGhlIHYxIGRpZmYgYW5kIFBhdGNod29yawog IHJlcG9ydGVkICJQYXRjaCBpcyBlbXB0eS4iCi0gSW5jbHVkZSB0aGUgYXV0aG9yaXplZCBEQ08g U2lnbmVkLW9mZi1ieSBsaW5lLgoKIHRvb2xzL2xpYi9icGYvYnRmLmMgfCAxMyArKysrKysrLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYi9icGYvYnRmLmMgYi90b29scy9saWIvYnBmL2J0Zi5jCmluZGV4 IDg0MTdkZTkuLjc0NGYzM2UgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYi9icGYvYnRmLmMKKysrIGIv dG9vbHMvbGliL2JwZi9idGYuYwpAQCAtMzM2NCw3ICszMzY0LDcgQEAgc3RhdGljIGludCBidGZf ZXh0X3BhcnNlX3NlY19pbmZvKHN0cnVjdCBidGZfZXh0ICpidGY9Cl9leHQsCiB7CiAgY29uc3Qg c3RydWN0IGJ0Zl9leHRfaW5mb19zZWMgKnNpbmZvOwogIHN0cnVjdCBidGZfZXh0X2luZm8gKmV4 dF9pbmZvOwotIF9fdTMyIGluZm9fbGVmdCwgcmVjb3JkX3NpemU7CisgX191MzIgZGF0YV9sZWZ0 LCBpbmZvX2xlZnQsIHJlY29yZF9zaXplOwogIHNpemVfdCBzZWNfY250ID0zRCAwOwogIHZvaWQg KmluZm87CgpAQCAtMzM3NywxNiArMzM3NywxNyBAQCBzdGF0aWMgaW50IGJ0Zl9leHRfcGFyc2Vf c2VjX2luZm8oc3RydWN0CmJ0Zl9leHQgKmJ0Zl9leHQsCiAgcmV0dXJuIC1FSU5WQUw7CiAgfQoK LSAvKiBUaGUgc3RhcnQgb2YgdGhlIGluZm8gc2VjIChpbmNsdWRpbmcgdGhlIF9fdTMyIHJlY29y ZF9zaXplKS4gKi8KLSBpbmZvID0zRCBidGZfZXh0LT5kYXRhICsgYnRmX2V4dC0+aGRyLT5oZHJf bGVuICsgZXh0X3NlYy0+b2ZmOwotIGluZm9fbGVmdCA9M0QgZXh0X3NlYy0+bGVuOwotCi0gaWYg KGJ0Zl9leHQtPmRhdGEgKyBidGZfZXh0LT5kYXRhX3NpemUgPCBpbmZvICsgZXh0X3NlYy0+bGVu KSB7CisgZGF0YV9sZWZ0ID0zRCBidGZfZXh0LT5kYXRhX3NpemUgLSBidGZfZXh0LT5oZHItPmhk cl9sZW47CisgaWYgKGV4dF9zZWMtPm9mZiA+IGRhdGFfbGVmdCB8fCBleHRfc2VjLT5sZW4gPiBk YXRhX2xlZnQgLSBleHRfc2VjLT5vZmYpIHsKICBwcl9kZWJ1ZygiJXMgc2VjdGlvbiAob2ZmOiV1 IGxlbjoldSkgaXMgYmV5b25kIHRoZSBlbmQgb2YgdGhlIEVMRgpzZWN0aW9uIC5CVEYuZXh0XG4i LAogIGV4dF9zZWMtPmRlc2MsIGV4dF9zZWMtPm9mZiwgZXh0X3NlYy0+bGVuKTsKICByZXR1cm4g LUVJTlZBTDsKICB9CgorIC8qIFRoZSBzdGFydCBvZiB0aGUgaW5mbyBzZWMgKGluY2x1ZGluZyB0 aGUgX191MzIgcmVjb3JkX3NpemUpLiAqLworIGluZm8gPTNEIGJ0Zl9leHQtPmRhdGEgKyBidGZf ZXh0LT5oZHItPmhkcl9sZW4gKyBleHRfc2VjLT5vZmY7CisgaW5mb19sZWZ0ID0zRCBleHRfc2Vj LT5sZW47CisKICAvKiBBdCBsZWFzdCBhIHJlY29yZCBzaXplICovCiAgaWYgKGluZm9fbGVmdCA8 IHNpemVvZihfX3UzMikpIHsKICBwcl9kZWJ1ZygiLkJURi5leHQgJXMgcmVjb3JkIHNpemUgbm90 IGZvdW5kXG4iLCBleHRfc2VjLT5kZXNjKTs= --0000000000005caeda0658b8beb0 Content-Type: text/plain; charset="US-ASCII"; name="v4-libbpf-avoid-overflow-in-BTF.ext-bounds-check-body.txt" Content-Disposition: attachment; filename="v4-libbpf-avoid-overflow-in-BTF.ext-bounds-check-body.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_msnsmo7x0 QW4gaW52YWxpZCBCVEYuZXh0IHN1YnNlY3Rpb24gbGVuZ3RoIGNhbiB3cmFwIHRoZSBwb2ludGVy IGFkZGl0aW9uIHVzZWQgYnkKYnRmX2V4dF9wYXJzZV9zZWNfaW5mbygpIG9uIDMyLWJpdCBidWls ZHMuIFRoZSB3cmFwcGVkIHBvaW50ZXIgcGFzc2VzIHRoZQpib3VuZHMgY2hlY2sgYW5kIHBhcnNp bmcgdGhlbiByZWFkcyBiZXlvbmQgdGhlIGNvcGllZCBCVEYuZXh0IGRhdGEuCgpWYWxpZGF0ZSB0 aGUgb2Zmc2V0IGFuZCBsZW5ndGggd2l0aCBzdWJ0cmFjdGlvbiBiZWZvcmUgZm9ybWluZyB0aGUg c2VjdGlvbgpwb2ludGVyLgoKRml4ZXM6IGFlNGFiNGI0MTE3ZCAoImJ0ZjogZXhwb3NlIEFQSSB0 byB3b3JrIHdpdGggcmF3IGJ0Zl9leHQgZGF0YSIpCkNsb3NlczogaHR0cHM6Ly9pc3N1ZXMub3Nz LWZ1enouY29tL2lzc3Vlcy80NzczMTUxMTkKU2lnbmVkLW9mZi1ieTogRGFycmVuIENhcnJlcmFz IDxjYXJyZXJhc2RhcnJlbkBnbWFpbC5jb20+Ci0tLQpDaGFuZ2VzIGluIHY0OgotIERyb3AgdGhl IHNlbGZ0ZXN0IGJlY2F1c2UgdGhlIG1hbGZvcm1lZCBsZW5ndGggaXMgYWxyZWFkeSByZWplY3Rl ZCBieSB0aGUKICBvbGQgY2hlY2sgb24gNjQtYml0IENJOyB0aGUgYmVoYXZpb3JhbCBkaXZlcmdl bmNlIGlzIHNwZWNpZmljIHRvIDMyLWJpdC4KLSBDb3JyZWN0IHRoZSBGaXhlcyB0YWcgdG8gdGhl IGNvbW1pdCB0aGF0IGludHJvZHVjZWQgdGhlIHBvaW50ZXItYmFzZWQgY2hlY2suCgpDaGFuZ2Vz IGluIHYzOgotIFJlbW92ZSB0aGUgbmVzdGVkIG1ib3ggZW52ZWxvcGUgYW5kIG1haWwgaGVhZGVy cyBmcm9tIHRoZSBHbWFpbCBhdHRhY2htZW50CiAgc28gUGF0Y2h3b3JrJ3MgZ2VuZXJhdGVkIG1i b3ggYXBwbGllcyB3aXRoIGdpdCBhbS4KCkNoYW5nZXMgaW4gdjI6Ci0gUmVzZW5kIGFzIHBsYWlu IHRleHQgYmVjYXVzZSBHbWFpbCBtYW5nbGVkIHRoZSB2MSBkaWZmIGFuZCBQYXRjaHdvcmsKICBy ZXBvcnRlZCAiUGF0Y2ggaXMgZW1wdHkuIgotIEluY2x1ZGUgdGhlIGF1dGhvcml6ZWQgRENPIFNp Z25lZC1vZmYtYnkgbGluZS4KCiB0b29scy9saWIvYnBmL2J0Zi5jIHwgMTMgKysrKysrKy0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS90b29scy9saWIvYnBmL2J0Zi5jIGIvdG9vbHMvbGliL2JwZi9idGYuYwppbmRleCA4 NDE3ZGU5Li43NDRmMzNlIDEwMDY0NAotLS0gYS90b29scy9saWIvYnBmL2J0Zi5jCisrKyBiL3Rv b2xzL2xpYi9icGYvYnRmLmMKQEAgLTMzNjQsNyArMzM2NCw3IEBAIHN0YXRpYyBpbnQgYnRmX2V4 dF9wYXJzZV9zZWNfaW5mbyhzdHJ1Y3QgYnRmX2V4dCAqYnRmX2V4dCwKIHsKIAljb25zdCBzdHJ1 Y3QgYnRmX2V4dF9pbmZvX3NlYyAqc2luZm87CiAJc3RydWN0IGJ0Zl9leHRfaW5mbyAqZXh0X2lu Zm87Ci0JX191MzIgaW5mb19sZWZ0LCByZWNvcmRfc2l6ZTsKKwlfX3UzMiBkYXRhX2xlZnQsIGlu Zm9fbGVmdCwgcmVjb3JkX3NpemU7CiAJc2l6ZV90IHNlY19jbnQgPSAwOwogCXZvaWQgKmluZm87 CiAKQEAgLTMzNzcsMTYgKzMzNzcsMTcgQEAgc3RhdGljIGludCBidGZfZXh0X3BhcnNlX3NlY19p bmZvKHN0cnVjdCBidGZfZXh0ICpidGZfZXh0LAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQkv KiBUaGUgc3RhcnQgb2YgdGhlIGluZm8gc2VjIChpbmNsdWRpbmcgdGhlIF9fdTMyIHJlY29yZF9z aXplKS4gKi8KLQlpbmZvID0gYnRmX2V4dC0+ZGF0YSArIGJ0Zl9leHQtPmhkci0+aGRyX2xlbiAr IGV4dF9zZWMtPm9mZjsKLQlpbmZvX2xlZnQgPSBleHRfc2VjLT5sZW47Ci0KLQlpZiAoYnRmX2V4 dC0+ZGF0YSArIGJ0Zl9leHQtPmRhdGFfc2l6ZSA8IGluZm8gKyBleHRfc2VjLT5sZW4pIHsKKwlk YXRhX2xlZnQgPSBidGZfZXh0LT5kYXRhX3NpemUgLSBidGZfZXh0LT5oZHItPmhkcl9sZW47CisJ aWYgKGV4dF9zZWMtPm9mZiA+IGRhdGFfbGVmdCB8fCBleHRfc2VjLT5sZW4gPiBkYXRhX2xlZnQg LSBleHRfc2VjLT5vZmYpIHsKIAkJcHJfZGVidWcoIiVzIHNlY3Rpb24gKG9mZjoldSBsZW46JXUp IGlzIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBFTEYgc2VjdGlvbiAuQlRGLmV4dFxuIiwKIAkJCSBl eHRfc2VjLT5kZXNjLCBleHRfc2VjLT5vZmYsIGV4dF9zZWMtPmxlbik7CiAJCXJldHVybiAtRUlO VkFMOwogCX0KIAorCS8qIFRoZSBzdGFydCBvZiB0aGUgaW5mbyBzZWMgKGluY2x1ZGluZyB0aGUg X191MzIgcmVjb3JkX3NpemUpLiAqLworCWluZm8gPSBidGZfZXh0LT5kYXRhICsgYnRmX2V4dC0+ aGRyLT5oZHJfbGVuICsgZXh0X3NlYy0+b2ZmOworCWluZm9fbGVmdCA9IGV4dF9zZWMtPmxlbjsK KwogCS8qIEF0IGxlYXN0IGEgcmVjb3JkIHNpemUgKi8KIAlpZiAoaW5mb19sZWZ0IDwgc2l6ZW9m KF9fdTMyKSkgewogCQlwcl9kZWJ1ZygiLkJURi5leHQgJXMgcmVjb3JkIHNpemUgbm90IGZvdW5k XG4iLCBleHRfc2VjLT5kZXNjKTsK --0000000000005caeda0658b8beb0--