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 X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CE8C3C433FF for ; Wed, 31 Jul 2019 17:01:06 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 91E0821852 for ; Wed, 31 Jul 2019 17:01:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="sZGinwBa"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=android.com header.i=@android.com header.b="NxNTAM7e" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 91E0821852 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=android.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=GWFlhXelL+b54yzssSbeAnMjFss1H645ARSHEUHrcro=; b=sZGinwBavtk4JX Eeb0ASZ6htLbswqQ8EfYC9+AXqjC8aarTMm3xQGM3n1br5xROdWVh87/55wBCexFNPML5bgEKsHlM ExSX9+lwDT/JnBjTq9Qa1sQcJHvjrmm6Brp2F8G2X92qlwOkmjaP/7nX57O/4czxt9emt1CjCbT4q DFQF1DACkSs/yg2X6kB6hbD1hoPxJ1xL/1dFQ8zazv5Gb53OEU+0z+2YbtHgOgnlSdPGt4Sm7AQTa h/sNCANrmOXx7TMUmRRgJ7LJPKvMTYRlvm5q16xbVQ3Ydi/6zOi6r44ojqlDzn545Ss+jkNf7muUI PXQnkQL0IxBlnYAGhpoQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hsry5-0002YI-Ks; Wed, 31 Jul 2019 17:00:49 +0000 Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hsrwK-00081Z-6R for linux-mtd@lists.infradead.org; Wed, 31 Jul 2019 16:59:18 +0000 Received: by mail-pl1-x643.google.com with SMTP id m9so30635927pls.8 for ; Wed, 31 Jul 2019 09:59:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=android.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ddnpbwfJp/Jg1pT3kuq1L6l9gRs3Cs0gd96QxcsmyTc=; b=NxNTAM7ePY8xngcq2yrLiNdxT7CuMygtVKpGXjyTP1843Lxq3fuRcpO356BEw65bML cslir7uf6cvVuCP9q4xsk5uosGElWGirNimNzKrc650HUmz1fcBB61CoIH5xL+D6t+CN lkgiXjR28DexwU9n5MUD3Rjni5SxfQKoEMJtAXxirw4R0yG+pAisAOWmheolYpwp53ID 4zZ50cuVIfn/XOJq39llAkPYw0YtG0AM8a81+qWkiTu+RGung173hM1OoZAbjwJnu0ik UAxNyUzM3oGCOwLas54+/ewVgWOJ+RFTHxNEgnLne0IkbzKnN487Iy0JoBLRQK2Hoy+6 RnyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ddnpbwfJp/Jg1pT3kuq1L6l9gRs3Cs0gd96QxcsmyTc=; b=kwFRTM3JSOlIEq22zfOcUfrtT+9/9gIQ8wDdXD3GBphBM/cjzMIndD+3umcCZxBA3+ eGIRQ7jOl9H5sazj81mCUv9E7vT68bpIAnZ8/2J2yELW20Q73vXJ9Yjq//hKcX/wIKhx zHwi4oy0XFm5kbQqFY6KqJMSd8evmRmsp3efoE04S8oKDfc1UWmBWrXrPC52xocPvAL0 IwCQR6pt3/vaTZgPuSTq99bzLK/8KUTDARsHX23hkmOLTvUtXdEYbobVVCVQV6Ja+5Zx zusTp0Jd4C7FzmoHF56hsWok96lz/YDWLiO4mXbIaZdzG5ZGc23iKpQJOc1NMCedW4UV Gm/Q== X-Gm-Message-State: APjAAAU2l0rDQkx1l/MQJ8mx9gUiIYI0oPAENITyFbIRE546qxf0N0vB 6hnRRE0vVDoVZrIvuaghaEU= X-Google-Smtp-Source: APXvYqw/fnityvjNohJ2x3SxdKBfN0+54rDA11lGujd0yUSK2/q6bwTxrbWfMZk+DO1MQPqz4TBhTA== X-Received: by 2002:a17:902:694a:: with SMTP id k10mr120262361plt.255.1564592339473; Wed, 31 Jul 2019 09:58:59 -0700 (PDT) Received: from nebulus.mtv.corp.google.com ([2620:15c:211:200:5404:91ba:59dc:9400]) by smtp.gmail.com with ESMTPSA id f72sm2245954pjg.10.2019.07.31.09.58.57 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 31 Jul 2019 09:58:58 -0700 (PDT) From: Mark Salyzyn To: linux-kernel@vger.kernel.org Subject: [PATCH v13 5/5] overlayfs: override_creds=off option bypass creator_cred Date: Wed, 31 Jul 2019 09:58:00 -0700 Message-Id: <20190731165803.4755-6-salyzyn@android.com> X-Mailer: git-send-email 2.22.0.770.g0f2c4a37fd-goog In-Reply-To: <20190731165803.4755-1-salyzyn@android.com> References: <20190731165803.4755-1-salyzyn@android.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190731_095900_530793_38FF2771 X-CRM114-Status: GOOD ( 24.46 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Latchesar Ionkov , Dave Kleikamp , jfs-discussion@lists.sourceforge.net, Randy Dunlap , linux-doc@vger.kernel.org, Martin Brandenburg , samba-technical@lists.samba.org, Dominique Martinet , Amir Goldstein , David Howells , Chris Mason , "David S . Miller" , Andreas Dilger , ocfs2-devel@oss.oracle.com, netdev@vger.kernel.org, Tyler Hicks , linux-afs@lists.infradead.org, Mike Marshall , linux-xfs@vger.kernel.org, Andreas Gruenbacher , Sage Weil , Jonathan Corbet , Richard Weinberger , Mark Fasheh , devel@lists.orangefs.org, Hugh Dickins , linux-security-module@vger.kernel.org, cluster-devel@redhat.com, Vyacheslav Dubeyko , v9fs-developer@lists.sourceforge.net, Ilya Dryomov , linux-ext4@vger.kernel.org, Stephen Smalley , linux-mm@kvack.org, Vivek Goyal , Chao Yu , linux-cifs@vger.kernel.org, Eric Van Hensbergen , ecryptfs@vger.kernel.org, Josef Bacik , "Darrick J . Wong" , reiserfs-devel@vger.kernel.org, Tejun Heo , Greg Kroah-Hartman , Joel Becker , linux-mtd@lists.infradead.org, David Sterba , Jaegeuk Kim , ceph-devel@vger.kernel.org, Trond Myklebust , linux-nfs@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, Theodore Ts'o , linux-fsdevel@vger.kernel.org, Joseph Qi , Mathieu Malaterre , kernel-team@android.com, Miklos Szeredi , Jeff Layton , linux-unionfs@vger.kernel.org, stable@vger.kernel.org, Mark Salyzyn , Steve French , =?UTF-8?q?Ernesto=20A=20=2E=20Fern=C3=A1ndez?= , "Eric W . Biederman" , Jan Kara , Bob Peterson , Phillip Lougher , Andrew Morton , David Woodhouse , Anna Schumaker , linux-btrfs@vger.kernel.org, Alexander Viro Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org QnkgZGVmYXVsdCwgYWxsIGFjY2VzcyB0byB0aGUgdXBwZXIsIGxvd2VyIGFuZCB3b3JrIGRpcmVj dG9yaWVzIGlzIHRoZQpyZWNvcmRlZCBtb3VudGVyJ3MgTUFDIGFuZCBEQUMgY3JlZGVudGlhbHMu ICBUaGUgaW5jb21pbmcgYWNjZXNzZXMgYXJlCmNoZWNrZWQgYWdhaW5zdCB0aGUgY2FsbGVyJ3Mg Y3JlZGVudGlhbHMuCgpJZiB0aGUgcHJpbmNpcGxlcyBvZiBsZWFzdCBwcml2aWxlZ2UgYXJlIGFw cGxpZWQsIHRoZSBtb3VudGVyJ3MKY3JlZGVudGlhbHMgbWlnaHQgbm90IG92ZXJsYXAgdGhlIGNy ZWRlbnRpYWxzIG9mIHRoZSBjYWxsZXIncyB3aGVuCmFjY2Vzc2luZyB0aGUgb3ZlcmxheWZzIGZp bGVzeXN0ZW0uICBGb3IgZXhhbXBsZSwgYSBmaWxlIHRoYXQgYSBsb3dlcgpEQUMgcHJpdmlsZWdl ZCBjYWxsZXIgY2FuIGV4ZWN1dGUsIGlzIE1BQyBkZW5pZWQgdG8gdGhlIGdlbmVyYWxseQpoaWdo ZXIgREFDIHByaXZpbGVnZWQgbW91bnRlciwgdG8gcHJldmVudCBhbiBhdHRhY2sgdmVjdG9yLgoK V2UgYWRkIHRoZSBvcHRpb24gdG8gdHVybiBvZmYgb3ZlcnJpZGVfY3JlZHMgaW4gdGhlIG1vdW50 IG9wdGlvbnM7IGFsbApzdWJzZXF1ZW50IG9wZXJhdGlvbnMgYWZ0ZXIgbW91bnQgb24gdGhlIGZp bGVzeXN0ZW0gd2lsbCBiZSBvbmx5IHRoZQpjYWxsZXIncyBjcmVkZW50aWFscy4gIFRoZSBtb2R1 bGUgYm9vbGVhbiBwYXJhbWV0ZXIgYW5kIG1vdW50IG9wdGlvbgpvdmVycmlkZV9jcmVkcyBpcyBh bHNvIGFkZGVkIGFzIGEgcHJlc2VuY2UgY2hlY2sgZm9yIHRoaXMgImZlYXR1cmUiLApleGlzdGVu Y2Ugb2YgL3N5cy9tb2R1bGUvb3ZlcmxheS9wYXJhbWV0ZXJzL292ZXJyaWRlX2NyZWRzLgoKSXQg d2FzIG5vdCBhbHdheXMgdGhpcyB3YXkuICBDaXJjYSA0LjYgdGhlcmUgd2FzIG5vIHJlY29yZGVk IG1vdW50ZXIncwpjcmVkZW50aWFscywgaW5zdGVhZCBwcml2aWxlZ2VkIGFjY2VzcyB0byB1cHBl ciBvciB3b3JrIGRpcmVjdG9yaWVzCndlcmUgdGVtcG9yYXJpbHkgaW5jcmVhc2VkIHRvIHBlcmZv cm0gdGhlIG9wZXJhdGlvbnMuICBUaGUgTUFDCihzZWxpbnV4KSBwb2xpY2llcyB3ZXJlIGNhbGxl cidzIGluIGFsbCBjYXNlcy4gIG92ZXJyaWRlX2NyZWRzPW9mZgpwYXJ0aWFsbHkgcmV0dXJucyB1 cyB0byB0aGlzIG9sZGVyIGFjY2VzcyBtb2RlbCBtaW51cyB0aGUgaW5zZWN1cmUKdGVtcG9yYXJ5 IGNyZWRlbnRpYWwgaW5jcmVhc2VzLiAgVGhpcyBpcyB0byBwZXJtaXQgdXNlIGluIGEgc3lzdGVt CndpdGggbm9uLW92ZXJsYXBwaW5nIHNlY3VyaXR5IG1vZGVscyBmb3IgZWFjaCBleGVjdXRhYmxl IGluY2x1ZGluZwp0aGUgYWdlbnQgdGhhdCBtb3VudHMgdGhlIG92ZXJsYXlmcyBmaWxlc3lzdGVt LiAgSW4gQW5kcm9pZAp0aGlzIGlzIHRoZSBjYXNlIHNpbmNlIGluaXQsIHdoaWNoIHBlcmZvcm1z IHRoZSBtb3VudCBvcGVyYXRpb25zLApoYXMgYSBtaW5pbWFsIE1BQyBzZXQgb2YgcHJpdmlsZWdl cyB0byByZWR1Y2UgYW55IGF0dGFjayBzdXJmYWNlLAphbmQgc2VydmljZXMgdGhhdCB1c2UgdGhl IGNvbnRlbnQgaGF2ZSBhIGRpZmZlcmVudCBzZXQgb2YgTUFDCnByaXZpbGVnZXMgKGVnOiByZWFk LCBmb3IgdmVuZG9yIGxhYmVsbGVkIGNvbmZpZ3VyYXRpb24sIGV4ZWN1dGUgZm9yCnZlbmRvciBs aWJyYXJpZXMgYW5kIG1vZHVsZXMpLiAgVGhlIGNhdmVhdHMgYXJlIG5vdCBhIHByb2JsZW0gaW4K dGhlIEFuZHJvaWQgdXNhZ2UgbW9kZWwsIGhvd2V2ZXIgdGhleSBzaG91bGQgYmUgZml4ZWQgZm9y CmNvbXBsZXRlbmVzcyBhbmQgZm9yIGdlbmVyYWwgdXNlIGluIHRpbWUuCgpTaWduZWQtb2ZmLWJ5 OiBNYXJrIFNhbHl6eW4gPHNhbHl6eW5AYW5kcm9pZC5jb20+CkNjOiBNaWtsb3MgU3plcmVkaSA8 bWlrbG9zQHN6ZXJlZGkuaHU+CkNjOiBKb25hdGhhbiBDb3JiZXQgPGNvcmJldEBsd24ubmV0PgpD YzogVml2ZWsgR295YWwgPHZnb3lhbEByZWRoYXQuY29tPgpDYzogRXJpYyBXLiBCaWVkZXJtYW4g PGViaWVkZXJtQHhtaXNzaW9uLmNvbT4KQ2M6IEFtaXIgR29sZHN0ZWluIDxhbWlyNzNpbEBnbWFp bC5jb20+CkNjOiBSYW5keSBEdW5sYXAgPHJkdW5sYXBAaW5mcmFkZWFkLm9yZz4KQ2M6IFN0ZXBo ZW4gU21hbGxleSA8c2RzQHR5Y2hvLm5zYS5nb3Y+CkNjOiBsaW51eC11bmlvbmZzQHZnZXIua2Vy bmVsLm9yZwpDYzogbGludXgtZG9jQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgta2VybmVsQHZn ZXIua2VybmVsLm9yZwpDYzoga2VybmVsLXRlYW1AYW5kcm9pZC5jb20KQ2M6IEVyaWMgVmFuIEhl bnNiZXJnZW4gPGVyaWN2aEBnbWFpbC5jb20+CkNjOiBMYXRjaGVzYXIgSW9ua292IDxsdWNob0Bp b25rb3YubmV0PgpDYzogRG9taW5pcXVlIE1hcnRpbmV0IDxhc21hZGV1c0Bjb2Rld3JlY2sub3Jn PgpDYzogRGF2aWQgSG93ZWxscyA8ZGhvd2VsbHNAcmVkaGF0LmNvbT4KQ2M6IENocmlzIE1hc29u IDxjbG1AZmIuY29tPgpDYzogSm9zZWYgQmFjaWsgPGpvc2VmQHRveGljcGFuZGEuY29tPgpDYzog RGF2aWQgU3RlcmJhIDxkc3RlcmJhQHN1c2UuY29tPgpDYzogSmVmZiBMYXl0b24gPGpsYXl0b25A a2VybmVsLm9yZz4KQ2M6IFNhZ2UgV2VpbCA8c2FnZUByZWRoYXQuY29tPgpDYzogSWx5YSBEcnlv bW92IDxpZHJ5b21vdkBnbWFpbC5jb20+CkNjOiBTdGV2ZSBGcmVuY2ggPHNmcmVuY2hAc2FtYmEu b3JnPgpDYzogVHlsZXIgSGlja3MgPHR5aGlja3NAY2Fub25pY2FsLmNvbT4KQ2M6IEphbiBLYXJh IDxqYWNrQHN1c2UuY29tPgpDYzogVGhlb2RvcmUgVHMnbyA8dHl0c29AbWl0LmVkdT4KQ2M6IEFu ZHJlYXMgRGlsZ2VyIDxhZGlsZ2VyLmtlcm5lbEBkaWxnZXIuY2E+CkNjOiBKYWVnZXVrIEtpbSA8 amFlZ2V1a0BrZXJuZWwub3JnPgpDYzogQ2hhbyBZdSA8eXVjaGFvMEBodWF3ZWkuY29tPgpDYzog Qm9iIFBldGVyc29uIDxycGV0ZXJzb0ByZWRoYXQuY29tPgpDYzogQW5kcmVhcyBHcnVlbmJhY2hl ciA8YWdydWVuYmFAcmVkaGF0LmNvbT4KQ2M6IERhdmlkIFdvb2Rob3VzZSA8ZHdtdzJAaW5mcmFk ZWFkLm9yZz4KQ2M6IFJpY2hhcmQgV2VpbmJlcmdlciA8cmljaGFyZEBub2QuYXQ+CkNjOiBEYXZl IEtsZWlrYW1wIDxzaGFnZ3lAa2VybmVsLm9yZz4KQ2M6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3Jl Z2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+CkNjOiBUZWp1biBIZW8gPHRqQGtlcm5lbC5vcmc+CkNj OiBUcm9uZCBNeWtsZWJ1c3QgPHRyb25kLm15a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20+CkNjOiBB bm5hIFNjaHVtYWtlciA8YW5uYS5zY2h1bWFrZXJAbmV0YXBwLmNvbT4KQ2M6IE1hcmsgRmFzaGVo IDxtYXJrQGZhc2hlaC5jb20+CkNjOiBKb2VsIEJlY2tlciA8amxiZWNAZXZpbHBsYW4ub3JnPgpD YzogSm9zZXBoIFFpIDxqb3NlcGgucWlAbGludXguYWxpYmFiYS5jb20+CkNjOiBNaWtlIE1hcnNo YWxsIDxodWJjYXBAb21uaWJvbmQuY29tPgpDYzogTWFydGluIEJyYW5kZW5idXJnIDxtYXJ0aW5A b21uaWJvbmQuY29tPgpDYzogQWxleGFuZGVyIFZpcm8gPHZpcm9AemVuaXYubGludXgub3JnLnVr PgpDYzogUGhpbGxpcCBMb3VnaGVyIDxwaGlsbGlwQHNxdWFzaGZzLm9yZy51az4KQ2M6IERhcnJp Y2sgSi4gV29uZyA8ZGFycmljay53b25nQG9yYWNsZS5jb20+CkNjOiBsaW51eC14ZnNAdmdlci5r ZXJuZWwub3JnCkNjOiBIdWdoIERpY2tpbnMgPGh1Z2hkQGdvb2dsZS5jb20+CkNjOiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+CkNjOiBBbmRyZXcgTW9ydG9uIDxha3BtQGxp bnV4LWZvdW5kYXRpb24ub3JnPgpDYzogTWF0aGlldSBNYWxhdGVycmUgPG1hbGF0QGRlYmlhbi5v cmc+CkNjOiBFcm5lc3RvIEEuIEZlcm7DoW5kZXogPGVybmVzdG8ubW5kLmZlcm5hbmRlekBnbWFp bC5jb20+CkNjOiBWeWFjaGVzbGF2IER1YmV5a28gPHNsYXZhQGR1YmV5a28uY29tPgpDYzogdjlm cy1kZXZlbG9wZXJAbGlzdHMuc291cmNlZm9yZ2UubmV0CkNjOiBsaW51eC1hZnNAbGlzdHMuaW5m cmFkZWFkLm9yZwpDYzogbGludXgtYnRyZnNAdmdlci5rZXJuZWwub3JnCkNjOiBjZXBoLWRldmVs QHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtY2lmc0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IHNhbWJh LXRlY2huaWNhbEBsaXN0cy5zYW1iYS5vcmcKQ2M6IGVjcnlwdGZzQHZnZXIua2VybmVsLm9yZwpD YzogbGludXgtZXh0NEB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWYyZnMtZGV2ZWxAbGlzdHMu c291cmNlZm9yZ2UubmV0CkNjOiBsaW51eC1mc2RldmVsQHZnZXIua2VybmVsLm9yZwpDYzogY2x1 c3Rlci1kZXZlbEByZWRoYXQuY29tCkNjOiBsaW51eC1tdGRAbGlzdHMuaW5mcmFkZWFkLm9yZwpD YzogamZzLWRpc2N1c3Npb25AbGlzdHMuc291cmNlZm9yZ2UubmV0CkNjOiBsaW51eC1uZnNAdmdl ci5rZXJuZWwub3JnCkNjOiBvY2ZzMi1kZXZlbEBvc3Mub3JhY2xlLmNvbQpDYzogZGV2ZWxAbGlz dHMub3JhbmdlZnMub3JnCkNjOiByZWlzZXJmcy1kZXZlbEB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxp bnV4LW1tQGt2YWNrLm9yZwpDYzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtc2Vj dXJpdHktbW9kdWxlQHZnZXIua2VybmVsLm9yZwpDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZyAj IDQuNCwgNC45LCA0LjE0ICYgNC4xOSBOQjogdGhpcyBpcyBhIGRlc2lyZWQgZmVhdHVyZQotLS0K djEyICsgdjEzOgotIFJlYmFzZQoKdjExOgotIGFkZCBzYiBhcmd1bWVudCB0byBvdmxfcmV2ZXJ0 X2NyZWRzIHRvIG1hdGNoIGZ1dHVyZSB3b3JrCgp2MTA6Ci0gUmViYXNlIChhbmQgZXhwYW5kIGJl Y2F1c2Ugb2YgaW5jcmVhc2VkIHJldmVydF9jcmVkIHVzYWdlKQoKdjk6Ci0gQWRkIHRvIHRoZSBj YXZlYXRzCgp2ODoKLSBkcm9wIHByX3dhcm4gbWVzc2FnZSBhZnRlciBzdHJhdyBwb2xsIHRvIHJl bW92ZSBpdC4KLSBhZGRlZCBhIHVzZSBjYXNlIGluIHRoZSBjb21taXQgbWVzc2FnZQoKdjc6Ci0g Y2hhbmdlIG5hbWUgb2YgaW50ZXJuYWwgcGFyYW1ldGVyIHRvIG92bF9vdmVycmlkZV9jcmVkc19k ZWYKLSByZXBvcnQgb3ZlcnJpZGVfY3JlZHMgb25seSBpZiBkaWZmZXJlbnQgdGhhbiBkZWZhdWx0 Cgp2NjoKLSBEcm9wIENPTkZJR19PVkVSTEFZX0ZTX09WRVJSSURFX0NSRURTLgotIERvIGJldHRl ciB3aXRoIHRoZSBkb2N1bWVudGF0aW9uLgotIHByX3dhcm4gbWVzc2FnZSBhZGp1c3RlZCB0byBy ZXBvcnQgY29uc2VxdWVuY2VzLgoKdjU6Ci0gYmVlZmVkIHVwIHRoZSBjYXZlYXRzIGluIHRoZSBE b2N1bWVudGF0aW9uCi0gSXMgZGVwZW5kZW50IG9uCiAgIm92ZXJsYXlmczogY2hlY2sgQ0FQX0RB Q19SRUFEX1NFQVJDSCBiZWZvcmUgaXNzdWluZyBleHBvcnRmc19kZWNvZGVfZmgiCiAgIm92ZXJs YXlmczogY2hlY2sgQ0FQX01LTk9EIGJlZm9yZSBpc3N1aW5nIHZmc193aGl0ZW91dCIKLSBBZGRl ZCBwcndhcm4gd2hlbiBvdmVycmlkZV9jcmVkcz1vZmYKCnY0OgotIHNwZWxsaW5nIGFuZCBncmFt bWFyIGVycm9ycyBpbiB0ZXh0Cgp2MzoKLSBDaGFuZ2UgbmFtZSBmcm9tIGNhbGxlcl9jcmVkZW50 aWFscyAvIGNyZWF0b3JfY3JlZGVudGlhbHMgdG8gdGhlCiAgYm9vbGVhbiBvdmVycmlkZV9jcmVk cy4KLSBDaGFuZ2VkIGZyb20gY3JlYXRvciB0byBtb3VudGVyIGNyZWRlbnRpYWxzLgotIFVwZGF0 ZWQgYW5kIGZvcnRpZmllZCB0aGUgZG9jdW1lbnRhdGlvbi4KLSBBZGRlZCBDT05GSUdfT1ZFUkxB WV9GU19PVkVSUklERV9DUkVEUwoKdjI6Ci0gRm9yd2FyZCBwb3J0IGNoYW5nZWQgYXR0ciB0byBz dGF0LCByZXN1bHRpbmcgaW4gYSBidWlsZCBlcnJvci4KLSBhbHRlcmVkIGNvbW1pdCBtZXNzYWdl LgotLS0KIERvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvb3ZlcmxheWZzLnR4dCB8IDIzICsrKysr KysrKysrKysrKysrKysrKysrCiBmcy9vdmVybGF5ZnMvY29weV91cC5jICAgICAgICAgICAgICAg ICAgfCAgMiArLQogZnMvb3ZlcmxheWZzL2Rpci5jICAgICAgICAgICAgICAgICAgICAgIHwgMTEg KysrKysrLS0tLS0KIGZzL292ZXJsYXlmcy9maWxlLmMgICAgICAgICAgICAgICAgICAgICB8IDIw ICsrKysrKysrKystLS0tLS0tLS0tCiBmcy9vdmVybGF5ZnMvaW5vZGUuYyAgICAgICAgICAgICAg ICAgICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KIGZzL292ZXJsYXlmcy9uYW1laS5jICAgICAg ICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogZnMvb3ZlcmxheWZzL292ZXJsYXlmcy5oICAgICAg ICAgICAgICAgIHwgIDEgKwogZnMvb3ZlcmxheWZzL292bF9lbnRyeS5oICAgICAgICAgICAgICAg IHwgIDEgKwogZnMvb3ZlcmxheWZzL3JlYWRkaXIuYyAgICAgICAgICAgICAgICAgIHwgIDQgKyst LQogZnMvb3ZlcmxheWZzL3N1cGVyLmMgICAgICAgICAgICAgICAgICAgIHwgMjIgKysrKysrKysr KysrKysrKysrKysrLQogZnMvb3ZlcmxheWZzL3V0aWwuYyAgICAgICAgICAgICAgICAgICAgIHwg MTIgKysrKysrKysrKy0tCiAxMSBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspLCAzMyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL292ZXJs YXlmcy50eHQgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL292ZXJsYXlmcy50eHQKaW5kZXgg MWRhMmYxNjY4ZjA4Li5kNDgxMjUwNzY2MDIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZmls ZXN5c3RlbXMvb3ZlcmxheWZzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL292 ZXJsYXlmcy50eHQKQEAgLTEwMiw2ICsxMDIsMjkgQEAgT25seSB0aGUgbGlzdHMgb2YgbmFtZXMg ZnJvbSBkaXJlY3RvcmllcyBhcmUgbWVyZ2VkLiAgT3RoZXIgY29udGVudAogc3VjaCBhcyBtZXRh ZGF0YSBhbmQgZXh0ZW5kZWQgYXR0cmlidXRlcyBhcmUgcmVwb3J0ZWQgZm9yIHRoZSB1cHBlcgog ZGlyZWN0b3J5IG9ubHkuICBUaGVzZSBhdHRyaWJ1dGVzIG9mIHRoZSBsb3dlciBkaXJlY3Rvcnkg YXJlIGhpZGRlbi4KIAorY3JlZGVudGlhbHMKKy0tLS0tLS0tLS0tCisKK0J5IGRlZmF1bHQsIGFs bCBhY2Nlc3MgdG8gdGhlIHVwcGVyLCBsb3dlciBhbmQgd29yayBkaXJlY3RvcmllcyBpcyB0aGUK K3JlY29yZGVkIG1vdW50ZXIncyBNQUMgYW5kIERBQyBjcmVkZW50aWFscy4gIFRoZSBpbmNvbWlu ZyBhY2Nlc3NlcyBhcmUKK2NoZWNrZWQgYWdhaW5zdCB0aGUgY2FsbGVyJ3MgY3JlZGVudGlhbHMu CisKK0luIHRoZSBjYXNlIHdoZXJlIGNhbGxlciBNQUMgb3IgREFDIGNyZWRlbnRpYWxzIGRvIG5v dCBvdmVybGFwLCBhCit1c2UgY2FzZSBhdmFpbGFibGUgaW4gb2xkZXIgdmVyc2lvbnMgb2YgdGhl IGRyaXZlciwgdGhlCitvdmVycmlkZV9jcmVkcyBtb3VudCBmbGFnIGNhbiBiZSB0dXJuZWQgb2Zm IGFuZCBoZWxwIHdoZW4gdGhlIHVzZQorcGF0dGVybiBoYXMgY2FsbGVyIHdpdGggbGVnaXRpbWF0 ZSBjcmVkZW50aWFscyB3aGVyZSB0aGUgbW91bnRlcgorZG9lcyBub3QuICBTZXZlcmFsIHVuaW50 ZW5kZWQgc2lkZSBlZmZlY3RzIHdpbGwgb2NjdXIgdGhvdWdoLiAgVGhlCitjYWxsZXIgd2l0aG91 dCBjZXJ0YWluIGtleSBjYXBhYmlsaXRpZXMgb3IgbG93ZXIgcHJpdmlsZWdlIHdpbGwgbm90Cith bHdheXMgYmUgYWJsZSB0byBkZWxldGUgZmlsZXMgb3IgZGlyZWN0b3JpZXMsIGNyZWF0ZSBub2Rl cywgb3IKK3NlYXJjaCBzb21lIHJlc3RyaWN0ZWQgZGlyZWN0b3JpZXMuICBUaGUgYWJpbGl0eSB0 byBzZWFyY2ggYW5kIHJlYWQKK2EgZGlyZWN0b3J5IGVudHJ5IGlzIHNwb3R0eSBhcyBhIHJlc3Vs dCBvZiB0aGUgY2FjaGUgbWVjaGFuaXNtIG5vdAorcmV0ZXN0aW5nIHRoZSBjcmVkZW50aWFscyBi ZWNhdXNlIG9mIHRoZSBhc3N1bXB0aW9uLCBhIHByaXZpbGVnZWQKK2NhbGxlciBjYW4gZmlsbCBj YWNoZSwgdGhlbiBhIGxvd2VyIHByaXZpbGVnZSBjYW4gcmVhZCB0aGUgZGlyZWN0b3J5CitjYWNo ZS4gIFRoZSB1bmV2ZW4gc2VjdXJpdHkgbW9kZWwgd2hlcmUgY2FjaGUsIHVwcGVyZGlyIGFuZCB3 b3JrZGlyCithcmUgb3BlbmVkIGF0IHByaXZpbGVnZSwgYnV0IGFjY2Vzc2VkIHdpdGhvdXQgY3Jl YXRpbmcgYSBmb3JtIG9mCitwcml2aWxlZ2UgZXNjYWxhdGlvbiwgc2hvdWxkIG9ubHkgYmUgdXNl ZCB3aXRoIHN0cmljdCB1bmRlcnN0YW5kaW5nCitvZiB0aGUgc2lkZSBlZmZlY3RzIGFuZCBvZiB0 aGUgc2VjdXJpdHkgcG9saWNpZXMuCisKIHdoaXRlb3V0cyBhbmQgb3BhcXVlIGRpcmVjdG9yaWVz CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9mcy9vdmVy bGF5ZnMvY29weV91cC5jIGIvZnMvb3ZlcmxheWZzL2NvcHlfdXAuYwppbmRleCBiODAxYzYzNTMx MDAuLjFjMWI5NDE1ZTUzMyAxMDA2NDQKLS0tIGEvZnMvb3ZlcmxheWZzL2NvcHlfdXAuYworKysg Yi9mcy9vdmVybGF5ZnMvY29weV91cC5jCkBAIC04ODYsNyArODg2LDcgQEAgaW50IG92bF9jb3B5 X3VwX2ZsYWdzKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgaW50IGZsYWdzKQogCQlkcHV0KHBhcmVu dCk7CiAJCWRwdXQobmV4dCk7CiAJfQotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3Jl dmVydF9jcmVkcyhkZW50cnktPmRfc2IsIG9sZF9jcmVkKTsKIAogCXJldHVybiBlcnI7CiB9CmRp ZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvZGlyLmMgYi9mcy9vdmVybGF5ZnMvZGlyLmMKaW5kZXgg NzAyYWE2M2Y2Nzc0Li40OWI4ZmZjMTI5NGYgMTAwNjQ0Ci0tLSBhL2ZzL292ZXJsYXlmcy9kaXIu YworKysgYi9mcy9vdmVybGF5ZnMvZGlyLmMKQEAgLTU2Myw3ICs1NjMsOCBAQCBzdGF0aWMgaW50 IG92bF9jcmVhdGVfb3JfbGluayhzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAq aW5vZGUsCiAJCW92ZXJyaWRlX2NyZWQtPmZzZ2lkID0gaW5vZGUtPmlfZ2lkOwogCQlpZiAoIWF0 dHItPmhhcmRsaW5rKSB7CiAJCQllcnIgPSBzZWN1cml0eV9kZW50cnlfY3JlYXRlX2ZpbGVzX2Fz KGRlbnRyeSwKLQkJCQkJYXR0ci0+bW9kZSwgJmRlbnRyeS0+ZF9uYW1lLCBvbGRfY3JlZCwKKwkJ CQkJYXR0ci0+bW9kZSwgJmRlbnRyeS0+ZF9uYW1lLAorCQkJCQlvbGRfY3JlZCA/IG9sZF9jcmVk IDogY3VycmVudF9jcmVkKCksCiAJCQkJCW92ZXJyaWRlX2NyZWQpOwogCQkJaWYgKGVycikgewog CQkJCXB1dF9jcmVkKG92ZXJyaWRlX2NyZWQpOwpAQCAtNTc5LDcgKzU4MCw3IEBAIHN0YXRpYyBp bnQgb3ZsX2NyZWF0ZV9vcl9saW5rKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2Rl ICppbm9kZSwKIAkJCWVyciA9IG92bF9jcmVhdGVfb3Zlcl93aGl0ZW91dChkZW50cnksIGlub2Rl LCBhdHRyKTsKIAl9CiBvdXRfcmV2ZXJ0X2NyZWRzOgotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7 CisJb3ZsX3JldmVydF9jcmVkcyhkZW50cnktPmRfc2IsIG9sZF9jcmVkKTsKIAlyZXR1cm4gZXJy OwogfQogCkBAIC02NTUsNyArNjU2LDcgQEAgc3RhdGljIGludCBvdmxfc2V0X2xpbmtfcmVkaXJl Y3Qoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogCiAJb2xkX2NyZWQgPSBvdmxfb3ZlcnJpZGVfY3Jl ZHMoZGVudHJ5LT5kX3NiKTsKIAllcnIgPSBvdmxfc2V0X3JlZGlyZWN0KGRlbnRyeSwgZmFsc2Up OwotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9jcmVkcyhkZW50cnktPmRf c2IsIG9sZF9jcmVkKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC04NTEsNyArODUyLDcgQEAgc3Rh dGljIGludCBvdmxfZG9fcmVtb3ZlKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgYm9vbCBpc19kaXIp CiAJCWVyciA9IG92bF9yZW1vdmVfdXBwZXIoZGVudHJ5LCBpc19kaXIsICZsaXN0KTsKIAllbHNl CiAJCWVyciA9IG92bF9yZW1vdmVfYW5kX3doaXRlb3V0KGRlbnRyeSwgJmxpc3QpOwotCXJldmVy dF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9jcmVkcyhkZW50cnktPmRfc2IsIG9sZF9j cmVkKTsKIAlpZiAoIWVycikgewogCQlpZiAoaXNfZGlyKQogCQkJY2xlYXJfbmxpbmsoZGVudHJ5 LT5kX2lub2RlKTsKQEAgLTEyMjEsNyArMTIyMiw3IEBAIHN0YXRpYyBpbnQgb3ZsX3JlbmFtZShz dHJ1Y3QgaW5vZGUgKm9sZGRpciwgc3RydWN0IGRlbnRyeSAqb2xkLAogb3V0X3VubG9jazoKIAl1 bmxvY2tfcmVuYW1lKG5ld191cHBlcmRpciwgb2xkX3VwcGVyZGlyKTsKIG91dF9yZXZlcnRfY3Jl ZHM6Ci0JcmV2ZXJ0X2NyZWRzKG9sZF9jcmVkKTsKKwlvdmxfcmV2ZXJ0X2NyZWRzKG9sZC0+ZF9z Yiwgb2xkX2NyZWQpOwogCWlmICh1cGRhdGVfbmxpbmspCiAJCW92bF9ubGlua19lbmQobmV3KTsK IG91dF9kcm9wX3dyaXRlOgpkaWZmIC0tZ2l0IGEvZnMvb3ZlcmxheWZzL2ZpbGUuYyBiL2ZzL292 ZXJsYXlmcy9maWxlLmMKaW5kZXggZTIzNWE2MzVkOWVjLi5kOTRkNmVjNzg1YTcgMTAwNjQ0Ci0t LSBhL2ZzL292ZXJsYXlmcy9maWxlLmMKKysrIGIvZnMvb3ZlcmxheWZzL2ZpbGUuYwpAQCAtMzIs NyArMzIsNyBAQCBzdGF0aWMgc3RydWN0IGZpbGUgKm92bF9vcGVuX3JlYWxmaWxlKGNvbnN0IHN0 cnVjdCBmaWxlICpmaWxlLAogCW9sZF9jcmVkID0gb3ZsX292ZXJyaWRlX2NyZWRzKGlub2RlLT5p X3NiKTsKIAlyZWFsZmlsZSA9IG9wZW5fd2l0aF9mYWtlX3BhdGgoJmZpbGUtPmZfcGF0aCwgZmxh Z3MsIHJlYWxpbm9kZSwKIAkJCQkgICAgICAgY3VycmVudF9jcmVkKCkpOwotCXJldmVydF9jcmVk cyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9jcmVkcyhpbm9kZS0+aV9zYiwgb2xkX2NyZWQpOwog CiAJcHJfZGVidWcoIm9wZW4oJXBbJXBEMi8lY10sIDAlbykgLT4gKCVwLCAwJW8pXG4iLAogCQkg ZmlsZSwgZmlsZSwgb3ZsX3doYXRpc2l0KGlub2RlLCByZWFsaW5vZGUpLCBmaWxlLT5mX2ZsYWdz LApAQCAtMTc2LDcgKzE3Niw3IEBAIHN0YXRpYyBsb2ZmX3Qgb3ZsX2xsc2VlayhzdHJ1Y3QgZmls ZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IHdoZW5jZSkKIAogCW9sZF9jcmVkID0gb3ZsX292 ZXJyaWRlX2NyZWRzKGlub2RlLT5pX3NiKTsKIAlyZXQgPSB2ZnNfbGxzZWVrKHJlYWwuZmlsZSwg b2Zmc2V0LCB3aGVuY2UpOwotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9j cmVkcyhpbm9kZS0+aV9zYiwgb2xkX2NyZWQpOwogCiAJZmlsZS0+Zl9wb3MgPSByZWFsLmZpbGUt PmZfcG9zOwogCWlub2RlX3VubG9jayhpbm9kZSk7CkBAIC0yNDIsNyArMjQyLDcgQEAgc3RhdGlj IHNzaXplX3Qgb3ZsX3JlYWRfaXRlcihzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVjdCBpb3ZfaXRl ciAqaXRlcikKIAlvbGRfY3JlZCA9IG92bF9vdmVycmlkZV9jcmVkcyhmaWxlX2lub2RlKGZpbGUp LT5pX3NiKTsKIAlyZXQgPSB2ZnNfaXRlcl9yZWFkKHJlYWwuZmlsZSwgaXRlciwgJmlvY2ItPmtp X3BvcywKIAkJCSAgICBvdmxfaW9jYl90b19yd2YoaW9jYikpOwotCXJldmVydF9jcmVkcyhvbGRf Y3JlZCk7CisJb3ZsX3JldmVydF9jcmVkcyhmaWxlX2lub2RlKGZpbGUpLT5pX3NiLCBvbGRfY3Jl ZCk7CiAKIAlvdmxfZmlsZV9hY2Nlc3NlZChmaWxlKTsKIApAQCAtMjc4LDcgKzI3OCw3IEBAIHN0 YXRpYyBzc2l6ZV90IG92bF93cml0ZV9pdGVyKHN0cnVjdCBraW9jYiAqaW9jYiwgc3RydWN0IGlv dl9pdGVyICppdGVyKQogCXJldCA9IHZmc19pdGVyX3dyaXRlKHJlYWwuZmlsZSwgaXRlciwgJmlv Y2ItPmtpX3BvcywKIAkJCSAgICAgb3ZsX2lvY2JfdG9fcndmKGlvY2IpKTsKIAlmaWxlX2VuZF93 cml0ZShyZWFsLmZpbGUpOwotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9j cmVkcyhmaWxlX2lub2RlKGZpbGUpLT5pX3NiLCBvbGRfY3JlZCk7CiAKIAkvKiBVcGRhdGUgc2l6 ZSAqLwogCW92bF9jb3B5YXR0cihvdmxfaW5vZGVfcmVhbChpbm9kZSksIGlub2RlKTsKQEAgLTMw NSw3ICszMDUsNyBAQCBzdGF0aWMgaW50IG92bF9mc3luYyhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9m Zl90IHN0YXJ0LCBsb2ZmX3QgZW5kLCBpbnQgZGF0YXN5bmMpCiAJaWYgKGZpbGVfaW5vZGUocmVh bC5maWxlKSA9PSBvdmxfaW5vZGVfdXBwZXIoZmlsZV9pbm9kZShmaWxlKSkpIHsKIAkJb2xkX2Ny ZWQgPSBvdmxfb3ZlcnJpZGVfY3JlZHMoZmlsZV9pbm9kZShmaWxlKS0+aV9zYik7CiAJCXJldCA9 IHZmc19mc3luY19yYW5nZShyZWFsLmZpbGUsIHN0YXJ0LCBlbmQsIGRhdGFzeW5jKTsKLQkJcmV2 ZXJ0X2NyZWRzKG9sZF9jcmVkKTsKKwkJb3ZsX3JldmVydF9jcmVkcyhmaWxlX2lub2RlKGZpbGUp LT5pX3NiLCBvbGRfY3JlZCk7CiAJfQogCiAJZmRwdXQocmVhbCk7CkBAIC0zMjksNyArMzI5LDcg QEAgc3RhdGljIGludCBvdmxfbW1hcChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHZtX2FyZWFf c3RydWN0ICp2bWEpCiAKIAlvbGRfY3JlZCA9IG92bF9vdmVycmlkZV9jcmVkcyhmaWxlX2lub2Rl KGZpbGUpLT5pX3NiKTsKIAlyZXQgPSBjYWxsX21tYXAodm1hLT52bV9maWxlLCB2bWEpOwotCXJl dmVydF9jcmVkcyhvbGRfY3JlZCk7CisJb3ZsX3JldmVydF9jcmVkcyhmaWxlX2lub2RlKGZpbGUp LT5pX3NiLCBvbGRfY3JlZCk7CiAKIAlpZiAocmV0KSB7CiAJCS8qIERyb3AgcmVmZXJlbmNlIGNv dW50IGZyb20gbmV3IHZtX2ZpbGUgdmFsdWUgKi8KQEAgLTM1Nyw3ICszNTcsNyBAQCBzdGF0aWMg bG9uZyBvdmxfZmFsbG9jYXRlKHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgbW9kZSwgbG9mZl90IG9m ZnNldCwgbG9mZl90IGxlbgogCiAJb2xkX2NyZWQgPSBvdmxfb3ZlcnJpZGVfY3JlZHMoZmlsZV9p bm9kZShmaWxlKS0+aV9zYik7CiAJcmV0ID0gdmZzX2ZhbGxvY2F0ZShyZWFsLmZpbGUsIG1vZGUs IG9mZnNldCwgbGVuKTsKLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3Jl ZHMoZmlsZV9pbm9kZShmaWxlKS0+aV9zYiwgb2xkX2NyZWQpOwogCiAJLyogVXBkYXRlIHNpemUg Ki8KIAlvdmxfY29weWF0dHIob3ZsX2lub2RlX3JlYWwoaW5vZGUpLCBpbm9kZSk7CkBAIC0zNzks NyArMzc5LDcgQEAgc3RhdGljIGludCBvdmxfZmFkdmlzZShzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9m Zl90IG9mZnNldCwgbG9mZl90IGxlbiwgaW50IGFkdmljZSkKIAogCW9sZF9jcmVkID0gb3ZsX292 ZXJyaWRlX2NyZWRzKGZpbGVfaW5vZGUoZmlsZSktPmlfc2IpOwogCXJldCA9IHZmc19mYWR2aXNl KHJlYWwuZmlsZSwgb2Zmc2V0LCBsZW4sIGFkdmljZSk7Ci0JcmV2ZXJ0X2NyZWRzKG9sZF9jcmVk KTsKKwlvdmxfcmV2ZXJ0X2NyZWRzKGZpbGVfaW5vZGUoZmlsZSktPmlfc2IsIG9sZF9jcmVkKTsK IAogCWZkcHV0KHJlYWwpOwogCkBAIC0zOTksNyArMzk5LDcgQEAgc3RhdGljIGxvbmcgb3ZsX3Jl YWxfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCiAKIAlvbGRfY3Jl ZCA9IG92bF9vdmVycmlkZV9jcmVkcyhmaWxlX2lub2RlKGZpbGUpLT5pX3NiKTsKIAlyZXQgPSB2 ZnNfaW9jdGwocmVhbC5maWxlLCBjbWQsIGFyZyk7Ci0JcmV2ZXJ0X2NyZWRzKG9sZF9jcmVkKTsK KwlvdmxfcmV2ZXJ0X2NyZWRzKGZpbGVfaW5vZGUoZmlsZSktPmlfc2IsIG9sZF9jcmVkKTsKIAog CWZkcHV0KHJlYWwpOwogCkBAIC01ODksNyArNTg5LDcgQEAgc3RhdGljIGxvZmZfdCBvdmxfY29w eWZpbGUoc3RydWN0IGZpbGUgKmZpbGVfaW4sIGxvZmZfdCBwb3NfaW4sCiAJCQkJCQlmbGFncyk7 CiAJCWJyZWFrOwogCX0KLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3Jl ZHMoZmlsZV9pbm9kZShmaWxlX291dCktPmlfc2IsIG9sZF9jcmVkKTsKIAogCS8qIFVwZGF0ZSBz aXplICovCiAJb3ZsX2NvcHlhdHRyKG92bF9pbm9kZV9yZWFsKGlub2RlX291dCksIGlub2RlX291 dCk7CmRpZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvaW5vZGUuYyBiL2ZzL292ZXJsYXlmcy9pbm9k ZS5jCmluZGV4IDFiZjExYWU0NDMxMy4uZmMxODI4YWEzMGVkIDEwMDY0NAotLS0gYS9mcy9vdmVy bGF5ZnMvaW5vZGUuYworKysgYi9mcy9vdmVybGF5ZnMvaW5vZGUuYwpAQCAtNjEsNyArNjEsNyBA QCBpbnQgb3ZsX3NldGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaWF0dHIgKmF0 dHIpCiAJCWlub2RlX2xvY2sodXBwZXJkZW50cnktPmRfaW5vZGUpOwogCQlvbGRfY3JlZCA9IG92 bF9vdmVycmlkZV9jcmVkcyhkZW50cnktPmRfc2IpOwogCQllcnIgPSBub3RpZnlfY2hhbmdlKHVw cGVyZGVudHJ5LCBhdHRyLCBOVUxMKTsKLQkJcmV2ZXJ0X2NyZWRzKG9sZF9jcmVkKTsKKwkJb3Zs X3JldmVydF9jcmVkcyhkZW50cnktPmRfc2IsIG9sZF9jcmVkKTsKIAkJaWYgKCFlcnIpCiAJCQlv dmxfY29weWF0dHIodXBwZXJkZW50cnktPmRfaW5vZGUsIGRlbnRyeS0+ZF9pbm9kZSk7CiAJCWlu b2RlX3VubG9jayh1cHBlcmRlbnRyeS0+ZF9pbm9kZSk7CkBAIC0yNTcsNyArMjU3LDcgQEAgaW50 IG92bF9nZXRhdHRyKGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3Qga3N0YXQgKnN0YXQs CiAJCXN0YXQtPm5saW5rID0gZGVudHJ5LT5kX2lub2RlLT5pX25saW5rOwogCiBvdXQ6Ci0JcmV2 ZXJ0X2NyZWRzKG9sZF9jcmVkKTsKKwlvdmxfcmV2ZXJ0X2NyZWRzKGRlbnRyeS0+ZF9zYiwgb2xk X2NyZWQpOwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTI5MSw3ICsyOTEsNyBAQCBpbnQgb3ZsX3Bl cm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2spCiAJCW1hc2sgfD0gTUFZX1JF QUQ7CiAJfQogCWVyciA9IGlub2RlX3Blcm1pc3Npb24ocmVhbGlub2RlLCBtYXNrKTsKLQlyZXZl cnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoaW5vZGUtPmlfc2IsIG9sZF9j cmVkKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC0zMDgsNyArMzA4LDcgQEAgc3RhdGljIGNvbnN0 IGNoYXIgKm92bF9nZXRfbGluayhzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCiAKIAlvbGRfY3JlZCA9 IG92bF9vdmVycmlkZV9jcmVkcyhkZW50cnktPmRfc2IpOwogCXAgPSB2ZnNfZ2V0X2xpbmsob3Zs X2RlbnRyeV9yZWFsKGRlbnRyeSksIGRvbmUpOwotCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJ b3ZsX3JldmVydF9jcmVkcyhkZW50cnktPmRfc2IsIG9sZF9jcmVkKTsKIAlyZXR1cm4gcDsKIH0K IApAQCAtMzUxLDcgKzM1MSw3IEBAIGludCBvdmxfeGF0dHJfc2V0KHN0cnVjdCBkZW50cnkgKmRl bnRyeSwgc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwKIAkJV0FSTl9PTihm bGFncyAhPSBYQVRUUl9SRVBMQUNFKTsKIAkJZXJyID0gdmZzX3JlbW92ZXhhdHRyKHJlYWxkZW50 cnksIG5hbWUpOwogCX0KLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3Jl ZHMoZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAKIAkvKiBjb3B5IGMvbXRpbWUgKi8KIAlvdmxf Y29weWF0dHIoZF9pbm9kZShyZWFsZGVudHJ5KSwgaW5vZGUpOwpAQCAtMzczLDcgKzM3Myw3IEBA IGludCBvdmxfeGF0dHJfZ2V0KHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlub2RlICpp bm9kZSwgY29uc3QgY2hhciAqbmFtZSwKIAlvbGRfY3JlZCA9IG92bF9vdmVycmlkZV9jcmVkcyhk ZW50cnktPmRfc2IpOwogCXJlcyA9IF9fdmZzX2dldHhhdHRyKHJlYWxkZW50cnksIGRfaW5vZGUo cmVhbGRlbnRyeSksIG5hbWUsCiAJCQkgICAgIHZhbHVlLCBzaXplLCBmbGFncyk7Ci0JcmV2ZXJ0 X2NyZWRzKG9sZF9jcmVkKTsKKwlvdmxfcmV2ZXJ0X2NyZWRzKGRlbnRyeS0+ZF9zYiwgb2xkX2Ny ZWQpOwogCXJldHVybiByZXM7CiB9CiAKQEAgLTM5Nyw3ICszOTcsNyBAQCBzc2l6ZV90IG92bF9s aXN0eGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjaGFyICpsaXN0LCBzaXplX3Qgc2l6ZSkK IAogCW9sZF9jcmVkID0gb3ZsX292ZXJyaWRlX2NyZWRzKGRlbnRyeS0+ZF9zYik7CiAJcmVzID0g dmZzX2xpc3R4YXR0cihyZWFsZGVudHJ5LCBsaXN0LCBzaXplKTsKLQlyZXZlcnRfY3JlZHMob2xk X2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAJaWYg KHJlcyA8PSAwIHx8IHNpemUgPT0gMCkKIAkJcmV0dXJuIHJlczsKIApAQCAtNDMyLDcgKzQzMiw3 IEBAIHN0cnVjdCBwb3NpeF9hY2wgKm92bF9nZXRfYWNsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGlu dCB0eXBlKQogCiAJb2xkX2NyZWQgPSBvdmxfb3ZlcnJpZGVfY3JlZHMoaW5vZGUtPmlfc2IpOwog CWFjbCA9IGdldF9hY2wocmVhbGlub2RlLCB0eXBlKTsKLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQp OworCW92bF9yZXZlcnRfY3JlZHMoaW5vZGUtPmlfc2IsIG9sZF9jcmVkKTsKIAogCXJldHVybiBh Y2w7CiB9CkBAIC00NzAsNyArNDcwLDcgQEAgc3RhdGljIGludCBvdmxfZmllbWFwKHN0cnVjdCBp bm9kZSAqaW5vZGUsIHN0cnVjdCBmaWVtYXBfZXh0ZW50X2luZm8gKmZpZWluZm8sCiAJCWZpbGVt YXBfd3JpdGVfYW5kX3dhaXQocmVhbGlub2RlLT5pX21hcHBpbmcpOwogCiAJZXJyID0gcmVhbGlu b2RlLT5pX29wLT5maWVtYXAocmVhbGlub2RlLCBmaWVpbmZvLCBzdGFydCwgbGVuKTsKLQlyZXZl cnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoaW5vZGUtPmlfc2IsIG9sZF9j cmVkKTsKIAogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvbmFtZWku YyBiL2ZzL292ZXJsYXlmcy9uYW1laS5jCmluZGV4IGE0YTQ1MmM0ODlmYS4uYmFiMWY5N2RjMjAx IDEwMDY0NAotLS0gYS9mcy9vdmVybGF5ZnMvbmFtZWkuYworKysgYi9mcy9vdmVybGF5ZnMvbmFt ZWkuYwpAQCAtMTA3OSw3ICsxMDc5LDcgQEAgc3RydWN0IGRlbnRyeSAqb3ZsX2xvb2t1cChzdHJ1 Y3QgaW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAogCQkJZ290byBvdXRfZnJlZV9v ZTsKIAl9CiAKLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoZGVu dHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAJaWYgKG9yaWdpbl9wYXRoKSB7CiAJCWRwdXQob3JpZ2lu X3BhdGgtPmRlbnRyeSk7CiAJCWtmcmVlKG9yaWdpbl9wYXRoKTsKQEAgLTExMDYsNyArMTEwNiw3 IEBAIHN0cnVjdCBkZW50cnkgKm92bF9sb29rdXAoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBk ZW50cnkgKmRlbnRyeSwKIAlrZnJlZSh1cHBlcnJlZGlyZWN0KTsKIG91dDoKIAlrZnJlZShkLnJl ZGlyZWN0KTsKLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoZGVu dHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAJcmV0dXJuIEVSUl9QVFIoZXJyKTsKIH0KIApAQCAtMTE2 MCw3ICsxMTYwLDcgQEAgYm9vbCBvdmxfbG93ZXJfcG9zaXRpdmUoc3RydWN0IGRlbnRyeSAqZGVu dHJ5KQogCQkJZHB1dCh0aGlzKTsKIAkJfQogCX0KLQlyZXZlcnRfY3JlZHMob2xkX2NyZWQpOwor CW92bF9yZXZlcnRfY3JlZHMoZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAKIAlyZXR1cm4gcG9z aXRpdmU7CiB9CmRpZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvb3ZlcmxheWZzLmggYi9mcy9vdmVy bGF5ZnMvb3ZlcmxheWZzLmgKaW5kZXggOWQyNmQ4NzU4NTEzLi5hZDFhMTFlN2VjYmQgMTAwNjQ0 Ci0tLSBhL2ZzL292ZXJsYXlmcy9vdmVybGF5ZnMuaAorKysgYi9mcy9vdmVybGF5ZnMvb3Zlcmxh eWZzLmgKQEAgLTIwNSw2ICsyMDUsNyBAQCBpbnQgb3ZsX3dhbnRfd3JpdGUoc3RydWN0IGRlbnRy eSAqZGVudHJ5KTsKIHZvaWQgb3ZsX2Ryb3Bfd3JpdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5KTsK IHN0cnVjdCBkZW50cnkgKm92bF93b3JrZGlyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSk7CiBjb25z dCBzdHJ1Y3QgY3JlZCAqb3ZsX292ZXJyaWRlX2NyZWRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2Ip Owordm9pZCBvdmxfcmV2ZXJ0X2NyZWRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGNvbnN0IHN0 cnVjdCBjcmVkICpvbGRjcmVkKTsKIHNzaXplX3Qgb3ZsX2RvX3Zmc19nZXR4YXR0cihzdHJ1Y3Qg ZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmJ1ZiwKIAkJCSAgICBzaXpl X3Qgc2l6ZSk7CiBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm92bF9zYW1lX3NiKHN0cnVjdCBzdXBlcl9i bG9jayAqc2IpOwpkaWZmIC0tZ2l0IGEvZnMvb3ZlcmxheWZzL292bF9lbnRyeS5oIGIvZnMvb3Zl cmxheWZzL292bF9lbnRyeS5oCmluZGV4IDI4YTJkMTJhMTAyOS4uMjYzN2M1YWFkZjdmIDEwMDY0 NAotLS0gYS9mcy9vdmVybGF5ZnMvb3ZsX2VudHJ5LmgKKysrIGIvZnMvb3ZlcmxheWZzL292bF9l bnRyeS5oCkBAIC0xNyw2ICsxNyw3IEBAIHN0cnVjdCBvdmxfY29uZmlnIHsKIAlib29sIG5mc19l eHBvcnQ7CiAJaW50IHhpbm87CiAJYm9vbCBtZXRhY29weTsKKwlib29sIG92ZXJyaWRlX2NyZWRz OwogfTsKIAogc3RydWN0IG92bF9zYiB7CmRpZmYgLS1naXQgYS9mcy9vdmVybGF5ZnMvcmVhZGRp ci5jIGIvZnMvb3ZlcmxheWZzL3JlYWRkaXIuYwppbmRleCA0N2E5MWM5NzMzYTUuLjg3NGExYjNm Zjk5YSAxMDA2NDQKLS0tIGEvZnMvb3ZlcmxheWZzL3JlYWRkaXIuYworKysgYi9mcy9vdmVybGF5 ZnMvcmVhZGRpci5jCkBAIC0yODYsNyArMjg2LDcgQEAgc3RhdGljIGludCBvdmxfY2hlY2tfd2hp dGVvdXRzKHN0cnVjdCBkZW50cnkgKmRpciwgc3RydWN0IG92bF9yZWFkZGlyX2RhdGEgKnJkZCkK IAkJfQogCQlpbm9kZV91bmxvY2soZGlyLT5kX2lub2RlKTsKIAl9Ci0JcmV2ZXJ0X2NyZWRzKG9s ZF9jcmVkKTsKKwlvdmxfcmV2ZXJ0X2NyZWRzKHJkZC0+ZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7 CiAKIAlyZXR1cm4gZXJyOwogfQpAQCAtOTE4LDcgKzkxOCw3IEBAIGludCBvdmxfY2hlY2tfZW1w dHlfZGlyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGxpc3RfaGVhZCAqbGlzdCkKIAog CW9sZF9jcmVkID0gb3ZsX292ZXJyaWRlX2NyZWRzKGRlbnRyeS0+ZF9zYik7CiAJZXJyID0gb3Zs X2Rpcl9yZWFkX21lcmdlZChkZW50cnksIGxpc3QsICZyb290KTsKLQlyZXZlcnRfY3JlZHMob2xk X2NyZWQpOworCW92bF9yZXZlcnRfY3JlZHMoZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAJaWYg KGVycikKIAkJcmV0dXJuIGVycjsKIApkaWZmIC0tZ2l0IGEvZnMvb3ZlcmxheWZzL3N1cGVyLmMg Yi9mcy9vdmVybGF5ZnMvc3VwZXIuYwppbmRleCA2ZjA0MWUxZmNlZGEuLjJjMTI3ODQ1MWYzOCAx MDA2NDQKLS0tIGEvZnMvb3ZlcmxheWZzL3N1cGVyLmMKKysrIGIvZnMvb3ZlcmxheWZzL3N1cGVy LmMKQEAgLTUzLDYgKzUzLDExIEBAIG1vZHVsZV9wYXJhbV9uYW1lZCh4aW5vX2F1dG8sIG92bF94 aW5vX2F1dG9fZGVmLCBib29sLCAwNjQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MoeGlub19hdXRvLAog CQkgIkF1dG8gZW5hYmxlIHhpbm8gZmVhdHVyZSIpOwogCitzdGF0aWMgYm9vbCBfX3JlYWRfbW9z dGx5IG92bF9vdmVycmlkZV9jcmVkc19kZWYgPSB0cnVlOworbW9kdWxlX3BhcmFtX25hbWVkKG92 ZXJyaWRlX2NyZWRzLCBvdmxfb3ZlcnJpZGVfY3JlZHNfZGVmLCBib29sLCAwNjQ0KTsKK01PRFVM RV9QQVJNX0RFU0Mob3ZsX292ZXJyaWRlX2NyZWRzX2RlZiwKKwkJICJVc2UgbW91bnRlcidzIGNy ZWRlbnRpYWxzIGZvciBhY2Nlc3NlcyIpOworCiBzdGF0aWMgdm9pZCBvdmxfZW50cnlfc3RhY2tf ZnJlZShzdHJ1Y3Qgb3ZsX2VudHJ5ICpvZSkKIHsKIAl1bnNpZ25lZCBpbnQgaTsKQEAgLTM2Miw2 ICszNjcsOSBAQCBzdGF0aWMgaW50IG92bF9zaG93X29wdGlvbnMoc3RydWN0IHNlcV9maWxlICpt LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiAJaWYgKG9mcy0+Y29uZmlnLm1ldGFjb3B5ICE9IG92 bF9tZXRhY29weV9kZWYpCiAJCXNlcV9wcmludGYobSwgIixtZXRhY29weT0lcyIsCiAJCQkgICBv ZnMtPmNvbmZpZy5tZXRhY29weSA/ICJvbiIgOiAib2ZmIik7CisJaWYgKG9mcy0+Y29uZmlnLm92 ZXJyaWRlX2NyZWRzICE9IG92bF9vdmVycmlkZV9jcmVkc19kZWYpCisJCXNlcV9zaG93X29wdGlv bihtLCAib3ZlcnJpZGVfY3JlZHMiLAorCQkJCW9mcy0+Y29uZmlnLm92ZXJyaWRlX2NyZWRzID8g Im9uIiA6ICJvZmYiKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDAyLDYgKzQxMCw4IEBAIGVudW0g ewogCU9QVF9YSU5PX0FVVE8sCiAJT1BUX01FVEFDT1BZX09OLAogCU9QVF9NRVRBQ09QWV9PRkYs CisJT1BUX09WRVJSSURFX0NSRURTX09OLAorCU9QVF9PVkVSUklERV9DUkVEU19PRkYsCiAJT1BU X0VSUiwKIH07CiAKQEAgLTQyMCw2ICs0MzAsOCBAQCBzdGF0aWMgY29uc3QgbWF0Y2hfdGFibGVf dCBvdmxfdG9rZW5zID0gewogCXtPUFRfWElOT19BVVRPLAkJCSJ4aW5vPWF1dG8ifSwKIAl7T1BU X01FVEFDT1BZX09OLAkJIm1ldGFjb3B5PW9uIn0sCiAJe09QVF9NRVRBQ09QWV9PRkYsCQkibWV0 YWNvcHk9b2ZmIn0sCisJe09QVF9PVkVSUklERV9DUkVEU19PTiwJCSJvdmVycmlkZV9jcmVkcz1v biJ9LAorCXtPUFRfT1ZFUlJJREVfQ1JFRFNfT0ZGLAkib3ZlcnJpZGVfY3JlZHM9b2ZmIn0sCiAJ e09QVF9FUlIsCQkJTlVMTH0KIH07CiAKQEAgLTQ3OCw2ICs0OTAsNyBAQCBzdGF0aWMgaW50IG92 bF9wYXJzZV9vcHQoY2hhciAqb3B0LCBzdHJ1Y3Qgb3ZsX2NvbmZpZyAqY29uZmlnKQogCWNvbmZp Zy0+cmVkaXJlY3RfbW9kZSA9IGtzdHJkdXAob3ZsX3JlZGlyZWN0X21vZGVfZGVmKCksIEdGUF9L RVJORUwpOwogCWlmICghY29uZmlnLT5yZWRpcmVjdF9tb2RlKQogCQlyZXR1cm4gLUVOT01FTTsK Kwljb25maWctPm92ZXJyaWRlX2NyZWRzID0gb3ZsX292ZXJyaWRlX2NyZWRzX2RlZjsKIAogCXdo aWxlICgocCA9IG92bF9uZXh0X29wdCgmb3B0KSkgIT0gTlVMTCkgewogCQlpbnQgdG9rZW47CkBA IC01NTgsNiArNTcxLDE0IEBAIHN0YXRpYyBpbnQgb3ZsX3BhcnNlX29wdChjaGFyICpvcHQsIHN0 cnVjdCBvdmxfY29uZmlnICpjb25maWcpCiAJCQljb25maWctPm1ldGFjb3B5ID0gZmFsc2U7CiAJ CQlicmVhazsKIAorCQljYXNlIE9QVF9PVkVSUklERV9DUkVEU19PTjoKKwkJCWNvbmZpZy0+b3Zl cnJpZGVfY3JlZHMgPSB0cnVlOworCQkJYnJlYWs7CisKKwkJY2FzZSBPUFRfT1ZFUlJJREVfQ1JF RFNfT0ZGOgorCQkJY29uZmlnLT5vdmVycmlkZV9jcmVkcyA9IGZhbHNlOworCQkJYnJlYWs7CisK IAkJZGVmYXVsdDoKIAkJCXByX2Vycigib3ZlcmxheWZzOiB1bnJlY29nbml6ZWQgbW91bnQgb3B0 aW9uIFwiJXNcIiBvciBtaXNzaW5nIHZhbHVlXG4iLCBwKTsKIAkJCXJldHVybiAtRUlOVkFMOwpA QCAtMTY3NCw3ICsxNjk1LDYgQEAgc3RhdGljIGludCBvdmxfZmlsbF9zdXBlcihzdHJ1Y3Qgc3Vw ZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRhLCBpbnQgc2lsZW50KQogCQkgICAgICAgb3ZsX2RlbnRy eV9sb3dlcihyb290X2RlbnRyeSksIE5VTEwpOwogCiAJc2ItPnNfcm9vdCA9IHJvb3RfZGVudHJ5 OwotCiAJcmV0dXJuIDA7CiAKIG91dF9mcmVlX29lOgpkaWZmIC0tZ2l0IGEvZnMvb3ZlcmxheWZz L3V0aWwuYyBiL2ZzL292ZXJsYXlmcy91dGlsLmMKaW5kZXggYzU4OGMwZDY2ZDhjLi45ZTk3ZTc4 NWU0NGMgMTAwNjQ0Ci0tLSBhL2ZzL292ZXJsYXlmcy91dGlsLmMKKysrIGIvZnMvb3ZlcmxheWZz L3V0aWwuYwpAQCAtMzcsOSArMzcsMTcgQEAgY29uc3Qgc3RydWN0IGNyZWQgKm92bF9vdmVycmlk ZV9jcmVkcyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQogewogCXN0cnVjdCBvdmxfZnMgKm9mcyA9 IHNiLT5zX2ZzX2luZm87CiAKKwlpZiAoIW9mcy0+Y29uZmlnLm92ZXJyaWRlX2NyZWRzKQorCQly ZXR1cm4gTlVMTDsKIAlyZXR1cm4gb3ZlcnJpZGVfY3JlZHMob2ZzLT5jcmVhdG9yX2NyZWQpOwog fQogCit2b2lkIG92bF9yZXZlcnRfY3JlZHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgY29uc3Qg c3RydWN0IGNyZWQgKm9sZF9jcmVkKQoreworCWlmIChvbGRfY3JlZCkKKwkJcmV2ZXJ0X2NyZWRz KG9sZF9jcmVkKTsKK30KKwogc3NpemVfdCBvdmxfZG9fdmZzX2dldHhhdHRyKHN0cnVjdCBkZW50 cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqYnVmLAogCQkJICAgIHNpemVfdCBz aXplKQogewpAQCAtNzk4LDcgKzgwNiw3IEBAIGludCBvdmxfbmxpbmtfc3RhcnQoc3RydWN0IGRl bnRyeSAqZGVudHJ5KQogCSAqIHZhbHVlIHJlbGF0aXZlIHRvIHRoZSB1cHBlciBpbm9kZSBubGlu ayBpbiBhbiB1cHBlciBpbm9kZSB4YXR0ci4KIAkgKi8KIAllcnIgPSBvdmxfc2V0X25saW5rX3Vw cGVyKGRlbnRyeSk7Ci0JcmV2ZXJ0X2NyZWRzKG9sZF9jcmVkKTsKKwlvdmxfcmV2ZXJ0X2NyZWRz KGRlbnRyeS0+ZF9zYiwgb2xkX2NyZWQpOwogCiBvdXQ6CiAJaWYgKGVycikKQEAgLTgxNiw3ICs4 MjQsNyBAQCB2b2lkIG92bF9ubGlua19lbmQoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogCiAJCW9s ZF9jcmVkID0gb3ZsX292ZXJyaWRlX2NyZWRzKGRlbnRyeS0+ZF9zYik7CiAJCW92bF9jbGVhbnVw X2luZGV4KGRlbnRyeSk7Ci0JCXJldmVydF9jcmVkcyhvbGRfY3JlZCk7CisJCW92bF9yZXZlcnRf Y3JlZHMoZGVudHJ5LT5kX3NiLCBvbGRfY3JlZCk7CiAJfQogCiAJb3ZsX2lub2RlX3VubG9jayhp bm9kZSk7Ci0tIAoyLjIyLjAuNzcwLmcwZjJjNGEzN2ZkLWdvb2cKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXggTVREIGRpc2N1c3Np b24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtbXRkLwo=