From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 107430 invoked by alias); 8 Nov 2016 15:29:40 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 106829 invoked by uid 89); 8 Nov 2016 15:29:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RCVD_IN_SORBS_SPAM,SPF_PASS,T_FILL_THIS_FORM_SHORT autolearn=ham version=3.3.2 spammy= X-HELO: mail-qk0-f170.google.com Received: from mail-qk0-f170.google.com (HELO mail-qk0-f170.google.com) (209.85.220.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 08 Nov 2016 15:29:28 +0000 Received: by mail-qk0-f170.google.com with SMTP id n21so109823669qka.3 for ; Tue, 08 Nov 2016 07:29:27 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=jNBHPBZ21Zv1b96wP9Ro0T0uiD4DVGrbVL/SWZqkIgE=; b=Ogcd5rnm/uyqCYpXdM5jUfmAYbr3suAJGEyY9Ip6uZXetVHbJK5RXV36KT/F6/8BwR TZUI0NRt1Bg0VEsw3QlNikCgq1GJAs+tI/Lk6UwSKwzUyE/hGJ+NgU36J+BqisowFFdU m2zgsA85CFLbGkDu66ZR5P8NUj4tw8aFVhqbNs1GwcDofplzseNT2tG+w2zhnzMxjr83 IQCLscjN8aVYCULOXz+J94G4jGksFoDu1BE2df6bSLNBr2JSnm3RTubIxE760Vhfv+zZ 2/BZ1NXkhNfMiNr/g3QszcfXBmFfwbvKUAam+/XDxCeql8R4Iv0lNVzqZsyH8/FnoW/d 9GiQ== X-Gm-Message-State: ABUngveLUFgtmZj5LPmN4IOdbbBlqu/TeQN5XhCKxEOkcAgQz2WDGC/VSenGhyGXM+DhsUvgy7CNgzWB9DniCg== X-Received: by 10.55.26.156 with SMTP id l28mr13597723qkh.164.1478618966365; Tue, 08 Nov 2016 07:29:26 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.149.55 with HTTP; Tue, 8 Nov 2016 07:29:25 -0800 (PST) In-Reply-To: <20161108140122.DF34310B7A8@oc8523832656.ibm.com> References: <86wpge87zz.fsf@gmail.com> <20161108140122.DF34310B7A8@oc8523832656.ibm.com> From: Yao Qi Date: Tue, 08 Nov 2016 15:29:00 -0000 Message-ID: Subject: Re: [PATCH 2/2] Remove parameter valaddr from la_val_print To: Ulrich Weigand Cc: "gdb-patches@sourceware.org" Content-Type: multipart/mixed; boundary=001a11440ee04021600540cbce64 X-IsSubscribed: yes X-SW-Source: 2016-11/txt/msg00170.txt.bz2 --001a11440ee04021600540cbce64 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-length: 2022 On Tue, Nov 8, 2016 at 2:01 PM, Ulrich Weigand wrote: > Yao Qi wrote: > >> If we go to the direction you suggested, val_print routines shouldn't >> assume that VAL contents are already fetched. Before we do printing, >> optimized-out checking, or available checking, we should make sure VAL >> is not lazy. Nowadays, we can't fetch the value partially, because >> 'lazy' is a bool attribute, we either fetched all contents or haven't >> fetch all contents. > > Right. But if we ever went to actually create sub-value objects, then > we might be able to take advantage of only fetching the contents for > those sub-objects are actually printed. In any case, I still think > this new patch is preferable over calling value_fetch_lazy all the > time ... > >> How is the patch below? I don't write the ChangeLog entry yet. >> Regression tested on x86_64-linux. > > Looks good to me. Thanks, I'll push it in. > >> --- a/gdb/extension.c >> +++ b/gdb/extension.c >> @@ -478,9 +478,9 @@ free_ext_lang_type_printers (struct ext_lang_type_pr= int=3D >> ers *printers) >> xfree (printers); >> } >> =3D0C >> -/* Try to pretty-print a value of type TYPE located at VALADDR >> - + EMBEDDED_OFFSET, which came from the inferior at address ADDRESS >> - + EMBEDDED_OFFSET, onto stdio stream STREAM according to OPTIONS. >> +/* Try to pretty-print a value of type TYPE located at VAL's contents >> + buffer + EMBEDDED_OFFSET, which came from the inferior at address >> + ADDRESS + EMBEDDED_OFFSET, onto stdio stream STREAM according to OPT= ION=3D >> S. >> VAL is the whole object that came from ADDRESS. VALADDR must point = to >> the head of VAL's contents buffer. >> Returns non-zero if the value was successfully pretty-printed. > > This changes the comment but not the actual implementation, this seems > to be an oversight? > It is a mistake in patch splitting. It is removed from this patch. Patch attached is pushed in, with ChangeLog entry. --=20 Yao (=E9=BD=90=E5=B0=A7) --001a11440ee04021600540cbce64 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Remove-parameter-valaddr-from-la_val_print.patch" Content-Disposition: attachment; filename="0001-Remove-parameter-valaddr-from-la_val_print.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iv9niuzn0 Content-length: 110740 RnJvbSBlNmY3MGI1YzEyOGI1MTc5ZTA4NDFjYmU2NjJlMGE1N2I0ZTk0YWQ1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBZYW8gUWkgPHlhby5x aUBsaW5hcm8ub3JnPgpEYXRlOiBUdWUsIDggTm92IDIwMTYgMDk6NDI6MTMg KzAwMDAKU3ViamVjdDogW1BBVENIXSBSZW1vdmUgcGFyYW1ldGVyIHZhbGFk ZHIgZnJvbSBsYV92YWxfcHJpbnQKCk5vd2FkYXlzLCB3ZSBwYXNzIGJvdGgg dmFsIGFuZCByZXR1cm4gdmFsdWUgb2YKdmFsdWVfY29udGVudHNfZm9yX3By aW50aW5nICh2YWwpIHRvIGxhX3ZhbF9wcmludC4gIFRoZSBsYXR0ZXIgaXMK dW5uZWNlc3NhcnkuICBUaGlzIHBhdGNoIHJlbW92ZXMgdGhlIHNlY29uZCBw YXJhbWV0ZXIgb2YgbGFfdmFsX3ByaW50LAphbmQgZ2V0IHZhbGFkZHIgaW4g ZWFjaCBsYW5ndWFnZSdzIGltcGxlbWVudGF0aW9uIGJ5IGNhbGxpbmcKdmFs dWVfY29udGVudHNfZm9yX3ByaW50aW5nLiAgU2luY2UgdmFsdWVfY29udGVu dHNfZm9yX3ByaW50aW5nIGNhbGxzCnZhbHVlX2ZldGNoX2xhenksIEkgYWxz byBtYWtlIFZBTCBub24tY29uc3QuCgpOb3RlIHRoYXQKIC0gSSBkb24ndCBj bGVhbiB1cCB0aGUgdmFsYWRkciB1c2FnZXMgaW4gZWFjaCBsYW5ndWFnZSdz IHJvdXRpbmVzLAogLSBJIGRvbid0IHJlbW92ZSB2YWxhZGRyIGZyb20gYXBw bHlfZXh0X2xhbmdfdmFsX3ByZXR0eV9wcmludGVyLCBhbmQKICAgZXh0ZW5z aW9uIGxhbmd1YWdlIG9wcyBhcHBseV92YWxfcHJldHR5X3ByaW50ZXIuCgpU aGV5IGNhbiBiZSBkb25lIGluIGZvbGxvd3VwIHBhdGNoZXMuCgpnZGI6Cgoy MDE2LTExLTA4ICBZYW8gUWkgIDx5YW8ucWlAbGluYXJvLm9yZz4KCgkqIGFk YS1sYW5nLmggKGFkYV92YWxfcHJpbnQpOiBSZW1vdmUgc2Vjb25kIHBhcmFt ZXRlci4gIFJlbW92ZQoJY29uc3QgZnJvbSAic3RydWN0IHZhbHVlICoiLgoJ KiBhZGEtdmFscHJpbnQuYyAocHJpbnRfZmllbGRfdmFsdWVzKTogUmVtb3Zl IGNvbnN0IGZyb20KCSJzdHJ1Y3QgdmFsdWUgKiIuCgkodmFsX3ByaW50X3Bh Y2tlZF9hcnJheV9lbGVtZW50cyk6IExpa2V3aXNlLgoJKHByaW50X3Zhcmlh bnRfcGFydCk6IExpa2V3aXNlLgoJKGFkYV92YWxfcHJpbnRfc3RyaW5nKTog TGlrZXdpc2UuCgkoYWRhX3ZhbF9wcmludF9nbmF0X2FycmF5KTogTGlrZXdp c2UuCgkoYWRhX3ZhbF9wcmludF9wdHIpOiBMaWtld2lzZS4KCShhZGFfdmFs X3ByaW50X251bSk6IExpa2V3aXNlLgoJKGFkYV92YWxfcHJpbnRfZW51bSk6 IExpa2V3aXNlLgoJKGFkYV92YWxfcHJpbnRfZmx0KTogTGlrZXdpc2UuCgko YWRhX3ZhbF9wcmludF91bmlvbik6IExpa2V3aXNlLgoJKGFkYV92YWxfcHJp bnRfc3RydWN0X3VuaW9uKTogTGlrZXdpc2UuCgkoYWRhX3ZhbF9wcmludF9y ZWYpOiBMaWtld2lzZS4KCShhZGFfdmFsX3ByaW50XzEpOiBSZW1vdmUgc2Vj b25kIHBhcmFtZXRlci4gIFJlbW92ZSBjb25zdCBmcm9tCgkic3RydWN0IHZh bHVlICoiLgoJKGFkYV92YWxfcHJpbnQpOiBMaWtld2lzZS4KCSogYy1sYW5n LmggKGNfdmFsX3ByaW50KTogTGlrZXdpc2UuCgkqIGMtdmFscHJpbnQuYyAo Y192YWxfcHJpbnRfYXJyYXkpOiBSZW1vdmUgY29uc3QgZnJvbQoJInN0cnVj dCB2YWx1ZSAqIi4KCShjX3ZhbF9wcmludF9wdHIpOiBMaWtld2lzZS4KCShj X3ZhbF9wcmludF9zdHJ1Y3QpOiBMaWtld2lzZS4KCShjX3ZhbF9wcmludF91 bmlvbik6IExpa2V3aXNlLgoJKGNfdmFsX3ByaW50X2ludCk6IExpa2V3aXNl LgoJKGNfdmFsX3ByaW50X21lbWJlcnB0cik6IExpa2V3aXNlLgoJKGNfdmFs X3ByaW50KTogUmVtb3ZlIHNlY29uZCBwYXJhbWV0ZXIuICBSZW1vdmUgY29u c3QgZnJvbQoJInN0cnVjdCB2YWx1ZSAqIi4gIEFsbCBjYWxsZXJzIHVwZGF0 ZWQuCgkqIGNwLXZhbHByaW50LmMgKGNwX3ByaW50X3ZhbHVlKTogUmVtb3Zl IGNvbnN0IGZyb20KCSJzdHJ1Y3QgdmFsdWUgKiIuCgkoY3BfcHJpbnRfdmFs dWVfZmllbGRzKTogTGlrZXdpc2UuCgkoY192YWxfcHJpbnRfdmFsdWUpOiBM aWtld2lzZS4KCSogZC1sYW5nLmggKGRfdmFsX3ByaW50KTogUmVtb3ZlIHNl Y29uZCBwYXJhbWV0ZXIuICBSZW1vdmUgY29uc3QKCWZyb20gInN0cnVjdCB2 YWx1ZSAqIi4KCSogZC12YWxwcmludC5jIChkeW5hbWljX2FycmF5X3R5cGUp OiBMaWtld2lzZS4KCShkX3ZhbF9wcmludCk6IExpa2V3aXNlLgoJKiBmLWxh bmcuaCAoZl92YWxfcHJpbnQpOiBMaWtld2lzZS4KCSogZi12YWxwcmludC5j IChmX3ZhbF9wcmludCk6IExpa2V3aXNlLgoJKiBnby1sYW5nLmggKGdvX3Zh bF9wcmludCk6IExpa2V3aXNlLgoJKiBnby12YWxwcmludC5jIChwcmludF9n b19zdHJpbmcpOiBMaWtld2lzZS4KCShnb192YWxfcHJpbnQpOiBMaWtld2lz ZS4KCSogbGFuZ3VhZ2UuYyAodW5rX2xhbmdfdmFsX3ByaW50KTogTGlrZXdp c2UuCgkqIGxhbmd1YWdlLmggKHN0cnVjdCBsYW5ndWFnZV9kZWZuKSA8bGFf dmFsX3ByaW50PjogTGlrZXdpc2UuCglVcGRhdGUgY29tbWVudHMuCgkoTEFf VkFMX1BSSU5UKTogUmVtb3ZlLgoJKiBtMi1sYW5nLmggKG0yX3ZhbF9wcmlu dCk6IFJlbW92ZSBjb25zdCBmcm9tCgkic3RydWN0IHZhbHVlICoiLgoJKiBt Mi12YWxwcmludC5jIChtMl9wcmludF9hcnJheV9jb250ZW50cyk6IExpa2V3 aXNlLgoJKG0yX3ZhbF9wcmludCk6IExpa2V3aXNlLgoJKiBwLWxhbmcuaCAo cGFzY2FsX3ZhbF9wcmludCk6IFJlbW92ZSBzZWNvbmQgcGFyYW1ldGVyLiAg UmVtb3ZlCgljb25zdCBmcm9tICJzdHJ1Y3QgdmFsdWUgKiIuCgkocGFzY2Fs X29iamVjdF9wcmludF92YWx1ZV9maWVsZHMpOiBMaWtld2lzZS4KCSogcC12 YWxwcmludC5jIChwYXNjYWxfdmFsX3ByaW50KTogTGlrZXdpc2UuCgkocGFz Y2FsX29iamVjdF9wcmludF92YWx1ZV9maWVsZHMpOiBMaWtld2lzZS4KCShw YXNjYWxfb2JqZWN0X3ByaW50X3ZhbHVlKTogTGlrZXdpc2UuCgkqIHJ1c3Qt bGFuZy5jIChydXN0X2dldF9kaXNyX2luZm8pOiBMaWtld2lzZS4KCSh2YWxf cHJpbnRfc3RydWN0KTogTGlrZXdpc2UuCgkocnVzdF92YWxfcHJpbnQpOiBM aWtld2lzZS4KCSogdmFscHJpbnQuYyAoZ2VuZXJpY192YWxfcHJpbnRfYXJy YXkpOiBMaWtld2lzZS4KCShnZW5lcmljX3ZhbF9wcmludF9wdHIpOiBMaWtl d2lzZS4KCShnZW5lcmljX3ZhbF9wcmludF9tZW1iZXJwdHIpOiBMaWtld2lz ZS4KCShnZW5lcmljX3ZhbF9wcmludF9yZWYpOiBMaWtld2lzZS4KCShnZW5l cmljX3ZhbF9wcmludF9lbnVtKTogTGlrZXdpc2UuCgkoZ2VuZXJpY192YWxf cHJpbnRfZmxhZ3MpOiBMaWtld2lzZS4KCShnZW5lcmljX3ZhbF9wcmludF9m dW5jKTogTGlrZXdpc2UuCgkoZ2VuZXJpY192YWxfcHJpbnRfYm9vbCk6IExp a2V3aXNlLgoJKGdlbmVyaWNfdmFsX3ByaW50X2ludCk6IExpa2V3aXNlLgoJ KGdlbmVyaWNfdmFsX3ByaW50X2NoYXIpOiBMaWtld2lzZS4KCShnZW5lcmlj X3ZhbF9wcmludF9mbG9hdCk6IExpa2V3aXNlLgoJKGdlbmVyaWNfdmFsX3By aW50X2RlY2Zsb2F0KTogTGlrZXdpc2UuCgkoZ2VuZXJpY192YWxfcHJpbnRf Y29tcGxleCk6IExpa2V3aXNlLgoJKGdlbmVyaWNfdmFsX3ByaW50KTogTGlr ZXdpc2UuCgkodmFsX3ByaW50KTogTGlrZXdpc2UuCgkoY29tbW9uX3ZhbF9w cmludCk6IExpa2V3aXNlLgoJKHZhbF9wcmludF90eXBlX2NvZGVfZmxhZ3Mp OiBMaWtld2lzZS4KCSh2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCk6IExp a2V3aXNlLgoJKHZhbF9wcmludF9hcnJheV9lbGVtZW50cyk6IExpa2V3aXNl LgoJKiB2YWxwcmludC5oICh2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMpOiBV cGRhdGUgZGVjbGFyYXRpb24uCgkodmFsX3ByaW50X3NjYWxhcl9mb3JtYXR0 ZWQpOiBMaWtld2lzZS4KCShnZW5lcmljX3ZhbF9wcmludCk6IExpa2V3aXNl LgoJKiB2YWx1ZS5oICh2YWxfcHJpbnQpOiBMaWtld2lzZS4KLS0tCiBnZGIv Q2hhbmdlTG9nICAgICAgfCAgODQgKysrKysrKysrKysrKysrKysrKysrKysK IGdkYi9hZGEtbGFuZy5oICAgICB8ICAgNCArLQogZ2RiL2FkYS12YWxwcmlu dC5jIHwgIDY4ICsrKysrKysrKystLS0tLS0tLS0KIGdkYi9jLWxhbmcuaCAg ICAgICB8ICAgOCArLS0KIGdkYi9jLXZhbHByaW50LmMgICB8ICAzMyArKysr Ky0tLS0tCiBnZGIvY3AtdmFscHJpbnQuYyAgfCAgMTMgKystLQogZ2RiL2Qt bGFuZy5oICAgICAgIHwgICA0ICstCiBnZGIvZC12YWxwcmludC5jICAgfCAg MTQgKystLQogZ2RiL2YtbGFuZy5oICAgICAgIHwgICA0ICstCiBnZGIvZi12 YWxwcmludC5jICAgfCAgMTMgKystLQogZ2RiL2dvLWxhbmcuaCAgICAgIHwg ICA0ICstCiBnZGIvZ28tdmFscHJpbnQuYyAgfCAgMTQgKystLQogZ2RiL2lu ZmNtZC5jICAgICAgIHwgICAzIC0KIGdkYi9sYW5ndWFnZS5jICAgICB8ICAg NCArLQogZ2RiL2xhbmd1YWdlLmggICAgIHwgICA5ICstLQogZ2RiL20yLWxh bmcuaCAgICAgIHwgICA0ICstCiBnZGIvbTItdmFscHJpbnQuYyAgfCAgMTkg KysrLS0tCiBnZGIvbWkvbWktbWFpbi5jICAgfCAgIDEgLQogZ2RiL21pcHMt dGRlcC5jICAgIHwgICAxIC0KIGdkYi9tdC10ZGVwLmMgICAgICB8ICAgMSAt CiBnZGIvcC1sYW5nLmggICAgICAgfCAgIDYgKy0KIGdkYi9wLXZhbHByaW50 LmMgICB8ICAxOSArKystLS0KIGdkYi9wcmludGNtZC5jICAgICB8ICAgMSAt CiBnZGIvcnVzdC1sYW5nLmMgICAgfCAgMjggKysrKy0tLS0KIGdkYi9zaDY0 LXRkZXAuYyAgICB8ICAgNCArLQogZ2RiL3ZhbHByaW50LmMgICAgIHwgMTkw ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiBnZGIvdmFscHJpbnQuaCAgICAgfCAgMTIgKystLQogZ2Ri L3ZhbHVlLmggICAgICAgIHwgICA0ICstCiAyOCBmaWxlcyBjaGFuZ2VkLCAz MzQgaW5zZXJ0aW9ucygrKSwgMjM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2dkYi9DaGFuZ2VMb2cgYi9nZGIvQ2hhbmdlTG9nCmluZGV4IGNjN2Y5 YTAuLjBmYzUxOGMgMTAwNjQ0Ci0tLSBhL2dkYi9DaGFuZ2VMb2cKKysrIGIv Z2RiL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDg5IEBACiAyMDE2LTExLTA4ICBZ YW8gUWkgIDx5YW8ucWlAbGluYXJvLm9yZz4KIAorCSogYWRhLWxhbmcuaCAo YWRhX3ZhbF9wcmludCk6IFJlbW92ZSBzZWNvbmQgcGFyYW1ldGVyLiAgUmVt b3ZlCisJY29uc3QgZnJvbSAic3RydWN0IHZhbHVlICoiLgorCSogYWRhLXZh bHByaW50LmMgKHByaW50X2ZpZWxkX3ZhbHVlcyk6IFJlbW92ZSBjb25zdCBm cm9tCisJInN0cnVjdCB2YWx1ZSAqIi4KKwkodmFsX3ByaW50X3BhY2tlZF9h cnJheV9lbGVtZW50cyk6IExpa2V3aXNlLgorCShwcmludF92YXJpYW50X3Bh cnQpOiBMaWtld2lzZS4KKwkoYWRhX3ZhbF9wcmludF9zdHJpbmcpOiBMaWtl d2lzZS4KKwkoYWRhX3ZhbF9wcmludF9nbmF0X2FycmF5KTogTGlrZXdpc2Uu CisJKGFkYV92YWxfcHJpbnRfcHRyKTogTGlrZXdpc2UuCisJKGFkYV92YWxf cHJpbnRfbnVtKTogTGlrZXdpc2UuCisJKGFkYV92YWxfcHJpbnRfZW51bSk6 IExpa2V3aXNlLgorCShhZGFfdmFsX3ByaW50X2ZsdCk6IExpa2V3aXNlLgor CShhZGFfdmFsX3ByaW50X3VuaW9uKTogTGlrZXdpc2UuCisJKGFkYV92YWxf cHJpbnRfc3RydWN0X3VuaW9uKTogTGlrZXdpc2UuCisJKGFkYV92YWxfcHJp bnRfcmVmKTogTGlrZXdpc2UuCisJKGFkYV92YWxfcHJpbnRfMSk6IFJlbW92 ZSBzZWNvbmQgcGFyYW1ldGVyLiAgUmVtb3ZlIGNvbnN0IGZyb20KKwkic3Ry dWN0IHZhbHVlICoiLgorCShhZGFfdmFsX3ByaW50KTogTGlrZXdpc2UuCisJ KiBjLWxhbmcuaCAoY192YWxfcHJpbnQpOiBMaWtld2lzZS4KKwkqIGMtdmFs cHJpbnQuYyAoY192YWxfcHJpbnRfYXJyYXkpOiBSZW1vdmUgY29uc3QgZnJv bQorCSJzdHJ1Y3QgdmFsdWUgKiIuCisJKGNfdmFsX3ByaW50X3B0cik6IExp a2V3aXNlLgorCShjX3ZhbF9wcmludF9zdHJ1Y3QpOiBMaWtld2lzZS4KKwko Y192YWxfcHJpbnRfdW5pb24pOiBMaWtld2lzZS4KKwkoY192YWxfcHJpbnRf aW50KTogTGlrZXdpc2UuCisJKGNfdmFsX3ByaW50X21lbWJlcnB0cik6IExp a2V3aXNlLgorCShjX3ZhbF9wcmludCk6IFJlbW92ZSBzZWNvbmQgcGFyYW1l dGVyLiAgUmVtb3ZlIGNvbnN0IGZyb20KKwkic3RydWN0IHZhbHVlICoiLiAg QWxsIGNhbGxlcnMgdXBkYXRlZC4KKwkqIGNwLXZhbHByaW50LmMgKGNwX3By aW50X3ZhbHVlKTogUmVtb3ZlIGNvbnN0IGZyb20KKwkic3RydWN0IHZhbHVl ICoiLgorCShjcF9wcmludF92YWx1ZV9maWVsZHMpOiBMaWtld2lzZS4KKwko Y192YWxfcHJpbnRfdmFsdWUpOiBMaWtld2lzZS4KKwkqIGQtbGFuZy5oIChk X3ZhbF9wcmludCk6IFJlbW92ZSBzZWNvbmQgcGFyYW1ldGVyLiAgUmVtb3Zl IGNvbnN0CisJZnJvbSAic3RydWN0IHZhbHVlICoiLgorCSogZC12YWxwcmlu dC5jIChkeW5hbWljX2FycmF5X3R5cGUpOiBMaWtld2lzZS4KKwkoZF92YWxf cHJpbnQpOiBMaWtld2lzZS4KKwkqIGYtbGFuZy5oIChmX3ZhbF9wcmludCk6 IExpa2V3aXNlLgorCSogZi12YWxwcmludC5jIChmX3ZhbF9wcmludCk6IExp a2V3aXNlLgorCSogZ28tbGFuZy5oIChnb192YWxfcHJpbnQpOiBMaWtld2lz ZS4KKwkqIGdvLXZhbHByaW50LmMgKHByaW50X2dvX3N0cmluZyk6IExpa2V3 aXNlLgorCShnb192YWxfcHJpbnQpOiBMaWtld2lzZS4KKwkqIGxhbmd1YWdl LmMgKHVua19sYW5nX3ZhbF9wcmludCk6IExpa2V3aXNlLgorCSogbGFuZ3Vh Z2UuaCAoc3RydWN0IGxhbmd1YWdlX2RlZm4pIDxsYV92YWxfcHJpbnQ+OiBM aWtld2lzZS4KKwlVcGRhdGUgY29tbWVudHMuCisJKExBX1ZBTF9QUklOVCk6 IFJlbW92ZS4KKwkqIG0yLWxhbmcuaCAobTJfdmFsX3ByaW50KTogUmVtb3Zl IGNvbnN0IGZyb20KKwkic3RydWN0IHZhbHVlICoiLgorCSogbTItdmFscHJp bnQuYyAobTJfcHJpbnRfYXJyYXlfY29udGVudHMpOiBMaWtld2lzZS4KKwko bTJfdmFsX3ByaW50KTogTGlrZXdpc2UuCisJKiBwLWxhbmcuaCAocGFzY2Fs X3ZhbF9wcmludCk6IFJlbW92ZSBzZWNvbmQgcGFyYW1ldGVyLiAgUmVtb3Zl CisJY29uc3QgZnJvbSAic3RydWN0IHZhbHVlICoiLgorCShwYXNjYWxfb2Jq ZWN0X3ByaW50X3ZhbHVlX2ZpZWxkcyk6IExpa2V3aXNlLgorCSogcC12YWxw cmludC5jIChwYXNjYWxfdmFsX3ByaW50KTogTGlrZXdpc2UuCisJKHBhc2Nh bF9vYmplY3RfcHJpbnRfdmFsdWVfZmllbGRzKTogTGlrZXdpc2UuCisJKHBh c2NhbF9vYmplY3RfcHJpbnRfdmFsdWUpOiBMaWtld2lzZS4KKwkqIHJ1c3Qt bGFuZy5jIChydXN0X2dldF9kaXNyX2luZm8pOiBMaWtld2lzZS4KKwkodmFs X3ByaW50X3N0cnVjdCk6IExpa2V3aXNlLgorCShydXN0X3ZhbF9wcmludCk6 IExpa2V3aXNlLgorCSogdmFscHJpbnQuYyAoZ2VuZXJpY192YWxfcHJpbnRf YXJyYXkpOiBMaWtld2lzZS4KKwkoZ2VuZXJpY192YWxfcHJpbnRfcHRyKTog TGlrZXdpc2UuCisJKGdlbmVyaWNfdmFsX3ByaW50X21lbWJlcnB0cik6IExp a2V3aXNlLgorCShnZW5lcmljX3ZhbF9wcmludF9yZWYpOiBMaWtld2lzZS4K KwkoZ2VuZXJpY192YWxfcHJpbnRfZW51bSk6IExpa2V3aXNlLgorCShnZW5l cmljX3ZhbF9wcmludF9mbGFncyk6IExpa2V3aXNlLgorCShnZW5lcmljX3Zh bF9wcmludF9mdW5jKTogTGlrZXdpc2UuCisJKGdlbmVyaWNfdmFsX3ByaW50 X2Jvb2wpOiBMaWtld2lzZS4KKwkoZ2VuZXJpY192YWxfcHJpbnRfaW50KTog TGlrZXdpc2UuCisJKGdlbmVyaWNfdmFsX3ByaW50X2NoYXIpOiBMaWtld2lz ZS4KKwkoZ2VuZXJpY192YWxfcHJpbnRfZmxvYXQpOiBMaWtld2lzZS4KKwko Z2VuZXJpY192YWxfcHJpbnRfZGVjZmxvYXQpOiBMaWtld2lzZS4KKwkoZ2Vu ZXJpY192YWxfcHJpbnRfY29tcGxleCk6IExpa2V3aXNlLgorCShnZW5lcmlj X3ZhbF9wcmludCk6IExpa2V3aXNlLgorCSh2YWxfcHJpbnQpOiBMaWtld2lz ZS4KKwkoY29tbW9uX3ZhbF9wcmludCk6IExpa2V3aXNlLgorCSh2YWxfcHJp bnRfdHlwZV9jb2RlX2ZsYWdzKTogTGlrZXdpc2UuCisJKHZhbF9wcmludF9z Y2FsYXJfZm9ybWF0dGVkKTogTGlrZXdpc2UuCisJKHZhbF9wcmludF9hcnJh eV9lbGVtZW50cyk6IExpa2V3aXNlLgorCSogdmFscHJpbnQuaCAodmFsX3By aW50X2FycmF5X2VsZW1lbnRzKTogVXBkYXRlIGRlY2xhcmF0aW9uLgorCSh2 YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCk6IExpa2V3aXNlLgorCShnZW5l cmljX3ZhbF9wcmludCk6IExpa2V3aXNlLgorCSogdmFsdWUuaCAodmFsX3By aW50KTogTGlrZXdpc2UuCisKKzIwMTYtMTEtMDggIFlhbyBRaSAgPHlhby5x aUBsaW5hcm8ub3JnPgorCiAJKiBhYXJjaDY0LXRkZXAuYyAoYWFyY2g2NF9z b2Z0d2FyZV9zaW5nbGVfc3RlcCk6IFJldHVybgogCVZFQyAoQ09SRV9BRERS KSAqLiAgUmV0dXJuIE5VTEwgaW5zdGVhZCBvZiAwLiAgRG9uJ3QgY2FsbAog CWluc2VydF9zaW5nbGVfc3RlcF9icmVha3BvaW50LgpkaWZmIC0tZ2l0IGEv Z2RiL2FkYS1sYW5nLmggYi9nZGIvYWRhLWxhbmcuaAppbmRleCA3ZGU3MWVi Li5kYWE1OWU1IDEwMDY0NAotLS0gYS9nZGIvYWRhLWxhbmcuaAorKysgYi9n ZGIvYWRhLWxhbmcuaApAQCAtMTY4LDkgKzE2OCw5IEBAIGV4dGVybiB2b2lk IGFkYV9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqLCBjb25zdCBjaGFyICos IHN0cnVjdCB1aV9maWxlICosIGludCwKIGV4dGVybiB2b2lkIGFkYV9wcmlu dF90eXBlZGVmIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHN5bWJvbCAq bmV3X3N5bWJvbCwKIAkJCSAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt KTsKIAotZXh0ZXJuIHZvaWQgYWRhX3ZhbF9wcmludCAoc3RydWN0IHR5cGUg KiwgY29uc3QgZ2RiX2J5dGUgKiwgaW50LCBDT1JFX0FERFIsCitleHRlcm4g dm9pZCBhZGFfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLCBpbnQsIENPUkVf QUREUiwKIAkJCSAgIHN0cnVjdCB1aV9maWxlICosIGludCwKLQkJCSAgIGNv bnN0IHN0cnVjdCB2YWx1ZSAqLAorCQkJICAgc3RydWN0IHZhbHVlICosCiAJ CQkgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKIAog ZXh0ZXJuIHZvaWQgYWRhX3ZhbHVlX3ByaW50IChzdHJ1Y3QgdmFsdWUgKiwg c3RydWN0IHVpX2ZpbGUgKiwKZGlmZiAtLWdpdCBhL2dkYi9hZGEtdmFscHJp bnQuYyBiL2dkYi9hZGEtdmFscHJpbnQuYwppbmRleCA2YjRiNmQ0Li5iMDAx ZDMzIDEwMDY0NAotLS0gYS9nZGIvYWRhLXZhbHByaW50LmMKKysrIGIvZ2Ri L2FkYS12YWxwcmludC5jCkBAIC0zNSw3ICszNSw3IEBACiBzdGF0aWMgaW50 IHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5cGUgKiwgY29uc3QgZ2Ri X2J5dGUgKiwKIAkJCSAgICAgICBpbnQsCiAJCQkgICAgICAgc3RydWN0IHVp X2ZpbGUgKiwgaW50LAotCQkJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAq LAorCQkJICAgICAgIHN0cnVjdCB2YWx1ZSAqLAogCQkJICAgICAgIGNvbnN0 IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICosCiAJCQkgICAgICAgaW50 LCBzdHJ1Y3QgdHlwZSAqLCBpbnQsCiAJCQkgICAgICAgY29uc3Qgc3RydWN0 IGxhbmd1YWdlX2RlZm4gKik7CkBAIC0xMjIsNyArMTIyLDcgQEAgdmFsX3By aW50X3BhY2tlZF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUs IGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogCQkJCSBpbnQgb2Zmc2V0LAog CQkJCSBpbnQgYml0b2Zmc2V0LCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAog CQkJCSBpbnQgcmVjdXJzZSwKLQkJCQkgY29uc3Qgc3RydWN0IHZhbHVlICp2 YWwsCisJCQkJIHN0cnVjdCB2YWx1ZSAqdmFsLAogCQkJCSBjb25zdCBzdHJ1 Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKIHsKICAgdW5zaWdu ZWQgaW50IGk7CkBAIC0xOTYsNyArMTk2LDcgQEAgdmFsX3ByaW50X3BhY2tl ZF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdk Yl9ieXRlICp2YWxhZGRyLAogCSAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlv bnMgb3B0cyA9ICpvcHRpb25zOwogCiAJICBvcHRzLmRlcmVmX3JlZiA9IDA7 Ci0JICB2YWxfcHJpbnQgKGVsdHR5cGUsIHZhbHVlX2NvbnRlbnRzX2Zvcl9w cmludGluZyAodjApLAorCSAgdmFsX3ByaW50IChlbHR0eXBlLAogCQkgICAg IHZhbHVlX2VtYmVkZGVkX29mZnNldCAodjApLCAwLCBzdHJlYW0sCiAJCSAg ICAgcmVjdXJzZSArIDEsIHYwLCAmb3B0cywgY3VycmVudF9sYW5ndWFnZSk7 CiAJICBhbm5vdGF0ZV9lbHRfcmVwIChpIC0gaTApOwpAQCAtMjI3LDcgKzIy Nyw3IEBAIHZhbF9wcmludF9wYWNrZWRfYXJyYXlfZWxlbWVudHMgKHN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAkJICBt YXliZV9wcmludF9hcnJheV9pbmRleCAoaW5kZXhfdHlwZSwgaiArIGxvdywK IAkJCQkJICAgc3RyZWFtLCBvcHRpb25zKTsKIAkJfQotCSAgICAgIHZhbF9w cmludCAoZWx0dHlwZSwgdmFsdWVfY29udGVudHNfZm9yX3ByaW50aW5nICh2 MCksCisJICAgICAgdmFsX3ByaW50IChlbHR0eXBlLAogCQkJIHZhbHVlX2Vt YmVkZGVkX29mZnNldCAodjApLCAwLCBzdHJlYW0sCiAJCQkgcmVjdXJzZSAr IDEsIHYwLCAmb3B0cywgY3VycmVudF9sYW5ndWFnZSk7CiAJICAgICAgYW5u b3RhdGVfZWx0ICgpOwpAQCAtNTMzLDcgKzUzMyw3IEBAIHN0YXRpYyBpbnQK IHByaW50X3ZhcmlhbnRfcGFydCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBm aWVsZF9udW0sCiAJCSAgICBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwgaW50 IG9mZnNldCwKIAkJICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCBy ZWN1cnNlLAotCQkgICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCisJCSAg ICBzdHJ1Y3QgdmFsdWUgKnZhbCwKIAkJICAgIGNvbnN0IHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAogCQkgICAgaW50IGNvbW1hX25l ZWRlZCwKIAkJICAgIHN0cnVjdCB0eXBlICpvdXRlcl90eXBlLCBpbnQgb3V0 ZXJfb2Zmc2V0LApAQCAtNTczLDcgKzU3Myw3IEBAIHByaW50X3ZhcmlhbnRf cGFydCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZF9udW0sCiBzdGF0 aWMgaW50CiBwcmludF9maWVsZF92YWx1ZXMgKHN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAkJICAgIGludCBvZmZzZXQs IHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotCQkgICAg Y29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCisJCSAgICBzdHJ1Y3QgdmFsdWUg KnZhbCwKIAkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25z ICpvcHRpb25zLAogCQkgICAgaW50IGNvbW1hX25lZWRlZCwKIAkJICAgIHN0 cnVjdCB0eXBlICpvdXRlcl90eXBlLCBpbnQgb3V0ZXJfb2Zmc2V0LApAQCAt NjMzLDggKzYzMyw2IEBAIHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogCiAgICAgICBp ZiAoVFlQRV9GSUVMRF9QQUNLRUQgKHR5cGUsIGkpKQogCXsKLQkgIHN0cnVj dCB2YWx1ZSAqdjsKLQogCSAgLyogQml0ZmllbGRzIHJlcXVpcmUgc3BlY2lh bCBoYW5kbGluZywgZXNwZWNpYWxseSBkdWUgdG8gYnl0ZQogCSAgICAgb3Jk ZXIgcHJvYmxlbXMuICAqLwogCSAgaWYgKEhBVkVfQ1BMVVNfU1RSVUNUICh0 eXBlKSAmJiBUWVBFX0ZJRUxEX0lHTk9SRSAodHlwZSwgaSkpCkBAIC02NDMs NiArNjQxLDcgQEAgcHJpbnRfZmllbGRfdmFsdWVzIChzdHJ1Y3QgdHlwZSAq dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAJICAgIH0KIAkgIGVs c2UKIAkgICAgeworCSAgICAgIHN0cnVjdCB2YWx1ZSAqdjsKIAkgICAgICBp bnQgYml0X3BvcyA9IFRZUEVfRklFTERfQklUUE9TICh0eXBlLCBpKTsKIAkg ICAgICBpbnQgYml0X3NpemUgPSBUWVBFX0ZJRUxEX0JJVFNJWkUgKHR5cGUs IGkpOwogCSAgICAgIHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zIG9wdHM7 CkBAIC02NTYsNyArNjU1LDYgQEAgcHJpbnRfZmllbGRfdmFsdWVzIChzdHJ1 Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAJICAg ICAgb3B0cyA9ICpvcHRpb25zOwogCSAgICAgIG9wdHMuZGVyZWZfcmVmID0g MDsKIAkgICAgICB2YWxfcHJpbnQgKFRZUEVfRklFTERfVFlQRSAodHlwZSwg aSksCi0JCQkgdmFsdWVfY29udGVudHNfZm9yX3ByaW50aW5nICh2KSwKIAkJ CSB2YWx1ZV9lbWJlZGRlZF9vZmZzZXQgKHYpLCAwLAogCQkJIHN0cmVhbSwg cmVjdXJzZSArIDEsIHYsCiAJCQkgJm9wdHMsIGxhbmd1YWdlKTsKQEAgLTY2 Nyw3ICs2NjUsNyBAQCBwcmludF9maWVsZF92YWx1ZXMgKHN0cnVjdCB0eXBl ICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAkgIHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zIG9wdHMgPSAqb3B0aW9uczsKIAogCSAgb3B0 cy5kZXJlZl9yZWYgPSAwOwotCSAgdmFsX3ByaW50IChUWVBFX0ZJRUxEX1RZ UEUgKHR5cGUsIGkpLCB2YWxhZGRyLAorCSAgdmFsX3ByaW50IChUWVBFX0ZJ RUxEX1RZUEUgKHR5cGUsIGkpLAogCQkgICAgIChvZmZzZXQgKyBUWVBFX0ZJ RUxEX0JJVFBPUyAodHlwZSwgaSkgLyBIT1NUX0NIQVJfQklUKSwKIAkJICAg ICAwLCBzdHJlYW0sIHJlY3Vyc2UgKyAxLCB2YWwsICZvcHRzLCBsYW5ndWFn ZSk7CiAJfQpAQCAtNjg0LDcgKzY4Miw3IEBAIHN0YXRpYyB2b2lkCiBhZGFf dmFsX3ByaW50X3N0cmluZyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdk Yl9ieXRlICp2YWxhZGRyLAogCQkgICAgICBpbnQgb2Zmc2V0LCBpbnQgb2Zm c2V0X2FsaWduZWQsIENPUkVfQUREUiBhZGRyZXNzLAogCQkgICAgICBzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLQkJICAgICAgY29u c3Qgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKKwkJICAgICAgc3Ry dWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKIAkJICAgICAgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiB7CiAgIGVudW0g YmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChn ZXRfdHlwZV9hcmNoICh0eXBlKSk7CkBAIC03MzIsNyArNzMwLDcgQEAgc3Rh dGljIHZvaWQKIGFkYV92YWxfcHJpbnRfZ25hdF9hcnJheSAoc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogCQkJICBpbnQg b2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKIAkJCSAgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0JCQkgIGNvbnN0IHN0cnVjdCB2 YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJCQkgIHN0cnVjdCB2YWx1ZSAqb3Jp Z2luYWxfdmFsdWUsCiAJCQkgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9v cHRpb25zICpvcHRpb25zLAogCQkJICBjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2Vf ZGVmbiAqbGFuZ3VhZ2UpCiB7CkBAIC03NTQsNyArNzUyLDcgQEAgYWRhX3Zh bF9wcmludF9nbmF0X2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Z2RiX2J5dGUgKnZhbGFkZHIsCiAgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChz dHJlYW0sICIweDAiKTsKICAgICB9CiAgIGVsc2UKLSAgICB2YWxfcHJpbnQg KHZhbHVlX3R5cGUgKHZhbCksIHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGlu ZyAodmFsKSwKKyAgICB2YWxfcHJpbnQgKHZhbHVlX3R5cGUgKHZhbCksCiAJ ICAgICAgIHZhbHVlX2VtYmVkZGVkX29mZnNldCAodmFsKSwgdmFsdWVfYWRk cmVzcyAodmFsKSwKIAkgICAgICAgc3RyZWFtLCByZWN1cnNlLCB2YWwsIG9w dGlvbnMsIGxhbmd1YWdlKTsKICAgdmFsdWVfZnJlZV90b19tYXJrIChtYXJr KTsKQEAgLTc2NywxMSArNzY1LDExIEBAIHN0YXRpYyB2b2lkCiBhZGFfdmFs X3ByaW50X3B0ciAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRl ICp2YWxhZGRyLAogCQkgICBpbnQgb2Zmc2V0LCBpbnQgb2Zmc2V0X2FsaWdu ZWQsIENPUkVfQUREUiBhZGRyZXNzLAogCQkgICBzdHJ1Y3QgdWlfZmlsZSAq c3RyZWFtLCBpbnQgcmVjdXJzZSwKLQkJICAgY29uc3Qgc3RydWN0IHZhbHVl ICpvcmlnaW5hbF92YWx1ZSwKKwkJICAgc3RydWN0IHZhbHVlICpvcmlnaW5h bF92YWx1ZSwKIAkJICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlv bnMgKm9wdGlvbnMsCiAJCSAgIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZu ICpsYW5ndWFnZSkKIHsKLSAgdmFsX3ByaW50ICh0eXBlLCB2YWxhZGRyLCBv ZmZzZXQsIGFkZHJlc3MsIHN0cmVhbSwgcmVjdXJzZSwKKyAgdmFsX3ByaW50 ICh0eXBlLCBvZmZzZXQsIGFkZHJlc3MsIHN0cmVhbSwgcmVjdXJzZSwKIAkg ICAgIG9yaWdpbmFsX3ZhbHVlLCBvcHRpb25zLCBsYW5ndWFnZV9kZWYgKGxh bmd1YWdlX2MpKTsKIAogICBpZiAoYWRhX2lzX3RhZ190eXBlICh0eXBlKSkK QEAgLTc5NCw3ICs3OTIsNyBAQCBzdGF0aWMgdm9pZAogYWRhX3ZhbF9wcmlu dF9udW0gKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFs YWRkciwKIAkJICAgaW50IG9mZnNldCwgaW50IG9mZnNldF9hbGlnbmVkLCBD T1JFX0FERFIgYWRkcmVzcywKIAkJICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgaW50IHJlY3Vyc2UsCi0JCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqb3Jp Z2luYWxfdmFsdWUsCisJCSAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFs dWUsCiAJCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpv cHRpb25zLAogCQkgICBjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFu Z3VhZ2UpCiB7CkBAIC04MjAsMTIgKzgxOCwxMiBAQCBhZGFfdmFsX3ByaW50 X251bSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyLAogCSAgICA9IHZhbHVlX2Zyb21fY29udGVudHNfYW5kX2FkZHJlc3Mg KHR5cGUsIHZhbGFkZHIgKyBvZmZzZXQsIDApOwogCSAgc3RydWN0IHZhbHVl ICp2ID0gdmFsdWVfY2FzdCAodGFyZ2V0X3R5cGUsIHYxKTsKIAotCSAgdmFs X3ByaW50ICh0YXJnZXRfdHlwZSwgdmFsdWVfY29udGVudHNfZm9yX3ByaW50 aW5nICh2KSwKKwkgIHZhbF9wcmludCAodGFyZ2V0X3R5cGUsCiAJCSAgICAg dmFsdWVfZW1iZWRkZWRfb2Zmc2V0ICh2KSwgMCwgc3RyZWFtLAogCQkgICAg IHJlY3Vyc2UgKyAxLCB2LCBvcHRpb25zLCBsYW5ndWFnZSk7CiAJfQogICAg ICAgZWxzZQotCXZhbF9wcmludCAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSks IHZhbGFkZHIsIG9mZnNldCwKKwl2YWxfcHJpbnQgKFRZUEVfVEFSR0VUX1RZ UEUgKHR5cGUpLCBvZmZzZXQsCiAJCSAgIGFkZHJlc3MsIHN0cmVhbSwgcmVj dXJzZSwgb3JpZ2luYWxfdmFsdWUsCiAJCSAgIG9wdGlvbnMsIGxhbmd1YWdl KTsKICAgICAgIHJldHVybjsKQEAgLTg0MCw3ICs4MzgsNyBAQCBhZGFfdmFs X3ByaW50X251bSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRl ICp2YWxhZGRyLAogCSAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgb3B0 cyA9ICpvcHRpb25zOwogCiAJICBvcHRzLmZvcm1hdCA9IGZvcm1hdDsKLQkg IHZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVkICh0eXBlLCB2YWxhZGRyLCBv ZmZzZXRfYWxpZ25lZCwKKwkgIHZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVk ICh0eXBlLCBvZmZzZXRfYWxpZ25lZCwKIAkJCQkgICAgICBvcmlnaW5hbF92 YWx1ZSwgJm9wdHMsIDAsIHN0cmVhbSk7CiAJfQogICAgICAgZWxzZSBpZiAo YWRhX2lzX3N5c3RlbV9hZGRyZXNzX3R5cGUgKHR5cGUpKQpAQCAtODg0LDcg Kzg4Miw3IEBAIHN0YXRpYyB2b2lkCiBhZGFfdmFsX3ByaW50X2VudW0gKHN0 cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAkJ ICAgIGludCBvZmZzZXQsIGludCBvZmZzZXRfYWxpZ25lZCwgQ09SRV9BRERS IGFkZHJlc3MsCiAJCSAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQg cmVjdXJzZSwKLQkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxf dmFsdWUsCisJCSAgICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAog CQkgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlv bnMsCiAJCSAgICBjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZ3Vh Z2UpCiB7CkBAIC04OTQsNyArODkyLDcgQEAgYWRhX3ZhbF9wcmludF9lbnVt IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIs CiAKICAgaWYgKG9wdGlvbnMtPmZvcm1hdCkKICAgICB7Ci0gICAgICB2YWxf cHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwgdmFsYWRkciwgb2Zmc2V0 X2FsaWduZWQsCisgICAgICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAo dHlwZSwgb2Zmc2V0X2FsaWduZWQsCiAJCQkJICBvcmlnaW5hbF92YWx1ZSwg b3B0aW9ucywgMCwgc3RyZWFtKTsKICAgICAgIHJldHVybjsKICAgICB9CkBA IC05MjgsMTMgKzkyNiwxMyBAQCBzdGF0aWMgdm9pZAogYWRhX3ZhbF9wcmlu dF9mbHQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFs YWRkciwKIAkJICAgaW50IG9mZnNldCwgaW50IG9mZnNldF9hbGlnbmVkLCBD T1JFX0FERFIgYWRkcmVzcywKIAkJICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgaW50IHJlY3Vyc2UsCi0JCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqb3Jp Z2luYWxfdmFsdWUsCisJCSAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFs dWUsCiAJCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpv cHRpb25zLAogCQkgICBjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFu Z3VhZ2UpCiB7CiAgIGlmIChvcHRpb25zLT5mb3JtYXQpCiAgICAgewotICAg ICAgdmFsX3ByaW50ICh0eXBlLCB2YWxhZGRyLCBvZmZzZXQsIGFkZHJlc3Ms IHN0cmVhbSwgcmVjdXJzZSwKKyAgICAgIHZhbF9wcmludCAodHlwZSwgb2Zm c2V0LCBhZGRyZXNzLCBzdHJlYW0sIHJlY3Vyc2UsCiAJCSBvcmlnaW5hbF92 YWx1ZSwgb3B0aW9ucywgbGFuZ3VhZ2VfZGVmIChsYW5ndWFnZV9jKSk7CiAg ICAgICByZXR1cm47CiAgICAgfQpAQCAtOTQ5LDcgKzk0Nyw3IEBAIHN0YXRp YyB2b2lkCiBhZGFfdmFsX3ByaW50X3N0cnVjdF91bmlvbgogICAoc3RydWN0 IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLCBpbnQgb2Zm c2V0LAogICAgaW50IG9mZnNldF9hbGlnbmVkLCBDT1JFX0FERFIgYWRkcmVz cywgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKLSAgIGludCByZWN1cnNlLCBj b25zdCBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAorICAgaW50IHJl Y3Vyc2UsIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAgICBjb25z dCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucywKICAgIGNv bnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5ndWFnZSkKIHsKQEAgLTk4 MCw3ICs5NzgsNyBAQCBzdGF0aWMgdm9pZAogYWRhX3ZhbF9wcmludF9hcnJh eSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LAogCQkgICAgIGludCBvZmZzZXQsIGludCBvZmZzZXRfYWxpZ25lZCwgQ09S RV9BRERSIGFkZHJlc3MsCiAJCSAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgaW50IHJlY3Vyc2UsCi0JCSAgICAgY29uc3Qgc3RydWN0IHZhbHVlICpv cmlnaW5hbF92YWx1ZSwKKwkJICAgICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFs X3ZhbHVlLAogCQkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRp b25zICpvcHRpb25zKQogewogICAvKiBGb3IgYW4gYXJyYXkgb2YgY2hhcmFj dGVycywgcHJpbnQgd2l0aCBzdHJpbmcgc3ludGF4LiAgKi8KQEAgLTEwMDAs NyArOTk4LDcgQEAgYWRhX3ZhbF9wcmludF9hcnJheSAoc3RydWN0IHR5cGUg KnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogCQkJCSAgICAgMCwg c3RyZWFtLCByZWN1cnNlLAogCQkJCSAgICAgb3JpZ2luYWxfdmFsdWUsIG9w dGlvbnMpOwogICBlbHNlCi0gICAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRz ICh0eXBlLCB2YWxhZGRyLCBvZmZzZXRfYWxpZ25lZCwgYWRkcmVzcywKKyAg ICB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHR5cGUsIG9mZnNldF9hbGln bmVkLCBhZGRyZXNzLAogCQkJICAgICAgc3RyZWFtLCByZWN1cnNlLCBvcmln aW5hbF92YWx1ZSwKIAkJCSAgICAgIG9wdGlvbnMsIDApOwogICBmcHJpbnRm X2ZpbHRlcmVkIChzdHJlYW0sICIpIik7CkBAIC0xMDEzLDcgKzEwMTEsNyBA QCBzdGF0aWMgdm9pZAogYWRhX3ZhbF9wcmludF9yZWYgKHN0cnVjdCB0eXBl ICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAkJICAgaW50IG9m ZnNldCwgaW50IG9mZnNldF9hbGlnbmVkLCBDT1JFX0FERFIgYWRkcmVzcywK IAkJICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0J CSAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJCSAg IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAJCSAgIGNvbnN0IHN0 cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAogCQkgICBjb25z dCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZ3VhZ2UpCiB7CkBAIC0xMDYz LDcgKzEwNjEsNiBAQCBhZGFfdmFsX3ByaW50X3JlZiAoc3RydWN0IHR5cGUg KnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICBhZGFfZW5zdXJl X3ZhcnNpemVfbGltaXQgKHZhbHVlX3R5cGUgKGRlcmVmX3ZhbCkpOwogCiAg IHZhbF9wcmludCAodmFsdWVfdHlwZSAoZGVyZWZfdmFsKSwKLQkgICAgIHZh bHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAoZGVyZWZfdmFsKSwKIAkgICAg IHZhbHVlX2VtYmVkZGVkX29mZnNldCAoZGVyZWZfdmFsKSwKIAkgICAgIHZh bHVlX2FkZHJlc3MgKGRlcmVmX3ZhbCksIHN0cmVhbSwgcmVjdXJzZSArIDEs CiAJICAgICBkZXJlZl92YWwsIG9wdGlvbnMsIGxhbmd1YWdlKTsKQEAgLTEw NzMsMTQgKzEwNzAsMTUgQEAgYWRhX3ZhbF9wcmludF9yZWYgKHN0cnVjdCB0 eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAgIGRvZXMg bm90IGNhdGNoIGV2YWx1YXRpb24gZXJyb3JzIChsZWF2aW5nIHRoYXQgdG8g YWRhX3ZhbF9wcmludCkuICAqLwogCiBzdGF0aWMgdm9pZAotYWRhX3ZhbF9w cmludF8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZh bGFkZHIsCithZGFfdmFsX3ByaW50XzEgKHN0cnVjdCB0eXBlICp0eXBlLAog CQkgaW50IG9mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCiAJCSBzdHJ1Y3Qg dWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLQkJIGNvbnN0IHN0cnVj dCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJCSBzdHJ1Y3QgdmFsdWUgKm9y aWdpbmFsX3ZhbHVlLAogCQkgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29w dGlvbnMgKm9wdGlvbnMsCiAJCSBjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVm biAqbGFuZ3VhZ2UpCiB7CiAgIGludCBvZmZzZXRfYWxpZ25lZDsKKyAgY29u c3QgZ2RiX2J5dGUgKnZhbGFkZHIgPSB2YWx1ZV9jb250ZW50c19mb3JfcHJp bnRpbmcgKG9yaWdpbmFsX3ZhbHVlKTsKIAogICB0eXBlID0gYWRhX2NoZWNr X3R5cGVkZWYgKHR5cGUpOwogCkBAIC0xMTAyLDcgKzExMDAsNyBAQCBhZGFf dmFsX3ByaW50XzEgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciwKICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUpKQogICAg IHsKICAgICBkZWZhdWx0OgotICAgICAgdmFsX3ByaW50ICh0eXBlLCB2YWxh ZGRyLCBvZmZzZXQsIGFkZHJlc3MsIHN0cmVhbSwgcmVjdXJzZSwKKyAgICAg IHZhbF9wcmludCAodHlwZSwgb2Zmc2V0LCBhZGRyZXNzLCBzdHJlYW0sIHJl Y3Vyc2UsCiAJCSBvcmlnaW5hbF92YWx1ZSwgb3B0aW9ucywgbGFuZ3VhZ2Vf ZGVmIChsYW5ndWFnZV9jKSk7CiAgICAgICBicmVhazsKIApAQCAtMTE1Niwx NyArMTE1NCwxNyBAQCBhZGFfdmFsX3ByaW50XzEgKHN0cnVjdCB0eXBlICp0 eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAgIGZ1bmN0aW9uOyB0 aGV5IGFyZSBpZGVudGljYWwuICAqLwogCiB2b2lkCi1hZGFfdmFsX3ByaW50 IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIs CithZGFfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwKIAkgICAgICAg aW50IGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCiAJICAg ICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotCSAg ICAgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCwKKwkgICAgICAgc3RydWN0 IHZhbHVlICp2YWwsCiAJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmlu dF9vcHRpb25zICpvcHRpb25zKQogewogCiAgIC8qIFhYWDogdGhpcyBjYXRj aGVzIFFVSVQvY3RybC1jIGFzIHdlbGwuICBJc24ndCB0aGF0IGJ1c3RlZD8g ICovCiAgIFRSWQogICAgIHsKLSAgICAgIGFkYV92YWxfcHJpbnRfMSAodHlw ZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LCBhZGRyZXNzLAorICAgICAg YWRhX3ZhbF9wcmludF8xICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsIGFkZHJl c3MsCiAJCSAgICAgICBzdHJlYW0sIHJlY3Vyc2UsIHZhbCwgb3B0aW9ucywK IAkJICAgICAgIGN1cnJlbnRfbGFuZ3VhZ2UpOwogICAgIH0KQEAgLTEyMjEs NyArMTIxOSw3IEBAIGFkYV92YWx1ZV9wcmludCAoc3RydWN0IHZhbHVlICp2 YWwwLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogCiAgIG9wdHMgPSAqb3B0 aW9uczsKICAgb3B0cy5kZXJlZl9yZWYgPSAxOwotICB2YWxfcHJpbnQgKHR5 cGUsIHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAodmFsKSwKKyAgdmFs X3ByaW50ICh0eXBlLAogCSAgICAgdmFsdWVfZW1iZWRkZWRfb2Zmc2V0ICh2 YWwpLCBhZGRyZXNzLAogCSAgICAgc3RyZWFtLCAwLCB2YWwsICZvcHRzLCBj dXJyZW50X2xhbmd1YWdlKTsKIH0KZGlmZiAtLWdpdCBhL2dkYi9jLWxhbmcu aCBiL2dkYi9jLWxhbmcuaAppbmRleCAxMmJlOGJmLi43OWY4NTgwIDEwMDY0 NAotLS0gYS9nZGIvYy1sYW5nLmgKKysrIGIvZ2RiL2MtbGFuZy5oCkBAIC03 NiwxMCArNzYsMTAgQEAgZXh0ZXJuIHZvaWQgY19wcmludF90eXBlZGVmIChz dHJ1Y3QgdHlwZSAqLAogCQkJICAgICBzdHJ1Y3Qgc3ltYm9sICosCiAJCQkg ICAgIHN0cnVjdCB1aV9maWxlICopOwogCi1leHRlcm4gdm9pZCBjX3ZhbF9w cmludCAoc3RydWN0IHR5cGUgKiwgY29uc3QgZ2RiX2J5dGUgKiwKK2V4dGVy biB2b2lkIGNfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLAogCQkJIGludCwg Q09SRV9BRERSLAogCQkJIHN0cnVjdCB1aV9maWxlICosIGludCwKLQkJCSBj b25zdCBzdHJ1Y3QgdmFsdWUgKiwKKwkJCSBzdHJ1Y3QgdmFsdWUgKiwKIAkJ CSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKIAogZXh0 ZXJuIHZvaWQgY192YWx1ZV9wcmludCAoc3RydWN0IHZhbHVlICosIHN0cnVj dCB1aV9maWxlICosCkBAIC0xMjUsMTQgKzEyNSwxNCBAQCBleHRlcm4gdm9p ZCBjcF9wcmludF9jbGFzc19tZW1iZXIgKGNvbnN0IGdkYl9ieXRlICosIHN0 cnVjdCB0eXBlICosCiBleHRlcm4gdm9pZCBjcF9wcmludF92YWx1ZV9maWVs ZHMgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICosCiAJCQkJICAgY29u c3QgZ2RiX2J5dGUgKiwgTE9OR0VTVCwgQ09SRV9BRERSLAogCQkJCSAgIHN0 cnVjdCB1aV9maWxlICosIGludCwKLQkJCQkgICBjb25zdCBzdHJ1Y3QgdmFs dWUgKiwKKwkJCQkgICBzdHJ1Y3QgdmFsdWUgKiwKIAkJCQkgICBjb25zdCBz dHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqLAogCQkJCSAgIHN0cnVjdCB0 eXBlICoqLCBpbnQpOwogCiBleHRlcm4gdm9pZCBjcF9wcmludF92YWx1ZV9m aWVsZHNfcnR0aSAoc3RydWN0IHR5cGUgKiwKIAkJCQkJY29uc3QgZ2RiX2J5 dGUgKiwgTE9OR0VTVCwgQ09SRV9BRERSLAogCQkJCQlzdHJ1Y3QgdWlfZmls ZSAqLCBpbnQsCi0JCQkJCWNvbnN0IHN0cnVjdCB2YWx1ZSAqLAorCQkJCQlz dHJ1Y3QgdmFsdWUgKiwKIAkJCQkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKiwKIAkJCQkJc3RydWN0IHR5cGUgKiosIGludCk7CiAKZGlm ZiAtLWdpdCBhL2dkYi9jLXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmludC5j CmluZGV4IDJjYjQxOGQuLmE5MGRhODggMTAwNjQ0Ci0tLSBhL2dkYi9jLXZh bHByaW50LmMKKysrIGIvZ2RiL2MtdmFscHJpbnQuYwpAQCAtMjMzLDcgKzIz Myw3IEBAIHN0YXRpYyB2b2lkCiBjX3ZhbF9wcmludF9hcnJheSAoc3RydWN0 IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogCQkgICBp bnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKIAkJICAg c3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0JCSAgIGNv bnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJCSAgIHN0cnVj dCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAJCSAgIGNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogewogICBzdHJ1Y3QgdHlw ZSAqdW5yZXNvbHZlZF9lbHR0eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAodHlw ZSk7CkBAIC0zMjUsNyArMzI1LDcgQEAgY192YWxfcHJpbnRfYXJyYXkgKHN0 cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAkg ICAgewogCSAgICAgIGkgPSAwOwogCSAgICB9Ci0JICB2YWxfcHJpbnRfYXJy YXlfZWxlbWVudHMgKHR5cGUsIHZhbGFkZHIsIGVtYmVkZGVkX29mZnNldCwK KwkgIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAodHlwZSwgZW1iZWRkZWRf b2Zmc2V0LAogCQkJCSAgICBhZGRyZXNzLCBzdHJlYW0sCiAJCQkJICAgIHJl Y3Vyc2UsIG9yaWdpbmFsX3ZhbHVlLCBvcHRpb25zLCBpKTsKIAkgIGZwcmlu dGZfZmlsdGVyZWQgKHN0cmVhbSwgIn0iKTsKQEAgLTM0NSw3ICszNDUsNyBA QCBjX3ZhbF9wcmludF9hcnJheSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0 IGdkYl9ieXRlICp2YWxhZGRyLAogc3RhdGljIHZvaWQKIGNfdmFsX3ByaW50 X3B0ciAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyLAogCQkgaW50IGVtYmVkZGVkX29mZnNldCwgc3RydWN0IHVpX2ZpbGUg KnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0JCSBjb25zdCBzdHJ1Y3QgdmFsdWUg Km9yaWdpbmFsX3ZhbHVlLAorCQkgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92 YWx1ZSwKIAkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpv cHRpb25zKQogewogICBzdHJ1Y3QgZ2RiYXJjaCAqYXJjaCA9IGdldF90eXBl X2FyY2ggKHR5cGUpOwpAQCAtMzUzLDcgKzM1Myw3IEBAIGNfdmFsX3ByaW50 X3B0ciAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyLAogCiAgIGlmIChvcHRpb25zLT5mb3JtYXQgJiYgb3B0aW9ucy0+Zm9y bWF0ICE9ICdzJykKICAgICB7Ci0gICAgICB2YWxfcHJpbnRfc2NhbGFyX2Zv cm1hdHRlZCAodHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LAorICAg ICAgdmFsX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKHR5cGUsIGVtYmVkZGVk X29mZnNldCwKIAkJCQkgIG9yaWdpbmFsX3ZhbHVlLCBvcHRpb25zLCAwLCBz dHJlYW0pOwogICAgIH0KICAgZWxzZSBpZiAob3B0aW9ucy0+dnRibHByaW50 ICYmIGNwX2lzX3Z0YmxfcHRyX3R5cGUgKHR5cGUpKQpAQCAtMzg2LDcgKzM4 Niw3IEBAIHN0YXRpYyB2b2lkCiBjX3ZhbF9wcmludF9zdHJ1Y3QgKHN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAkJICAg IGludCBlbWJlZGRlZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAogCQkg ICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0JCSAg ICBjb25zdCBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAorCQkgICAg c3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKIAkJICAgIGNvbnN0IHN0 cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogewogICBpZiAo b3B0aW9ucy0+dnRibHByaW50ICYmIGNwX2lzX3Z0YmxfcHRyX3R5cGUgKHR5 cGUpKQpAQCAtNDE4LDcgKzQxOCw3IEBAIHN0YXRpYyB2b2lkCiBjX3ZhbF9w cmludF91bmlvbiAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRl ICp2YWxhZGRyLAogCQkgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FE RFIgYWRkcmVzcywKIAkJICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50 IHJlY3Vyc2UsCi0JCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxf dmFsdWUsCisJCSAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAJ CSAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25z KQogewogICBpZiAocmVjdXJzZSAmJiAhb3B0aW9ucy0+dW5pb25wcmludCkK QEAgLTQzNyw3ICs0MzcsNyBAQCBjX3ZhbF9wcmludF91bmlvbiAoc3RydWN0 IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogc3RhdGlj IHZvaWQKIGNfdmFsX3ByaW50X2ludCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0 cnVjdCB0eXBlICp1bnJlc29sdmVkX3R5cGUsCiAJCSBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciwgaW50IGVtYmVkZGVkX29mZnNldCwKLQkJIHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sIGNvbnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxf dmFsdWUsCisJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdmFs dWUgKm9yaWdpbmFsX3ZhbHVlLAogCQkgY29uc3Qgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgKm9wdGlvbnMpCiB7CiAgIHN0cnVjdCBnZGJhcmNoICph cmNoID0gZ2V0X3R5cGVfYXJjaCAodHlwZSk7CkBAIC00NDksNyArNDQ5LDcg QEAgY192YWxfcHJpbnRfaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0 IHR5cGUgKnVucmVzb2x2ZWRfdHlwZSwKIAogICAgICAgb3B0cy5mb3JtYXQg PSAob3B0aW9ucy0+Zm9ybWF0ID8gb3B0aW9ucy0+Zm9ybWF0CiAJCSAgICAg OiBvcHRpb25zLT5vdXRwdXRfZm9ybWF0KTsKLSAgICAgIHZhbF9wcmludF9z Y2FsYXJfZm9ybWF0dGVkICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZz ZXQsCisgICAgICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwg ZW1iZWRkZWRfb2Zmc2V0LAogCQkJCSAgb3JpZ2luYWxfdmFsdWUsICZvcHRz LCAwLCBzdHJlYW0pOwogICAgIH0KICAgZWxzZQpAQCAtNDc2LDcgKzQ3Niw3 IEBAIHN0YXRpYyB2b2lkCiBjX3ZhbF9wcmludF9tZW1iZXJwdHIgKHN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAkJICAg ICAgIGludCBlbWJlZGRlZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAog CQkgICAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2Us Ci0JCSAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVl LAorCQkgICAgICAgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKIAkJ ICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRp b25zKQogewogICBpZiAoIW9wdGlvbnMtPmZvcm1hdCkKQEAgLTQ4NSw3ICs0 ODUsNyBAQCBjX3ZhbF9wcmludF9tZW1iZXJwdHIgKHN0cnVjdCB0eXBlICp0 eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAgICB9CiAgIGVsc2UK ICAgICB7Ci0gICAgICBnZW5lcmljX3ZhbF9wcmludCAodHlwZSwgdmFsYWRk ciwgZW1iZWRkZWRfb2Zmc2V0LCBhZGRyZXNzLCBzdHJlYW0sCisgICAgICBn ZW5lcmljX3ZhbF9wcmludCAodHlwZSwgZW1iZWRkZWRfb2Zmc2V0LCBhZGRy ZXNzLCBzdHJlYW0sCiAJCQkgcmVjdXJzZSwgb3JpZ2luYWxfdmFsdWUsIG9w dGlvbnMsICZjX2RlY29yYXRpb25zKTsKICAgICB9CiB9CkBAIC00OTQsMTMg KzQ5NCwxNCBAQCBjX3ZhbF9wcmludF9tZW1iZXJwdHIgKHN0cnVjdCB0eXBl ICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAgIGZ1bmN0aW9u OyB0aGV5IGFyZSBpZGVudGljYWwuICAqLwogCiB2b2lkCi1jX3ZhbF9wcmlu dCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LAorY192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAogCSAgICAgaW50 IGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCiAJICAgICBz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLQkgICAgIGNv bnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJICAgICBzdHJ1 Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogCSAgICAgY29uc3Qgc3RydWN0 IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiB7CiAgIHN0cnVjdCB0 eXBlICp1bnJlc29sdmVkX3R5cGUgPSB0eXBlOworICBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciA9IHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAob3Jp Z2luYWxfdmFsdWUpOwogCiAgIHR5cGUgPSBjaGVja190eXBlZGVmICh0eXBl KTsKICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUpKQpAQCAtNTU0LDcgKzU1 NSw3IEBAIGNfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Z2RiX2J5dGUgKnZhbGFkZHIsCiAgICAgY2FzZSBUWVBFX0NPREVfQ09NUExF WDoKICAgICBjYXNlIFRZUEVfQ09ERV9DSEFSOgogICAgIGRlZmF1bHQ6Ci0g ICAgICBnZW5lcmljX3ZhbF9wcmludCAodHlwZSwgdmFsYWRkciwgZW1iZWRk ZWRfb2Zmc2V0LCBhZGRyZXNzLAorICAgICAgZ2VuZXJpY192YWxfcHJpbnQg KHR5cGUsIGVtYmVkZGVkX29mZnNldCwgYWRkcmVzcywKIAkJCSBzdHJlYW0s IHJlY3Vyc2UsIG9yaWdpbmFsX3ZhbHVlLCBvcHRpb25zLAogCQkJICZjX2Rl Y29yYXRpb25zKTsKICAgICAgIGJyZWFrOwpAQCAtNjY5LDcgKzY3MCw3IEBA IGNfdmFsdWVfcHJpbnQgKHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLAogCSAgLyogUHJpbnQgb3V0IG9iamVjdDogZW5jbG9z aW5nIHR5cGUgaXMgc2FtZSBhcyByZWFsX3R5cGUgaWYKIAkgICAgIGZ1bGwu ICAqLwogCSAgdmFsX3ByaW50ICh2YWx1ZV9lbmNsb3NpbmdfdHlwZSAodmFs KSwKLQkJICAgICB2YWx1ZV9jb250ZW50c19mb3JfcHJpbnRpbmcgKHZhbCks IDAsCisJCSAgICAgMCwKIAkJICAgICB2YWx1ZV9hZGRyZXNzICh2YWwpLCBz dHJlYW0sIDAsCiAJCSAgICAgdmFsLCAmb3B0cywgY3VycmVudF9sYW5ndWFn ZSk7CiAJICByZXR1cm47CkBAIC02ODIsNyArNjgzLDcgQEAgY192YWx1ZV9w cmludCAoc3RydWN0IHZhbHVlICp2YWwsIHN0cnVjdCB1aV9maWxlICpzdHJl YW0sCiAJICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIoJXMgPykgIiwK IAkJCSAgICBUWVBFX05BTUUgKHZhbHVlX2VuY2xvc2luZ190eXBlICh2YWwp KSk7CiAJICB2YWxfcHJpbnQgKHZhbHVlX2VuY2xvc2luZ190eXBlICh2YWwp LAotCQkgICAgIHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAodmFsKSwg MCwKKwkJICAgICAwLAogCQkgICAgIHZhbHVlX2FkZHJlc3MgKHZhbCksIHN0 cmVhbSwgMCwKIAkJICAgICB2YWwsICZvcHRzLCBjdXJyZW50X2xhbmd1YWdl KTsKIAkgIHJldHVybjsKQEAgLTY5MCw3ICs2OTEsNyBAQCBjX3ZhbHVlX3By aW50IChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwKICAgICAgIC8qIE90aGVyd2lzZSwgd2UgZW5kIHVwIGF0IHRoZSByZXR1 cm4gb3V0c2lkZSB0aGlzICJpZiIuICAqLwogICAgIH0KIAotICB2YWxfcHJp bnQgKHZhbF90eXBlLCB2YWx1ZV9jb250ZW50c19mb3JfcHJpbnRpbmcgKHZh bCksCisgIHZhbF9wcmludCAodmFsX3R5cGUsCiAJICAgICB2YWx1ZV9lbWJl ZGRlZF9vZmZzZXQgKHZhbCksCiAJICAgICB2YWx1ZV9hZGRyZXNzICh2YWwp LAogCSAgICAgc3RyZWFtLCAwLApkaWZmIC0tZ2l0IGEvZ2RiL2NwLXZhbHBy aW50LmMgYi9nZGIvY3AtdmFscHJpbnQuYwppbmRleCA1ZmIyNTYxLi44MmU1 MDVhIDEwMDY0NAotLS0gYS9nZGIvY3AtdmFscHJpbnQuYworKysgYi9nZGIv Y3AtdmFscHJpbnQuYwpAQCAtODIsNyArODIsNyBAQCBzdGF0aWMgdm9pZCBj cF9wcmludF9zdGF0aWNfZmllbGQgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB2 YWx1ZSAqLAogc3RhdGljIHZvaWQgY3BfcHJpbnRfdmFsdWUgKHN0cnVjdCB0 eXBlICosIHN0cnVjdCB0eXBlICosCiAJCQkgICAgY29uc3QgZ2RiX2J5dGUg KiwgTE9OR0VTVCwKIAkJCSAgICBDT1JFX0FERFIsIHN0cnVjdCB1aV9maWxl ICosCi0JCQkgICAgaW50LCBjb25zdCBzdHJ1Y3QgdmFsdWUgKiwKKwkJCSAg ICBpbnQsIHN0cnVjdCB2YWx1ZSAqLAogCQkJICAgIGNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICosCiAJCQkgICAgc3RydWN0IHR5cGUgKiop OwogCkBAIC0xNTYsNyArMTU2LDcgQEAgdm9pZAogY3BfcHJpbnRfdmFsdWVf ZmllbGRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHR5cGUgKnJlYWxf dHlwZSwKIAkJICAgICAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLCBMT05H RVNUIG9mZnNldCwKIAkJICAgICAgIENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtLAotCQkgICAgICAgaW50IHJlY3Vyc2UsIGNv bnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAorCQkgICAgICAgaW50IHJlY3Vyc2Us IHN0cnVjdCB2YWx1ZSAqdmFsLAogCQkgICAgICAgY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCiAJCSAgICAgICBzdHJ1Y3Qg dHlwZSAqKmRvbnRfcHJpbnRfdmIsCiAJCSAgICAgICBpbnQgZG9udF9wcmlu dF9zdGF0bWVtKQpAQCAtMzUzLDcgKzM1Myw2IEBAIGNwX3ByaW50X3ZhbHVl X2ZpZWxkcyAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB0eXBlICpyZWFs X3R5cGUsCiAKIAkJICBvcHRzLmRlcmVmX3JlZiA9IDA7CiAJCSAgdmFsX3By aW50IChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpLAotCQkJICAgICB2YWxh ZGRyLCAKIAkJCSAgICAgb2Zmc2V0ICsgVFlQRV9GSUVMRF9CSVRQT1MgKHR5 cGUsIGkpIC8gOCwKIAkJCSAgICAgYWRkcmVzcywKIAkJCSAgICAgc3RyZWFt LCByZWN1cnNlICsgMSwgdmFsLCAmb3B0cywKQEAgLTQyMCw3ICs0MTksNyBA QCBjcF9wcmludF92YWx1ZV9maWVsZHNfcnR0aSAoc3RydWN0IHR5cGUgKnR5 cGUsCiAJCQkgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsIExPTkdFU1Qg b2Zmc2V0LAogCQkJICAgIENPUkVfQUREUiBhZGRyZXNzLAogCQkJICAgIHN0 cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotCQkJICAgIGNv bnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAorCQkJICAgIHN0cnVjdCB2YWx1ZSAq dmFsLAogCQkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25z ICpvcHRpb25zLAogCQkJICAgIHN0cnVjdCB0eXBlICoqZG9udF9wcmludF92 YiwgCiAJCQkgICAgaW50IGRvbnRfcHJpbnRfc3RhdG1lbSkKQEAgLTQ2Miw3 ICs0NjEsNyBAQCBzdGF0aWMgdm9pZAogY3BfcHJpbnRfdmFsdWUgKHN0cnVj dCB0eXBlICp0eXBlLCBzdHJ1Y3QgdHlwZSAqcmVhbF90eXBlLAogCQljb25z dCBnZGJfYnl0ZSAqdmFsYWRkciwgTE9OR0VTVCBvZmZzZXQsCiAJCUNPUkVf QUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAotCQlpbnQg cmVjdXJzZSwgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCisJCWludCByZWN1 cnNlLCBzdHJ1Y3QgdmFsdWUgKnZhbCwKIAkJY29uc3Qgc3RydWN0IHZhbHVl X3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCiAJCXN0cnVjdCB0eXBlICoqZG9u dF9wcmludF92YikKIHsKQEAgLTQ4OSw3ICs0ODgsNyBAQCBjcF9wcmludF92 YWx1ZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB0eXBlICpyZWFsX3R5 cGUsCiAgICAgICBzdHJ1Y3QgdHlwZSAqYmFzZWNsYXNzID0gY2hlY2tfdHlw ZWRlZiAoVFlQRV9CQVNFQ0xBU1MgKHR5cGUsIGkpKTsKICAgICAgIGNvbnN0 IGNoYXIgKmJhc2VuYW1lID0gVFlQRV9OQU1FIChiYXNlY2xhc3MpOwogICAg ICAgY29uc3QgZ2RiX2J5dGUgKmJhc2VfdmFsYWRkciA9IE5VTEw7Ci0gICAg ICBjb25zdCBzdHJ1Y3QgdmFsdWUgKmJhc2VfdmFsID0gTlVMTDsKKyAgICAg IHN0cnVjdCB2YWx1ZSAqYmFzZV92YWwgPSBOVUxMOwogCiAgICAgICBpZiAo QkFTRVRZUEVfVklBX1ZJUlRVQUwgKHR5cGUsIGkpKQogCXsKQEAgLTcwOCw3 ICs3MDcsNyBAQCBjcF9wcmludF9zdGF0aWNfZmllbGQgKHN0cnVjdCB0eXBl ICp0eXBlLAogCiAgIG9wdHMgPSAqb3B0aW9uczsKICAgb3B0cy5kZXJlZl9y ZWYgPSAwOwotICB2YWxfcHJpbnQgKHR5cGUsIHZhbHVlX2NvbnRlbnRzX2Zv cl9wcmludGluZyAodmFsKSwgCisgIHZhbF9wcmludCAodHlwZSwKIAkgICAg IHZhbHVlX2VtYmVkZGVkX29mZnNldCAodmFsKSwKIAkgICAgIHZhbHVlX2Fk ZHJlc3MgKHZhbCksCiAJICAgICBzdHJlYW0sIHJlY3Vyc2UsIHZhbCwKZGlm ZiAtLWdpdCBhL2dkYi9kLWxhbmcuaCBiL2dkYi9kLWxhbmcuaAppbmRleCA3 NGJlN2E1Li41MmY0ZTZhIDEwMDY0NAotLS0gYS9nZGIvZC1sYW5nLmgKKysr IGIvZ2RiL2QtbGFuZy5oCkBAIC04MCwxMCArODAsMTAgQEAgZXh0ZXJuIHN0 cnVjdCBibG9ja19zeW1ib2wgZF9sb29rdXBfbmVzdGVkX3N5bWJvbCAoc3Ry dWN0IHR5cGUgKiwgY29uc3QgY2hhciAqLAogCiAvKiBEZWZpbmVkIGluIGQt dmFscHJpbnQuYyAgKi8KIAotZXh0ZXJuIHZvaWQgZF92YWxfcHJpbnQgKHN0 cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKK2V4 dGVybiB2b2lkIGRfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwKIAkJ CSBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKIAkJ CSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLQkJCSBj b25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCwKKwkJCSBzdHJ1Y3QgdmFsdWUgKnZh bCwKIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0 aW9ucyk7CiAKICNlbmRpZiAvKiAhZGVmaW5lZCAoRF9MQU5HX0gpICovCmRp ZmYgLS1naXQgYS9nZGIvZC12YWxwcmludC5jIGIvZ2RiL2QtdmFscHJpbnQu YwppbmRleCA2MjA2ODhiLi4xMDliNTRmIDEwMDY0NAotLS0gYS9nZGIvZC12 YWxwcmludC5jCisrKyBiL2dkYi9kLXZhbHByaW50LmMKQEAgLTI4LDEwICsy OCwxMCBAQAogICAgVFlQRSBpcyBhIGR5bmFtaWMgYXJyYXksIG5vbi16ZXJv IG90aGVyd2lzZS4gICovCiAKIHN0YXRpYyBpbnQKLWR5bmFtaWNfYXJyYXlf dHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyLAorZHluYW1pY19hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwK IAkJICAgIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRk cmVzcywKIAkJICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1 cnNlLAotCQkgICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCisJCSAgICBz dHJ1Y3QgdmFsdWUgKnZhbCwKIAkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9w cmludF9vcHRpb25zICpvcHRpb25zKQogewogICBpZiAoVFlQRV9ORklFTERT ICh0eXBlKSA9PSAyCkBAIC00OCw2ICs0OCw3IEBAIGR5bmFtaWNfYXJyYXlf dHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyLAogICAgICAgc3RydWN0IHR5cGUgKnB0cl90eXBlOwogICAgICAgc3Ry dWN0IHZhbHVlICppdmFsOwogICAgICAgaW50IGxlbmd0aDsKKyAgICAgIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyID0gdmFsdWVfY29udGVudHNfZm9yX3By aW50aW5nICh2YWwpOwogCiAgICAgICBsZW5ndGggPSB1bnBhY2tfZmllbGRf YXNfbG9uZyAodHlwZSwgdmFsYWRkciArIGVtYmVkZGVkX29mZnNldCwgMCk7 CiAKQEAgLTYzLDcgKzY0LDYgQEAgZHluYW1pY19hcnJheV90eXBlIChzdHJ1 Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgICAg ICB0cnVlX3R5cGUgPSB2YWx1ZV90eXBlIChpdmFsKTsKIAogICAgICAgZF92 YWxfcHJpbnQgKHRydWVfdHlwZSwKLQkJICAgdmFsdWVfY29udGVudHNfZm9y X3ByaW50aW5nIChpdmFsKSwKIAkJICAgdmFsdWVfZW1iZWRkZWRfb2Zmc2V0 IChpdmFsKSwgYWRkciwKIAkJICAgc3RyZWFtLCByZWN1cnNlICsgMSwgaXZh bCwgb3B0aW9ucyk7CiAgICAgICByZXR1cm4gMDsKQEAgLTczLDkgKzczLDkg QEAgZHluYW1pY19hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29u c3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAKIC8qIEltcGxlbWVudHMgdGhlIGxh X3ZhbF9wcmludCByb3V0aW5lIGZvciBsYW5ndWFnZSBELiAgKi8KIHZvaWQK LWRfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5 dGUgKnZhbGFkZHIsIGludCBlbWJlZGRlZF9vZmZzZXQsCitkX3ZhbF9wcmlu dCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCiAg ICAgICAgICAgICAgQ09SRV9BRERSIGFkZHJlc3MsIHN0cnVjdCB1aV9maWxl ICpzdHJlYW0sIGludCByZWN1cnNlLAotCSAgICAgY29uc3Qgc3RydWN0IHZh bHVlICp2YWwsCisJICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9u cykKIHsKICAgaW50IHJldDsKQEAgLTg0LDEyICs4NCwxMiBAQCBkX3ZhbF9w cmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogICBzd2l0Y2ggKFRZUEVfQ09E RSAodHlwZSkpCiAgICAgewogICAgICAgY2FzZSBUWVBFX0NPREVfU1RSVUNU OgotICAgICAgICByZXQgPSBkeW5hbWljX2FycmF5X3R5cGUgKHR5cGUsIHZh bGFkZHIsIGVtYmVkZGVkX29mZnNldCwgYWRkcmVzcywKKwlyZXQgPSBkeW5h bWljX2FycmF5X3R5cGUgKHR5cGUsIGVtYmVkZGVkX29mZnNldCwgYWRkcmVz cywKIAkJCQkgIHN0cmVhbSwgcmVjdXJzZSwgdmFsLCBvcHRpb25zKTsKIAlp ZiAocmV0ID09IDApCiAJICBicmVhazsKICAgICAgIGRlZmF1bHQ6Ci0JY192 YWxfcHJpbnQgKHR5cGUsIHZhbGFkZHIsIGVtYmVkZGVkX29mZnNldCwgYWRk cmVzcywgc3RyZWFtLAorCWNfdmFsX3ByaW50ICh0eXBlLCBlbWJlZGRlZF9v ZmZzZXQsIGFkZHJlc3MsIHN0cmVhbSwKIAkJICAgICByZWN1cnNlLCB2YWws IG9wdGlvbnMpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL2dkYi9mLWxhbmcu aCBiL2dkYi9mLWxhbmcuaAppbmRleCA4Mjc3ODVhLi5hMDg2MTA1IDEwMDY0 NAotLS0gYS9nZGIvZi1sYW5nLmgKKysrIGIvZ2RiL2YtbGFuZy5oCkBAIC0z MCw5ICszMCw5IEBAIGV4dGVybiB2b2lkIGZfeXllcnJvciAoY2hhciAqKTsJ LyogRGVmaW5lZCBpbiBmLWV4cC55ICovCiBleHRlcm4gdm9pZCBmX3ByaW50 X3R5cGUgKHN0cnVjdCB0eXBlICosIGNvbnN0IGNoYXIgKiwgc3RydWN0IHVp X2ZpbGUgKiwgaW50LAogCQkJICBpbnQsIGNvbnN0IHN0cnVjdCB0eXBlX3By aW50X29wdGlvbnMgKik7CiAKLWV4dGVybiB2b2lkIGZfdmFsX3ByaW50IChz dHJ1Y3QgdHlwZSAqLCBjb25zdCBnZGJfYnl0ZSAqLCBpbnQsIENPUkVfQURE UiwKK2V4dGVybiB2b2lkIGZfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLCBp bnQsIENPUkVfQUREUiwKIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCi0J CQkgY29uc3Qgc3RydWN0IHZhbHVlICosCisJCQkgc3RydWN0IHZhbHVlICos CiAJCQkgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7CiAK IC8qIExhbmd1YWdlLXNwZWNpZmljIGRhdGEgc3RydWN0dXJlcyAqLwpkaWZm IC0tZ2l0IGEvZ2RiL2YtdmFscHJpbnQuYyBiL2dkYi9mLXZhbHByaW50LmMK aW5kZXggZTFhNjc3ZS4uYTM5YzgwMSAxMDA2NDQKLS0tIGEvZ2RiL2YtdmFs cHJpbnQuYworKysgYi9nZGIvZi12YWxwcmludC5jCkBAIC0xNTIsNyArMTUy LDYgQEAgZjc3X3ByaW50X2FycmF5XzEgKGludCBuc3MsIGludCBuZGltZW5z aW9ucywgc3RydWN0IHR5cGUgKnR5cGUsCiAJICBzdHJ1Y3QgdmFsdWUgKmVs dCA9IHZhbHVlX3N1YnNjcmlwdCAoKHN0cnVjdCB2YWx1ZSAqKXZhbCwgaSk7 CiAKIAkgIHZhbF9wcmludCAodmFsdWVfdHlwZSAoZWx0KSwKLQkJICAgICB2 YWx1ZV9jb250ZW50c19mb3JfcHJpbnRpbmcgKGVsdCksCiAJCSAgICAgdmFs dWVfZW1iZWRkZWRfb2Zmc2V0IChlbHQpLAogCQkgICAgIHZhbHVlX2FkZHJl c3MgKGVsdCksIHN0cmVhbSwgcmVjdXJzZSwKIAkJICAgICBlbHQsIG9wdGlv bnMsIGN1cnJlbnRfbGFuZ3VhZ2UpOwpAQCAtMjExLDkgKzIxMCw5IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZ2VuZXJpY192YWxfcHJpbnRfZGVjb3JhdGlv bnMgZl9kZWNvcmF0aW9ucyA9CiAgICBmdW5jdGlvbjsgdGhleSBhcmUgaWRl bnRpY2FsLiAgKi8KIAogdm9pZAotZl92YWxfcHJpbnQgKHN0cnVjdCB0eXBl ICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwgaW50IGVtYmVkZGVk X29mZnNldCwKK2ZfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50 IGVtYmVkZGVkX29mZnNldCwKIAkgICAgIENPUkVfQUREUiBhZGRyZXNzLCBz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLQkgICAgIGNv bnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJICAgICBzdHJ1 Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogCSAgICAgY29uc3Qgc3RydWN0 IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiB7CiAgIHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoID0gZ2V0X3R5cGVfYXJjaCAodHlwZSk7CkBAIC0y MjIsNiArMjIxLDcgQEAgZl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwgaW50IGVtYmVkZGVkX29mZnNl dCwKICAgc3RydWN0IHR5cGUgKmVsdHR5cGU7CiAgIENPUkVfQUREUiBhZGRy OwogICBpbnQgaW5kZXg7CisgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyID12 YWx1ZV9jb250ZW50c19mb3JfcHJpbnRpbmcgKG9yaWdpbmFsX3ZhbHVlKTsK IAogICB0eXBlID0gY2hlY2tfdHlwZWRlZiAodHlwZSk7CiAgIHN3aXRjaCAo VFlQRV9DT0RFICh0eXBlKSkKQEAgLTI1Niw3ICsyNTYsNyBAQCBmX3ZhbF9w cmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogICAgIGNhc2UgVFlQRV9DT0RF X1BUUjoKICAgICAgIGlmIChvcHRpb25zLT5mb3JtYXQgJiYgb3B0aW9ucy0+ Zm9ybWF0ICE9ICdzJykKIAl7Ci0JICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1h dHRlZCAodHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LAorCSAgdmFs X3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKHR5cGUsIGVtYmVkZGVkX29mZnNl dCwKIAkJCQkgICAgICBvcmlnaW5hbF92YWx1ZSwgb3B0aW9ucywgMCwgc3Ry ZWFtKTsKIAkgIGJyZWFrOwogCX0KQEAgLTMwNiw3ICszMDYsNyBAQCBmX3Zh bF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogCiAJICBvcHRzLmZvcm1h dCA9IChvcHRpb25zLT5mb3JtYXQgPyBvcHRpb25zLT5mb3JtYXQKIAkJCSA6 IG9wdGlvbnMtPm91dHB1dF9mb3JtYXQpOwotCSAgdmFsX3ByaW50X3NjYWxh cl9mb3JtYXR0ZWQgKHR5cGUsIHZhbGFkZHIsIGVtYmVkZGVkX29mZnNldCwK KwkgIHZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVkICh0eXBlLCBlbWJlZGRl ZF9vZmZzZXQsCiAJCQkJICAgICAgb3JpZ2luYWxfdmFsdWUsICZvcHRzLCAw LCBzdHJlYW0pOwogCX0KICAgICAgIGVsc2UKQEAgLTM1NSw3ICszNTUsNiBA QCBmX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9i eXRlICp2YWxhZGRyLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogCQl9CiAKIAkg ICAgICB2YWxfcHJpbnQgKHZhbHVlX3R5cGUgKGZpZWxkKSwKLQkJCSB2YWx1 ZV9jb250ZW50c19mb3JfcHJpbnRpbmcgKGZpZWxkKSwKIAkJCSB2YWx1ZV9l bWJlZGRlZF9vZmZzZXQgKGZpZWxkKSwKIAkJCSB2YWx1ZV9hZGRyZXNzIChm aWVsZCksIHN0cmVhbSwgcmVjdXJzZSArIDEsCiAJCQkgZmllbGQsIG9wdGlv bnMsIGN1cnJlbnRfbGFuZ3VhZ2UpOwpAQCAtMzc4LDcgKzM3Nyw3IEBAIGZf dmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUg KnZhbGFkZHIsIGludCBlbWJlZGRlZF9vZmZzZXQsCiAgICAgY2FzZSBUWVBF X0NPREVfQk9PTDoKICAgICBjYXNlIFRZUEVfQ09ERV9DSEFSOgogICAgIGRl ZmF1bHQ6Ci0gICAgICBnZW5lcmljX3ZhbF9wcmludCAodHlwZSwgdmFsYWRk ciwgZW1iZWRkZWRfb2Zmc2V0LCBhZGRyZXNzLAorICAgICAgZ2VuZXJpY192 YWxfcHJpbnQgKHR5cGUsIGVtYmVkZGVkX29mZnNldCwgYWRkcmVzcywKIAkJ CSBzdHJlYW0sIHJlY3Vyc2UsIG9yaWdpbmFsX3ZhbHVlLCBvcHRpb25zLAog CQkJICZmX2RlY29yYXRpb25zKTsKICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0 IGEvZ2RiL2dvLWxhbmcuaCBiL2dkYi9nby1sYW5nLmgKaW5kZXggNWViMjk4 ZS4uZmE5NmY1MyAxMDA2NDQKLS0tIGEvZ2RiL2dvLWxhbmcuaAorKysgYi9n ZGIvZ28tbGFuZy5oCkBAIC04NCwxMCArODQsMTAgQEAgZXh0ZXJuIHZvaWQg Z29fcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGNoYXIg KnZhcnN0cmluZywKIAogLyogRGVmaW5lZCBpbiBnby12YWxwcmludC5jLiAg Ki8KIAotZXh0ZXJuIHZvaWQgZ29fdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAq dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitleHRlcm4gdm9pZCBn b192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAogCQkJICBpbnQgZW1i ZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKIAkJCSAgc3RydWN0 IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0JCQkgIGNvbnN0IHN0 cnVjdCB2YWx1ZSAqdmFsLAorCQkJICBzdHJ1Y3QgdmFsdWUgKnZhbCwKIAkJ CSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMp OwogCiAjZW5kaWYgLyogIWRlZmluZWQgKEdPX0xBTkdfSCkgKi8KZGlmZiAt LWdpdCBhL2dkYi9nby12YWxwcmludC5jIGIvZ2RiL2dvLXZhbHByaW50LmMK aW5kZXggMzRlZDhlMC4uYWQ5NTRjMSAxMDA2NDQKLS0tIGEvZ2RiL2dvLXZh bHByaW50LmMKKysrIGIvZ2RiL2dvLXZhbHByaW50LmMKQEAgLTM2LDEwICsz NiwxMCBAQAogICAgZ2RiX2Fzc2VydCAoZ29fY2xhc3NpZnlfc3RydWN0X3R5 cGUgKHR5cGUpID09IEdPX1RZUEVfU1RSSU5HKS4gICovCiAKIHN0YXRpYyB2 b2lkCi1wcmludF9nb19zdHJpbmcgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25z dCBnZGJfYnl0ZSAqdmFsYWRkciwKK3ByaW50X2dvX3N0cmluZyAoc3RydWN0 IHR5cGUgKnR5cGUsCiAJCSBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09S RV9BRERSIGFkZHJlc3MsCiAJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBp bnQgcmVjdXJzZSwKLQkJIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAorCQkg c3RydWN0IHZhbHVlICp2YWwsCiAJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJp bnRfb3B0aW9ucyAqb3B0aW9ucykKIHsKICAgc3RydWN0IGdkYmFyY2ggKmdk YmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKQEAgLTUxLDggKzUxLDgg QEAgcHJpbnRfZ29fc3RyaW5nIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Z2RiX2J5dGUgKnZhbGFkZHIsCiAgICAgIHVucGFja192YWx1ZV9maWVsZF9h c19wb2ludGVyLiAgRG8gdGhpcyB1bnRpbCB3ZSBjYW4gZ2V0CiAgICAgIHVu cGFja192YWx1ZV9maWVsZF9hc19wb2ludGVyLiAgKi8KICAgTE9OR0VTVCBh ZGRyOworICBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciA9IHZhbHVlX2NvbnRl bnRzX2Zvcl9wcmludGluZyAodmFsKTsKIAotICBnZGJfYXNzZXJ0ICh2YWxh ZGRyID09IHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZ19jb25zdCAodmFs KSk7CiAKICAgaWYgKCEgdW5wYWNrX3ZhbHVlX2ZpZWxkX2FzX2xvbmcgKHR5 cGUsIHZhbGFkZHIsIGVtYmVkZGVkX29mZnNldCwgMCwKIAkJCQkgICAgdmFs LCAmYWRkcikpCkBAIC04Niw5ICs4Niw5IEBAIHByaW50X2dvX3N0cmluZyAo c3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAog LyogSW1wbGVtZW50cyB0aGUgbGFfdmFsX3ByaW50IHJvdXRpbmUgZm9yIGxh bmd1YWdlIEdvLiAgKi8KIAogdm9pZAotZ29fdmFsX3ByaW50IChzdHJ1Y3Qg dHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsIGludCBlbWJl ZGRlZF9vZmZzZXQsCitnb192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBl LCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogCSAgICAgIENPUkVfQUREUiBhZGRy ZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLQkg ICAgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCwKKwkgICAgICBzdHJ1Y3Qg dmFsdWUgKnZhbCwKIAkgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRf b3B0aW9ucyAqb3B0aW9ucykKIHsKICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYg KHR5cGUpOwpAQCAtMTA0LDcgKzEwNCw3IEBAIGdvX3ZhbF9wcmludCAoc3Ry dWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLCBpbnQg ZW1iZWRkZWRfb2Zmc2V0LAogCSAgICBjYXNlIEdPX1RZUEVfU1RSSU5HOgog CSAgICAgIGlmICghIG9wdGlvbnMtPnJhdykKIAkJewotCQkgIHByaW50X2dv X3N0cmluZyAodHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LCBhZGRy ZXNzLAorCQkgIHByaW50X2dvX3N0cmluZyAodHlwZSwgZW1iZWRkZWRfb2Zm c2V0LCBhZGRyZXNzLAogCQkJCSAgIHN0cmVhbSwgcmVjdXJzZSwgdmFsLCBv cHRpb25zKTsKIAkJICByZXR1cm47CiAJCX0KQEAgLTExNiw3ICsxMTYsNyBA QCBnb192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJf Ynl0ZSAqdmFsYWRkciwgaW50IGVtYmVkZGVkX29mZnNldCwKIAkvKiBGYWxs IHRocm91Z2guICAqLwogCiAgICAgICBkZWZhdWx0OgotCWNfdmFsX3ByaW50 ICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZzZXQsIGFkZHJlc3MsIHN0 cmVhbSwKKwljX3ZhbF9wcmludCAodHlwZSwgZW1iZWRkZWRfb2Zmc2V0LCBh ZGRyZXNzLCBzdHJlYW0sCiAJCSAgICAgcmVjdXJzZSwgdmFsLCBvcHRpb25z KTsKIAlicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9nZGIvaW5mY21kLmMg Yi9nZGIvaW5mY21kLmMKaW5kZXggOGUzNGI3ZS4uMDVlYjg5ZSAxMDA2NDQK LS0tIGEvZ2RiL2luZmNtZC5jCisrKyBiL2dkYi9pbmZjbWQuYwpAQCAtMjMy MCw3ICsyMzIwLDYgQEAgZGVmYXVsdF9wcmludF9vbmVfcmVnaXN0ZXJfaW5m byAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsCiAgICAgICBvcHRzLmRlcmVmX3Jl ZiA9IDE7CiAKICAgICAgIHZhbF9wcmludCAocmVndHlwZSwKLQkJIHZhbHVl X2NvbnRlbnRzX2Zvcl9wcmludGluZyAodmFsKSwKIAkJIHZhbHVlX2VtYmVk ZGVkX29mZnNldCAodmFsKSwgMCwKIAkJIGZpbGUsIDAsIHZhbCwgJm9wdHMs IGN1cnJlbnRfbGFuZ3VhZ2UpOwogCkBAIC0yMzM5LDcgKzIzMzgsNiBAQCBk ZWZhdWx0X3ByaW50X29uZV9yZWdpc3Rlcl9pbmZvIChzdHJ1Y3QgdWlfZmls ZSAqZmlsZSwKICAgICAgIGdldF9mb3JtYXR0ZWRfcHJpbnRfb3B0aW9ucyAo Jm9wdHMsICd4Jyk7CiAgICAgICBvcHRzLmRlcmVmX3JlZiA9IDE7CiAgICAg ICB2YWxfcHJpbnQgKHJlZ3R5cGUsCi0JCSB2YWx1ZV9jb250ZW50c19mb3Jf cHJpbnRpbmcgKHZhbCksCiAJCSB2YWx1ZV9lbWJlZGRlZF9vZmZzZXQgKHZh bCksIDAsCiAJCSBmaWxlLCAwLCB2YWwsICZvcHRzLCBjdXJyZW50X2xhbmd1 YWdlKTsKICAgICAgIC8qIElmIG5vdCBhIHZlY3RvciByZWdpc3RlciwgcHJp bnQgaXQgYWxzbyBhY2NvcmRpbmcgdG8gaXRzCkBAIC0yMzUwLDcgKzIzNDgs NiBAQCBkZWZhdWx0X3ByaW50X29uZV9yZWdpc3Rlcl9pbmZvIChzdHJ1Y3Qg dWlfZmlsZSAqZmlsZSwKIAkgIG9wdHMuZGVyZWZfcmVmID0gMTsKIAkgIGZw cmludGZfZmlsdGVyZWQgKGZpbGUsICJcdCIpOwogCSAgdmFsX3ByaW50IChy ZWd0eXBlLAotCQkgICAgIHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAo dmFsKSwKIAkJICAgICB2YWx1ZV9lbWJlZGRlZF9vZmZzZXQgKHZhbCksIDAs CiAJCSAgICAgZmlsZSwgMCwgdmFsLCAmb3B0cywgY3VycmVudF9sYW5ndWFn ZSk7CiAJfQpkaWZmIC0tZ2l0IGEvZ2RiL2xhbmd1YWdlLmMgYi9nZGIvbGFu Z3VhZ2UuYwppbmRleCAzOWZhZWNjLi4wZTEzYWJlIDEwMDY0NAotLS0gYS9n ZGIvbGFuZ3VhZ2UuYworKysgYi9nZGIvbGFuZ3VhZ2UuYwpAQCAtNzgzLDEw ICs3ODMsMTAgQEAgdW5rX2xhbmdfcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUg KnR5cGUsIGNvbnN0IGNoYXIgKnZhcnN0cmluZywKIH0KIAogc3RhdGljIHZv aWQKLXVua19sYW5nX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyLAordW5rX2xhbmdfdmFsX3ByaW50IChz dHJ1Y3QgdHlwZSAqdHlwZSwKIAkJICAgIGludCBlbWJlZGRlZF9vZmZzZXQs IENPUkVfQUREUiBhZGRyZXNzLAogCQkgICAgc3RydWN0IHVpX2ZpbGUgKnN0 cmVhbSwgaW50IHJlY3Vyc2UsCi0JCSAgICBjb25zdCBzdHJ1Y3QgdmFsdWUg KnZhbCwKKwkJICAgIHN0cnVjdCB2YWx1ZSAqdmFsLAogCQkgICAgY29uc3Qg c3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiB7CiAgIGVy cm9yIChfKCJpbnRlcm5hbCBlcnJvciAtIHVuaW1wbGVtZW50ZWQgIgpkaWZm IC0tZ2l0IGEvZ2RiL2xhbmd1YWdlLmggYi9nZGIvbGFuZ3VhZ2UuaAppbmRl eCBkNmY5MzJlLi4wNDY2NjRiIDEwMDY0NAotLS0gYS9nZGIvbGFuZ3VhZ2Uu aAorKysgYi9nZGIvbGFuZ3VhZ2UuaApAQCAtMjE5LDkgKzIxOSw2IEBAIHN0 cnVjdCBsYW5ndWFnZV9kZWZuCiAgICAgICAgCiAgICAgICAgVFlQRSBpcyB0 aGUgdHlwZSBvZiB0aGUgc3ViLW9iamVjdCB0byBiZSBwcmludGVkLgogCi0g ICAgICAgQ09OVEVOVFMgaG9sZHMgdGhlIGJpdHMgb2YgdGhlIHZhbHVlLiAg VGhpcyBob2xkcyB0aGUgZW50aXJlCi0gICAgICAgZW5jbG9zaW5nIG9iamVj dC4KLQogICAgICAgIEVNQkVEREVEX09GRlNFVCBpcyB0aGUgb2Zmc2V0IGlu dG8gdGhlIG91dGVybW9zdCBvYmplY3Qgb2YgdGhlCiAgICAgICAgc3ViLW9i amVjdCByZXByZXNlbnRlZCBieSBUWVBFLiAgVGhpcyBpcyB0aGUgb2JqZWN0 IHdoaWNoIHRoaXMKICAgICAgICBjYWxsIHNob3VsZCBwcmludC4gIE5vdGUg dGhhdCB0aGUgZW5jbG9zaW5nIHR5cGUgaXMgbm90CkBAIC0yMzcsMTAgKzIz NCw5IEBAIHN0cnVjdCBsYW5ndWFnZV9kZWZuCiAgICAgICAgcHJpbnRpbmcu ICAqLwogCiAgICAgdm9pZCAoKmxhX3ZhbF9wcmludCkgKHN0cnVjdCB0eXBl ICp0eXBlLAotCQkJICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHMsCiAJCQkg IGludCBlbWJlZGRlZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAogCQkJ ICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLQkJCSAg Y29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCisJCQkgIHN0cnVjdCB2YWx1ZSAq dmFsLAogCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAq b3B0aW9ucyk7CiAKICAgICAvKiBQcmludCBhIHRvcC1sZXZlbCB2YWx1ZSB1 c2luZyBzeW50YXggYXBwcm9wcmlhdGUgZm9yIHRoaXMgbGFuZ3VhZ2UuICAq LwpAQCAtNTE1LDkgKzUxMSw2IEBAIGV4dGVybiBlbnVtIGxhbmd1YWdlIHNl dF9sYW5ndWFnZSAoZW51bSBsYW5ndWFnZSk7CiAjZGVmaW5lIExBX1BSSU5U X1RZUEVERUYodHlwZSxuZXdfc3ltYm9sLHN0cmVhbSkgXAogICAoY3VycmVu dF9sYW5ndWFnZS0+bGFfcHJpbnRfdHlwZWRlZih0eXBlLG5ld19zeW1ib2ws c3RyZWFtKSkKIAotI2RlZmluZSBMQV9WQUxfUFJJTlQodHlwZSx2YWxhZGRy LG9mZnNldCxhZGRyLHN0cmVhbSx2YWwscmVjdXJzZSxvcHRpb25zKSBcCi0g IChjdXJyZW50X2xhbmd1YWdlLT5sYV92YWxfcHJpbnQodHlwZSx2YWxhZGRy LG9mZnNldCxhZGRyLHN0cmVhbSwgXAotCQkJCSAgdmFsLHJlY3Vyc2Usb3B0 aW9ucykpCiAjZGVmaW5lIExBX1ZBTFVFX1BSSU5UKHZhbCxzdHJlYW0sb3B0 aW9ucykgXAogICAoY3VycmVudF9sYW5ndWFnZS0+bGFfdmFsdWVfcHJpbnQo dmFsLHN0cmVhbSxvcHRpb25zKSkKIApkaWZmIC0tZ2l0IGEvZ2RiL20yLWxh bmcuaCBiL2dkYi9tMi1sYW5nLmgKaW5kZXggYjc0OWIyMS4uYjM1YTBjYSAx MDA2NDQKLS0tIGEvZ2RiL20yLWxhbmcuaAorKysgYi9nZGIvbTItbGFuZy5o CkBAIC0zNCw5ICszNCw5IEBAIGV4dGVybiB2b2lkIG0yX3ByaW50X3R5cGVk ZWYgKHN0cnVjdCB0eXBlICosIHN0cnVjdCBzeW1ib2wgKiwKIGV4dGVybiBp bnQgbTJfaXNfbG9uZ19zZXQgKHN0cnVjdCB0eXBlICp0eXBlKTsKIGV4dGVy biBpbnQgbTJfaXNfdW5ib3VuZGVkX2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlw ZSk7CiAKLWV4dGVybiB2b2lkIG0yX3ZhbF9wcmludCAoc3RydWN0IHR5cGUg KiwgY29uc3QgZ2RiX2J5dGUgKiwgaW50LCBDT1JFX0FERFIsCitleHRlcm4g dm9pZCBtMl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICosIGludCwgQ09SRV9B RERSLAogCQkJICBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCi0JCQkgIGNvbnN0 IHN0cnVjdCB2YWx1ZSAqLAorCQkJICBzdHJ1Y3QgdmFsdWUgKiwKIAkJCSAg Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7CiAKIGV4dGVy biBpbnQgZ2V0X2xvbmdfc2V0X2JvdW5kcyAoc3RydWN0IHR5cGUgKnR5cGUs IExPTkdFU1QgKmxvdywKZGlmZiAtLWdpdCBhL2dkYi9tMi12YWxwcmludC5j IGIvZ2RiL20yLXZhbHByaW50LmMKaW5kZXggYTUzYWE4NC4uZjQzYTJkMiAx MDA2NDQKLS0tIGEvZ2RiL20yLXZhbHByaW50LmMKKysrIGIvZ2RiL20yLXZh bHByaW50LmMKQEAgLTM3LDcgKzM3LDcgQEAgc3RhdGljIHZvaWQKIG0yX3By aW50X2FycmF5X2NvbnRlbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Z2RiX2J5dGUgKnZhbGFkZHIsCiAJCQkgaW50IGVtYmVkZGVkX29mZnNldCwg Q09SRV9BRERSIGFkZHJlc3MsCiAJCQkgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgaW50IHJlY3Vyc2UsCi0JCQkgY29uc3Qgc3RydWN0IHZhbHVlICp2YWws CisJCQkgc3RydWN0IHZhbHVlICp2YWwsCiAJCQkgY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCiAJCQkgaW50IGxlbik7CiAK QEAgLTI2Miw3ICsyNjIsNyBAQCBzdGF0aWMgdm9pZAogbTJfcHJpbnRfYXJy YXlfY29udGVudHMgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciwKIAkJCSBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FE RFIgYWRkcmVzcywKIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQg cmVjdXJzZSwKLQkJCSBjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCwKKwkJCSBz dHJ1Y3QgdmFsdWUgKnZhbCwKIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJp bnRfb3B0aW9ucyAqb3B0aW9ucywKIAkJCSBpbnQgbGVuKQogewpAQCAtMjgy LDcgKzI4Miw3IEBAIG0yX3ByaW50X2FycmF5X2NvbnRlbnRzIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgICAgICBl bHNlCiAJewogCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAieyIpOwot CSAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzICh0eXBlLCB2YWxhZGRyLCBl bWJlZGRlZF9vZmZzZXQsCisJICB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMg KHR5cGUsIGVtYmVkZGVkX29mZnNldCwKIAkJCQkgICAgYWRkcmVzcywgc3Ry ZWFtLCByZWN1cnNlLCB2YWwsCiAJCQkJICAgIG9wdGlvbnMsIDApOwogCSAg ZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAifSIpOwpAQCAtMzA4LDE1ICsz MDgsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5lcmljX3ZhbF9wcmlu dF9kZWNvcmF0aW9ucyBtMl9kZWNvcmF0aW9ucyA9CiAgICBmdW5jdGlvbjsg dGhleSBhcmUgaWRlbnRpY2FsLiAgKi8KIAogdm9pZAotbTJfdmFsX3ByaW50 IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIs IGludCBlbWJlZGRlZF9vZmZzZXQsCittMl92YWxfcHJpbnQgKHN0cnVjdCB0 eXBlICp0eXBlLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogCSAgICAgIENPUkVf QUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVj dXJzZSwKLQkgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3Zh bHVlLAorCSAgICAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAJ ICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlv bnMpCiB7CiAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3R5cGVf YXJjaCAodHlwZSk7CiAgIHVuc2lnbmVkIGxlbjsKICAgc3RydWN0IHR5cGUg KmVsdHR5cGU7CiAgIENPUkVfQUREUiBhZGRyOworICBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciA9IHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAob3Jp Z2luYWxfdmFsdWUpOwogCiAgIHR5cGUgPSBjaGVja190eXBlZGVmICh0eXBl KTsKICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUpKQpAQCAtMzU2LDcgKzM1 Nyw3IEBAIG0yX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0 IGdkYl9ieXRlICp2YWxhZGRyLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogCSAg ZWxzZQogCSAgICB7CiAJICAgICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFt LCAieyIpOwotCSAgICAgIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAodHlw ZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LAorCSAgICAgIHZhbF9wcmlu dF9hcnJheV9lbGVtZW50cyAodHlwZSwgZW1iZWRkZWRfb2Zmc2V0LAogCQkJ CQlhZGRyZXNzLCBzdHJlYW0sCiAJCQkJCXJlY3Vyc2UsIG9yaWdpbmFsX3Zh bHVlLAogCQkJCQlvcHRpb25zLCAwKTsKQEAgLTM3Myw3ICszNzQsNyBAQCBt Ml92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciwgaW50IGVtYmVkZGVkX29mZnNldCwKIAlwcmludF92YXJp YWJsZV9hdF9hZGRyZXNzICh0eXBlLCB2YWxhZGRyICsgZW1iZWRkZWRfb2Zm c2V0LAogCQkJCSAgIHN0cmVhbSwgcmVjdXJzZSwgb3B0aW9ucyk7CiAgICAg ICBlbHNlIGlmIChvcHRpb25zLT5mb3JtYXQgJiYgb3B0aW9ucy0+Zm9ybWF0 ICE9ICdzJykKLQl2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwg dmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LAorCXZhbF9wcmludF9zY2FsYXJf Zm9ybWF0dGVkICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsCiAJCQkJICAgIG9y aWdpbmFsX3ZhbHVlLCBvcHRpb25zLCAwLCBzdHJlYW0pOwogICAgICAgZWxz ZQogCXsKQEAgLTQ2OSw3ICs0NzAsNyBAQCBtMl92YWxfcHJpbnQgKHN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwgaW50IGVt YmVkZGVkX29mZnNldCwKICAgICBjYXNlIFRZUEVfQ09ERV9SQU5HRToKICAg ICAgIGlmIChUWVBFX0xFTkdUSCAodHlwZSkgPT0gVFlQRV9MRU5HVEggKFRZ UEVfVEFSR0VUX1RZUEUgKHR5cGUpKSkKIAl7Ci0JICBtMl92YWxfcHJpbnQg KFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCB2YWxhZGRyLCBlbWJlZGRlZF9v ZmZzZXQsCisJICBtMl92YWxfcHJpbnQgKFRZUEVfVEFSR0VUX1RZUEUgKHR5 cGUpLCBlbWJlZGRlZF9vZmZzZXQsCiAJCQlhZGRyZXNzLCBzdHJlYW0sIHJl Y3Vyc2UsIG9yaWdpbmFsX3ZhbHVlLCBvcHRpb25zKTsKIAkgIGJyZWFrOwog CX0KQEAgLTQ5NCw3ICs0OTUsNyBAQCBtMl92YWxfcHJpbnQgKHN0cnVjdCB0 eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwgaW50IGVtYmVk ZGVkX29mZnNldCwKICAgICBjYXNlIFRZUEVfQ09ERV9CT09MOgogICAgIGNh c2UgVFlQRV9DT0RFX0NIQVI6CiAgICAgZGVmYXVsdDoKLSAgICAgIGdlbmVy aWNfdmFsX3ByaW50ICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZzZXQs IGFkZHJlc3MsCisgICAgICBnZW5lcmljX3ZhbF9wcmludCAodHlwZSwgZW1i ZWRkZWRfb2Zmc2V0LCBhZGRyZXNzLAogCQkJIHN0cmVhbSwgcmVjdXJzZSwg b3JpZ2luYWxfdmFsdWUsIG9wdGlvbnMsCiAJCQkgJm0yX2RlY29yYXRpb25z KTsKICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvZ2RiL21pL21pLW1haW4u YyBiL2dkYi9taS9taS1tYWluLmMKaW5kZXggM2IwNzFhZi4uMzkwMTIwMyAx MDA2NDQKLS0tIGEvZ2RiL21pL21pLW1haW4uYworKysgYi9nZGIvbWkvbWkt bWFpbi5jCkBAIC0xMjkwLDcgKzEyOTAsNiBAQCBvdXRwdXRfcmVnaXN0ZXIg KHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSwgaW50IGZv cm1hdCwKICAgZ2V0X2Zvcm1hdHRlZF9wcmludF9vcHRpb25zICgmb3B0cywg Zm9ybWF0KTsKICAgb3B0cy5kZXJlZl9yZWYgPSAxOwogICB2YWxfcHJpbnQg KHZhbHVlX3R5cGUgKHZhbCksCi0JICAgICB2YWx1ZV9jb250ZW50c19mb3Jf cHJpbnRpbmcgKHZhbCksCiAJICAgICB2YWx1ZV9lbWJlZGRlZF9vZmZzZXQg KHZhbCksIDAsCiAJICAgICBzdGIsIDAsIHZhbCwgJm9wdHMsIGN1cnJlbnRf bGFuZ3VhZ2UpOwogICB1aV9vdXRfZmllbGRfc3RyZWFtICh1aW91dCwgInZh bHVlIiwgc3RiKTsKZGlmZiAtLWdpdCBhL2dkYi9taXBzLXRkZXAuYyBiL2dk Yi9taXBzLXRkZXAuYwppbmRleCBjMmM4OGE2Li5jMGM2NDQyIDEwMDY0NAot LS0gYS9nZGIvbWlwcy10ZGVwLmMKKysrIGIvZ2RiL21pcHMtdGRlcC5jCkBA IC02MzU2LDcgKzYzNTYsNiBAQCBtaXBzX3ByaW50X3JlZ2lzdGVyIChzdHJ1 Y3QgdWlfZmlsZSAqZmlsZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAog CiAgIGdldF9mb3JtYXR0ZWRfcHJpbnRfb3B0aW9ucyAoJm9wdHMsICd4Jyk7 CiAgIHZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVkICh2YWx1ZV90eXBlICh2 YWwpLAotCQkJICAgICAgdmFsdWVfY29udGVudHNfZm9yX3ByaW50aW5nICh2 YWwpLAogCQkJICAgICAgdmFsdWVfZW1iZWRkZWRfb2Zmc2V0ICh2YWwpLAog CQkJICAgICAgdmFsLAogCQkJICAgICAgJm9wdHMsIDAsIGZpbGUpOwpkaWZm IC0tZ2l0IGEvZ2RiL210LXRkZXAuYyBiL2dkYi9tdC10ZGVwLmMKaW5kZXgg YzA4ZTgwNS4uZTk1OGNjNCAxMDA2NDQKLS0tIGEvZ2RiL210LXRkZXAuYwor KysgYi9nZGIvbXQtdGRlcC5jCkBAIC03MjYsNyArNzI2LDYgQEAgbXRfcmVn aXN0ZXJzX2luZm8gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogCSAgZ2V0 X25vX3ByZXR0eWZvcm1hdF9wcmludF9vcHRpb25zICgmb3B0cyk7CiAJICBv cHRzLmRlcmVmX3JlZiA9IDE7CiAJICB2YWxfcHJpbnQgKHJlZ2lzdGVyX3R5 cGUgKGdkYmFyY2gsIHJlZ251bSksCi0JCSAgICAgdmFsdWVfY29udGVudHNf Zm9yX3ByaW50aW5nICh2YWwpLAogCQkgICAgIDAsIDAsIGZpbGUsIDAsIHZh bCwKIAkJICAgICAmb3B0cywgY3VycmVudF9sYW5ndWFnZSk7CiAJICBmcHV0 c19maWx0ZXJlZCAoIlxuIiwgZmlsZSk7CmRpZmYgLS1naXQgYS9nZGIvcC1s YW5nLmggYi9nZGIvcC1sYW5nLmgKaW5kZXggMjg3YzBmNC4uNWQzYTY4NSAx MDA2NDQKLS0tIGEvZ2RiL3AtbGFuZy5oCisrKyBiL2dkYi9wLWxhbmcuaApA QCAtMzYsOSArMzYsOSBAQCBleHRlcm4gdm9pZCBwYXNjYWxfcHJpbnRfdHlw ZSAoc3RydWN0IHR5cGUgKiwgY29uc3QgY2hhciAqLCBzdHJ1Y3QgdWlfZmls ZSAqLAogZXh0ZXJuIHZvaWQgcGFzY2FsX3ByaW50X3R5cGVkZWYgKHN0cnVj dCB0eXBlICosIHN0cnVjdCBzeW1ib2wgKiwKIAkJCQkgIHN0cnVjdCB1aV9m aWxlICopOwogCi1leHRlcm4gdm9pZCBwYXNjYWxfdmFsX3ByaW50IChzdHJ1 Y3QgdHlwZSAqLCBjb25zdCBnZGJfYnl0ZSAqLCBpbnQsCitleHRlcm4gdm9p ZCBwYXNjYWxfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLCBpbnQsCiAJCQkg ICAgICBDT1JFX0FERFIsIHN0cnVjdCB1aV9maWxlICosIGludCwKLQkJCSAg ICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqLAorCQkJICAgICAgc3RydWN0IHZh bHVlICosCiAJCQkgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0 aW9ucyAqKTsKIAogZXh0ZXJuIHZvaWQgcGFzY2FsX3ZhbHVlX3ByaW50IChz dHJ1Y3QgdmFsdWUgKiwgc3RydWN0IHVpX2ZpbGUgKiwKQEAgLTc1LDcgKzc1 LDcgQEAgZXh0ZXJuIHZvaWQgcGFzY2FsX29iamVjdF9wcmludF92YWx1ZV9m aWVsZHMgKHN0cnVjdCB0eXBlICosIGNvbnN0IGdkYl9ieXRlICosCiAJCQkJ CSAgICAgIExPTkdFU1QsCiAJCQkJCSAgICAgIENPUkVfQUREUiwgc3RydWN0 IHVpX2ZpbGUgKiwKIAkJCQkJICAgICAgaW50LAotCQkJCQkgICAgICBjb25z dCBzdHJ1Y3QgdmFsdWUgKiwKKwkJCQkJICAgICAgc3RydWN0IHZhbHVlICos CiAJCQkJCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25z ICosCiAJCQkJCSAgICAgIHN0cnVjdCB0eXBlICoqLCBpbnQpOwogCmRpZmYg LS1naXQgYS9nZGIvcC12YWxwcmludC5jIGIvZ2RiL3AtdmFscHJpbnQuYwpp bmRleCBmNjM5ZTI5Li44MmFiZTYwIDEwMDY0NAotLS0gYS9nZGIvcC12YWxw cmludC5jCisrKyBiL2dkYi9wLXZhbHByaW50LmMKQEAgLTU4LDEwICs1OCwx MCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdlbmVyaWNfdmFsX3ByaW50X2Rl Y29yYXRpb25zIHBfZGVjb3JhdGlvbnMgPQogICAgZnVuY3Rpb247IHRoZXkg YXJlIGlkZW50aWNhbC4gICovCiAKIHZvaWQKLXBhc2NhbF92YWxfcHJpbnQg KHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwK K3Bhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAogCQkgIGlu dCBlbWJlZGRlZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAogCQkgIHN0 cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotCQkgIGNvbnN0 IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJCSAgc3RydWN0IHZh bHVlICpvcmlnaW5hbF92YWx1ZSwKIAkJICBjb25zdCBzdHJ1Y3QgdmFsdWVf cHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKIHsKICAgc3RydWN0IGdkYmFyY2gg KmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKQEAgLTc1LDYgKzc1 LDcgQEAgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICBzdHJ1Y3QgdHlwZSAqY2hhcl90 eXBlOwogICBDT1JFX0FERFIgYWRkcjsKICAgaW50IHdhbnRfc3BhY2UgPSAw OworICBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciA9IHZhbHVlX2NvbnRlbnRz X2Zvcl9wcmludGluZyAob3JpZ2luYWxfdmFsdWUpOwogCiAgIHR5cGUgPSBj aGVja190eXBlZGVmICh0eXBlKTsKICAgc3dpdGNoIChUWVBFX0NPREUgKHR5 cGUpKQpAQCAtMTMyLDcgKzEzMyw3IEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0 cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAkJ ewogCQkgIGkgPSAwOwogCQl9Ci0JICAgICAgdmFsX3ByaW50X2FycmF5X2Vs ZW1lbnRzICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZzZXQsCisJICAg ICAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzICh0eXBlLCBlbWJlZGRlZF9v ZmZzZXQsCiAJCQkJCWFkZHJlc3MsIHN0cmVhbSwgcmVjdXJzZSwKIAkJCQkJ b3JpZ2luYWxfdmFsdWUsIG9wdGlvbnMsIGkpOwogCSAgICAgIGZwcmludGZf ZmlsdGVyZWQgKHN0cmVhbSwgIn0iKTsKQEAgLTE0Niw3ICsxNDcsNyBAQCBw YXNjYWxfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2Ri X2J5dGUgKnZhbGFkZHIsCiAgICAgY2FzZSBUWVBFX0NPREVfUFRSOgogICAg ICAgaWYgKG9wdGlvbnMtPmZvcm1hdCAmJiBvcHRpb25zLT5mb3JtYXQgIT0g J3MnKQogCXsKLQkgIHZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVkICh0eXBl LCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZzZXQsCisJICB2YWxfcHJpbnRfc2Nh bGFyX2Zvcm1hdHRlZCAodHlwZSwgZW1iZWRkZWRfb2Zmc2V0LAogCQkJCSAg ICAgIG9yaWdpbmFsX3ZhbHVlLCBvcHRpb25zLCAwLCBzdHJlYW0pOwogCSAg YnJlYWs7CiAJfQpAQCAtMjg3LDcgKzI4OCw3IEBAIHBhc2NhbF92YWxfcHJp bnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRk ciwKICAgICBjYXNlIFRZUEVfQ09ERV9VTkRFRjoKICAgICBjYXNlIFRZUEVf Q09ERV9CT09MOgogICAgIGNhc2UgVFlQRV9DT0RFX0NIQVI6Ci0gICAgICBn ZW5lcmljX3ZhbF9wcmludCAodHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zm c2V0LCBhZGRyZXNzLAorICAgICAgZ2VuZXJpY192YWxfcHJpbnQgKHR5cGUs IGVtYmVkZGVkX29mZnNldCwgYWRkcmVzcywKIAkJCSBzdHJlYW0sIHJlY3Vy c2UsIG9yaWdpbmFsX3ZhbHVlLCBvcHRpb25zLAogCQkJICZwX2RlY29yYXRp b25zKTsKICAgICAgIGJyZWFrOwpAQCAtNDcxLDcgKzQ3Miw3IEBAIHN0YXRp YyB2b2lkIHBhc2NhbF9vYmplY3RfcHJpbnRfc3RhdGljX2ZpZWxkIChzdHJ1 Y3QgdmFsdWUgKiwKIHN0YXRpYyB2b2lkIHBhc2NhbF9vYmplY3RfcHJpbnRf dmFsdWUgKHN0cnVjdCB0eXBlICosIGNvbnN0IGdkYl9ieXRlICosCiAJCQkJ ICAgICAgIExPTkdFU1QsCiAJCQkJICAgICAgIENPUkVfQUREUiwgc3RydWN0 IHVpX2ZpbGUgKiwgaW50LAotCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgdmFs dWUgKiwKKwkJCQkgICAgICAgc3RydWN0IHZhbHVlICosCiAJCQkJICAgICAg IGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICosCiAJCQkJICAg ICAgIHN0cnVjdCB0eXBlICoqKTsKIApAQCAtNTMxLDcgKzUzMiw3IEBAIHBh c2NhbF9vYmplY3RfcHJpbnRfdmFsdWVfZmllbGRzIChzdHJ1Y3QgdHlwZSAq dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAJCQkJICBMT05HRVNU IG9mZnNldCwKIAkJCQkgIENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLAogCQkJCSAgaW50IHJlY3Vyc2UsCi0JCQkJICBjb25z dCBzdHJ1Y3QgdmFsdWUgKnZhbCwKKwkJCQkgIHN0cnVjdCB2YWx1ZSAqdmFs LAogCQkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9w dGlvbnMsCiAJCQkJICBzdHJ1Y3QgdHlwZSAqKmRvbnRfcHJpbnRfdmIsCiAJ CQkJICBpbnQgZG9udF9wcmludF9zdGF0bWVtKQpAQCAtNjcwLDcgKzY3MSw3 IEBAIHBhc2NhbF9vYmplY3RfcHJpbnRfdmFsdWVfZmllbGRzIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAJCSAgICAg YWRkcmVzcyArIFRZUEVfRklFTERfQklUUE9TICh0eXBlLCBpKSAvIDgsIDAs CiAJCSAgICAgc3RyZWFtLCBmb3JtYXQsIDAsIHJlY3Vyc2UgKyAxLCBwcmV0 dHkpOyAqLwogCQkgIHZhbF9wcmludCAoVFlQRV9GSUVMRF9UWVBFICh0eXBl LCBpKSwKLQkJCSAgICAgdmFsYWRkciwgb2Zmc2V0ICsgVFlQRV9GSUVMRF9C SVRQT1MgKHR5cGUsIGkpIC8gOCwKKwkJCSAgICAgb2Zmc2V0ICsgVFlQRV9G SUVMRF9CSVRQT1MgKHR5cGUsIGkpIC8gOCwKIAkJCSAgICAgYWRkcmVzcywg c3RyZWFtLCByZWN1cnNlICsgMSwgdmFsLCAmb3B0cywKIAkJCSAgICAgY3Vy cmVudF9sYW5ndWFnZSk7CiAJCX0KQEAgLTcwMyw3ICs3MDQsNyBAQCBwYXNj YWxfb2JqZWN0X3ByaW50X3ZhbHVlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29u c3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAJCQkgICBMT05HRVNUIG9mZnNldCwK IAkJCSAgIENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3Ry ZWFtLAogCQkJICAgaW50IHJlY3Vyc2UsCi0JCQkgICBjb25zdCBzdHJ1Y3Qg dmFsdWUgKnZhbCwKKwkJCSAgIHN0cnVjdCB2YWx1ZSAqdmFsLAogCQkJICAg Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCiAJ CQkgICBzdHJ1Y3QgdHlwZSAqKmRvbnRfcHJpbnRfdmIpCiB7CmRpZmYgLS1n aXQgYS9nZGIvcHJpbnRjbWQuYyBiL2dkYi9wcmludGNtZC5jCmluZGV4IGVh MzYwMDkuLmRiNDUyOTkgMTAwNjQ0Ci0tLSBhL2dkYi9wcmludGNtZC5jCisr KyBiL2dkYi9wcmludGNtZC5jCkBAIC0zMjIsNyArMzIyLDYgQEAgcHJpbnRf Zm9ybWF0dGVkIChzdHJ1Y3QgdmFsdWUgKnZhbCwgaW50IHNpemUsCiAgICAg LyogVXNlciBzcGVjaWZpZWQgZm9ybWF0LCBzbyBkb24ndCBsb29rIHRvIHRo ZSB0eXBlIHRvIHRlbGwgdXMKICAgICAgICB3aGF0IHRvIGRvLiAgKi8KICAg ICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwKLQkJCQl2YWx1 ZV9jb250ZW50c19mb3JfcHJpbnRpbmcgKHZhbCksCiAJCQkJdmFsdWVfZW1i ZWRkZWRfb2Zmc2V0ICh2YWwpLAogCQkJCXZhbCwKIAkJCQlvcHRpb25zLCBz aXplLCBzdHJlYW0pOwpkaWZmIC0tZ2l0IGEvZ2RiL3J1c3QtbGFuZy5jIGIv Z2RiL3J1c3QtbGFuZy5jCmluZGV4IDBhNDk2OTYuLjNkMGIxNDEgMTAwNjQ0 Ci0tLSBhL2dkYi9ydXN0LWxhbmcuYworKysgYi9nZGIvcnVzdC1sYW5nLmMK QEAgLTEyMCw3ICsxMjAsNyBAQCBydXN0X3VuaW9uX2lzX3VudGFnZ2VkIChz dHJ1Y3QgdHlwZSAqdHlwZSkKIHN0YXRpYyBzdHJ1Y3QgZGlzcl9pbmZvCiBy dXN0X2dldF9kaXNyX2luZm8gKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBn ZGJfYnl0ZSAqdmFsYWRkciwKICAgICAgICAgICAgICAgICAgICAgaW50IGVt YmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0gICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKQorICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCkKIHsKICAgaW50IGk7CiAg IHN0cnVjdCBkaXNyX2luZm8gcmV0OwpAQCAtMjM2LDcgKzIzNiw3IEBAIHJ1 c3RfZ2V0X2Rpc3JfaW5mbyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdk Yl9ieXRlICp2YWxhZGRyLAogICBjbGVhbnVwID0gbWFrZV9jbGVhbnVwX3Vp X2ZpbGVfZGVsZXRlICh0ZW1wX2ZpbGUpOwogICAvKiBUaGUgZmlyc3QgdmFs dWUgb2YgdGhlIGZpcnN0IGZpZWxkIChvciBhbnkgZmllbGQpCiAgICAgIGlz IHRoZSBkaXNjcmltaW5hbnQgdmFsdWUuICAqLwotICBjX3ZhbF9wcmludCAo VFlQRV9GSUVMRF9UWVBFIChkaXNyX3R5cGUsIDApLCB2YWxhZGRyLAorICBj X3ZhbF9wcmludCAoVFlQRV9GSUVMRF9UWVBFIChkaXNyX3R5cGUsIDApLAog CSAgICAgICAoZW1iZWRkZWRfb2Zmc2V0ICsgVFlQRV9GSUVMRF9CSVRQT1Mg KHR5cGUsIDApIC8gOAogCQkrIFRZUEVfRklFTERfQklUUE9TIChkaXNyX3R5 cGUsIDApIC8gOCksCiAJICAgICAgIGFkZHJlc3MsIHRlbXBfZmlsZSwKQEAg LTQ4MSw5ICs0ODEsOSBAQCBydXN0X3ByaW50c3RyIChzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKIC8qIHJ1c3RfcHJpbnRf dHlwZSBicmFuY2ggZm9yIHN0cnVjdHMgYW5kIHVudGFnZ2VkIHVuaW9ucy4g ICovCiAKIHN0YXRpYyB2b2lkCi12YWxfcHJpbnRfc3RydWN0IChzdHJ1Y3Qg dHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0JCSAgaW50 IGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsIHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sCi0JCSAgaW50IHJlY3Vyc2UsIGNvbnN0IHN0cnVj dCB2YWx1ZSAqdmFsLAordmFsX3ByaW50X3N0cnVjdCAoc3RydWN0IHR5cGUg KnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCisJCSAgQ09SRV9BRERSIGFk ZHJlc3MsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCisJCSAgaW50IHJlY3Vy c2UsIHN0cnVjdCB2YWx1ZSAqdmFsLAogCQkgIGNvbnN0IHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogewogICBpbnQgaTsKQEAgLTUz OCw3ICs1MzgsNiBAQCB2YWxfcHJpbnRfc3RydWN0IChzdHJ1Y3QgdHlwZSAq dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgICAgICAgIH0KIAog ICAgICAgdmFsX3ByaW50IChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpLAot ICAgICAgICAgICB2YWxhZGRyLAogICAgICAgICAgICBlbWJlZGRlZF9vZmZz ZXQgKyBUWVBFX0ZJRUxEX0JJVFBPUyAodHlwZSwgaSkgLyA4LAogICAgICAg ICAgICBhZGRyZXNzLAogICAgICAgICAgICBzdHJlYW0sIHJlY3Vyc2UgKyAx LCB2YWwsICZvcHRzLApAQCAtNTc0LDExICs1NzMsMTMgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0aW9ucyBydXN0 X2RlY29yYXRpb25zID0KIC8qIGxhX3ZhbF9wcmludCBpbXBsZW1lbnRhdGlv biBmb3IgUnVzdC4gICovCiAKIHN0YXRpYyB2b2lkCi1ydXN0X3ZhbF9wcmlu dCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAorcnVzdF92YWxfcHJpbnQgKHN0cnVj dCB0eXBlICp0eXBlLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogCQlDT1JFX0FE RFIgYWRkcmVzcywgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vy c2UsCi0JCWNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAorCQlzdHJ1Y3QgdmFs dWUgKnZhbCwKIAkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMg Km9wdGlvbnMpCiB7CisgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyID0gdmFs dWVfY29udGVudHNfZm9yX3ByaW50aW5nICh2YWwpOworCiAgIHR5cGUgPSBj aGVja190eXBlZGVmICh0eXBlKTsKICAgc3dpdGNoIChUWVBFX0NPREUgKHR5 cGUpKQogICAgIHsKQEAgLTYxNSw3ICs2MTYsNyBAQCBydXN0X3ZhbF9wcmlu dCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogCiAgICAgY2FzZSBUWVBFX0NPREVf TUVUSE9EUFRSOgogICAgIGNhc2UgVFlQRV9DT0RFX01FTUJFUlBUUjoKLSAg ICAgIGNfdmFsX3ByaW50ICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZz ZXQsIGFkZHJlc3MsIHN0cmVhbSwKKyAgICAgIGNfdmFsX3ByaW50ICh0eXBl LCBlbWJlZGRlZF9vZmZzZXQsIGFkZHJlc3MsIHN0cmVhbSwKIAkJICAgcmVj dXJzZSwgdmFsLCBvcHRpb25zKTsKICAgICAgIGJyZWFrOwogCkBAIC02NzUs NyArNjc2LDcgQEAgcnVzdF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwgaW50IGVtYmVkZGVkX29mZnNl dCwKICAgICAgZmllbGRzLiAgKi8KICAgaWYgKHJ1c3RfdW5pb25faXNfdW50 YWdnZWQgKHR5cGUpKQogICAgIHsKLSAgICAgIHZhbF9wcmludF9zdHJ1Y3Qg KHR5cGUsIHZhbGFkZHIsIGVtYmVkZGVkX29mZnNldCwgYWRkcmVzcywgc3Ry ZWFtLAorICAgICAgdmFsX3ByaW50X3N0cnVjdCAodHlwZSwgZW1iZWRkZWRf b2Zmc2V0LCBhZGRyZXNzLCBzdHJlYW0sCiAJCQkgIHJlY3Vyc2UsIHZhbCwg b3B0aW9ucyk7CiAgICAgICBicmVhazsKICAgICB9CkBAIC03MzIsNyArNzMz LDYgQEAgcnVzdF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25z dCBnZGJfYnl0ZSAqdmFsYWRkciwgaW50IGVtYmVkZGVkX29mZnNldCwKIAkJ CQlUWVBFX0ZJRUxEX05BTUUgKHZhcmlhbnRfdHlwZSwgaikpOwogCiAJICAg IHZhbF9wcmludCAoVFlQRV9GSUVMRF9UWVBFICh2YXJpYW50X3R5cGUsIGop LAotCQkgICAgICAgdmFsYWRkciwKIAkJICAgICAgIChlbWJlZGRlZF9vZmZz ZXQKIAkJCSsgVFlQRV9GSUVMRF9CSVRQT1MgKHR5cGUsIGRpc3IuZmllbGRf bm8pIC8gOAogCQkJKyBUWVBFX0ZJRUxEX0JJVFBPUyAodmFyaWFudF90eXBl LCBqKSAvIDgpLApAQCAtNzUyLDE0ICs3NTIsMTQgQEAgcnVzdF92YWxfcHJp bnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRk ciwgaW50IGVtYmVkZGVkX29mZnNldCwKICAgICAgIGJyZWFrOwogCiAgICAg Y2FzZSBUWVBFX0NPREVfU1RSVUNUOgotICAgICAgdmFsX3ByaW50X3N0cnVj dCAodHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LCBhZGRyZXNzLCBz dHJlYW0sCi0gICAgICAgcmVjdXJzZSwgdmFsLCBvcHRpb25zKTsKKyAgICAg IHZhbF9wcmludF9zdHJ1Y3QgKHR5cGUsIGVtYmVkZGVkX29mZnNldCwgYWRk cmVzcywgc3RyZWFtLAorCQkJcmVjdXJzZSwgdmFsLCBvcHRpb25zKTsKICAg ICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKICAgICBnZW5lcmljX3ByaW50 OgogICAgICAgLyogTm90aGluZyBzcGVjaWFsIHlldC4gICovCi0gICAgICBn ZW5lcmljX3ZhbF9wcmludCAodHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zm c2V0LCBhZGRyZXNzLCBzdHJlYW0sCisgICAgICBnZW5lcmljX3ZhbF9wcmlu dCAodHlwZSwgZW1iZWRkZWRfb2Zmc2V0LCBhZGRyZXNzLCBzdHJlYW0sCiAJ CQkgcmVjdXJzZSwgdmFsLCBvcHRpb25zLCAmcnVzdF9kZWNvcmF0aW9ucyk7 CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvZ2RiL3NoNjQtdGRlcC5jIGIvZ2Ri L3NoNjQtdGRlcC5jCmluZGV4IDkwNTRlMjAuLmJkMmQ0ZjcgMTAwNjQ0Ci0t LSBhL2dkYi9zaDY0LXRkZXAuYworKysgYi9nZGIvc2g2NC10ZGVwLmMKQEAg LTIwNDgsMTMgKzIwNDgsMTMgQEAgc2g2NF9kb19yZWdpc3RlciAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB1aV9maWxlICpmaWxlLAogICBn ZXRfZm9ybWF0dGVkX3ByaW50X29wdGlvbnMgKCZvcHRzLCAneCcpOwogICBv cHRzLmRlcmVmX3JlZiA9IDE7CiAgIHZhbF9wcmludCAocmVnaXN0ZXJfdHlw ZSAoZ2RiYXJjaCwgcmVnbnVtKSwKLQkgICAgIHZhbHVlX2NvbnRlbnRzX2Zv cl9wcmludGluZyAodmFsKSwgMCwgMCwKKwkgICAgIDAsIDAsCiAJICAgICBm aWxlLCAwLCB2YWwsICZvcHRzLCBjdXJyZW50X2xhbmd1YWdlKTsKICAgZnBy aW50Zl9maWx0ZXJlZCAoZmlsZSwgIlx0Iik7CiAgIGdldF9mb3JtYXR0ZWRf cHJpbnRfb3B0aW9ucyAoJm9wdHMsIDApOwogICBvcHRzLmRlcmVmX3JlZiA9 IDE7CiAgIHZhbF9wcmludCAocmVnaXN0ZXJfdHlwZSAoZ2RiYXJjaCwgcmVn bnVtKSwKLQkgICAgIHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAodmFs KSwgMCwgMCwKKwkgICAgIDAsIDAsCiAJICAgICBmaWxlLCAwLCB2YWwsICZv cHRzLCBjdXJyZW50X2xhbmd1YWdlKTsKICAgZnByaW50Zl9maWx0ZXJlZCAo ZmlsZSwgIlxuIik7CiB9CmRpZmYgLS1naXQgYS9nZGIvdmFscHJpbnQuYyBi L2dkYi92YWxwcmludC5jCmluZGV4IGNhMzBhN2YuLmIxOGVjZTMgMTAwNjQ0 Ci0tLSBhL2dkYi92YWxwcmludC5jCisrKyBiL2dkYi92YWxwcmludC5jCkBA IC00MjEsMTAgKzQyMSwxMCBAQCBwcmludF91bnBhY2tlZF9wb2ludGVyIChz dHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHR5cGUgKmVsdHR5cGUsCiAvKiBn ZW5lcmljX3ZhbF9wcmludCBoZWxwZXIgZm9yIFRZUEVfQ09ERV9BUlJBWS4g ICovCiAKIHN0YXRpYyB2b2lkCi1nZW5lcmljX3ZhbF9wcmludF9hcnJheSAo c3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAor Z2VuZXJpY192YWxfcHJpbnRfYXJyYXkgKHN0cnVjdCB0eXBlICp0eXBlLAog CQkJIGludCBlbWJlZGRlZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAog CQkJIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotCQkJ IGNvbnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJCQkgc3Ry dWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKIAkJCSBjb25zdCBzdHJ1Y3Qg dmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucywKIAkJCSBjb25zdCBzdHJ1 Y3QKIAkJCSAgICAgZ2VuZXJpY192YWxfcHJpbnRfZGVjb3JhdGlvbnMgKmRl Y29yYXRpb25zKQpAQCAtNDQ1LDcgKzQ0NSw3IEBAIGdlbmVyaWNfdmFsX3By aW50X2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUg KnZhbGFkZHIsCiAJfQogCiAgICAgICBmcHV0c19maWx0ZXJlZCAoZGVjb3Jh dGlvbnMtPmFycmF5X3N0YXJ0LCBzdHJlYW0pOwotICAgICAgdmFsX3ByaW50 X2FycmF5X2VsZW1lbnRzICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZz ZXQsCisgICAgICB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHR5cGUsIGVt YmVkZGVkX29mZnNldCwKIAkJCQlhZGRyZXNzLCBzdHJlYW0sCiAJCQkJcmVj dXJzZSwgb3JpZ2luYWxfdmFsdWUsIG9wdGlvbnMsIDApOwogICAgICAgZnB1 dHNfZmlsdGVyZWQgKGRlY29yYXRpb25zLT5hcnJheV9lbmQsIHN0cmVhbSk7 CkBAIC00NjIsOSArNDYyLDkgQEAgZ2VuZXJpY192YWxfcHJpbnRfYXJyYXkg KHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwK IC8qIGdlbmVyaWNfdmFsX3ByaW50IGhlbHBlciBmb3IgVFlQRV9DT0RFX1BU Ui4gICovCiAKIHN0YXRpYyB2b2lkCi1nZW5lcmljX3ZhbF9wcmludF9wdHIg KHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwK K2dlbmVyaWNfdmFsX3ByaW50X3B0ciAoc3RydWN0IHR5cGUgKnR5cGUsCiAJ CSAgICAgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBzdHJ1Y3QgdWlfZmlsZSAq c3RyZWFtLAotCQkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlICpvcmlnaW5h bF92YWx1ZSwKKwkJICAgICAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFs dWUsCiAJCSAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9u cyAqb3B0aW9ucykKIHsKICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBn ZXRfdHlwZV9hcmNoICh0eXBlKTsKQEAgLTQ3MiwxMyArNDcyLDE0IEBAIGdl bmVyaWNfdmFsX3ByaW50X3B0ciAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0 IGdkYl9ieXRlICp2YWxhZGRyLAogCiAgIGlmIChvcHRpb25zLT5mb3JtYXQg JiYgb3B0aW9ucy0+Zm9ybWF0ICE9ICdzJykKICAgICB7Ci0gICAgICB2YWxf cHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwgdmFsYWRkciwgZW1iZWRk ZWRfb2Zmc2V0LAorICAgICAgdmFsX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQg KHR5cGUsIGVtYmVkZGVkX29mZnNldCwKIAkJCQkgIG9yaWdpbmFsX3ZhbHVl LCBvcHRpb25zLCAwLCBzdHJlYW0pOwogICAgIH0KICAgZWxzZQogICAgIHsK ICAgICAgIHN0cnVjdCB0eXBlICp1bnJlc29sdmVkX2VsdHR5cGUgPSBUWVBF X1RBUkdFVF9UWVBFKHR5cGUpOwogICAgICAgc3RydWN0IHR5cGUgKmVsdHR5 cGUgPSBjaGVja190eXBlZGVmICh1bnJlc29sdmVkX2VsdHR5cGUpOworICAg ICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIgPSB2YWx1ZV9jb250ZW50c19m b3JfcHJpbnRpbmcgKG9yaWdpbmFsX3ZhbHVlKTsKICAgICAgIENPUkVfQURE UiBhZGRyID0gdW5wYWNrX3BvaW50ZXIgKHR5cGUsCiAJCQkJICAgICAgIHZh bGFkZHIgKyBlbWJlZGRlZF9vZmZzZXQgKiB1bml0X3NpemUpOwogCkBAIC00 OTAsMTIgKzQ5MSwxMiBAQCBnZW5lcmljX3ZhbF9wcmludF9wdHIgKHN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIC8qIGdl bmVyaWNfdmFsX3ByaW50IGhlbHBlciBmb3IgVFlQRV9DT0RFX01FTUJFUlBU Ui4gICovCiAKIHN0YXRpYyB2b2lkCi1nZW5lcmljX3ZhbF9wcmludF9tZW1i ZXJwdHIgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFs YWRkciwKK2dlbmVyaWNfdmFsX3ByaW50X21lbWJlcnB0ciAoc3RydWN0IHR5 cGUgKnR5cGUsCiAJCQkgICAgIGludCBlbWJlZGRlZF9vZmZzZXQsIHN0cnVj dCB1aV9maWxlICpzdHJlYW0sCi0JCQkgICAgIGNvbnN0IHN0cnVjdCB2YWx1 ZSAqb3JpZ2luYWxfdmFsdWUsCisJCQkgICAgIHN0cnVjdCB2YWx1ZSAqb3Jp Z2luYWxfdmFsdWUsCiAJCQkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmlu dF9vcHRpb25zICpvcHRpb25zKQogewotICB2YWxfcHJpbnRfc2NhbGFyX2Zv cm1hdHRlZCAodHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LAorICB2 YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwgZW1iZWRkZWRfb2Zm c2V0LAogCQkJICAgICAgb3JpZ2luYWxfdmFsdWUsIG9wdGlvbnMsIDAsIHN0 cmVhbSk7CiB9CiAKQEAgLTUzOCw5ICs1MzksOSBAQCBnZXRfdmFsdWVfYWRk cl9jb250ZW50cyAoc3RydWN0IHZhbHVlICpkZXJlZl92YWwpCiAvKiBnZW5l cmljX3ZhbF9wcmludCBoZWxwZXIgZm9yIFRZUEVfQ09ERV9SRUYuICAqLwog CiBzdGF0aWMgdm9pZAotZ2VuZXJpY192YWxfcHJpbnRfcmVmIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitnZW5lcmlj X3ZhbF9wcmludF9yZWYgKHN0cnVjdCB0eXBlICp0eXBlLAogCQkgICAgICAg aW50IGVtYmVkZGVkX29mZnNldCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwg aW50IHJlY3Vyc2UsCi0JCSAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKm9y aWdpbmFsX3ZhbHVlLAorCQkgICAgICAgc3RydWN0IHZhbHVlICpvcmlnaW5h bF92YWx1ZSwKIAkJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9v cHRpb25zICpvcHRpb25zKQogewogICBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSA9 IGNoZWNrX3R5cGVkZWYgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpKTsKQEAg LTU1Miw2ICs1NTMsNyBAQCBnZW5lcmljX3ZhbF9wcmludF9yZWYgKHN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAgY29u c3QgaW50IG11c3RfY29lcmNlX3JlZiA9ICgob3B0aW9ucy0+YWRkcmVzc3By aW50ICYmIHZhbHVlX2lzX3N5bnRoZXRpYykKIAkJCSAgICAgICB8fCBvcHRp b25zLT5kZXJlZl9yZWYpOwogICBjb25zdCBpbnQgdHlwZV9pc19kZWZpbmVk ID0gVFlQRV9DT0RFIChlbHR0eXBlKSAhPSBUWVBFX0NPREVfVU5ERUY7Cisg IGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyID0gdmFsdWVfY29udGVudHNfZm9y X3ByaW50aW5nIChvcmlnaW5hbF92YWx1ZSk7CiAKICAgaWYgKG11c3RfY29l cmNlX3JlZiAmJiB0eXBlX2lzX2RlZmluZWQpCiAgICAgewpAQCAtNjYzLDkg KzY2NSw5IEBAIGdlbmVyaWNfdmFsX3ByaW50X2VudW1fMSAoc3RydWN0IHR5 cGUgKnR5cGUsIExPTkdFU1QgdmFsLAogLyogZ2VuZXJpY192YWxfcHJpbnQg aGVscGVyIGZvciBUWVBFX0NPREVfRU5VTS4gICovCiAKIHN0YXRpYyB2b2lk Ci1nZW5lcmljX3ZhbF9wcmludF9lbnVtIChzdHJ1Y3QgdHlwZSAqdHlwZSwg Y29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitnZW5lcmljX3ZhbF9wcmludF9l bnVtIChzdHJ1Y3QgdHlwZSAqdHlwZSwKIAkJCWludCBlbWJlZGRlZF9vZmZz ZXQsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi0JCQljb25zdCBzdHJ1Y3Qg dmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAorCQkJc3RydWN0IHZhbHVlICpvcmln aW5hbF92YWx1ZSwKIAkJCWNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRp b25zICpvcHRpb25zKQogewogICBMT05HRVNUIHZhbDsKQEAgLTY3NCw0NSAr Njc2LDUzIEBAIGdlbmVyaWNfdmFsX3ByaW50X2VudW0gKHN0cnVjdCB0eXBl ICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAogICBpZiAob3B0 aW9ucy0+Zm9ybWF0KQogICAgIHsKLSAgICAgIHZhbF9wcmludF9zY2FsYXJf Zm9ybWF0dGVkICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZzZXQsCisg ICAgICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwgZW1iZWRk ZWRfb2Zmc2V0LAogCQkJCSAgb3JpZ2luYWxfdmFsdWUsIG9wdGlvbnMsIDAs IHN0cmVhbSk7Ci0gICAgICByZXR1cm47CiAgICAgfQotICB2YWwgPSB1bnBh Y2tfbG9uZyAodHlwZSwgdmFsYWRkciArIGVtYmVkZGVkX29mZnNldCAqIHVu aXRfc2l6ZSk7CisgIGVsc2UKKyAgICB7CisgICAgICBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciA9IHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAob3Jp Z2luYWxfdmFsdWUpOworCisgICAgICB2YWwgPSB1bnBhY2tfbG9uZyAodHlw ZSwgdmFsYWRkciArIGVtYmVkZGVkX29mZnNldCAqIHVuaXRfc2l6ZSk7CiAK LSAgZ2VuZXJpY192YWxfcHJpbnRfZW51bV8xICh0eXBlLCB2YWwsIHN0cmVh bSk7CisgICAgICBnZW5lcmljX3ZhbF9wcmludF9lbnVtXzEgKHR5cGUsIHZh bCwgc3RyZWFtKTsKKyAgICB9CiB9CiAKIC8qIGdlbmVyaWNfdmFsX3ByaW50 IGhlbHBlciBmb3IgVFlQRV9DT0RFX0ZMQUdTLiAgKi8KIAogc3RhdGljIHZv aWQKLWdlbmVyaWNfdmFsX3ByaW50X2ZsYWdzIChzdHJ1Y3QgdHlwZSAqdHlw ZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitnZW5lcmljX3ZhbF9wcmlu dF9mbGFncyAoc3RydWN0IHR5cGUgKnR5cGUsCiAJCQkgaW50IGVtYmVkZGVk X29mZnNldCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKLQkJCSBjb25zdCBz dHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAorCQkJIHN0cnVjdCB2YWx1 ZSAqb3JpZ2luYWxfdmFsdWUsCiAJCQkgY29uc3Qgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgKm9wdGlvbnMpCiAKIHsKICAgaWYgKG9wdGlvbnMtPmZv cm1hdCkKLSAgICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwg dmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LCBvcmlnaW5hbF92YWx1ZSwKKyAg ICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwgZW1iZWRkZWRf b2Zmc2V0LCBvcmlnaW5hbF92YWx1ZSwKIAkJCQlvcHRpb25zLCAwLCBzdHJl YW0pOwogICBlbHNlCi0gICAgdmFsX3ByaW50X3R5cGVfY29kZV9mbGFncyAo dHlwZSwgdmFsYWRkciArIGVtYmVkZGVkX29mZnNldCwgc3RyZWFtKTsKKyAg ICB7CisgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciA9IHZhbHVlX2Nv bnRlbnRzX2Zvcl9wcmludGluZyAob3JpZ2luYWxfdmFsdWUpOworCisgICAg ICB2YWxfcHJpbnRfdHlwZV9jb2RlX2ZsYWdzICh0eXBlLCB2YWxhZGRyICsg ZW1iZWRkZWRfb2Zmc2V0LCBzdHJlYW0pOworICAgIH0KIH0KIAogLyogZ2Vu ZXJpY192YWxfcHJpbnQgaGVscGVyIGZvciBUWVBFX0NPREVfRlVOQyBhbmQg VFlQRV9DT0RFX01FVEhPRC4gICovCiAKIHN0YXRpYyB2b2lkCi1nZW5lcmlj X3ZhbF9wcmludF9mdW5jIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2Ri X2J5dGUgKnZhbGFkZHIsCitnZW5lcmljX3ZhbF9wcmludF9mdW5jIChzdHJ1 Y3QgdHlwZSAqdHlwZSwKIAkJCWludCBlbWJlZGRlZF9vZmZzZXQsIENPUkVf QUREUiBhZGRyZXNzLAogCQkJc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKLQkJ CWNvbnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJCQlzdHJ1 Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogCQkJY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiB7CiAgIHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoID0gZ2V0X3R5cGVfYXJjaCAodHlwZSk7CiAKICAgaWYg KG9wdGlvbnMtPmZvcm1hdCkKICAgICB7Ci0gICAgICB2YWxfcHJpbnRfc2Nh bGFyX2Zvcm1hdHRlZCAodHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0 LAorICAgICAgdmFsX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKHR5cGUsIGVt YmVkZGVkX29mZnNldCwKIAkJCQkgIG9yaWdpbmFsX3ZhbHVlLCBvcHRpb25z LCAwLCBzdHJlYW0pOwogICAgIH0KICAgZWxzZQpAQCAtNzMxLDkgKzc0MSw5 IEBAIGdlbmVyaWNfdmFsX3ByaW50X2Z1bmMgKHN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIC8qIGdlbmVyaWNfdmFsX3By aW50IGhlbHBlciBmb3IgVFlQRV9DT0RFX0JPT0wuICAqLwogCiBzdGF0aWMg dm9pZAotZ2VuZXJpY192YWxfcHJpbnRfYm9vbCAoc3RydWN0IHR5cGUgKnR5 cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAorZ2VuZXJpY192YWxfcHJp bnRfYm9vbCAoc3RydWN0IHR5cGUgKnR5cGUsCiAJCQlpbnQgZW1iZWRkZWRf b2Zmc2V0LCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAotCQkJY29uc3Qgc3Ry dWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKKwkJCXN0cnVjdCB2YWx1ZSAq b3JpZ2luYWxfdmFsdWUsCiAJCQljb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRf b3B0aW9ucyAqb3B0aW9ucywKIAkJCWNvbnN0IHN0cnVjdCBnZW5lcmljX3Zh bF9wcmludF9kZWNvcmF0aW9ucyAqZGVjb3JhdGlvbnMpCiB7CkBAIC03NDYs MTEgKzc1NiwxMyBAQCBnZW5lcmljX3ZhbF9wcmludF9ib29sIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAgICAgICBz dHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyBvcHRzID0gKm9wdGlvbnM7CiAg ICAgICBvcHRzLmZvcm1hdCA9IChvcHRpb25zLT5mb3JtYXQgPyBvcHRpb25z LT5mb3JtYXQKIAkJICAgICA6IG9wdGlvbnMtPm91dHB1dF9mb3JtYXQpOwot ICAgICAgdmFsX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKHR5cGUsIHZhbGFk ZHIsIGVtYmVkZGVkX29mZnNldCwKKyAgICAgIHZhbF9wcmludF9zY2FsYXJf Zm9ybWF0dGVkICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsCiAJCQkJICBvcmln aW5hbF92YWx1ZSwgJm9wdHMsIDAsIHN0cmVhbSk7CiAgICAgfQogICBlbHNl CiAgICAgeworICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIgPSB2YWx1 ZV9jb250ZW50c19mb3JfcHJpbnRpbmcgKG9yaWdpbmFsX3ZhbHVlKTsKKwog ICAgICAgdmFsID0gdW5wYWNrX2xvbmcgKHR5cGUsIHZhbGFkZHIgKyBlbWJl ZGRlZF9vZmZzZXQgKiB1bml0X3NpemUpOwogICAgICAgaWYgKHZhbCA9PSAw KQogCWZwdXRzX2ZpbHRlcmVkIChkZWNvcmF0aW9ucy0+ZmFsc2VfbmFtZSwg c3RyZWFtKTsKQEAgLTc2NCw5ICs3NzYsOSBAQCBnZW5lcmljX3ZhbF9wcmlu dF9ib29sIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZh bGFkZHIsCiAvKiBnZW5lcmljX3ZhbF9wcmludCBoZWxwZXIgZm9yIFRZUEVf Q09ERV9JTlQuICAqLwogCiBzdGF0aWMgdm9pZAotZ2VuZXJpY192YWxfcHJp bnRfaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZh bGFkZHIsCitnZW5lcmljX3ZhbF9wcmludF9pbnQgKHN0cnVjdCB0eXBlICp0 eXBlLAogCQkgICAgICAgaW50IGVtYmVkZGVkX29mZnNldCwgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSwKLQkJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAq b3JpZ2luYWxfdmFsdWUsCisJCSAgICAgICBzdHJ1Y3QgdmFsdWUgKm9yaWdp bmFsX3ZhbHVlLAogCQkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKm9wdGlvbnMpCiB7CiAgIHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoID0gZ2V0X3R5cGVfYXJjaCAodHlwZSk7CkBAIC03NzgsMjEgKzc5MCwy NSBAQCBnZW5lcmljX3ZhbF9wcmludF9pbnQgKHN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKIAogICAgICAgb3B0cy5mb3Jt YXQgPSAob3B0aW9ucy0+Zm9ybWF0ID8gb3B0aW9ucy0+Zm9ybWF0CiAJCSAg ICAgOiBvcHRpb25zLT5vdXRwdXRfZm9ybWF0KTsKLSAgICAgIHZhbF9wcmlu dF9zY2FsYXJfZm9ybWF0dGVkICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9v ZmZzZXQsCisgICAgICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlw ZSwgZW1iZWRkZWRfb2Zmc2V0LAogCQkJCSAgb3JpZ2luYWxfdmFsdWUsICZv cHRzLCAwLCBzdHJlYW0pOwogICAgIH0KICAgZWxzZQotICAgIHZhbF9wcmlu dF90eXBlX2NvZGVfaW50ICh0eXBlLCB2YWxhZGRyICsgZW1iZWRkZWRfb2Zm c2V0ICogdW5pdF9zaXplLAotCQkJICAgICBzdHJlYW0pOworICAgIHsKKyAg ICAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyID0gdmFsdWVfY29udGVudHNf Zm9yX3ByaW50aW5nIChvcmlnaW5hbF92YWx1ZSk7CisKKyAgICAgIHZhbF9w cmludF90eXBlX2NvZGVfaW50ICh0eXBlLCB2YWxhZGRyICsgZW1iZWRkZWRf b2Zmc2V0ICogdW5pdF9zaXplLAorCQkJICAgICAgIHN0cmVhbSk7CisgICAg fQogfQogCiAvKiBnZW5lcmljX3ZhbF9wcmludCBoZWxwZXIgZm9yIFRZUEVf Q09ERV9DSEFSLiAgKi8KIAogc3RhdGljIHZvaWQKIGdlbmVyaWNfdmFsX3By aW50X2NoYXIgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdHlwZSAqdW5y ZXNvbHZlZF90eXBlLAotCQkJY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsIGlu dCBlbWJlZGRlZF9vZmZzZXQsCisJCQlpbnQgZW1iZWRkZWRfb2Zmc2V0LAog CQkJc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKLQkJCWNvbnN0IHN0cnVjdCB2 YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJCQlzdHJ1Y3QgdmFsdWUgKm9yaWdp bmFsX3ZhbHVlLAogCQkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlv bnMgKm9wdGlvbnMpCiB7CiAgIExPTkdFU1QgdmFsOwpAQCAtODA1LDExICs4 MjEsMTMgQEAgZ2VuZXJpY192YWxfcHJpbnRfY2hhciAoc3RydWN0IHR5cGUg KnR5cGUsIHN0cnVjdCB0eXBlICp1bnJlc29sdmVkX3R5cGUsCiAKICAgICAg IG9wdHMuZm9ybWF0ID0gKG9wdGlvbnMtPmZvcm1hdCA/IG9wdGlvbnMtPmZv cm1hdAogCQkgICAgIDogb3B0aW9ucy0+b3V0cHV0X2Zvcm1hdCk7Ci0gICAg ICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwgdmFsYWRkciwg ZW1iZWRkZWRfb2Zmc2V0LAorICAgICAgdmFsX3ByaW50X3NjYWxhcl9mb3Jt YXR0ZWQgKHR5cGUsIGVtYmVkZGVkX29mZnNldCwKIAkJCQkgIG9yaWdpbmFs X3ZhbHVlLCAmb3B0cywgMCwgc3RyZWFtKTsKICAgICB9CiAgIGVsc2UKICAg ICB7CisgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciA9IHZhbHVlX2Nv bnRlbnRzX2Zvcl9wcmludGluZyAob3JpZ2luYWxfdmFsdWUpOworCiAgICAg ICB2YWwgPSB1bnBhY2tfbG9uZyAodHlwZSwgdmFsYWRkciArIGVtYmVkZGVk X29mZnNldCAqIHVuaXRfc2l6ZSk7CiAgICAgICBpZiAoVFlQRV9VTlNJR05F RCAodHlwZSkpCiAJZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiJXUiLCAo dW5zaWduZWQgaW50KSB2YWwpOwpAQCAtODIzLDkgKzg0MSw5IEBAIGdlbmVy aWNfdmFsX3ByaW50X2NoYXIgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3Qg dHlwZSAqdW5yZXNvbHZlZF90eXBlLAogLyogZ2VuZXJpY192YWxfcHJpbnQg aGVscGVyIGZvciBUWVBFX0NPREVfRkxULiAgKi8KIAogc3RhdGljIHZvaWQK LWdlbmVyaWNfdmFsX3ByaW50X2Zsb2F0IChzdHJ1Y3QgdHlwZSAqdHlwZSwg Y29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitnZW5lcmljX3ZhbF9wcmludF9m bG9hdCAoc3RydWN0IHR5cGUgKnR5cGUsCiAJCQkgaW50IGVtYmVkZGVkX29m ZnNldCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKLQkJCSBjb25zdCBzdHJ1 Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAorCQkJIHN0cnVjdCB2YWx1ZSAq b3JpZ2luYWxfdmFsdWUsCiAJCQkgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKm9wdGlvbnMpCiB7CiAgIHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoID0gZ2V0X3R5cGVfYXJjaCAodHlwZSk7CkBAIC04MzMsMTEgKzg1MSwx MyBAQCBnZW5lcmljX3ZhbF9wcmludF9mbG9hdCAoc3RydWN0IHR5cGUgKnR5 cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogCiAgIGlmIChvcHRpb25z LT5mb3JtYXQpCiAgICAgewotICAgICAgdmFsX3ByaW50X3NjYWxhcl9mb3Jt YXR0ZWQgKHR5cGUsIHZhbGFkZHIsIGVtYmVkZGVkX29mZnNldCwKKyAgICAg IHZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVkICh0eXBlLCBlbWJlZGRlZF9v ZmZzZXQsCiAJCQkJICBvcmlnaW5hbF92YWx1ZSwgb3B0aW9ucywgMCwgc3Ry ZWFtKTsKICAgICB9CiAgIGVsc2UKICAgICB7CisgICAgICBjb25zdCBnZGJf Ynl0ZSAqdmFsYWRkciA9IHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAo b3JpZ2luYWxfdmFsdWUpOworCiAgICAgICBwcmludF9mbG9hdGluZyAodmFs YWRkciArIGVtYmVkZGVkX29mZnNldCAqIHVuaXRfc2l6ZSwgdHlwZSwgc3Ry ZWFtKTsKICAgICB9CiB9CkBAIC04NDUsMzggKzg2NSw0MyBAQCBnZW5lcmlj X3ZhbF9wcmludF9mbG9hdCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdk Yl9ieXRlICp2YWxhZGRyLAogLyogZ2VuZXJpY192YWxfcHJpbnQgaGVscGVy IGZvciBUWVBFX0NPREVfREVDRkxPQVQuICAqLwogCiBzdGF0aWMgdm9pZAot Z2VuZXJpY192YWxfcHJpbnRfZGVjZmxvYXQgKHN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKK2dlbmVyaWNfdmFsX3ByaW50 X2RlY2Zsb2F0IChzdHJ1Y3QgdHlwZSAqdHlwZSwKIAkJCSAgICBpbnQgZW1i ZWRkZWRfb2Zmc2V0LCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAotCQkJICAg IGNvbnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCisJCQkgICAg c3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKIAkJCSAgICBjb25zdCBz dHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKIHsKICAgc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsK ICAgaW50IHVuaXRfc2l6ZSA9IGdkYmFyY2hfYWRkcmVzc2FibGVfbWVtb3J5 X3VuaXRfc2l6ZSAoZ2RiYXJjaCk7CiAKICAgaWYgKG9wdGlvbnMtPmZvcm1h dCkKLSAgICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwgdmFs YWRkciwgZW1iZWRkZWRfb2Zmc2V0LCBvcmlnaW5hbF92YWx1ZSwKKyAgICB2 YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAodHlwZSwgZW1iZWRkZWRfb2Zm c2V0LCBvcmlnaW5hbF92YWx1ZSwKIAkJCQlvcHRpb25zLCAwLCBzdHJlYW0p OwogICBlbHNlCi0gICAgcHJpbnRfZGVjaW1hbF9mbG9hdGluZyAodmFsYWRk ciArIGVtYmVkZGVkX29mZnNldCAqIHVuaXRfc2l6ZSwgdHlwZSwKLQkJCSAg ICBzdHJlYW0pOworICAgIHsKKyAgICAgIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyID0gdmFsdWVfY29udGVudHNfZm9yX3ByaW50aW5nIChvcmlnaW5hbF92 YWx1ZSk7CisKKyAgICAgIHByaW50X2RlY2ltYWxfZmxvYXRpbmcgKHZhbGFk ZHIgKyBlbWJlZGRlZF9vZmZzZXQgKiB1bml0X3NpemUsIHR5cGUsCisJCQkg ICAgICBzdHJlYW0pOworICAgIH0KIH0KIAogLyogZ2VuZXJpY192YWxfcHJp bnQgaGVscGVyIGZvciBUWVBFX0NPREVfQ09NUExFWC4gICovCiAKIHN0YXRp YyB2b2lkCi1nZW5lcmljX3ZhbF9wcmludF9jb21wbGV4IChzdHJ1Y3QgdHlw ZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitnZW5lcmljX3Zh bF9wcmludF9jb21wbGV4IChzdHJ1Y3QgdHlwZSAqdHlwZSwKIAkJCSAgIGlu dCBlbWJlZGRlZF9vZmZzZXQsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi0J CQkgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAorCQkJ ICAgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKIAkJCSAgIGNvbnN0 IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAogCQkJICAg Y29uc3Qgc3RydWN0IGdlbmVyaWNfdmFsX3ByaW50X2RlY29yYXRpb25zCiAJ CQkgICAgICpkZWNvcmF0aW9ucykKIHsKICAgc3RydWN0IGdkYmFyY2ggKmdk YmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKICAgaW50IHVuaXRfc2l6 ZSA9IGdkYmFyY2hfYWRkcmVzc2FibGVfbWVtb3J5X3VuaXRfc2l6ZSAoZ2Ri YXJjaCk7CisgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyID0gdmFsdWVfY29u dGVudHNfZm9yX3ByaW50aW5nIChvcmlnaW5hbF92YWx1ZSk7CiAKICAgZnBy aW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiJXMiLCBkZWNvcmF0aW9ucy0+Y29t cGxleF9wcmVmaXgpOwogICBpZiAob3B0aW9ucy0+Zm9ybWF0KQotICAgIHZh bF9wcmludF9zY2FsYXJfZm9ybWF0dGVkIChUWVBFX1RBUkdFVF9UWVBFICh0 eXBlKSwgdmFsYWRkciwKKyAgICB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRl ZCAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSksCiAJCQkJZW1iZWRkZWRfb2Zm c2V0LCBvcmlnaW5hbF92YWx1ZSwgb3B0aW9ucywgMCwKIAkJCQlzdHJlYW0p OwogICBlbHNlCkBAIC04ODQsNyArOTA5LDcgQEAgZ2VuZXJpY192YWxfcHJp bnRfY29tcGxleCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRl ICp2YWxhZGRyLAogCQkgICAgVFlQRV9UQVJHRVRfVFlQRSAodHlwZSksIHN0 cmVhbSk7CiAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIiVzIiwgZGVj b3JhdGlvbnMtPmNvbXBsZXhfaW5maXgpOwogICBpZiAob3B0aW9ucy0+Zm9y bWF0KQotICAgIHZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVkIChUWVBFX1RB UkdFVF9UWVBFICh0eXBlKSwgdmFsYWRkciwKKyAgICB2YWxfcHJpbnRfc2Nh bGFyX2Zvcm1hdHRlZCAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSksCiAJCQkJ ZW1iZWRkZWRfb2Zmc2V0CiAJCQkJKyB0eXBlX2xlbmd0aF91bml0cyAoVFlQ RV9UQVJHRVRfVFlQRSAodHlwZSkpLAogCQkJCW9yaWdpbmFsX3ZhbHVlLCBv cHRpb25zLCAwLCBzdHJlYW0pOwpAQCAtOTA3LDEwICs5MzIsMTAgQEAgZ2Vu ZXJpY192YWxfcHJpbnRfY29tcGxleCAoc3RydWN0IHR5cGUgKnR5cGUsIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAgb3V0cHV0IGluIHNvbWUgc21h bGwsIGxhbmd1YWdlLXNwZWNpZmljIHdheXMuICAqLwogCiB2b2lkCi1nZW5l cmljX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9i eXRlICp2YWxhZGRyLAorZ2VuZXJpY192YWxfcHJpbnQgKHN0cnVjdCB0eXBl ICp0eXBlLAogCQkgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIg YWRkcmVzcywKIAkJICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJl Y3Vyc2UsCi0JCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFs dWUsCisJCSAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAJCSAg IGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAog CQkgICBjb25zdCBzdHJ1Y3QgZ2VuZXJpY192YWxfcHJpbnRfZGVjb3JhdGlv bnMgKmRlY29yYXRpb25zKQogewpAQCAtOTIwLDQzICs5NDUsNDMgQEAgZ2Vu ZXJpY192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJf Ynl0ZSAqdmFsYWRkciwKICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUpKQog ICAgIHsKICAgICBjYXNlIFRZUEVfQ09ERV9BUlJBWToKLSAgICAgIGdlbmVy aWNfdmFsX3ByaW50X2FycmF5ICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9v ZmZzZXQsIGFkZHJlc3MsIHN0cmVhbSwKKyAgICAgIGdlbmVyaWNfdmFsX3By aW50X2FycmF5ICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsIGFkZHJlc3MsIHN0 cmVhbSwKIAkJCSAgICAgICByZWN1cnNlLCBvcmlnaW5hbF92YWx1ZSwgb3B0 aW9ucywgZGVjb3JhdGlvbnMpOwogICAgICAgYnJlYWs7CiAKICAgICBjYXNl IFRZUEVfQ09ERV9NRU1CRVJQVFI6Ci0gICAgICBnZW5lcmljX3ZhbF9wcmlu dF9tZW1iZXJwdHIgKHR5cGUsIHZhbGFkZHIsIGVtYmVkZGVkX29mZnNldCwg c3RyZWFtLAorICAgICAgZ2VuZXJpY192YWxfcHJpbnRfbWVtYmVycHRyICh0 eXBlLCBlbWJlZGRlZF9vZmZzZXQsIHN0cmVhbSwKIAkJCQkgICBvcmlnaW5h bF92YWx1ZSwgb3B0aW9ucyk7CiAgICAgICBicmVhazsKIAogICAgIGNhc2Ug VFlQRV9DT0RFX1BUUjoKLSAgICAgIGdlbmVyaWNfdmFsX3ByaW50X3B0ciAo dHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LCBzdHJlYW0sCisgICAg ICBnZW5lcmljX3ZhbF9wcmludF9wdHIgKHR5cGUsIGVtYmVkZGVkX29mZnNl dCwgc3RyZWFtLAogCQkJICAgICBvcmlnaW5hbF92YWx1ZSwgb3B0aW9ucyk7 CiAgICAgICBicmVhazsKIAogICAgIGNhc2UgVFlQRV9DT0RFX1JFRjoKLSAg ICAgIGdlbmVyaWNfdmFsX3ByaW50X3JlZiAodHlwZSwgdmFsYWRkciwgZW1i ZWRkZWRfb2Zmc2V0LCBzdHJlYW0sIHJlY3Vyc2UsCisgICAgICBnZW5lcmlj X3ZhbF9wcmludF9yZWYgKHR5cGUsIGVtYmVkZGVkX29mZnNldCwgc3RyZWFt LCByZWN1cnNlLAogCQkJICAgICBvcmlnaW5hbF92YWx1ZSwgb3B0aW9ucyk7 CiAgICAgICBicmVhazsKIAogICAgIGNhc2UgVFlQRV9DT0RFX0VOVU06Ci0g ICAgICBnZW5lcmljX3ZhbF9wcmludF9lbnVtICh0eXBlLCB2YWxhZGRyLCBl bWJlZGRlZF9vZmZzZXQsIHN0cmVhbSwKKyAgICAgIGdlbmVyaWNfdmFsX3By aW50X2VudW0gKHR5cGUsIGVtYmVkZGVkX29mZnNldCwgc3RyZWFtLAogCQkJ ICAgICAgb3JpZ2luYWxfdmFsdWUsIG9wdGlvbnMpOwogICAgICAgYnJlYWs7 CiAKICAgICBjYXNlIFRZUEVfQ09ERV9GTEFHUzoKLSAgICAgIGdlbmVyaWNf dmFsX3ByaW50X2ZsYWdzICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZz ZXQsIHN0cmVhbSwKKyAgICAgIGdlbmVyaWNfdmFsX3ByaW50X2ZsYWdzICh0 eXBlLCBlbWJlZGRlZF9vZmZzZXQsIHN0cmVhbSwKIAkJCSAgICAgICBvcmln aW5hbF92YWx1ZSwgb3B0aW9ucyk7CiAgICAgICBicmVhazsKIAogICAgIGNh c2UgVFlQRV9DT0RFX0ZVTkM6CiAgICAgY2FzZSBUWVBFX0NPREVfTUVUSE9E OgotICAgICAgZ2VuZXJpY192YWxfcHJpbnRfZnVuYyAodHlwZSwgdmFsYWRk ciwgZW1iZWRkZWRfb2Zmc2V0LCBhZGRyZXNzLCBzdHJlYW0sCisgICAgICBn ZW5lcmljX3ZhbF9wcmludF9mdW5jICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQs IGFkZHJlc3MsIHN0cmVhbSwKIAkJCSAgICAgIG9yaWdpbmFsX3ZhbHVlLCBv cHRpb25zKTsKICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBUWVBFX0NPREVf Qk9PTDoKLSAgICAgIGdlbmVyaWNfdmFsX3ByaW50X2Jvb2wgKHR5cGUsIHZh bGFkZHIsIGVtYmVkZGVkX29mZnNldCwgc3RyZWFtLAorICAgICAgZ2VuZXJp Y192YWxfcHJpbnRfYm9vbCAodHlwZSwgZW1iZWRkZWRfb2Zmc2V0LCBzdHJl YW0sCiAJCQkgICAgICBvcmlnaW5hbF92YWx1ZSwgb3B0aW9ucywgZGVjb3Jh dGlvbnMpOwogICAgICAgYnJlYWs7CiAKQEAgLTk3MiwyMiArOTk3LDIyIEBA IGdlbmVyaWNfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Z2RiX2J5dGUgKnZhbGFkZHIsCiAgICAgICAvKiBGQUxMVEhST1VHSCAqLwog CiAgICAgY2FzZSBUWVBFX0NPREVfSU5UOgotICAgICAgZ2VuZXJpY192YWxf cHJpbnRfaW50ICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZzZXQsIHN0 cmVhbSwKKyAgICAgIGdlbmVyaWNfdmFsX3ByaW50X2ludCAodHlwZSwgZW1i ZWRkZWRfb2Zmc2V0LCBzdHJlYW0sCiAJCQkgICAgIG9yaWdpbmFsX3ZhbHVl LCBvcHRpb25zKTsKICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBUWVBFX0NP REVfQ0hBUjoKLSAgICAgIGdlbmVyaWNfdmFsX3ByaW50X2NoYXIgKHR5cGUs IHVucmVzb2x2ZWRfdHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LAor ICAgICAgZ2VuZXJpY192YWxfcHJpbnRfY2hhciAodHlwZSwgdW5yZXNvbHZl ZF90eXBlLCBlbWJlZGRlZF9vZmZzZXQsCiAJCQkgICAgICBzdHJlYW0sIG9y aWdpbmFsX3ZhbHVlLCBvcHRpb25zKTsKICAgICAgIGJyZWFrOwogCiAgICAg Y2FzZSBUWVBFX0NPREVfRkxUOgotICAgICAgZ2VuZXJpY192YWxfcHJpbnRf ZmxvYXQgKHR5cGUsIHZhbGFkZHIsIGVtYmVkZGVkX29mZnNldCwgc3RyZWFt LAorICAgICAgZ2VuZXJpY192YWxfcHJpbnRfZmxvYXQgKHR5cGUsIGVtYmVk ZGVkX29mZnNldCwgc3RyZWFtLAogCQkJICAgICAgIG9yaWdpbmFsX3ZhbHVl LCBvcHRpb25zKTsKICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBUWVBFX0NP REVfREVDRkxPQVQ6Ci0gICAgICBnZW5lcmljX3ZhbF9wcmludF9kZWNmbG9h dCAodHlwZSwgdmFsYWRkciwgZW1iZWRkZWRfb2Zmc2V0LCBzdHJlYW0sCisg ICAgICBnZW5lcmljX3ZhbF9wcmludF9kZWNmbG9hdCAodHlwZSwgZW1iZWRk ZWRfb2Zmc2V0LCBzdHJlYW0sCiAJCQkJICBvcmlnaW5hbF92YWx1ZSwgb3B0 aW9ucyk7CiAgICAgICBicmVhazsKIApAQCAtMTAwNyw3ICsxMDMyLDcgQEAg Z2VuZXJpY192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBn ZGJfYnl0ZSAqdmFsYWRkciwKICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBU WVBFX0NPREVfQ09NUExFWDoKLSAgICAgIGdlbmVyaWNfdmFsX3ByaW50X2Nv bXBsZXggKHR5cGUsIHZhbGFkZHIsIGVtYmVkZGVkX29mZnNldCwgc3RyZWFt LAorICAgICAgZ2VuZXJpY192YWxfcHJpbnRfY29tcGxleCAodHlwZSwgZW1i ZWRkZWRfb2Zmc2V0LCBzdHJlYW0sCiAJCQkJIG9yaWdpbmFsX3ZhbHVlLCBv cHRpb25zLCBkZWNvcmF0aW9ucyk7CiAgICAgICBicmVhazsKIApAQCAtMTAy MiwxNSArMTA0NywxNCBAQCBnZW5lcmljX3ZhbF9wcmludCAoc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogfQogCiAvKiBQ cmludCB1c2luZyB0aGUgZ2l2ZW4gTEFOR1VBR0UgdGhlIGRhdGEgb2YgdHlw ZSBUWVBFIGxvY2F0ZWQgYXQKLSAgIFZBTEFERFIgKyBFTUJFRERFRF9PRkZT RVQgKHdpdGhpbiBHREIpLCB3aGljaCBjYW1lIGZyb20gdGhlCi0gICBpbmZl cmlvciBhdCBhZGRyZXNzIEFERFJFU1MgKyBFTUJFRERFRF9PRkZTRVQsIG9u dG8gc3RkaW8gc3RyZWFtCi0gICBTVFJFQU0gYWNjb3JkaW5nIHRvIE9QVElP TlMuICBWQUwgaXMgdGhlIHdob2xlIG9iamVjdCB0aGF0IGNhbWUKLSAgIGZy b20gQUREUkVTUy4gIFZBTEFERFIgbXVzdCBwb2ludCB0byB0aGUgaGVhZCBv ZiBWQUwncyBjb250ZW50cwotICAgYnVmZmVyLgorICAgVkFMJ3MgY29udGVu dHMgYnVmZmVyICsgRU1CRURERURfT0ZGU0VUICh3aXRoaW4gR0RCKSwgd2hp Y2ggY2FtZQorICAgZnJvbSB0aGUgaW5mZXJpb3IgYXQgYWRkcmVzcyBBRERS RVNTICsgRU1CRURERURfT0ZGU0VULCBvbnRvCisgICBzdGRpbyBzdHJlYW0g U1RSRUFNIGFjY29yZGluZyB0byBPUFRJT05TLiAgVkFMIGlzIHRoZSB3aG9s ZSBvYmplY3QKKyAgIHRoYXQgY2FtZSBmcm9tIEFERFJFU1MuCiAKICAgIFRo ZSBsYW5ndWFnZSBwcmludGVycyB3aWxsIHBhc3MgZG93biBhbiBhZGp1c3Rl ZCBFTUJFRERFRF9PRkZTRVQgdG8KICAgIGZ1cnRoZXIgaGVscGVyIHN1YnJv dXRpbmVzIGFzIHN1YmZpZWxkcyBvZiBUWVBFIGFyZSBwcmludGVkLiAgSW4K LSAgIHN1Y2ggY2FzZXMsIFZBTEFERFIgaXMgcGFzc2VkIGRvd24gdW5hZGp1 c3RlZCwgYXMgd2VsbCBhcyBWQUwsIHNvCisgICBzdWNoIGNhc2VzLCBWQUwg aXMgcGFzc2VkIGRvd24gdW5hZGp1c3RlZCwgc28KICAgIHRoYXQgVkFMIGNh biBiZSBxdWVyaWVkIGZvciBtZXRhZGF0YSBhYm91dCB0aGUgY29udGVudHMg ZGF0YSBiZWluZwogICAgcHJpbnRlZCwgdXNpbmcgRU1CRURERURfT0ZGU0VU IGFzIGFuIG9mZnNldCBpbnRvIFZBTCdzIGNvbnRlbnRzCiAgICBidWZmZXIu ICBGb3IgZXhhbXBsZTogImhhcyB0aGlzIGZpZWxkIGJlZW4gb3B0aW1pemVk IG91dCIsIG9yICJJJ20KQEAgLTEwNDIsOSArMTA2Niw5IEBAIGdlbmVyaWNf dmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUg KnZhbGFkZHIsCiAgICBSRUNVUlNFLiAgKi8KIAogdm9pZAotdmFsX3ByaW50 IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIs IExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAordmFsX3ByaW50IChzdHJ1Y3Qg dHlwZSAqdHlwZSwgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsCiAJICAgQ09S RV9BRERSIGFkZHJlc3MsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCBy ZWN1cnNlLAotCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAorCSAgIHN0 cnVjdCB2YWx1ZSAqdmFsLAogCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmlu dF9vcHRpb25zICpvcHRpb25zLAogCSAgIGNvbnN0IHN0cnVjdCBsYW5ndWFn ZV9kZWZuICpsYW5ndWFnZSkKIHsKQEAgLTEwNzQsNiArMTA5OCw4IEBAIHZh bF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKIAogICBpZiAoIW9w dGlvbnMtPnJhdykKICAgICB7CisgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFs YWRkciA9IHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAodmFsKTsKKwog ICAgICAgcmV0ID0gYXBwbHlfZXh0X2xhbmdfdmFsX3ByZXR0eV9wcmludGVy ICh0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZzZXQsCiAJCQkJCSAgICAg ICBhZGRyZXNzLCBzdHJlYW0sIHJlY3Vyc2UsCiAJCQkJCSAgICAgICB2YWws IG9wdGlvbnMsIGxhbmd1YWdlKTsKQEAgLTEwOTEsNyArMTExNyw3IEBAIHZh bF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKIAogICBUUlkKICAg ICB7Ci0gICAgICBsYW5ndWFnZS0+bGFfdmFsX3ByaW50ICh0eXBlLCB2YWxh ZGRyLCBlbWJlZGRlZF9vZmZzZXQsIGFkZHJlc3MsCisgICAgICBsYW5ndWFn ZS0+bGFfdmFsX3ByaW50ICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsIGFkZHJl c3MsCiAJCQkgICAgICBzdHJlYW0sIHJlY3Vyc2UsIHZhbCwKIAkJCSAgICAg ICZsb2NhbF9vcHRzKTsKICAgICB9CkBAIC0xMTc3LDcgKzEyMDMsNyBAQCBj b21tb25fdmFsX3ByaW50IChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgICAgICAgZ2V0IGEgZml4 ZWQgcmVwcmVzZW50YXRpb24gb2Ygb3VyIHZhbHVlLiAgKi8KICAgICB2YWwg PSBhZGFfdG9fZml4ZWRfdmFsdWUgKHZhbCk7CiAKLSAgdmFsX3ByaW50ICh2 YWx1ZV90eXBlICh2YWwpLCB2YWx1ZV9jb250ZW50c19mb3JfcHJpbnRpbmcg KHZhbCksCisgIHZhbF9wcmludCAodmFsdWVfdHlwZSAodmFsKSwKIAkgICAg IHZhbHVlX2VtYmVkZGVkX29mZnNldCAodmFsKSwgdmFsdWVfYWRkcmVzcyAo dmFsKSwKIAkgICAgIHN0cmVhbSwgcmVjdXJzZSwKIAkgICAgIHZhbCwgb3B0 aW9ucywgbGFuZ3VhZ2UpOwpAQCAtMTMwMyw4ICsxMzI5LDggQEAgdmFsX3By aW50X3R5cGVfY29kZV9mbGFncyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0 IGdkYl9ieXRlICp2YWxhZGRyLAogCiB2b2lkCiB2YWxfcHJpbnRfc2NhbGFy X2Zvcm1hdHRlZCAoc3RydWN0IHR5cGUgKnR5cGUsCi0JCQkgICAgY29uc3Qg Z2RiX2J5dGUgKnZhbGFkZHIsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAot CQkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAorCQkJICAgIExPTkdF U1QgZW1iZWRkZWRfb2Zmc2V0LAorCQkJICAgIHN0cnVjdCB2YWx1ZSAqdmFs LAogCQkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpv cHRpb25zLAogCQkJICAgIGludCBzaXplLAogCQkJICAgIHN0cnVjdCB1aV9m aWxlICpzdHJlYW0pCkBAIC0xMzEzLDcgKzEzMzksNiBAQCB2YWxfcHJpbnRf c2NhbGFyX2Zvcm1hdHRlZCAoc3RydWN0IHR5cGUgKnR5cGUsCiAgIGludCB1 bml0X3NpemUgPSBnZGJhcmNoX2FkZHJlc3NhYmxlX21lbW9yeV91bml0X3Np emUgKGFyY2gpOwogCiAgIGdkYl9hc3NlcnQgKHZhbCAhPSBOVUxMKTsKLSAg Z2RiX2Fzc2VydCAodmFsYWRkciA9PSB2YWx1ZV9jb250ZW50c19mb3JfcHJp bnRpbmdfY29uc3QgKHZhbCkpOwogCiAgIC8qIElmIHdlIGdldCBoZXJlIHdp dGggYSBzdHJpbmcgZm9ybWF0LCB0cnkgYWdhaW4gd2l0aG91dCBpdC4gIEdv CiAgICAgIGFsbCB0aGUgd2F5IGJhY2sgdG8gdGhlIGxhbmd1YWdlIHByaW50 ZXJzLCB3aGljaCBtYXkgY2FsbCB1cwpAQCAtMTMyMywxMSArMTM0OCwxNiBA QCB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAoc3RydWN0IHR5cGUgKnR5 cGUsCiAgICAgICBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyBvcHRzID0g Km9wdGlvbnM7CiAgICAgICBvcHRzLmZvcm1hdCA9IDA7CiAgICAgICBvcHRz LmRlcmVmX3JlZiA9IDA7Ci0gICAgICB2YWxfcHJpbnQgKHR5cGUsIHZhbGFk ZHIsIGVtYmVkZGVkX29mZnNldCwgMCwgc3RyZWFtLCAwLCB2YWwsICZvcHRz LAorICAgICAgdmFsX3ByaW50ICh0eXBlLCBlbWJlZGRlZF9vZmZzZXQsIDAs IHN0cmVhbSwgMCwgdmFsLCAmb3B0cywKIAkJIGN1cnJlbnRfbGFuZ3VhZ2Up OwogICAgICAgcmV0dXJuOwogICAgIH0KIAorICAvKiB2YWx1ZV9jb250ZW50 c19mb3JfcHJpbnRpbmcgZmV0Y2hlcyBhbGwgVkFMJ3MgY29udGVudHMuICBU aGV5IGFyZQorICAgICBuZWVkZWQgdG8gY2hlY2sgd2hldGhlciBWQUwgaXMg b3B0aW1pemVkLW91dCBvciB1bmF2YWlsYWJsZQorICAgICBiZWxvdy4gICov CisgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyID0gdmFsdWVfY29udGVudHNf Zm9yX3ByaW50aW5nICh2YWwpOworCiAgIC8qIEEgc2NhbGFyIG9iamVjdCB0 aGF0IGRvZXMgbm90IGhhdmUgYWxsIGJpdHMgYXZhaWxhYmxlIGNhbid0IGJl CiAgICAgIHByaW50ZWQsIGJlY2F1c2UgYWxsIGJpdHMgY29udHJpYnV0ZSB0 byBpdHMgcmVwcmVzZW50YXRpb24uICAqLwogICBpZiAodmFsdWVfYml0c19h bnlfb3B0aW1pemVkX291dCAodmFsLApAQCAtMTk2NSwxMCArMTk5NSwxMCBA QCBtYXliZV9wcmludF9hcnJheV9pbmRleCAoc3RydWN0IHR5cGUgKmluZGV4 X3R5cGUsIExPTkdFU1QgaW5kZXgsCiAKIHZvaWQKIHZhbF9wcmludF9hcnJh eV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCi0JCQkgIGNvbnN0IGdk Yl9ieXRlICp2YWxhZGRyLCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKKwkJ CSAgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsCiAJCQkgIENPUkVfQUREUiBh ZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogCQkJICBpbnQgcmVj dXJzZSwKLQkJCSAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCisJCQkgIHN0 cnVjdCB2YWx1ZSAqdmFsLAogCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJp bnRfb3B0aW9ucyAqb3B0aW9ucywKIAkJCSAgdW5zaWduZWQgaW50IGkpCiB7 CkBAIC0yMDY2LDcgKzIwOTYsNyBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVu dHMgKHN0cnVjdCB0eXBlICp0eXBlLAogCiAgICAgICBpZiAocmVwcyA+IG9w dGlvbnMtPnJlcGVhdF9jb3VudF90aHJlc2hvbGQpCiAJewotCSAgdmFsX3By aW50IChlbHR0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZzZXQgKyBpICog ZWx0bGVuLAorCSAgdmFsX3ByaW50IChlbHR0eXBlLCBlbWJlZGRlZF9vZmZz ZXQgKyBpICogZWx0bGVuLAogCQkgICAgIGFkZHJlc3MsIHN0cmVhbSwgcmVj dXJzZSArIDEsIHZhbCwgb3B0aW9ucywKIAkJICAgICBjdXJyZW50X2xhbmd1 YWdlKTsKIAkgIGFubm90YXRlX2VsdF9yZXAgKHJlcHMpOwpAQCAtMjA3OCw3 ICsyMTA4LDcgQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3Qg dHlwZSAqdHlwZSwKIAl9CiAgICAgICBlbHNlCiAJewotCSAgdmFsX3ByaW50 IChlbHR0eXBlLCB2YWxhZGRyLCBlbWJlZGRlZF9vZmZzZXQgKyBpICogZWx0 bGVuLAorCSAgdmFsX3ByaW50IChlbHR0eXBlLCBlbWJlZGRlZF9vZmZzZXQg KyBpICogZWx0bGVuLAogCQkgICAgIGFkZHJlc3MsCiAJCSAgICAgc3RyZWFt LCByZWN1cnNlICsgMSwgdmFsLCBvcHRpb25zLCBjdXJyZW50X2xhbmd1YWdl KTsKIAkgIGFubm90YXRlX2VsdCAoKTsKZGlmZiAtLWdpdCBhL2dkYi92YWxw cmludC5oIGIvZ2RiL3ZhbHByaW50LmgKaW5kZXggYTBmNzM5MS4uOGI2NDBm OSAxMDA2NDQKLS0tIGEvZ2RiL3ZhbHByaW50LmgKKysrIGIvZ2RiL3ZhbHBy aW50LmgKQEAgLTExNSw5ICsxMTUsOSBAQCBleHRlcm4gdm9pZCBtYXliZV9w cmludF9hcnJheV9pbmRleCAoc3RydWN0IHR5cGUgKmluZGV4X3R5cGUsIExP TkdFU1QgaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKIAkJCQkgICAgIGNvbnN0 IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICopOwogCi1leHRlcm4gdm9p ZCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICosIGNv bnN0IGdkYl9ieXRlICosIExPTkdFU1QsCitleHRlcm4gdm9pZCB2YWxfcHJp bnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICosIExPTkdFU1QsCiAJ CQkJICAgICAgQ09SRV9BRERSLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCi0J CQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlICosCisJCQkJICAgICAgc3Ry dWN0IHZhbHVlICosCiAJCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgKiwKIAkJCQkgICAgICB1bnNpZ25lZCBpbnQpOwogCkBA IC0xMjUsOCArMTI1LDggQEAgZXh0ZXJuIHZvaWQgdmFsX3ByaW50X3R5cGVf Y29kZV9pbnQgKHN0cnVjdCB0eXBlICosIGNvbnN0IGdkYl9ieXRlICosCiAJ CQkJICAgICBzdHJ1Y3QgdWlfZmlsZSAqKTsKIAogZXh0ZXJuIHZvaWQgdmFs X3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKHN0cnVjdCB0eXBlICosCi0JCQkJ CWNvbnN0IGdkYl9ieXRlICosIExPTkdFU1QsCi0JCQkJCWNvbnN0IHN0cnVj dCB2YWx1ZSAqLAorCQkJCQlMT05HRVNULAorCQkJCQlzdHJ1Y3QgdmFsdWUg KiwKIAkJCQkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKiwK IAkJCQkJaW50LAogCQkJCQlzdHJ1Y3QgdWlfZmlsZSAqKTsKQEAgLTE5Mywx MCArMTkzLDEwIEBAIHN0cnVjdCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0 aW9ucwogfTsKIAogCi1leHRlcm4gdm9pZCBnZW5lcmljX3ZhbF9wcmludCAo c3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAor ZXh0ZXJuIHZvaWQgZ2VuZXJpY192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0 eXBlLAogCQkJICAgICAgIGludCBlbWJlZGRlZF9vZmZzZXQsIENPUkVfQURE UiBhZGRyZXNzLAogCQkJICAgICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0s IGludCByZWN1cnNlLAotCQkJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAq b3JpZ2luYWxfdmFsdWUsCisJCQkgICAgICAgc3RydWN0IHZhbHVlICpvcmln aW5hbF92YWx1ZSwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJp bnRfb3B0aW9ucyAqb3B0aW9ucywKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3Qg Z2VuZXJpY192YWxfcHJpbnRfZGVjb3JhdGlvbnMgKik7CiAKZGlmZiAtLWdp dCBhL2dkYi92YWx1ZS5oIGIvZ2RiL3ZhbHVlLmgKaW5kZXggMzI5OWU4Ny4u NTgwNTczNiAxMDA2NDQKLS0tIGEvZ2RiL3ZhbHVlLmgKKysrIGIvZ2RiL3Zh bHVlLmgKQEAgLTEwMTYsMTAgKzEwMTYsMTAgQEAgZXh0ZXJuIHZvaWQgdmFs dWVfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB2YWx1ZSAqdmFsLAog CiBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9yZWxlYXNlX3RvX21hcmsg KGNvbnN0IHN0cnVjdCB2YWx1ZSAqbWFyayk7CiAKLWV4dGVybiB2b2lkIHZh bF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLAorZXh0ZXJuIHZvaWQgdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAq dHlwZSwKIAkJICAgICAgIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LCBDT1JF X0FERFIgYWRkcmVzcywKIAkJICAgICAgIHN0cnVjdCB1aV9maWxlICpzdHJl YW0sIGludCByZWN1cnNlLAotCQkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVl ICp2YWwsCisJCSAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCwKIAkJICAgICAg IGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAog CQkgICAgICAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKmxhbmd1YWdl KTsKIAotLSAKMS45LjEKCg== --001a11440ee04021600540cbce64--