From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id ECBE0C6FD1A for ; Sat, 4 Mar 2023 20:55:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1677963334; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=j0tt+flxTQjd183gargBcIItDvSHoQINiCJ3ACL3CQk=; b=dQv/s1XUnvgRfQTway81N8pWjLX2OeVkAQe3htBJM3p0fPUTKTi5G14RUXkBfu5pyXI/bS wvX5VKDedibZD1f+1sfOeVr5nKJCjAGlPvPvtkcp+AGQ3/ninsapsasdtGeEHsp9GPluA7 ZwFAhHSAALNGPW/1PHltER8FvVBhrKg= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-589-vN-B9O3RNcaIug6mZaaTjg-1; Sat, 04 Mar 2023 15:55:30 -0500 X-MC-Unique: vN-B9O3RNcaIug6mZaaTjg-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3859C857AA3; Sat, 4 Mar 2023 20:55:28 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id A939C440DC; Sat, 4 Mar 2023 20:55:27 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id C5D701943BC6; Sat, 4 Mar 2023 20:55:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 8E68119452CD for ; Thu, 2 Mar 2023 19:05:34 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 73A802026D2A; Thu, 2 Mar 2023 19:05:34 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast07.extmail.prod.ext.rdu2.redhat.com [10.11.55.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6CB562026D4B for ; Thu, 2 Mar 2023 19:05:34 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 484453C18350 for ; Thu, 2 Mar 2023 19:05:34 +0000 (UTC) Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-611-IZk0Ku-DPFmzSImydTnzgg-1; Thu, 02 Mar 2023 14:05:32 -0500 X-MC-Unique: IZk0Ku-DPFmzSImydTnzgg-1 Received: by mail-pj1-f42.google.com with SMTP id kb15so160522pjb.1 for ; Thu, 02 Mar 2023 11:05:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677783931; h=content-transfer-encoding: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=QnhBhuu5u3111j+U4J6Z/QRCIPFOsE3mv47xPRagllg=; b=O/kk1DL/T5QNLny1AoHRAAlfEaYiF39p3J4O5B+cfBgj3dlgwAjipwcfhAEuTJdbjP k/3tbJbsqfM5h/SNV+C9WxXYsh+jK4cvdFYWutg8gJ0/UWW3ocVUrf3bsQsd6sYCiMpR PYaWfGovdnxm2gHJZM6GmkvLfpRXFaBqV1otnnlDq5MoqlMBtimS3dGAo6NSVLGNczXq LH2Te+vOhkFfrDQe9bBGm37Lm5Rq77MeSGC31I3gmuvSD9vkvvgY0xNoa+q8JC6BfbiN iNS4q1Bh14wHPxzHcgoCSeOc27U0M6ltOr7wZIWY20Ck7PK2lMBjy8ZwhOJuXGiJAtD1 Pqfw== X-Gm-Message-State: AO0yUKVb1Y+MaRnisUKwFyzbPkuJ/403FJVWVMt/4w+P5XVqcSPdtQem KgZhbfCtkOkrVCAIm8cMITZ1spT3YiRqZu4Wxc6d X-Google-Smtp-Source: AK7set/XS9jRR+6EF6IY3vm76Q2PHUWnK1NbNkCZYFR//uZb4fUxerwZUrRoCcoXY64QVS6QX+Rtdxycn0TiTPZ+YRk= X-Received: by 2002:a17:902:ef8a:b0:199:2451:feaf with SMTP id iz10-20020a170902ef8a00b001992451feafmr4215912plb.3.1677783931149; Thu, 02 Mar 2023 11:05:31 -0800 (PST) MIME-Version: 1.0 References: <1675119451-23180-1-git-send-email-wufan@linux.microsoft.com> <1675119451-23180-7-git-send-email-wufan@linux.microsoft.com> In-Reply-To: <1675119451-23180-7-git-send-email-wufan@linux.microsoft.com> From: Paul Moore Date: Thu, 2 Mar 2023 14:05:20 -0500 Message-ID: Subject: Re: [RFC PATCH v9 06/16] ipe: add LSM hooks on execution and kernel read To: Fan Wu X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4 X-Mailman-Approved-At: Sat, 04 Mar 2023 20:55:24 +0000 X-BeenThere: linux-audit@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Audit Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: axboe@kernel.dk, linux-block@vger.kernel.org, tytso@mit.edu, dm-devel@redhat.com, corbet@lwn.net, roberto.sassu@huawei.com, Deven Bowers , linux-doc@vger.kernel.org, snitzer@kernel.org, jmorris@namei.org, zohar@linux.ibm.com, linux-kernel@vger.kernel.org, ebiggers@kernel.org, linux-security-module@vger.kernel.org, linux-audit@redhat.com, eparis@redhat.com, linux-fscrypt@vger.kernel.org, linux-integrity@vger.kernel.org, agk@redhat.com, serge@hallyn.com Errors-To: linux-audit-bounces@redhat.com Sender: "Linux-audit" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gTW9uLCBKYW4gMzAsIDIwMjMgYXQgNTo1OeKAr1BNIEZhbiBXdSA8d3VmYW5AbGludXgubWlj cm9zb2Z0LmNvbT4gd3JvdGU6Cj4KPiBGcm9tOiBEZXZlbiBCb3dlcnMgPGRldmVuLmRlc2FpQGxp bnV4Lm1pY3Jvc29mdC5jb20+Cj4KPiBJUEUncyBpbml0aWFsIGdvYWwgaXMgdG8gY29udHJvbCBi b3RoIGV4ZWN1dGlvbiBhbmQgdGhlIGxvYWRpbmcgb2YKPiBrZXJuZWwgbW9kdWxlcyBiYXNlZCBv biB0aGUgc3lzdGVtJ3MgZGVmaW5pdGlvbiBvZiB0cnVzdC4gSXQKPiBhY2NvbXBsaXNoZXMgdGhp cyBieSBwbHVnZ2luZyBpbnRvIHRoZSBzZWN1cml0eSBob29rcyBmb3IKPiBicHJtX2NoZWNrX3Nl Y3VyaXR5LCBmaWxlX21wcm90ZWN0LCBtbWFwX2ZpbGUsIGtlcm5lbF9sb2FkX2RhdGEsCj4gYW5k IGtlcm5lbF9yZWFkX2RhdGEuCj4KPiBTaWduZWQtb2ZmLWJ5OiBEZXZlbiBCb3dlcnMgPGRldmVu LmRlc2FpQGxpbnV4Lm1pY3Jvc29mdC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogRmFuIFd1IDx3dWZh bkBsaW51eC5taWNyb3NvZnQuY29tPgoKLi4uCgo+IC0tLQo+ICBzZWN1cml0eS9pcGUvaG9va3Mu YyB8IDE2OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIHNl Y3VyaXR5L2lwZS9ob29rcy5oIHwgIDEzICsrKysKPiAgc2VjdXJpdHkvaXBlL2lwZS5jICAgfCAg IDYgKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAxODggaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdp dCBhL3NlY3VyaXR5L2lwZS9ob29rcy5jIGIvc2VjdXJpdHkvaXBlL2hvb2tzLmMKPiBpbmRleCAz MzViNzczYzdhZTEuLmZkNTEwOWUyOWM3NiAxMDA2NDQKPiAtLS0gYS9zZWN1cml0eS9pcGUvaG9v a3MuYwo+ICsrKyBiL3NlY3VyaXR5L2lwZS9ob29rcy5jCj4gQEAgLTIzLDMgKzIzLDE3MiBAQCB2 b2lkIGlwZV9zYl9mcmVlX3NlY3VyaXR5KHN0cnVjdCBzdXBlcl9ibG9jayAqbW50X3NiKQo+ICB7 Cj4gICAgICAgICBpcGVfaW52YWxpZGF0ZV9waW5uZWRfc2IobW50X3NiKTsKPiAgfQo+ICsKPiAr LyoqCj4gKyAqIGlwZV9icHJtX2NoZWNrX3NlY3VyaXR5IC0gaXBlIHNlY3VyaXR5IGhvb2sgZnVu Y3Rpb24gZm9yIGJwcm0gY2hlY2suCj4gKyAqIEBicHJtOiBTdXBwbGllcyBhIHBvaW50ZXIgdG8g YSBsaW51eF9iaW5wcm0gc3RydWN0dXJlIHRvIHNvdXJjZSB0aGUgZmlsZQo+ICsgKiAgICAgICBi ZWluZyBldmFsdWF0ZWQuCj4gKyAqCj4gKyAqIFRoaXMgTFNNIGhvb2sgaXMgY2FsbGVkIHdoZW4g YSBiaW5hcnkgaXMgbG9hZGVkIHRocm91Z2ggdGhlIGV4ZWMKPiArICogZmFtaWx5IG9mIHN5c3Rl bSBjYWxscy4KPiArICogUmV0dXJuOgo+ICsgKiAqMCAgLSBPSwo+ICsgKiAqITAgLSBFcnJvcgo+ ICsgKi8KPiAraW50IGlwZV9icHJtX2NoZWNrX3NlY3VyaXR5KHN0cnVjdCBsaW51eF9iaW5wcm0g KmJwcm0pCj4gK3sKPiArICAgICAgIHN0cnVjdCBpcGVfZXZhbF9jdHggY3R4ID0geyAwIH07Cj4g Kwo+ICsgICAgICAgYnVpbGRfZXZhbF9jdHgoJmN0eCwgYnBybS0+ZmlsZSwgaXBlX29wX2V4ZWMp Owo+ICsgICAgICAgcmV0dXJuIGlwZV9ldmFsdWF0ZV9ldmVudCgmY3R4KTsKPiArfQo+ICsKPiAr LyoqCj4gKyAqIGlwZV9tbWFwX2ZpbGUgLSBpcGUgc2VjdXJpdHkgaG9vayBmdW5jdGlvbiBmb3Ig bW1hcCBjaGVjay4KPiArICogQGY6IEZpbGUgYmVpbmcgbW1hcCdkLiBDYW4gYmUgTlVMTCBpbiB0 aGUgY2FzZSBvZiBhbm9ueW1vdXMgbWVtb3J5Lgo+ICsgKiBAcmVxcHJvdDogVGhlIHJlcXVlc3Rl ZCBwcm90ZWN0aW9uIG9uIHRoZSBtbWFwLCBwYXNzZWQgZnJvbSB1c2VybW9kZS4KPiArICogQHBy b3Q6IFRoZSBlZmZlY3RpdmUgcHJvdGVjdGlvbiBvbiB0aGUgbW1hcCwgcmVzb2x2ZWQgZnJvbSBy ZXFwcm90IGFuZAo+ICsgKiAgICAgICBzeXN0ZW0gY29uZmlndXJhdGlvbi4KPiArICogQGZsYWdz OiBVbnVzZWQuCj4gKyAqCj4gKyAqIFRoaXMgaG9vayBpcyBjYWxsZWQgd2hlbiBhIGZpbGUgaXMg bG9hZGVkIHRocm91Z2ggdGhlIG1tYXAKPiArICogZmFtaWx5IG9mIHN5c3RlbSBjYWxscy4KPiAr ICoKPiArICogUmV0dXJuOgo+ICsgKiAqIDAgLSBPSwo+ICsgKiAqICEwICAgICAgICAtIEVycm9y Cj4gKyAqLwo+ICtpbnQgaXBlX21tYXBfZmlsZShzdHJ1Y3QgZmlsZSAqZiwgdW5zaWduZWQgbG9u ZyByZXFwcm90LCB1bnNpZ25lZCBsb25nIHByb3QsCj4gKyAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyBmbGFncykKPiArewo+ICsgICAgICAgc3RydWN0IGlwZV9ldmFsX2N0eCBjdHggPSB7 IDAgfTsKPiArCj4gKyAgICAgICBpZiAocHJvdCAmIFBST1RfRVhFQyB8fCByZXFwcm90ICYgUFJP VF9FWEVDKSB7CgpJcyB0aGVyZSBhIHJlYXNvbiB3aHkgeW91IGNhcmUgYWJvdXQgQHJlcXByb3Q/ ICBJdCBzZWVtcyBsaWtlIElQRQp3b3VsZCBvbmx5IGJlIGludGVyZXN0ZWQgaW4gdGhlIHByb3Rl Y3Rpb24gZmxhZ3MgdGhhdCB0aGUga2VybmVsIGlzCmFjdHVhbGx5IHVzaW5nLgoKSSBub3RpY2Ug dGhhdCBpbiB0aGUgYGlwZV9maWxlX21wcm90ZWN0KClgIGhvb2sgeW91IGlnbm9yZSBAcmVxcHJv dCwKd2hpY2ggSSBiZWxpZXZlIGlzIHRoZSByaWdodCB0aGluZyB0byBkby4KCj4gKyAgICAgICAg ICAgICAgIGJ1aWxkX2V2YWxfY3R4KCZjdHgsIGYsIGlwZV9vcF9leGVjKTsKPiArICAgICAgICAg ICAgICAgcmV0dXJuIGlwZV9ldmFsdWF0ZV9ldmVudCgmY3R4KTsKPiArICAgICAgIH0KPiArCj4g KyAgICAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGlwZV9maWxlX21wcm90ZWN0 IC0gaXBlIHNlY3VyaXR5IGhvb2sgZnVuY3Rpb24gZm9yIG1wcm90ZWN0IGNoZWNrLgo+ICsgKiBA dm1hOiBFeGlzdGluZyB2aXJ0dWFsIG1lbW9yeSBhcmVhIGNyZWF0ZWQgYnkgbW1hcCBvciBzaW1p bGFyLgo+ICsgKiBAcmVxcHJvdDogVGhlIHJlcXVlc3RlZCBwcm90ZWN0aW9uIG9uIHRoZSBtbWFw LCBwYXNzZWQgZnJvbSB1c2VybW9kZS4KPiArICogQHByb3Q6IFRoZSBlZmZlY3RpdmUgcHJvdGVj dGlvbiBvbiB0aGUgbW1hcCwgcmVzb2x2ZWQgZnJvbSByZXFwcm90IGFuZAo+ICsgKiAgICAgICBz eXN0ZW0gY29uZmlndXJhdGlvbi4KPiArICoKPiArICogVGhpcyBMU00gaG9vayBpcyBjYWxsZWQg d2hlbiBhIG1tYXAnZCByZWdpb24gb2YgbWVtb3J5IGlzIGNoYW5naW5nCj4gKyAqIGl0cyBwcm90 ZWN0aW9ucyB2aWEgbXByb3RlY3QuCj4gKyAqCj4gKyAqIFJldHVybjoKPiArICogKiAwIC0gT0sK PiArICogKiAhMCAgICAgICAgLSBFcnJvcgo+ICsgKi8KPiAraW50IGlwZV9maWxlX21wcm90ZWN0 KHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCB1bnNpZ25lZCBsb25nIHJlcXByb3QsCj4gKyAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcHJvdCkKPiArewo+ICsgICAgICAgc3Ry dWN0IGlwZV9ldmFsX2N0eCBjdHggPSB7IDAgfTsKPiArCj4gKyAgICAgICAvKiBBbHJlYWR5IEV4 ZWN1dGFibGUgKi8KPiArICAgICAgIGlmICh2bWEtPnZtX2ZsYWdzICYgVk1fRVhFQykKPiArICAg ICAgICAgICAgICAgcmV0dXJuIDA7Cj4gKwo+ICsgICAgICAgaWYgKHByb3QgJiBQUk9UX0VYRUMp IHsKPiArICAgICAgICAgICAgICAgYnVpbGRfZXZhbF9jdHgoJmN0eCwgdm1hLT52bV9maWxlLCBp cGVfb3BfZXhlYyk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiBpcGVfZXZhbHVhdGVfZXZlbnQo JmN0eCk7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8q Kgo+ICsgKiBpcGVfa2VybmVsX3JlYWRfZmlsZSAtIGlwZSBzZWN1cml0eSBob29rIGZ1bmN0aW9u IGZvciBrZXJuZWwgcmVhZC4KPiArICogQGZpbGU6IFN1cHBsaWVzIGEgcG9pbnRlciB0byB0aGUg ZmlsZSBzdHJ1Y3R1cmUgYmVpbmcgcmVhZCBpbiBmcm9tIGRpc2suCj4gKyAqIEBpZDogU3VwcGxp ZXMgdGhlIGVudW1lcmF0aW9uIGlkZW50aWZ5aW5nIHRoZSBwdXJwb3NlIG9mIHRoZSByZWFkLgo+ ICsgKiBAY29udGVudHM6IFVudXNlZC4KPiArICoKPiArICogVGhpcyBMU00gaG9vayBpcyBjYWxs ZWQgd2hlbiBhIGZpbGUgaXMgYmVpbmcgcmVhZCBpbiBmcm9tIGRpc2sgZnJvbQo+ICsgKiB0aGUg a2VybmVsLgo+ICsgKgo+ICsgKiBSZXR1cm46Cj4gKyAqIDAgLSBPSwo+ICsgKiAhMCAtIEVycm9y Cj4gKyAqLwo+ICtpbnQgaXBlX2tlcm5lbF9yZWFkX2ZpbGUoc3RydWN0IGZpbGUgKmZpbGUsIGVu dW0ga2VybmVsX3JlYWRfZmlsZV9pZCBpZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgYm9v bCBjb250ZW50cykKPiArewo+ICsgICAgICAgZW51bSBpcGVfb3BfdHlwZSBvcDsKPiArICAgICAg IHN0cnVjdCBpcGVfZXZhbF9jdHggY3R4Owo+ICsKPiArICAgICAgIHN3aXRjaCAoaWQpIHsKPiAr ICAgICAgIGNhc2UgUkVBRElOR19GSVJNV0FSRToKPiArICAgICAgICAgICAgICAgb3AgPSBpcGVf b3BfZmlybXdhcmU7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgY2FzZSBSRUFE SU5HX01PRFVMRToKPiArICAgICAgICAgICAgICAgb3AgPSBpcGVfb3Bfa2VybmVsX21vZHVsZTsK PiArICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICBjYXNlIFJFQURJTkdfS0VYRUNfSU5J VFJBTUZTOgo+ICsgICAgICAgICAgICAgICBvcCA9IGlwZV9vcF9rZXhlY19pbml0cmFtZnM7Cj4g KyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgY2FzZSBSRUFESU5HX0tFWEVDX0lNQUdF Ogo+ICsgICAgICAgICAgICAgICBvcCA9IGlwZV9vcF9rZXhlY19pbWFnZTsKPiArICAgICAgICAg ICAgICAgYnJlYWs7Cj4gKyAgICAgICBjYXNlIFJFQURJTkdfUE9MSUNZOgo+ICsgICAgICAgICAg ICAgICBvcCA9IGlwZV9vcF9pbWFfcG9saWN5Owo+ICsgICAgICAgICAgICAgICBicmVhazsKPiAr ICAgICAgIGNhc2UgUkVBRElOR19YNTA5X0NFUlRJRklDQVRFOgo+ICsgICAgICAgICAgICAgICBv cCA9IGlwZV9vcF9pbWFfeDUwOTsKPiArICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICBk ZWZhdWx0Ogo+ICsgICAgICAgICAgICAgICBvcCA9IGlwZV9vcF9tYXg7Cj4gKyAgICAgICAgICAg ICAgIFdBUk4ob3AgPT0gaXBlX29wX21heCwgIm5vIHJ1bGUgc2V0dXAgZm9yIGVudW0gJWQiLCBp ZCk7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgYnVpbGRfZXZhbF9jdHgoJmN0eCwgZmlsZSwg b3ApOwo+ICsgICAgICAgcmV0dXJuIGlwZV9ldmFsdWF0ZV9ldmVudCgmY3R4KTsKPiArfQo+ICsK PiArLyoqCj4gKyAqIGlwZV9rZXJuZWxfbG9hZF9kYXRhIC0gaXBlIHNlY3VyaXR5IGhvb2sgZnVu Y3Rpb24gZm9yIGtlcm5lbCBsb2FkIGRhdGEuCj4gKyAqIEBpZDogU3VwcGxpZXMgdGhlIGVudW1l cmF0aW9uIGlkZW50aWZ5aW5nIHRoZSBwdXJwb3NlIG9mIHRoZSByZWFkLgo+ICsgKiBAY29udGVu dHM6IFVudXNlZC4KPiArICoKPiArICogVGhpcyBMU00gaG9vayBpcyBjYWxsZWQgd2hlbiBhIGJ1 ZmZlciBpcyBiZWluZyByZWFkIGluIGZyb20gZGlzay4KPiArICoKPiArICogUmV0dXJuOgo+ICsg KiAqIDAgLSBPSwo+ICsgKiAqICEwICAgICAgICAtIEVycm9yCj4gKyAqLwo+ICtpbnQgaXBlX2tl cm5lbF9sb2FkX2RhdGEoZW51bSBrZXJuZWxfbG9hZF9kYXRhX2lkIGlkLCBib29sIGNvbnRlbnRz KQo+ICt7Cj4gKyAgICAgICBlbnVtIGlwZV9vcF90eXBlIG9wOwo+ICsgICAgICAgc3RydWN0IGlw ZV9ldmFsX2N0eCBjdHggPSB7IDAgfTsKPiArCj4gKyAgICAgICBzd2l0Y2ggKGlkKSB7Cj4gKyAg ICAgICBjYXNlIExPQURJTkdfRklSTVdBUkU6Cj4gKyAgICAgICAgICAgICAgIG9wID0gaXBlX29w X2Zpcm13YXJlOwo+ICsgICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgIGNhc2UgTE9BRElO R19NT0RVTEU6Cj4gKyAgICAgICAgICAgICAgIG9wID0gaXBlX29wX2tlcm5lbF9tb2R1bGU7Cj4g KyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgY2FzZSBMT0FESU5HX0tFWEVDX0lOSVRS QU1GUzoKPiArICAgICAgICAgICAgICAgb3AgPSBpcGVfb3Bfa2V4ZWNfaW5pdHJhbWZzOwo+ICsg ICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgIGNhc2UgTE9BRElOR19LRVhFQ19JTUFHRToK PiArICAgICAgICAgICAgICAgb3AgPSBpcGVfb3Bfa2V4ZWNfaW1hZ2U7Cj4gKyAgICAgICAgICAg ICAgIGJyZWFrOwo+ICsgICAgICAgY2FzZSBMT0FESU5HX1BPTElDWToKPiArICAgICAgICAgICAg ICAgb3AgPSBpcGVfb3BfaW1hX3BvbGljeTsKPiArICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAg ICAgICBjYXNlIExPQURJTkdfWDUwOV9DRVJUSUZJQ0FURToKPiArICAgICAgICAgICAgICAgb3Ag PSBpcGVfb3BfaW1hX3g1MDk7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgZGVm YXVsdDoKPiArICAgICAgICAgICAgICAgb3AgPSBpcGVfb3BfbWF4Owo+ICsgICAgICAgICAgICAg ICBXQVJOKG9wID09IGlwZV9vcF9tYXgsICJubyBydWxlIHNldHVwIGZvciBlbnVtICVkIiwgaWQp Owo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIGJ1aWxkX2V2YWxfY3R4KCZjdHgsIE5VTEwsIG9w KTsKPiArICAgICAgIHJldHVybiBpcGVfZXZhbHVhdGVfZXZlbnQoJmN0eCk7Cj4gK30KPiBkaWZm IC0tZ2l0IGEvc2VjdXJpdHkvaXBlL2hvb2tzLmggYi9zZWN1cml0eS9pcGUvaG9va3MuaAo+IGlu ZGV4IDMwZmU0NTUzODliZi4uODU3Y2FlNjk2NzhjIDEwMDY0NAo+IC0tLSBhL3NlY3VyaXR5L2lw ZS9ob29rcy5oCj4gKysrIGIvc2VjdXJpdHkvaXBlL2hvb2tzLmgKPiBAQCAtMTEsNCArMTEsMTcg QEAKPgo+ICB2b2lkIGlwZV9zYl9mcmVlX3NlY3VyaXR5KHN0cnVjdCBzdXBlcl9ibG9jayAqbW50 X3NiKTsKPgo+ICtpbnQgaXBlX2Jwcm1fY2hlY2tfc2VjdXJpdHkoc3RydWN0IGxpbnV4X2JpbnBy bSAqYnBybSk7Cj4gKwo+ICtpbnQgaXBlX21tYXBfZmlsZShzdHJ1Y3QgZmlsZSAqZiwgdW5zaWdu ZWQgbG9uZyByZXFwcm90LCB1bnNpZ25lZCBsb25nIHByb3QsCj4gKyAgICAgICAgICAgICAgICAg dW5zaWduZWQgbG9uZyBmbGFncyk7Cj4gKwo+ICtpbnQgaXBlX2ZpbGVfbXByb3RlY3Qoc3RydWN0 IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2lnbmVkIGxvbmcgcmVxcHJvdCwKPiArICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwcm90KTsKPiArCj4gK2ludCBpcGVfa2VybmVsX3Jl YWRfZmlsZShzdHJ1Y3QgZmlsZSAqZmlsZSwgZW51bSBrZXJuZWxfcmVhZF9maWxlX2lkIGlkLAo+ ICsgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNvbnRlbnRzKTsKPiArCj4gK2ludCBpcGVf a2VybmVsX2xvYWRfZGF0YShlbnVtIGtlcm5lbF9sb2FkX2RhdGFfaWQgaWQsIGJvb2wgY29udGVu dHMpOwo+ICsKPiAgI2VuZGlmIC8qIElQRV9IT09LU19IICovCj4gZGlmZiAtLWdpdCBhL3NlY3Vy aXR5L2lwZS9pcGUuYyBiL3NlY3VyaXR5L2lwZS9pcGUuYwo+IGluZGV4IGJlZjkyMzAyNmI1MC4u N2FmMmY5NDJkZWNkIDEwMDY0NAo+IC0tLSBhL3NlY3VyaXR5L2lwZS9pcGUuYwo+ICsrKyBiL3Nl Y3VyaXR5L2lwZS9pcGUuYwo+IEBAIC00LDYgKzQsNyBAQAo+ICAgKi8KPgo+ICAjaW5jbHVkZSAi aXBlLmgiCj4gKyNpbmNsdWRlICJob29rcy5oIgo+Cj4gIGJvb2wgaXBlX2VuYWJsZWQ7Cj4KPiBA QCAtMTIsNiArMTMsMTEgQEAgc3RhdGljIHN0cnVjdCBsc21fYmxvYl9zaXplcyBpcGVfYmxvYnMg X19sc21fcm9fYWZ0ZXJfaW5pdCA9IHsKPgo+ICBzdGF0aWMgc3RydWN0IHNlY3VyaXR5X2hvb2tf bGlzdCBpcGVfaG9va3NbXSBfX2xzbV9yb19hZnRlcl9pbml0ID0gewo+ICAgICAgICAgTFNNX0hP T0tfSU5JVChzYl9mcmVlX3NlY3VyaXR5LCBpcGVfc2JfZnJlZV9zZWN1cml0eSksCj4gKyAgICAg ICBMU01fSE9PS19JTklUKGJwcm1fY2hlY2tfc2VjdXJpdHksIGlwZV9icHJtX2NoZWNrX3NlY3Vy aXR5KSwKPiArICAgICAgIExTTV9IT09LX0lOSVQobW1hcF9maWxlLCBpcGVfbW1hcF9maWxlKSwK PiArICAgICAgIExTTV9IT09LX0lOSVQoZmlsZV9tcHJvdGVjdCwgaXBlX2ZpbGVfbXByb3RlY3Qp LAo+ICsgICAgICAgTFNNX0hPT0tfSU5JVChrZXJuZWxfcmVhZF9maWxlLCBpcGVfa2VybmVsX3Jl YWRfZmlsZSksCj4gKyAgICAgICBMU01fSE9PS19JTklUKGtlcm5lbF9sb2FkX2RhdGEsIGlwZV9r ZXJuZWxfbG9hZF9kYXRhKSwKPiAgfTsKPgo+ICAvKioKPiAtLQo+IDIuMzkuMAoKLS0KcGF1bC1t b29yZS5jb20KCi0tCkxpbnV4LWF1ZGl0IG1haWxpbmcgbGlzdApMaW51eC1hdWRpdEByZWRoYXQu Y29tCmh0dHBzOi8vbGlzdG1hbi5yZWRoYXQuY29tL21haWxtYW4vbGlzdGluZm8vbGludXgtYXVk aXQK