From nobody Mon Jun 8 12:15:52 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 21A0F2E738D for ; Fri, 29 May 2026 08:07:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=209.85.128.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780042030; cv=pass; b=k6sjBWvPXbtEF/tn+hVXCm95T+sXE1hEpAm2b19TBA46TRhEoxPqK5uTQptXm4sfStIcKZsDZxyfSIE37WMD45xDVPt7nGxTzrXgsUyhboWo4+R+HYxzAMZwe0jsclpEhuXGrsyoZnOnQgiVXMGJ4kHWlvbnYLgt38gupfB7WQ8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780042030; c=relaxed/simple; bh=26uGjKJhF7Ddakx44i4KXkTkJJYN6EmrqWm7kC8zH14=; h=MIME-Version:From:Date:Message-ID:Subject:To:Cc:Content-Type; b=qOBLjvwQEeuiO+Zx5r2AjS00MBQ9K4+ejI3iAsyi00VqxTiPo8lOTncvG5a06r26dPWVhmkl5A8dVFLsIE9pDetgDdlShFBM162CiMb7BoVfbxbNoUgj8PMdvmhZjuR6iDXWLDmImWNyTpvYCvcmDWp9Rtt2kdaoQsZU45ZySpY= 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=PNz7L5B8; arc=pass smtp.client-ip=209.85.128.51 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="PNz7L5B8" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-4896c22fcbaso117375055e9.0 for ; Fri, 29 May 2026 01:07:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780042027; cv=none; d=google.com; s=arc-20240605; b=Kkh0bIJXY8hKfwHsaBJVvaCAeSdOi0sz87aqpJsvHh7ZU2bwg86UrqktvKGJfm6Tvw KpnWI/UXTIewWBGdjIGtDAaEEKk1DFBwpT3aYt8H1eGQucEjwU569KprkxtR7AX6a0c5 JdeZh2rvdioevg9J6RIdPw3H1VtRJwwsSf9rLYozJP5YieOedNUAjr4BUJburu6x5hNy ttnWRGeEM8QVW90juE3mkz7yeH9HfM2DmZ5Shi3FuSIaalf4HkgSBOaqZz0slophy4tZ pLb7VJ0qB+qmkN2YL3XNoTjta6NW/zOBZvD9WAfDTJKrgJOHpJ2OShcAypZx0Q78h3MY SdfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:mime-version:dkim-signature; bh=Y6+Ljo6gp5N8XVnYpENupK4cMgNC3atHXTjpWfz4OOU=; fh=uqwB3NS6ScAoUnjE/HTp4XSE4AtEBPXvHHguIChfNXI=; b=eZkpUticv0LAAFocTRYv3EWYUfEjz6n6WCcbRX19f1tvJyEWSDzCfDNNWxvByQ0DYI +kii7VzBbS7sIrB9gIMPekkQ1sumad0wg5sqd6lsMnfC1p9yAX8AZEOfAi59rN3Ndwov L8qAg0jC90oevAASe0CxBSyOgC++lVcUh6O+1dHKNvAoUjDZf83haWmRvgQtpgzpvTGW JSzOU6zCLtH/RCGLbgyhikTUNQGXKRD2KvxAQTx3jDi+QzTUU1lN9mwCyTOgYQsqiUtF ZokW66gW2SVwLXvsuIAbXCo0MZD8xaMc5eX7VMNahKvxNQuT63MJDKNUjNYMwIRt3ugM Wbnw==; 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=1780042027; x=1780646827; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=Y6+Ljo6gp5N8XVnYpENupK4cMgNC3atHXTjpWfz4OOU=; b=PNz7L5B81VC/u3yrfYsyXiotOKhbA5f8IAY9rHmg07xH2fodQ9zXD/AOawpLHfFsp9 5f+CvfSZPlODiedu8/o0hAqnk6md0U0FpIqEdpq77+sPErwH9j8qQVndLe/XcX2YeOxQ bEPDTpeU/kHczDoS+mcAHB3sJ28PLHwyzMgwE/OaB26gcQCzlqX1Kf/IHKALOgZOCNja DUiW5NZqluo78KkuSmvkZPsPf7EL8w5t7jQIkPgVpKF55xmAyllYFipLR3U4NNJxq/CT OjAqsH7kZbGMFQl0IirfzYodFEUN2X/LBhxTLpWw7CTiBAp30QH97Y0glahYPDTtvlho 5rGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780042027; x=1780646827; h=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; bh=Y6+Ljo6gp5N8XVnYpENupK4cMgNC3atHXTjpWfz4OOU=; b=O+AYSLprpmjA8+7W4ALqEZdn2Vhcdb5a3CoATmSsJtr0A/NJs6KqbjKAx16UZIff03 xYpS3e3O4TXnBY0kWU902FPI6J9uASa/Af0HBKEu1wZcgq/ZMGAIRXi0dY+VMmgq7ACX tuVG13ZYsl0UvAlpaMW8AlanFA2XzE1SnsWRIb6lrz0oFDRvQswmvp8mE/CaDyrx6Rp+ qRDY4U7xK5c427RVqAdJ0BOONR+jDzx30G+cc0D1QCiByahdvJo6Y0jrYfA+iLmJmjDC AYfYMvteOwmt1/mNePE2kpfIoJiRYMmgvePyzuncquGMkW0akKi0Z1b/kJFY99JVTBtu GcJQ== X-Forwarded-Encrypted: i=1; AFNElJ/J7XSYi2OLjdLNB1w7MElqykuRJYl29Ka28NYbOsxsgAquL0lHmGSohgNqwVaniOahmrAHiYPjj5bIP74=@vger.kernel.org X-Gm-Message-State: AOJu0YzAg8Pqnh+FOsuUx0JslhAp56jFHMsx066/ppUtuMMNCaBWg72C cECmUX7g17Vy9Ge8AKQeFPal5wrzY/ZvGiw/oX9E4xeEN2DoZxjGDKF3RCXRTV5gv/Tlp28WNME RhL2ml2JslA9bceodzCgrMDptQ52I8iU= X-Gm-Gg: Acq92OFlFWE8gyFCFl1mDXp7OzseSZdM4GeobAbxDwR6iYxmYQ/Zj7DbIVTU3JQw5z6 zY++jlbQc4Z2VV4bAbiEtey/AKuyBu+Im+doxGPquvQQFYnDgkP1bwz3u2fUzrB+9YY7yMQQYPR atrGgm4xxg9fCvkb+bfW67/tq+HVrQTkRFDe4A0lmwAjnr816MIT1VgIuSF+CmxUxz8jFwZbSsi HXdHpjEMdgeJ+0VDkQgub+21u4FDDVVz6akQzj9fDans9xLGih1ltF1L5BNSN9e/iahjTPFuZGN tj8JWPi7Z+urBdaO8sMGrnlzd14nbzUWZFgIamniPhAUlQi+Ug== X-Received: by 2002:a05:600c:a40c:b0:48a:6fd4:d3d3 with SMTP id 5b1f17b1804b1-4909c0ba8bdmr18419205e9.20.1780042027350; Fri, 29 May 2026 01:07:07 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Sanghyun Park Date: Fri, 29 May 2026 17:06:29 +0900 X-Gm-Features: AVHnY4JwoEVN6N5Y0_V0VbcQQSlXevwSP7QlMYIawaPq3KGA-RzACpaaQeUpin4 Message-ID: Subject: [PATCH] xfrm: policy: Fix use-after-free on inexact bin in xfrm_policy_bysel_ctx() To: steffen.klassert@secunet.com Cc: herbert@gondor.apana.org.au, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: multipart/mixed; boundary="000000000000b9e5b70652f05476" Content-Transfer-Encoding: quoted-printable --000000000000b9e5b70652f05476 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 eGZybV9wb2xpY3lfYnlzZWxfY3R4KCkgc2F2ZXMgYSBwb2ludGVyIHRvIGEgeGZybV9wb2xfaW5l eGFjdF9iaW4Kd2hpbGUgaG9sZGluZyB4ZnJtX3BvbGljeV9sb2NrLCB0aGVuIGRyb3BzIHRoZSBs b2NrIHRvIGNhbGwKeGZybV9wb2xpY3lfa2lsbCgpLiBBZnRlciB0aGF0IGl0IGNhbGxzCnhmcm1f cG9saWN5X2luZXhhY3RfcHJ1bmVfYmluKCkgb24gdGhlIHNhdmVkIHBvaW50ZXIuIEEgY29uY3Vy cmVudAp4ZnJtX2hhc2hfcmVidWlsZCAodHJpZ2dlcmVkIGJ5IFhGUk1fTVNHX05FV1NQRElORk8p IGNhbiBmcmVlIHRoZSBiaW4KdmlhIF9feGZybV9wb2xpY3lfaW5leGFjdF9mbHVzaCgpIC0+IGtm cmVlX3JjdSgpIGR1cmluZyB0aGUgd2luZG93CndoZXJlIHRoZSBsb2NrIGlzIG5vdCBoZWxkLCBt YWtpbmcgdGhlIHNhdmVkIHBvaW50ZXIgc3RhbGUuCgpGaXggYnkgcHJ1bmluZyB0aGUgYmluIHdo aWxlIHN0aWxsIGhvbGRpbmcgeGZybV9wb2xpY3lfbG9jaywgYmVmb3JlCmRyb3BwaW5nIGl0LiBV c2UgX194ZnJtX3BvbGljeV9pbmV4YWN0X3BydW5lX2JpbigpIGRpcmVjdGx5IHNpbmNlIHRoZQps b2NrIGlzIGFscmVhZHkgaGVsZC4gVGhpcyBpcyBzYWZlIGJlY2F1c2UgdGhlIGZ1bmN0aW9uIHVz ZXMKa2ZyZWVfcmN1KCkgZm9yIHRoZSBhY3R1YWwgZnJlZSwgd2hpY2ggaXMgbm9uLWJsb2NraW5n LiBUaGUgd3JhcHBlcgp4ZnJtX3BvbGljeV9pbmV4YWN0X3BydW5lX2JpbigpIGJlY29tZXMgdW51 c2VkIGFuZCBpcyByZW1vdmVkLgoKUmFjZToKCiAgQ1BVMCAoWEZSTV9NU0dfREVMUE9MSUNZKSAg ICAgICAgIENQVTEgKFhGUk1fTVNHX05FV1NQRElORk8pCiAgPTNEPTNEPTNEPTNEPTNEPTNEPTNE PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPQo9M0Q9 M0Q9M0Q9M0QgICAgICAgPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE PTNEPTNEPTNEPTNEPQo9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0QKICB4ZnJtX3BvbGljeV9ieXNl bF9jdHgoKToKICAgIHNwaW5fbG9ja19iaCh4ZnJtX3BvbGljeV9sb2NrKQogICAgYmluID0zRCB4 ZnJtX3BvbGljeV9pbmV4YWN0X2xvb2t1cCgpCiAgICBfX3hmcm1fcG9saWN5X3VubGluayhwb2wp CiAgICBzcGluX3VubG9ja19iaCh4ZnJtX3BvbGljeV9sb2NrKQogICAgeGZybV9wb2xpY3lfa2ls bChyZXQpCiAgICAvLyB3aWRlIHdpbmRvdywgbG9jayBub3QgaGVsZAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgeGZybV9oYXNoX3JlYnVpbGQoKToKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3Bpbl9sb2NrX2JoKHhmcm1fcG9saWN5X2xvY2spCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9feGZybV9wb2xpY3lfaW5leGFj dF9mbHVzaCgpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtmcmVl X3JjdShiaW4pICAvLyBiaW4gZnJlZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3Bpbl91bmxvY2tfYmgoeGZybV9wb2xpY3lfbG9jaykKICAgIHhmcm1fcG9saWN5X2lu ZXhhY3RfcHJ1bmVfYmluKGJpbikKICAgIC8vIFVBRjogYmluIGlzIGZyZWVkCgpSZXByb2R1Y3Rp b246CgogIDEuIEJ1aWxkIGtlcm5lbCA+PTNEIDQuMTkgd2l0aCBDT05GSUdfS0FTQU49M0R5LCBD T05GSUdfWEZSTT0zRHksCiAgICAgQ09ORklHX1VTRVJfTlM9M0R5IChmb3IgdW5wcml2aWxlZ2Vk IHJlcHJvZHVjdGlvbikKICAyLiBCb290IGluIGEgVk0KICAzLiBDb21waWxlOiBnY2MgLU8yIC1v IHJlcHJvIC1zdGF0aWMgLXB0aHJlYWQgcmVwcm8uYwogIDQuIFJ1biBhcyBhbnkgdW5wcml2aWxl Z2VkIHVzZXI6IC4vcmVwcm8gMzAgNAogICAgICgzMCBzZWNvbmRzIGR1cmF0aW9uLCA0IHRocmVh ZHMgcGVyIHR5cGUpCiAgNS4gQ2hlY2sgZG1lc2cgZm9yOiBCVUc6IEtBU0FOOiBzbGFiLXVzZS1h ZnRlci1mcmVlIGluIHhmcm1fcG9saWN5X2J5c2VsXz0KY3R4CgogIFRoZSByZXByb2R1Y2VyIGlz IGZ1bGx5IHVucHJpdmlsZWdlZDogaXQgdXNlcyB1bnNoYXJlKENMT05FX05FV1VTRVIgfAogIENM T05FX05FV05FVCkgdG8gZ2V0IENBUF9ORVRfQURNSU4gaW5zaWRlIGEgdXNlciBuYW1lc3BhY2Us IHRoZW4KICByYWNlcyBYRlJNX01TR19ERUxQT0xJQ1kgKGJ5IHNlbGVjdG9yKSBhZ2FpbnN0IFhG Uk1fTVNHX05FV1NQRElORk8KICAodGhyZXNob2xkIGNoYW5nZXMgdGhhdCB0cmlnZ2VyIGhhc2gg cmVidWlsZHMpLgoKICBOb3RlOiB0aGUgcmFjZSBpcyBoYXJkIHRvIHRyaWdnZXIgd2l0aCB2YW5p bGxhIGtmcmVlX3JjdSBiZWNhdXNlIHRoZQogIGFjdHVhbCBmcmVlIGlzIGRlZmVycmVkIHBhc3Qg dGhlIHR5cGljYWwgc3RhbGUtYWNjZXNzIHdpbmRvdy4gQWRkaW5nIGEKICBjb25kX3Jlc2NoZWQo KSBkZWxheSBhZnRlciB4ZnJtX3BvbGljeV9raWxsKCkgb3IgcmVwbGFjaW5nIGtmcmVlX3JjdQog IHdpdGgga2ZyZWUgKGZvciB0ZXN0aW5nIG9ubHkpIG1ha2VzIGl0IHJlbGlhYmx5IHJlcHJvZHVj aWJsZS4gVGhlCiAgbGlmZXRpbWUgdmlvbGF0aW9uIGV4aXN0cyByZWdhcmRsZXNzIG9mIHdoZXRo ZXIgS0FTQU4gY2F0Y2hlcyBpdCBvbiBhCiAgZ2l2ZW4gcnVuLgoKS0FTQU4gcmVwb3J0IChyZXBy b2R1Y2VkIG9uIDYuMTIuOTEgd2l0aCBpbW1lZGlhdGUga2ZyZWUgZm9yIHRlc3RpbmcpOgoKICBC VUc6IEtBU0FOOiBzbGFiLXVzZS1hZnRlci1mcmVlIGluIHhmcm1fcG9saWN5X2J5c2VsX2N0eC5j b2xkKzB4NTkvMHhiOAogIFJlYWQgb2Ygc2l6ZSA4IGF0IGFkZHIgZmZmZjg4ODExNTNjNDcwMCBi eSB0YXNrIHJlcHJvX3hmcm0vMzg3CgogIENhbGwgVHJhY2U6CiAgIHhmcm1fcG9saWN5X2J5c2Vs X2N0eC5jb2xkKzB4NTkvMHhiOAogICB4ZnJtX2dldF9wb2xpY3krMHg3ZGYvMHhjMDAKICAgeGZy bV91c2VyX3Jjdl9tc2crMHg0MWIvMHg5NTAKICAgbmV0bGlua19yY3Zfc2tiKzB4MTZkLzB4NDIw CgpGaXhlczogOWNmNTQ1ZWJkNWQ4ICgieGZybTogcG9saWN5OiBpbXBsZW1lbnQgc2VsZWN0b3It YmFzZWQgaW5leGFjdCBsb29rdXA9CiIpClNpZ25lZC1vZmYtYnk6IFNhbmdoeXVuIFBhcmsgPHNh bmdoeXVuLnBhcmsuY251QGdtYWlsLmNvbT4KLS0tCgpIaSwKCkknbSBTYW5naHl1biBQYXJrLCBh IHNlY3VyaXR5IHJlc2VhcmNoZXIuIEkgZm91bmQgdGhpcyB3aGlsZSBhdWRpdGluZwp0aGUgWEZS TSBwb2xpY3kgY29kZS4gVGhlIGJ1ZyBoYXMgZXhpc3RlZCBzaW5jZSA0LjE5IGFuZCBhZmZlY3Rz IGFsbAprZXJuZWxzIHNpbmNlIHRoZW4uIEl0IGlzIHRyaWdnZXJhYmxlIGJ5IGFueSB1bnByaXZp bGVnZWQgdXNlciB2aWEgdXNlcgpuYW1lc3BhY2VzIChDTE9ORV9ORVdVU0VSICsgQ0xPTkVfTkVX TkVUKSwgbWFraW5nIGl0IGEgcG90ZW50aWFsIExQRQp2ZWN0b3Igb24gc3lzdGVtcyB3aXRoIHVz ZXIgbmFtZXNwYWNlcyBlbmFibGVkIChhbGwgbWFqb3IgZGlzdHJvcyBieQpkZWZhdWx0OiBVYnVu dHUsIEZlZG9yYSwgRGViaWFuLCBBcmNoLCBldGMuKS4KClRoZSBDIHJlcHJvZHVjZXIgaXMgYXR0 YWNoZWQgc2VwYXJhdGVseSAocmVwcm8uYykuCgogbmV0L3hmcm0veGZybV9wb2xpY3kuYyB8IDE0 ICsrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA5IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC94ZnJtL3hmcm1fcG9saWN5LmMgYi9uZXQveGZybS94 ZnJtX3BvbGljeS5jCmluZGV4IGZjYTA3ZjhlNjAuLmZlZjZjZmY1MTEgMTAwNjQ0Ci0tLSBhL25l dC94ZnJtL3hmcm1fcG9saWN5LmMKKysrIGIvbmV0L3hmcm0veGZybV9wb2xpY3kuYwpAQCAtMTE1 NiwxNSArMTE1Niw2IEBAIHN0YXRpYyB2b2lkCl9feGZybV9wb2xpY3lfaW5leGFjdF9wcnVuZV9i aW4oc3RydWN0IHhmcm1fcG9sX2luZXhhY3RfYmluICpiLCBib29sCiAgfQogfQoKLXN0YXRpYyB2 b2lkIHhmcm1fcG9saWN5X2luZXhhY3RfcHJ1bmVfYmluKHN0cnVjdCB4ZnJtX3BvbF9pbmV4YWN0 X2JpbiAqYikKLXsKLSBzdHJ1Y3QgbmV0ICpuZXQgPTNEIHJlYWRfcG5ldCgmYi0+ay5uZXQpOwot Ci0gc3Bpbl9sb2NrX2JoKCZuZXQtPnhmcm0ueGZybV9wb2xpY3lfbG9jayk7Ci0gX194ZnJtX3Bv bGljeV9pbmV4YWN0X3BydW5lX2JpbihiLCBmYWxzZSk7Ci0gc3Bpbl91bmxvY2tfYmgoJm5ldC0+ eGZybS54ZnJtX3BvbGljeV9sb2NrKTsKLX0KLQogc3RhdGljIHZvaWQgX194ZnJtX3BvbGljeV9p bmV4YWN0X2ZsdXNoKHN0cnVjdCBuZXQgKm5ldCkKIHsKICBzdHJ1Y3QgeGZybV9wb2xfaW5leGFj dF9iaW4gKmJpbiwgKnQ7CkBAIC0xNzA3LDEyICsxNjk4LDE0IEBAIHhmcm1fcG9saWN5X2J5c2Vs X2N0eChzdHJ1Y3QgbmV0ICpuZXQsIGNvbnN0CnN0cnVjdCB4ZnJtX21hcmsgKm1hcmssIHUzMiBp Zl9pZCwKICB9CiAgcmV0ID0zRCBwb2w7CiAgfQorCisgaWYgKGJpbiAmJiByZXQgJiYgZGVsZXRl KQorIF9feGZybV9wb2xpY3lfaW5leGFjdF9wcnVuZV9iaW4oYmluLCBmYWxzZSk7CisKICBzcGlu X3VubG9ja19iaCgmbmV0LT54ZnJtLnhmcm1fcG9saWN5X2xvY2spOwoKICBpZiAocmV0ICYmIGRl bGV0ZSkKICB4ZnJtX3BvbGljeV9raWxsKHJldCk7Ci0gaWYgKGJpbiAmJiBkZWxldGUpCi0geGZy bV9wb2xpY3lfaW5leGFjdF9wcnVuZV9iaW4oYmluKTsKICByZXR1cm4gcmV0OwogfQogRVhQT1JU X1NZTUJPTCh4ZnJtX3BvbGljeV9ieXNlbF9jdHgpOw== --000000000000b9e5b70652f05476 Content-Type: text/plain; charset="US-ASCII"; name="kasan_dmesg.txt" Content-Disposition: attachment; filename="kasan_dmesg.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mpqn1d1e1 WyAgIDQyLjA1NzY4MF0gQlVHOiBLQVNBTjogc2xhYi11c2UtYWZ0ZXItZnJlZSBpbiB4ZnJtX3Bv bGljeV9ieXNlbF9jdHguY29sZCsweDU5LzB4YjgKWyAgIDQyLjA1ODU3OV0gUmVhZCBvZiBzaXpl IDggYXQgYWRkciBmZmZmODg4MTE1M2M0NzAwIGJ5IHRhc2sgcmVwcm9feGZybS8zODcKClsgICA0 Mi4wNTk1NDRdIENQVTogMSBVSUQ6IDAgUElEOiAzODcgQ29tbTogcmVwcm9feGZybSBOb3QgdGFp bnRlZCA2LjEyLjkxLWRpcnR5ICMyMwpbICAgNDIuMDU5NTU1XSBIYXJkd2FyZSBuYW1lOiBRRU1V IFVidW50dSAyNS4wNCBQQyAoaTQ0MEZYICsgUElJWCwgMTk5NiksIEJJT1MgMS4xNi4zLWRlYmlh bi0xLjE2LjMtMiAwNC8wMS8yMDE0ClsgICA0Mi4wNTk1NjJdIENhbGwgVHJhY2U6ClsgICA0Mi4w NTk1NzVdICA8VEFTSz4KWyAgIDQyLjA1OTU4Ml0gIGR1bXBfc3RhY2tfbHZsKzB4YmEvMHgxMTAK WyAgIDQyLjA1OTYyM10gID8geGZybV9wb2xpY3lfYnlzZWxfY3R4LmNvbGQrMHg1OS8weGI4Clsg ICA0Mi4wNTk2MzBdICBwcmludF9yZXBvcnQrMHgxNzQvMHg0ZjYKWyAgIDQyLjA1OTY2NV0gID8g X192aXJ0X2FkZHJfdmFsaWQrMHg4Ni8weDY3MApbICAgNDIuMDU5NzAxXSAgPyB4ZnJtX3BvbGlj eV9ieXNlbF9jdHguY29sZCsweDU5LzB4YjgKWyAgIDQyLjA1OTcwOF0gIGthc2FuX3JlcG9ydCsw eGRhLzB4MTEwClsgICA0Mi4wNTk3MzZdICA/IHhmcm1fcG9saWN5X2J5c2VsX2N0eC5jb2xkKzB4 NTkvMHhiOApbICAgNDIuMDU5NzQ1XSAgeGZybV9wb2xpY3lfYnlzZWxfY3R4LmNvbGQrMHg1OS8w eGI4ClsgICA0Mi4wNTk3NTNdICA/IF9fcGZ4X3hmcm1fcG9saWN5X2J5c2VsX2N0eCsweDEwLzB4 MTAKWyAgIDQyLjA1OTc2OF0gID8gZmluZF9oZWxkX2xvY2srMHgyZC8weDExMApbICAgNDIuMDU5 Nzk4XSAgeGZybV9nZXRfcG9saWN5KzB4N2RmLzB4YzAwClsgICA0Mi4wNTk4MjFdICA/IF9fcGZ4 X3hmcm1fZ2V0X3BvbGljeSsweDEwLzB4MTAKWyAgIDQyLjA1OTgyOF0gID8gaGxvY2tfY2xhc3Mr MHg0ZS8weDEzMApbICAgNDIuMDU5ODM0XSAgPyBjYXBfY2FwYWJsZSsweDFkNC8weDI0MApbICAg NDIuMDU5ODc5XSAgPyBfX25sYV9wYXJzZSsweDQwLzB4NjAKWyAgIDQyLjA1OTkwOF0gID8gX19w ZnhfeGZybV9nZXRfcG9saWN5KzB4MTAvMHgxMApbICAgNDIuMDU5OTE0XSAgeGZybV91c2VyX3Jj dl9tc2crMHg0MWIvMHg5NTAKWyAgIDQyLjA1OTkyMV0gID8gX19wZnhfeGZybV91c2VyX3Jjdl9t c2crMHgxMC8weDEwClsgICA0Mi4wNTk5MjZdICA/IGhsb2NrX2NsYXNzKzB4NGUvMHgxMzAKWyAg IDQyLjA1OTkzMl0gID8gX19sb2NrX2FjcXVpcmUrMHhmZGYvMHgzYjUwClsgICA0Mi4wNTk5NTFd ICA/IF9fbXV0ZXhfdHJ5bG9ja19jb21tb24rMHhkZS8weDI1MApbICAgNDIuMDU5OTU3XSAgPyBf X3BmeF9fX211dGV4X3RyeWxvY2tfY29tbW9uKzB4MTAvMHgxMApbICAgNDIuMDU5OTYyXSAgbmV0 bGlua19yY3Zfc2tiKzB4MTZkLzB4NDIwClsgICA0Mi4wNTk5NjhdICA/IF9fcGZ4X3hmcm1fdXNl cl9yY3ZfbXNnKzB4MTAvMHgxMApbICAgNDIuMDU5OTczXSAgPyBfX3BmeF9uZXRsaW5rX3Jjdl9z a2IrMHgxMC8weDEwClsgICA0Mi4wNTk5NzddICA/IG5ldGxpbmtfZGVsaXZlcl90YXArMHgxYWYv MHhkNTAKWyAgIDQyLjA1OTk5OF0gIHhmcm1fbmV0bGlua19yY3YrMHg3Ni8weDkwClsgICA0Mi4w NjAwMDNdICBuZXRsaW5rX3VuaWNhc3QrMHg1OGMvMHg4NTAKWyAgIDQyLjA2MDAxMF0gID8gX19w ZnhfbmV0bGlua191bmljYXN0KzB4MTAvMHgxMApbICAgNDIuMDYwMDE4XSAgbmV0bGlua19zZW5k bXNnKzB4OGY3LzB4ZGMwClsgICA0Mi4wNjAwMjZdICA/IF9fcGZ4X25ldGxpbmtfc2VuZG1zZysw eDEwLzB4MTAKWyAgIDQyLjA2MDAzNF0gID8gX19wZnhfbmV0bGlua19zZW5kbXNnKzB4MTAvMHgx MApbICAgNDIuMDYwMDQxXSAgX19fX3N5c19zZW5kbXNnKzB4OTA3LzB4YTYwClsgICA0Mi4wNjAw NzVdICA/IF9fcGZ4X19fX19zeXNfc2VuZG1zZysweDEwLzB4MTAKWyAgIDQyLjA2MDA4MV0gID8g bmV0bGlua19yZWN2bXNnKzB4NzdiLzB4ZTYwClsgICA0Mi4wNjAwODhdICBfX19zeXNfc2VuZG1z ZysweDE5Ny8weDFlMApbICAgNDIuMDYwMDkzXSAgPyBfX3BmeF9fX19zeXNfc2VuZG1zZysweDEw LzB4MTAKWyAgIDQyLjA2MDEwNF0gIF9fc3lzX3NlbmRtc2crMHgxNzYvMHgyMjAKWyAgIDQyLjA2 MDEyMF0gID8gX19wZnhfX19zeXNfc2VuZG1zZysweDEwLzB4MTAKWyAgIDQyLjA2MDEyOF0gID8g dHJhY2VfeDg2X2ZwdV9yZWdzX2FjdGl2YXRlZCsweDVkLzB4MWIwClsgICA0Mi4wNjAxNTRdICBk b19zeXNjYWxsXzY0KzB4YmIvMHgxZjAKWyAgIDQyLjA2MDE3NF0gIGVudHJ5X1NZU0NBTExfNjRf YWZ0ZXJfaHdmcmFtZSsweDc3LzB4N2YKWyAgIDQyLjA2MDIwMl0gUklQOiAwMDMzOjB4NDU1Yjgy ClsgICA0Mi4wNjAyMTldIENvZGU6IDA4IDBmIDg1IDcxIGRmIGZmIGZmIDQ5IDg5IGZiIDQ4IDg5 IGYwIDQ4IDg5IGQ3IDQ4IDg5IGNlIDRjIDg5IGMyIDRkIDg5IGNhIDRjIDhiIDQ0IDI0IDA4IDRj IDhiIDRjIDI0IDEwIDRjIDg5IDVjIDI0IDA4IDBmIDA1IDxjMz4gNjYgMmUgMGYgMWYgODQgMDAg MDAgMDAgMDAgMDAgMGYgMWYgMDAgZjMgMGYgMWUgZmEgNTUgNDggODkgZTUKWyAgIDQyLjA2MDIy NF0gUlNQOiAwMDJiOjAwMDA3ZjNkZmM5YTNmNjggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDog MDAwMDAwMDAwMDAwMDAyZQpbICAgNDIuMDYwMjQ3XSBSQVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJY OiAwMDAwN2YzZGZjOWE1NmMwIFJDWDogMDAwMDAwMDAwMDQ1NWI4MgpbICAgNDIuMDYwMjUxXSBS RFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAwN2YzZGZjOWEzZmUwIFJESTogMDAwMDAwMDAw MDAwMDAwNApbICAgNDIuMDYwMjU0XSBSQlA6IDAwMDA3ZjNkZmM5YTNmOTAgUjA4OiAwMDAwMDAw MDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDAwMApbICAgNDIuMDYwMjU3XSBSMTA6IDAwMDAw MDAwMDAwMDAwMDAgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDAwMDAwMDAwMDAyMApb ICAgNDIuMDYwMjYwXSBSMTM6IGZmZmZmZmZmZmZmZmZmZDAgUjE0OiAwMDAwMDAwMDAwMDAwMDAx IFIxNTogMDAwMDdmZmViNTk3MGNiMApbICAgNDIuMDYwMjY2XSAgPC9UQVNLPgoKWyAgIDQyLjA5 MDY2Nl0gQWxsb2NhdGVkIGJ5IHRhc2sgMzg3OgpbICAgNDIuMDkxMDc3XSAga2FzYW5fc2F2ZV9z dGFjaysweDMwLzB4NTAK --000000000000b9e5b70652f05476 Content-Type: application/octet-stream; name="repro.c" Content-Disposition: attachment; filename="repro.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mpqn18j10 LyoKICogWEZSTSBQb2xpY3kgSW5leGFjdCBCaW4gVUFGIFBvQwogKgogKiBCdWc6IHhmcm1fcG9s aWN5X2J5c2VsX2N0eCgpIHNhdmVzIGEgYmluIHBvaW50ZXIsIGRyb3BzIHhmcm1fcG9saWN5X2xv Y2ssCiAqIGNhbGxzIHhmcm1fcG9saWN5X2tpbGwoKSAod2lkZSB3aW5kb3cpLCB0aGVuIHVzZXMg dGhlIHN0YWxlIGJpbiBwb2ludGVyCiAqIGluIHhmcm1fcG9saWN5X2luZXhhY3RfcHJ1bmVfYmlu KCkuIEEgY29uY3VycmVudCB4ZnJtX2hhc2hfcmVidWlsZCBjYW4KICogZnJlZSB0aGUgYmluIHZp YSBfX3hmcm1fcG9saWN5X2luZXhhY3RfZmx1c2ggLT4ga2ZyZWVfcmN1IGR1cmluZyB0aGF0IHdp bmRvdy4KICoKICogUmFjZToKICogICBUaHJlYWQgQTogWEZSTV9NU0dfTkVXU1BESU5GTyAtPiB4 ZnJtX3BvbGljeV9oYXNoX3JlYnVpbGQgLT4gc2NoZWR1bGVfd29yawogKiAgICAgICAgICAgICAt PiB4ZnJtX2hhc2hfcmVidWlsZCAtPiBfX3hmcm1fcG9saWN5X2luZXhhY3RfZmx1c2ggLT4ga2Zy ZWVfcmN1KGJpbikKICogICBUaHJlYWQgQjogWEZSTV9NU0dfREVMUE9MSUNZIChieSBzZWxlY3Rv ciwgaW5kZXg9MCkgLT4geGZybV9wb2xpY3lfYnlzZWxfY3R4CiAqICAgICAgICAgICAgIC0+IHNh dmVzIGJpbiwgdW5saW5rcyBwb2xpY3ksIGRyb3BzIGxvY2ssIHhmcm1fcG9saWN5X2tpbGwocmV0 KSwKICogICAgICAgICAgICAgLT4geGZybV9wb2xpY3lfaW5leGFjdF9wcnVuZV9iaW4oc3RhbGVf YmluKSAtPiBVQUYKICoKICogUmVhY2hhYmlsaXR5OiBGdWxseSB1bnByaXZpbGVnZWQgdmlhIHVu c2hhcmUoQ0xPTkVfTkVXVVNFUnxDTE9ORV9ORVdORVQpLgogKiBYRlJNIG5ldGxpbmsgdXNlcyBu ZXRsaW5rX25ldF9jYXBhYmxlKCkgd2hpY2ggYWNjZXB0cyBDQVBfTkVUX0FETUlOCiAqIGluc2lk ZSB0aGUgdXNlciBuYW1lc3BhY2UncyBuZXR3b3JrIG5hbWVzcGFjZS4KICoKICogRXhwZWN0ZWQ6 IEtBU0FOIHNsYWItdXNlLWFmdGVyLWZyZWUgb24geGZybV9wb2xpY3lfaW5leGFjdF9wcnVuZV9i aW4KICovCgojZGVmaW5lIF9HTlVfU09VUkNFCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8 c3RkbGliLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVk ZSA8ZXJybm8uaD4KI2luY2x1ZGUgPHNjaGVkLmg+CiNpbmNsdWRlIDxwdGhyZWFkLmg+CiNpbmNs dWRlIDxzeXMvc29ja2V0Lmg+CiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2luY2x1ZGUgPGxpbnV4 L25ldGxpbmsuaD4KI2luY2x1ZGUgPGxpbnV4L3hmcm0uaD4KCi8qIFhGUk0gbWVzc2FnZSB0eXBl cyAqLwojaWZuZGVmIFhGUk1fTVNHX05FV1BPTElDWQojZGVmaW5lIFhGUk1fTVNHX05FV1BPTElD WSAweDEzCiNlbmRpZgojaWZuZGVmIFhGUk1fTVNHX0RFTFBPTElDWQojZGVmaW5lIFhGUk1fTVNH X0RFTFBPTElDWSAweDE0CiNlbmRpZgojaWZuZGVmIFhGUk1fTVNHX05FV1NQRElORk8KI2RlZmlu ZSBYRlJNX01TR19ORVdTUERJTkZPIDB4MjAKI2VuZGlmCgovKiBYRlJNIFNQRCBhdHRyaWJ1dGVz IChmcm9tIGVudW0geGZybV9zcGRhdHRyX3R5cGVfdCkgKi8KI2lmbmRlZiBYRlJNQV9TUERfSVBW NF9IVEhSRVNICiNkZWZpbmUgWEZSTUFfU1BEX0lQVjRfSFRIUkVTSCAzCiNlbmRpZgoKI2lmbmRl ZiBYRlJNQV9TUERfVU5TUEVDCiNkZWZpbmUgWEZSTUFfU1BEX1VOU1BFQyAwCiNlbmRpZgoKLyog TmV0bGluayBoZWxwZXJzICovCiNkZWZpbmUgTkxNU0dfVEFJTChubXNnKSBcCgkoKHN0cnVjdCBu bGF0dHIgKikoKChjaGFyICopKG5tc2cpKSArIE5MTVNHX0FMSUdOKChubXNnKS0+bmxtc2dfbGVu KSkpCgpzdGF0aWMgaW50IG5sX2ZkOwpzdGF0aWMgdm9sYXRpbGUgaW50IHN0b3BfZmxhZzsKCnN0 YXRpYyBpbnQgbmxfb3Blbih2b2lkKQp7CglpbnQgZmQgPSBzb2NrZXQoQUZfTkVUTElOSywgU09D S19SQVcsIE5FVExJTktfWEZSTSk7CglpZiAoZmQgPCAwKSB7CgkJcGVycm9yKCJzb2NrZXQoTkVU TElOS19YRlJNKSIpOwoJCXJldHVybiAtMTsKCX0KCXN0cnVjdCBzb2NrYWRkcl9ubCBzYSA9IHsg Lm5sX2ZhbWlseSA9IEFGX05FVExJTksgfTsKCWlmIChiaW5kKGZkLCAoc3RydWN0IHNvY2thZGRy ICopJnNhLCBzaXplb2Yoc2EpKSA8IDApIHsKCQlwZXJyb3IoImJpbmQiKTsKCQljbG9zZShmZCk7 CgkJcmV0dXJuIC0xOwoJfQoJcmV0dXJuIGZkOwp9CgpzdGF0aWMgaW50IG5sX3NlbmQoaW50IGZk LCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCkKewoJc3RydWN0IHNvY2thZGRyX25sIHNhID0geyAubmxf ZmFtaWx5ID0gQUZfTkVUTElOSyB9OwoJc3RydWN0IGlvdmVjIGlvdiA9IHsgLmlvdl9iYXNlID0g bmxoLCAuaW92X2xlbiA9IG5saC0+bmxtc2dfbGVuIH07CglzdHJ1Y3QgbXNnaGRyIG1zZyA9IHsK CQkubXNnX25hbWUgPSAmc2EsCgkJLm1zZ19uYW1lbGVuID0gc2l6ZW9mKHNhKSwKCQkubXNnX2lv diA9ICZpb3YsCgkJLm1zZ19pb3ZsZW4gPSAxLAoJfTsKCXJldHVybiBzZW5kbXNnKGZkLCAmbXNn LCAwKTsKfQoKc3RhdGljIGludCBubF9yZWN2X2FjayhpbnQgZmQpCnsKCWNoYXIgYnVmWzQwOTZd OwoJaW50IG4gPSByZWN2KGZkLCBidWYsIHNpemVvZihidWYpLCAwKTsKCWlmIChuIDwgMCkgcmV0 dXJuIC0xOwoJc3RydWN0IG5sbXNnaGRyICpubGggPSAoc3RydWN0IG5sbXNnaGRyICopYnVmOwoJ aWYgKG5saC0+bmxtc2dfdHlwZSA9PSBOTE1TR19FUlJPUikgewoJCXN0cnVjdCBubG1zZ2VyciAq ZXJyID0gKHN0cnVjdCBubG1zZ2VyciAqKU5MTVNHX0RBVEEobmxoKTsKCQlyZXR1cm4gZXJyLT5l cnJvcjsKCX0KCXJldHVybiAwOwp9CgpzdGF0aWMgdm9pZCBhZGRfYXR0cihzdHJ1Y3Qgbmxtc2do ZHIgKm5saCwgaW50IG1heGxlbiwgaW50IHR5cGUsCgkJICAgICBjb25zdCB2b2lkICpkYXRhLCBp bnQgZGF0YWxlbikKewoJc3RydWN0IG5sYXR0ciAqbmxhID0gTkxNU0dfVEFJTChubGgpOwoJaW50 IGxlbiA9IE5MQV9IRFJMRU4gKyBkYXRhbGVuOwoJbmxhLT5ubGFfdHlwZSA9IHR5cGU7CglubGEt Pm5sYV9sZW4gPSBsZW47CgltZW1jcHkoKGNoYXIgKilubGEgKyBOTEFfSERSTEVOLCBkYXRhLCBk YXRhbGVuKTsKCW5saC0+bmxtc2dfbGVuID0gTkxNU0dfQUxJR04obmxoLT5ubG1zZ19sZW4pICsg TkxBX0FMSUdOKGxlbik7Cn0KCi8qCiAqIEFkZCBhbiBpbmV4YWN0IFhGUk0gcG9saWN5IHdpdGgg c2VsZWN0b3IgMC4wLjAuMC8wIC0+IDAuMC4wLjAvMAogKiBUaGlzIGdvZXMgaW50byB0aGUgaW5l eGFjdCBiaW4gYmVjYXVzZSBwcmVmaXhsZW4gPCBoYXNoIHRocmVzaG9sZCAoMzIpLgogKi8Kc3Rh dGljIGludCBhZGRfaW5leGFjdF9wb2xpY3koaW50IGZkKQp7CgljaGFyIGJ1Zls1MTJdOwoJbWVt c2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOwoKCXN0cnVjdCBubG1zZ2hkciAqbmxoID0gKHN0cnVj dCBubG1zZ2hkciAqKWJ1ZjsKCW5saC0+bmxtc2dfbGVuID0gTkxNU0dfTEVOR1RIKHNpemVvZihz dHJ1Y3QgeGZybV91c2VycG9saWN5X2luZm8pKTsKCW5saC0+bmxtc2dfdHlwZSA9IFhGUk1fTVNH X05FV1BPTElDWTsKCW5saC0+bmxtc2dfZmxhZ3MgPSBOTE1fRl9SRVFVRVNUIHwgTkxNX0ZfQUNL IHwgTkxNX0ZfQ1JFQVRFIHwgTkxNX0ZfRVhDTDsKCW5saC0+bmxtc2dfc2VxID0gMTsKCglzdHJ1 Y3QgeGZybV91c2VycG9saWN5X2luZm8gKnBvbCA9IE5MTVNHX0RBVEEobmxoKTsKCXBvbC0+c2Vs LmZhbWlseSA9IEFGX0lORVQ7Cglwb2wtPnNlbC5wcmVmaXhsZW5fZCA9IDA7ICAvKiAvMCAtPiBp bmV4YWN0ICovCglwb2wtPnNlbC5wcmVmaXhsZW5fcyA9IDA7ICAvKiAvMCAtPiBpbmV4YWN0ICov Cglwb2wtPmRpciA9IFhGUk1fUE9MSUNZX09VVDsKCXBvbC0+YWN0aW9uID0gWEZSTV9QT0xJQ1lf QUxMT1c7Cglwb2wtPmxmdC5zb2Z0X2J5dGVfbGltaXQgPSBYRlJNX0lORjsKCXBvbC0+bGZ0Lmhh cmRfYnl0ZV9saW1pdCA9IFhGUk1fSU5GOwoJcG9sLT5sZnQuc29mdF9wYWNrZXRfbGltaXQgPSBY RlJNX0lORjsKCXBvbC0+bGZ0LmhhcmRfcGFja2V0X2xpbWl0ID0gWEZSTV9JTkY7CgoJaWYgKG5s X3NlbmQoZmQsIG5saCkgPCAwKSByZXR1cm4gLTE7CglyZXR1cm4gbmxfcmVjdl9hY2soZmQpOwp9 CgovKgogKiBEZWxldGUgdGhlIGluZXhhY3QgcG9saWN5IGJ5IHNlbGVjdG9yIChpbmRleD0wIGZv cmNlcyBieXNlbF9jdHggcGF0aCkKICovCnN0YXRpYyBpbnQgZGVsX2luZXhhY3RfcG9saWN5KGlu dCBmZCkKewoJY2hhciBidWZbNTEyXTsKCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKCglz dHJ1Y3Qgbmxtc2doZHIgKm5saCA9IChzdHJ1Y3Qgbmxtc2doZHIgKilidWY7CglubGgtPm5sbXNn X2xlbiA9IE5MTVNHX0xFTkdUSChzaXplb2Yoc3RydWN0IHhmcm1fdXNlcnBvbGljeV9pZCkpOwoJ bmxoLT5ubG1zZ190eXBlID0gWEZSTV9NU0dfREVMUE9MSUNZOwoJbmxoLT5ubG1zZ19mbGFncyA9 IE5MTV9GX1JFUVVFU1QgfCBOTE1fRl9BQ0s7CglubGgtPm5sbXNnX3NlcSA9IDI7CgoJc3RydWN0 IHhmcm1fdXNlcnBvbGljeV9pZCAqcGlkID0gTkxNU0dfREFUQShubGgpOwoJcGlkLT5zZWwuZmFt aWx5ID0gQUZfSU5FVDsKCXBpZC0+c2VsLnByZWZpeGxlbl9kID0gMDsKCXBpZC0+c2VsLnByZWZp eGxlbl9zID0gMDsKCXBpZC0+ZGlyID0gWEZSTV9QT0xJQ1lfT1VUOwoJcGlkLT5pbmRleCA9IDA7 ICAvKiBmb3JjZSBieXNlbF9jdHggcGF0aCAqLwoKCWlmIChubF9zZW5kKGZkLCBubGgpIDwgMCkg cmV0dXJuIC0xOwoJcmV0dXJuIG5sX3JlY3ZfYWNrKGZkKTsKfQoKLyoKICogQ2hhbmdlIFNQRCBo YXNoIHRocmVzaG9sZHMgdG8gdHJpZ2dlciB4ZnJtX3BvbGljeV9oYXNoX3JlYnVpbGQuCiAqIEFs dGVybmF0aW5nIGJldHdlZW4gMC8wIGFuZCAzMi8zMiBmb3JjZXMgYSByZWJ1aWxkIGVhY2ggdGlt ZS4KICovCnN0YXRpYyBpbnQgc2V0X3NwZGluZm8oaW50IGZkLCBfX3U4IGxiaXRzLCBfX3U4IHJi aXRzKQp7CgljaGFyIGJ1ZlsyNTZdOwoJbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOwoKCXN0 cnVjdCBubG1zZ2hkciAqbmxoID0gKHN0cnVjdCBubG1zZ2hkciAqKWJ1ZjsKCS8qIE5FV1NQRElO Rk8gYmFzZSBwYXlsb2FkIGlzIHNpemVvZih1MzIpICovCglubGgtPm5sbXNnX2xlbiA9IE5MTVNH X0xFTkdUSChzaXplb2YoX191MzIpKTsKCW5saC0+bmxtc2dfdHlwZSA9IFhGUk1fTVNHX05FV1NQ RElORk87CglubGgtPm5sbXNnX2ZsYWdzID0gTkxNX0ZfUkVRVUVTVCB8IE5MTV9GX0FDSzsKCW5s aC0+bmxtc2dfc2VxID0gMzsKCglfX3UzMiAqZmxhZ3MgPSBOTE1TR19EQVRBKG5saCk7CgkqZmxh Z3MgPSAwOwoKCXN0cnVjdCB4ZnJtdV9zcGRodGhyZXNoIHRocmVzaCA9IHsgLmxiaXRzID0gbGJp dHMsIC5yYml0cyA9IHJiaXRzIH07CglhZGRfYXR0cihubGgsIHNpemVvZihidWYpLCBYRlJNQV9T UERfSVBWNF9IVEhSRVNILCAmdGhyZXNoLCBzaXplb2YodGhyZXNoKSk7CgoJaWYgKG5sX3NlbmQo ZmQsIG5saCkgPCAwKSByZXR1cm4gLTE7CglyZXR1cm4gbmxfcmVjdl9hY2soZmQpOwp9CgovKgog KiBUaHJlYWQgQTogcmVwZWF0ZWRseSB0cmlnZ2VyIGhhc2ggcmVidWlsZCBieSBmbGlwcGluZyBT UEQgdGhyZXNob2xkcy4KICogVGhpcyBjYXVzZXMgeGZybV9oYXNoX3JlYnVpbGQgLT4gX194ZnJt X3BvbGljeV9pbmV4YWN0X2ZsdXNoIHdoaWNoCiAqIG1heSBrZnJlZV9yY3UgdGhlIGJpbiBpZiBp dCBiZWNvbWVzIGVtcHR5LgogKi8Kc3RhdGljIHZvaWQgKnJlYnVpbGRfdGhyZWFkKHZvaWQgKmFy ZykKewoJaW50IGZkID0gbmxfb3BlbigpOwoJaWYgKGZkIDwgMCkgcmV0dXJuIE5VTEw7CgoJd2hp bGUgKCFzdG9wX2ZsYWcpIHsKCQlzZXRfc3BkaW5mbyhmZCwgMCwgMCk7CgkJc2V0X3NwZGluZm8o ZmQsIDMyLCAzMik7Cgl9CgljbG9zZShmZCk7CglyZXR1cm4gTlVMTDsKfQoKLyoKICogVGhyZWFk IEI6IHJlcGVhdGVkbHkgYWRkIGFuZCBkZWxldGUgYW4gaW5leGFjdCBwb2xpY3kuCiAqIFRoZSBk ZWxldGUgZ29lcyB0aHJvdWdoIHhmcm1fcG9saWN5X2J5c2VsX2N0eCB3aGljaCBoYXMgdGhlIHN0 YWxlIGJpbiBidWcuCiAqLwpzdGF0aWMgdm9pZCAqYWRkZWxfdGhyZWFkKHZvaWQgKmFyZykKewoJ aW50IGZkID0gbmxfb3BlbigpOwoJaWYgKGZkIDwgMCkgcmV0dXJuIE5VTEw7CgoJd2hpbGUgKCFz dG9wX2ZsYWcpIHsKCQlpbnQgZXJyID0gYWRkX2luZXhhY3RfcG9saWN5KGZkKTsKCQlpZiAoZXJy ICYmIGVyciAhPSAtRUVYSVNUKSB7CgkJCS8qIFBvbGljeSBtaWdodCBhbHJlYWR5IGV4aXN0IGZy b20gYSBwcmV2aW91cyBpdGVyYXRpb24gKi8KCQl9CgkJZGVsX2luZXhhY3RfcG9saWN5KGZkKTsK CX0KCWNsb3NlKGZkKTsKCXJldHVybiBOVUxMOwp9CgpzdGF0aWMgdm9pZCBzZXR1cF9ucyh2b2lk KQp7CglpZiAodW5zaGFyZShDTE9ORV9ORVdVU0VSIHwgQ0xPTkVfTkVXTkVUKSA8IDApIHsKCQlw ZXJyb3IoInVuc2hhcmUoQ0xPTkVfTkVXVVNFUnxDTE9ORV9ORVdORVQpIik7CgkJZnByaW50Zihz dGRlcnIsICJUcnlpbmcgd2l0aG91dCB1bnNoYXJlIChuZWVkIHJvb3QpLi4uXG4iKTsKCQlyZXR1 cm47Cgl9CgoJLyogV3JpdGUgdWlkL2dpZCBtYXBzIGZvciB0aGUgdXNlciBuYW1lc3BhY2UgKi8K CUZJTEUgKmY7CglmID0gZm9wZW4oIi9wcm9jL3NlbGYvc2V0Z3JvdXBzIiwgInciKTsKCWlmIChm KSB7IGZwcmludGYoZiwgImRlbnkiKTsgZmNsb3NlKGYpOyB9CgoJZiA9IGZvcGVuKCIvcHJvYy9z ZWxmL3VpZF9tYXAiLCAidyIpOwoJaWYgKGYpIHsgZnByaW50ZihmLCAiMCAlZCAxIiwgZ2V0dWlk KCkpOyBmY2xvc2UoZik7IH0KCglmID0gZm9wZW4oIi9wcm9jL3NlbGYvZ2lkX21hcCIsICJ3Iik7 CglpZiAoZikgeyBmcHJpbnRmKGYsICIwICVkIDEiLCBnZXRnaWQoKSk7IGZjbG9zZShmKTsgfQp9 CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCnsKCWludCBkdXJhdGlvbiA9IDYwOyAv KiBzZWNvbmRzICovCglpbnQgbnRocmVhZHMgPSA0OyAgLyogbnVtYmVyIG9mIGVhY2ggdHlwZSAq LwoKCWlmIChhcmdjID4gMSkgZHVyYXRpb24gPSBhdG9pKGFyZ3ZbMV0pOwoJaWYgKGFyZ2MgPiAy KSBudGhyZWFkcyA9IGF0b2koYXJndlsyXSk7CgoJcHJpbnRmKCJbKl0gWEZSTSBQb2xpY3kgSW5l eGFjdCBCaW4gVUFGIFBvQ1xuIik7CglwcmludGYoIlsqXSBEdXJhdGlvbjogJWQgc2Vjb25kcywg dGhyZWFkczogJWQgcGVyIHR5cGVcbiIsIGR1cmF0aW9uLCBudGhyZWFkcyk7CgoJc2V0dXBfbnMo KTsKCgkvKiBWZXJpZnkgd2UgY2FuIG9wZW4gWEZSTSBuZXRsaW5rICovCglpbnQgdGVzdF9mZCA9 IG5sX29wZW4oKTsKCWlmICh0ZXN0X2ZkIDwgMCkgewoJCWZwcmludGYoc3RkZXJyLCAiWy1dIENh bm5vdCBvcGVuIE5FVExJTktfWEZSTSwgYWJvcnRpbmdcbiIpOwoJCXJldHVybiAxOwoJfQoKCS8q IFNldCBpbml0aWFsIHRocmVzaG9sZHMgdG8gMzIvMzIgKGRlZmF1bHQpIHNvIC8wIHBvbGljaWVz IGdvIGluZXhhY3QgKi8KCWludCBlcnIgPSBzZXRfc3BkaW5mbyh0ZXN0X2ZkLCAzMiwgMzIpOwoJ aWYgKGVycikgewoJCWZwcmludGYoc3RkZXJyLCAiWy1dIHNldF9zcGRpbmZvIGZhaWxlZDogJWQg KG5lZWQgQ0FQX05FVF9BRE1JTiBpbiBuZXRucylcbiIsIGVycik7CgkJY2xvc2UodGVzdF9mZCk7 CgkJcmV0dXJuIDE7Cgl9CglwcmludGYoIlsrXSBYRlJNIG5ldGxpbmsgb3BlcmF0aW9uYWwgaW4g bmFtZXNwYWNlXG4iKTsKCWNsb3NlKHRlc3RfZmQpOwoKCXB0aHJlYWRfdCAqcmVidWlsZF90aWRz ID0gY2FsbG9jKG50aHJlYWRzLCBzaXplb2YocHRocmVhZF90KSk7CglwdGhyZWFkX3QgKmFkZGVs X3RpZHMgPSBjYWxsb2MobnRocmVhZHMsIHNpemVvZihwdGhyZWFkX3QpKTsKCglwcmludGYoIlsq XSBTdGFydGluZyAlZCByZWJ1aWxkICsgJWQgYWRkL2RlbCB0aHJlYWRzLi4uXG4iLCBudGhyZWFk cywgbnRocmVhZHMpOwoKCWZvciAoaW50IGkgPSAwOyBpIDwgbnRocmVhZHM7IGkrKykgewoJCXB0 aHJlYWRfY3JlYXRlKCZyZWJ1aWxkX3RpZHNbaV0sIE5VTEwsIHJlYnVpbGRfdGhyZWFkLCBOVUxM KTsKCQlwdGhyZWFkX2NyZWF0ZSgmYWRkZWxfdGlkc1tpXSwgTlVMTCwgYWRkZWxfdGhyZWFkLCBO VUxMKTsKCX0KCglzbGVlcChkdXJhdGlvbik7CglzdG9wX2ZsYWcgPSAxOwoKCXByaW50ZigiWypd IFN0b3BwaW5nIHRocmVhZHMuLi5cbiIpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBudGhyZWFkczsg aSsrKSB7CgkJcHRocmVhZF9qb2luKHJlYnVpbGRfdGlkc1tpXSwgTlVMTCk7CgkJcHRocmVhZF9q b2luKGFkZGVsX3RpZHNbaV0sIE5VTEwpOwoJfQoKCWZyZWUocmVidWlsZF90aWRzKTsKCWZyZWUo YWRkZWxfdGlkcyk7CgoJcHJpbnRmKCJbKl0gRG9uZS4gQ2hlY2sgZG1lc2cgZm9yIEtBU0FOIHJl cG9ydHMuXG4iKTsKCXJldHVybiAwOwp9Cg== --000000000000b9e5b70652f05476--