Received: by 2002:ac2:464d:0:0:0:0:0 with SMTP id s13csp3601445lfo; Mon, 23 May 2022 08:59:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyZRs2y+rNv1Zr58+3G+3GWMBtElyv/mmpEQhC2aCNBZvJygXYHdeSq+4r9vHGnvlO4F0cQ X-Received: by 2002:a17:902:ce8f:b0:162:1aa9:f543 with SMTP id f15-20020a170902ce8f00b001621aa9f543mr7820497plg.123.1653321571700; Mon, 23 May 2022 08:59:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653321571; cv=none; d=google.com; s=arc-20160816; b=HWmc3ZC4rRqoTsMmVmugmFh4koiHE2Bdbwf6QMhqdCo8gVGi3m4RmAAr8WuEKL1u2w E4hB+U5TV3BnNvReMpMiYDloZ/RhSoNye7Q+Bc6kHYUIVjeTFInagIvNGI3npwPeEOt3 yE3Gv2OGOzcyuxOv2+SjUIhbycXjfJPgQM0r9dkpomz/bAE7JY4aTgLJ/b5D0+RhLf0C JI2IGswLdLzh36POFZeO31gwwhSXWUsp5mdGgpv3VhJ9vf8YcW0DN8kXxWptitNBoxXl X0ywsUnho8kjUedHkZiF/qAbDKb4ZwmE/OmqzxVDRX5/XyLjlZ1UPvexdGWpZppCw5si BVPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:mime-version :content-transfer-encoding:references:in-reply-to:subject:cc:to:from :date; bh=YyuPRdOI+c2Rwk46hZ8dPm/InKCg7wLTtryelbBgaBs=; b=qlz8wh3Dk+kva+dH8Ec03XJQKwFTrJ93z8qlLyuxgMdCCIQ9dcewhs64ITs3dsdazb drrm831dtBMmlSezvOq0skLBnFarMZpg83Ip3ZtyDpADd3y5P4gqYwfnrxxSTMxjzgt5 3blMeS/AvpHMgz1Fp87cAQ0h5Aj0troSn6XXjxM/3vZGI2aMQUaca34DN/GuJCBoA8r/ 5i390mVzbnlQkFHrTPMAbp3irG3PPCb7wfYnWNOP1ZBKeR1gOt/N3kkB60LNJiF0onZY NWWrDiaoHjIXECVkNMHypjgAjhO0AVWPUrMJKKu0zhxsL4wA/Xn/nw+SFEi1aj9Kofmo MGcg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id 202-20020a6303d3000000b003f6584467c3si10003165pgd.201.2022.05.23.08.59.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 May 2022 08:59:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B52AC4ECDA; Mon, 23 May 2022 08:59:22 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238288AbiEWP7G (ORCPT + 99 others); Mon, 23 May 2022 11:59:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46742 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238178AbiEWP7E (ORCPT ); Mon, 23 May 2022 11:59:04 -0400 Received: from azure-sdnproxy-1.icoremail.net (azure-sdnproxy.icoremail.net [52.237.72.81]) by lindbergh.monkeyblade.net (Postfix) with SMTP id 7E9511D306; Mon, 23 May 2022 08:59:00 -0700 (PDT) Received: by ajax-webmail-mail-app2 (Coremail) ; Mon, 23 May 2022 23:58:46 +0800 (GMT+08:00) X-Originating-IP: [124.236.130.193] Date: Mon, 23 May 2022 23:58:46 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: duoming@zju.edu.cn To: "Eric W. Biederman" Cc: linux-wireless@vger.kernel.org, amitkarwar@gmail.com, ganapathi017@gmail.com, sharvari.harisangam@nxp.com, huxinming820@gmail.com, kvalo@kernel.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org, rafael@kernel.org Subject: Re: [PATCH v3] mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.13 build 20210104(ab8c30b6) Copyright (c) 2002-2022 www.mailtech.cn zju.edu.cn In-Reply-To: <87o7zoxrdf.fsf@email.froward.int.ebiederm.org> References: <20220523052810.24767-1-duoming@zju.edu.cn> <87o7zoxrdf.fsf@email.froward.int.ebiederm.org> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8 MIME-Version: 1.0 Message-ID: <6a270950.2c659.180f1a46e8c.Coremail.duoming@zju.edu.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID: by_KCgBXX4s3r4tirEejAA--.8447W X-CM-SenderInfo: qssqjiasttq6lmxovvfxof0/1tbiAggTAVZdtZ1exAAEsl X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWkKw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGVsbG8gbWFpbnRhaW5lcnMsCgpUaGFuayB5b3UgZm9yIHlvdXIgdGltZSBhbmQgc3VnZ2VzdGlv bnMhIAoKPiA+IFRoZXJlIGFyZSBzbGVlcCBpbiBhdG9taWMgY29udGV4dCBidWdzIHdoZW4gdXBs b2FkaW5nIGRldmljZSBkdW1wCj4gPiBkYXRhIGluIG13aWZpZXguIFRoZSByb290IGNhdXNlIGlz IHRoYXQgZGV2X2NvcmVkdW1wdiBjb3VsZCBub3QKPiA+IGJlIHVzZWQgaW4gYXRvbWljIGNvbnRl eHRzLCBiZWNhdXNlIGl0IGNhbGxzIGRldl9zZXRfbmFtZSB3aGljaAo+ID4gaW5jbHVkZSBvcGVy YXRpb25zIHRoYXQgbWF5IHNsZWVwLiBUaGUgY2FsbCB0cmVlIHNob3dzIGV4ZWN1dGlvbgo+ID4g cGF0aHMgdGhhdCBjb3VsZCBsZWFkIHRvIGJ1Z3M6Cj4gPgo+ID4gICAgKEludGVycnVwdCBjb250 ZXh0KQo+ID4gZndfZHVtcF90aW1lcl9mbgo+ID4gICBtd2lmaWV4X3VwbG9hZF9kZXZpY2VfZHVt cAo+ID4gICAgIGRldl9jb3JlZHVtcHYoLi4uLCBHRlBfS0VSTkVMKQo+ID4gICAgICAgZGV2X2Nv cmVkdW1wbSgpCj4gPiAgICAgICAgIGt6YWxsb2Moc2l6ZW9mKCpkZXZjZCksIGdmcCk7IC8vbWF5 IHNsZWVwCj4gPiAgICAgICAgIGRldl9zZXRfbmFtZQo+ID4gICAgICAgICAgIGtvYmplY3Rfc2V0 X25hbWVfdmFyZ3MKPiA+ICAgICAgICAgICAgIGt2YXNwcmludGZfY29uc3QoR0ZQX0tFUk5FTCwg Li4uKTsgLy9tYXkgc2xlZXAKPiA+ICAgICAgICAgICAgIGtzdHJkdXAocywgR0ZQX0tFUk5FTCk7 IC8vbWF5IHNsZWVwCj4gPgo+ID4gSW4gb3JkZXIgdG8gbGV0IGRldl9jb3JlZHVtcHYgc3VwcG9y dCBhdG9taWMgY29udGV4dHMsIHRoaXMgcGF0Y2gKPiA+IGNoYW5nZXMgdGhlIGdmcF90IHBhcmFt ZXRlciBvZiBrdmFzcHJpbnRmX2NvbnN0IGFuZCBrc3RyZHVwIGluCj4gPiBrb2JqZWN0X3NldF9u YW1lX3ZhcmdzIGZyb20gR0ZQX0tFUk5FTCB0byBHRlBfQVRPTUlDLiBXaGF0J3MgbW9yZSwKPiA+ IEluIG9yZGVyIHRvIG1pdGlnYXRlIGJ1ZywgdGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBnZnBfdCBw YXJhbWV0ZXIKPiA+IG9mIGRldl9jb3JlZHVtcHYgZnJvbSBHRlBfS0VSTkVMIHRvIEdGUF9BVE9N SUMuCj4gCj4gdm1hbGxvYyBpbiBhdG9taWMgY29udGV4dD8KPiAKPiBOb3Qgb25seSBkb2VzIGRl dl9jb3JlZHVtcG0gc2V0IGEgZGV2aWNlIG5hbWUgZGV2X2NvcmVkdW1wbSBjcmVhdGVzIGFuCj4g ZW50aXJlIGRldmljZSB0byBob2xkIHRoZSBkZXZpY2UgZHVtcC4KPiAKPiBNeSBzZW5zZSBpcyB0 aGF0IGVpdGhlciBkZXZfY29yZWR1bXBtIG5lZWRzIHRvIGJlIHJlYnVpbHQgb24gYQo+IGNvbXBs ZXRlbHkgZGlmZmVyZW50IHByaW5jaXBsZSB0aGF0IGRvZXMgbm90IG5lZWQgYSBkZXZpY2UgdG8g aG9sZCB0aGUKPiBjb3JlZHVtcCAoc28gdGhhdCBpdCBjYW4gYmUgY2FsbGVkIGZyb20gaW50ZXJy dXB0IGNvbnRleHQpIG9yIHRoYXQKPiBkZXZfY29yZWR1bXBtIHNob3VsZCBuZXZlciBiZSBjYWxs ZWQgaW4gYW4gY29udGV4dCB0aGF0IGNhbiBub3Qgc2xlZXAuCgpUaGUgZm9sbG93aW5nIHNvbHV0 aW9uIHJlbW92ZXMgdGhlIGdmcF90IHBhcmFtZXRlciBvZiBkZXZfY29yZWR1bXB2KCksIApkZXZf Y29yZWR1bXBtKCkgYW5kIGRldl9jb3JlZHVtcHNnKCkgYW5kIGNoYW5nZSB0aGUgZ2ZwX3QgcGFy YW1ldGVyIG9mIApremFsbG9jKCkgaW4gZGV2X2NvcmVkdW1wbSgpIHRvIEdGUF9LRVJORUwsIGlu IG9yZGVyIHRvIHNob3cgdGhhdCB0aGVzZSAKZnVuY3Rpb25zIGNhbiBub3QgYmUgdXNlZCBpbiBh dG9taWMgY29udGV4dC4KCldoYXQncyBtb3JlLCBJIG1vdmUgdGhlIG9wZXJhdGlvbnMgdGhhdCBt YXkgc2xlZXAgaW50byBhIHdvcmsgaXRlbSBhbmQgdXNlCnNjaGVkdWxlX3dvcmsoKSB0byBjYWxs IGEga2VybmVsIHRocmVhZCB0byBkbyB0aGUgb3BlcmF0aW9ucyB0aGF0IG1heSBzbGVlcC4KCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2UvZGV2Y29yZWR1bXAuYyBiL2RyaXZlcnMvYmFzZS9kZXZj b3JlZHVtcC5jCmluZGV4IGY0ZDc5NGQ2YmI4Li44NTM1ZjBiZDVkZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9iYXNlL2RldmNvcmVkdW1wLmMKKysrIGIvZHJpdmVycy9iYXNlL2RldmNvcmVkdW1wLmMK QEAgLTE3MywxNSArMTczLDEzIEBAIHN0YXRpYyB2b2lkIGRldmNkX2ZyZWV2KHZvaWQgKmRhdGEp CiAgKiBAZGV2OiB0aGUgc3RydWN0IGRldmljZSBmb3IgdGhlIGNyYXNoZWQgZGV2aWNlCiAgKiBA ZGF0YTogdm1hbGxvYyBkYXRhIGNvbnRhaW5pbmcgdGhlIGRldmljZSBjb3JlZHVtcAogICogQGRh dGFsZW46IGxlbmd0aCBvZiB0aGUgZGF0YQotICogQGdmcDogYWxsb2NhdGlvbiBmbGFncwogICoK ICAqIFRoaXMgZnVuY3Rpb24gdGFrZXMgb3duZXJzaGlwIG9mIHRoZSB2bWFsbG9jJ2VkIGRhdGEg YW5kIHdpbGwgZnJlZQogICogaXQgd2hlbiBpdCBpcyBubyBsb25nZXIgdXNlZC4gU2VlIGRldl9j b3JlZHVtcG0oKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KICAqLwotdm9pZCBkZXZfY29yZWR1bXB2 KHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc2l6ZV90IGRhdGFsZW4sCi0JCSAgIGdm cF90IGdmcCkKK3ZvaWQgZGV2X2NvcmVkdW1wdihzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsIHNpemVfdCBkYXRhbGVuKQogewotCWRldl9jb3JlZHVtcG0oZGV2LCBOVUxMLCBkYXRhLCBk YXRhbGVuLCBnZnAsIGRldmNkX3JlYWR2LCBkZXZjZF9mcmVldik7CisJZGV2X2NvcmVkdW1wbShk ZXYsIE5VTEwsIGRhdGEsIGRhdGFsZW4sIGRldmNkX3JlYWR2LCBkZXZjZF9mcmVldik7CiB9CiBF WFBPUlRfU1lNQk9MX0dQTChkZXZfY29yZWR1bXB2KTsKIApAQCAtMjM2LDcgKzIzNCw2IEBAIHN0 YXRpYyBzc2l6ZV90IGRldmNkX3JlYWRfZnJvbV9zZ3RhYmxlKGNoYXIgKmJ1ZmZlciwgbG9mZl90 IG9mZnNldCwKICAqIEBvd25lcjogdGhlIG1vZHVsZSB0aGF0IGNvbnRhaW5zIHRoZSByZWFkL2Zy ZWUgZnVuY3Rpb25zLCB1c2UgJVRISVNfTU9EVUxFCiAgKiBAZGF0YTogZGF0YSBjb29raWUgZm9y IHRoZSBAcmVhZC9AZnJlZSBmdW5jdGlvbnMKICAqIEBkYXRhbGVuOiBsZW5ndGggb2YgdGhlIGRh dGEKLSAqIEBnZnA6IGFsbG9jYXRpb24gZmxhZ3MKICAqIEByZWFkOiBmdW5jdGlvbiB0byByZWFk IGZyb20gdGhlIGdpdmVuIGJ1ZmZlcgogICogQGZyZWU6IGZ1bmN0aW9uIHRvIGZyZWUgdGhlIGdp dmVuIGJ1ZmZlcgogICoKQEAgLTI0Niw3ICsyNDMsNyBAQCBzdGF0aWMgc3NpemVfdCBkZXZjZF9y ZWFkX2Zyb21fc2d0YWJsZShjaGFyICpidWZmZXIsIGxvZmZfdCBvZmZzZXQsCiAgKiBmdW5jdGlv biB3aWxsIGJlIGNhbGxlZCB0byBmcmVlIHRoZSBkYXRhLgogICovCiB2b2lkIGRldl9jb3JlZHVt cG0oc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbW9kdWxlICpvd25lciwKLQkJICAgdm9pZCAq ZGF0YSwgc2l6ZV90IGRhdGFsZW4sIGdmcF90IGdmcCwKKwkJICAgdm9pZCAqZGF0YSwgc2l6ZV90 IGRhdGFsZW4sCiAJCSAgIHNzaXplX3QgKCpyZWFkKShjaGFyICpidWZmZXIsIGxvZmZfdCBvZmZz ZXQsIHNpemVfdCBjb3VudCwKIAkJCQkgICB2b2lkICpkYXRhLCBzaXplX3QgZGF0YWxlbiksCiAJ CSAgIHZvaWQgKCpmcmVlKSh2b2lkICpkYXRhKSkKQEAgLTI2OCw3ICsyNjUsNyBAQCB2b2lkIGRl dl9jb3JlZHVtcG0oc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbW9kdWxlICpvd25lciwKIAlp ZiAoIXRyeV9tb2R1bGVfZ2V0KG93bmVyKSkKIAkJZ290byBmcmVlOwogCi0JZGV2Y2QgPSBremFs bG9jKHNpemVvZigqZGV2Y2QpLCBnZnApOworCWRldmNkID0ga3phbGxvYyhzaXplb2YoKmRldmNk KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFkZXZjZCkKIAkJZ290byBwdXRfbW9kdWxlOwogCkBAIC0z MTgsNyArMzE1LDYgQEAgRVhQT1JUX1NZTUJPTF9HUEwoZGV2X2NvcmVkdW1wbSk7CiAgKiBAZGV2 OiB0aGUgc3RydWN0IGRldmljZSBmb3IgdGhlIGNyYXNoZWQgZGV2aWNlCiAgKiBAdGFibGU6IHRo ZSBkdW1wIGRhdGEKICAqIEBkYXRhbGVuOiBsZW5ndGggb2YgdGhlIGRhdGEKLSAqIEBnZnA6IGFs bG9jYXRpb24gZmxhZ3MKICAqCiAgKiBDcmVhdGVzIGEgbmV3IGRldmljZSBjb3JlZHVtcCBmb3Ig dGhlIGdpdmVuIGRldmljZS4gSWYgYSBwcmV2aW91cyBvbmUgaGFzbid0CiAgKiBiZWVuIHJlYWQg eWV0LCB0aGUgbmV3IGNvcmVkdW1wIGlzIGRpc2NhcmRlZC4gVGhlIGRhdGEgbGlmZXRpbWUgaXMg ZGV0ZXJtaW5lZApAQCAtMzI2LDkgKzMyMiw5IEBAIEVYUE9SVF9TWU1CT0xfR1BMKGRldl9jb3Jl ZHVtcG0pOwogICogaXQgd2lsbCBmcmVlIHRoZSBkYXRhLgogICovCiB2b2lkIGRldl9jb3JlZHVt cHNnKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNjYXR0ZXJsaXN0ICp0YWJsZSwKLQkJICAg IHNpemVfdCBkYXRhbGVuLCBnZnBfdCBnZnApCisJCSAgICBzaXplX3QgZGF0YWxlbikKIHsKLQlk ZXZfY29yZWR1bXBtKGRldiwgTlVMTCwgdGFibGUsIGRhdGFsZW4sIGdmcCwgZGV2Y2RfcmVhZF9m cm9tX3NndGFibGUsCisJZGV2X2NvcmVkdW1wbShkZXYsIE5VTEwsIHRhYmxlLCBkYXRhbGVuLCBk ZXZjZF9yZWFkX2Zyb21fc2d0YWJsZSwKIAkJICAgICAgZGV2Y2RfZnJlZV9zZ3RhYmxlKTsKIH0K IEVYUE9SVF9TWU1CT0xfR1BMKGRldl9jb3JlZHVtcHNnKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Ymx1ZXRvb3RoL2J0bXJ2bF9zZGlvLmMgYi9kcml2ZXJzL2JsdWV0b290aC9idG1ydmxfc2Rpby5j CmluZGV4IGI4ZWY2NmY4OWZjLi45Yjk3Mjg3MTlkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibHVl dG9vdGgvYnRtcnZsX3NkaW8uYworKysgYi9kcml2ZXJzL2JsdWV0b290aC9idG1ydmxfc2Rpby5j CkBAIC0xNTE1LDcgKzE1MTUsNyBAQCBzdGF0aWMgdm9pZCBidG1ydmxfc2Rpb19jb3JlZHVtcChz dHJ1Y3QgZGV2aWNlICpkZXYpCiAJLyogZndfZHVtcF9kYXRhIHdpbGwgYmUgZnJlZSBpbiBkZXZp Y2UgY29yZWR1bXAgcmVsZWFzZSBmdW5jdGlvbgogCSAqIGFmdGVyIDUgbWluCiAJICovCi0JZGV2 X2NvcmVkdW1wdigmY2FyZC0+ZnVuYy0+ZGV2LCBmd19kdW1wX2RhdGEsIGZ3X2R1bXBfbGVuLCBH RlBfS0VSTkVMKTsKKwlkZXZfY29yZWR1bXB2KCZjYXJkLT5mdW5jLT5kZXYsIGZ3X2R1bXBfZGF0 YSwgZndfZHVtcF9sZW4pOwogCUJUX0lORk8oIj09IGJ0bXJ2bCBmaXJtd2FyZSBkdW1wIHRvIC9z eXMvY2xhc3MvZGV2Y29yZWR1bXAgZW5kIik7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmx1 ZXRvb3RoL2hjaV9xY2EuYyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2hjaV9xY2EuYwppbmRleCBmNmU5 MWZiNDMyYS4uZmU5MjI5YzMyMTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmx1ZXRvb3RoL2hjaV9x Y2EuYworKysgYi9kcml2ZXJzL2JsdWV0b290aC9oY2lfcWNhLmMKQEAgLTExMjAsNyArMTEyMCw3 IEBAIHN0YXRpYyB2b2lkIHFjYV9jb250cm9sbGVyX21lbWR1bXAoc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQogCQkJCSAgICBxY2FfbWVtZHVtcC0+cmFtX2R1bXBfc2l6ZSk7CiAJCQltZW1kdW1w X2J1ZiA9IHFjYV9tZW1kdW1wLT5tZW1kdW1wX2J1Zl9oZWFkOwogCQkJZGV2X2NvcmVkdW1wdigm aHUtPnNlcmRldi0+ZGV2LCBtZW1kdW1wX2J1ZiwKLQkJCQkgICAgICBxY2FfbWVtZHVtcC0+cmVj ZWl2ZWRfZHVtcCwgR0ZQX0tFUk5FTCk7CisJCQkJICAgICAgcWNhX21lbWR1bXAtPnJlY2VpdmVk X2R1bXApOwogCQkJY2FuY2VsX2RlbGF5ZWRfd29yaygmcWNhLT5jdHJsX21lbWR1bXBfdGltZW91 dCk7CiAJCQlrZnJlZShxY2EtPnFjYV9tZW1kdW1wKTsKIAkJCXFjYS0+cWNhX21lbWR1bXAgPSBO VUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kdW1wLmMg Yi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2R1bXAuYwppbmRleCBmNDE4ZTBiNzU3 Ny4uNTE5ZmNiMjM0YjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2 aXZfZHVtcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHVtcC5jCkBA IC0yMjUsNSArMjI1LDUgQEAgdm9pZCBldG5hdml2X2NvcmVfZHVtcChzdHJ1Y3QgZXRuYXZpdl9n ZW1fc3VibWl0ICpzdWJtaXQpCiAKIAlldG5hdml2X2NvcmVfZHVtcF9oZWFkZXIoJml0ZXIsIEVU RFVNUF9CVUZfRU5ELCBpdGVyLmRhdGEpOwogCi0JZGV2X2NvcmVkdW1wdihncHUtPmRldiwgaXRl ci5zdGFydCwgaXRlci5kYXRhIC0gaXRlci5zdGFydCwgR0ZQX0tFUk5FTCk7CisJZGV2X2NvcmVk dW1wdihncHUtPmRldiwgaXRlci5zdGFydCwgaXRlci5kYXRhIC0gaXRlci5zdGFydCk7CiB9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbXNtX2Rpc3Bfc25hcHNob3QuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tc21fZGlzcF9zbmFwc2hvdC5jCmluZGV4IGU3NWI5 NzEyN2MwLi5hOGI5MzY2NDI3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L21zbV9kaXNwX3NuYXBzaG90LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21zbV9k aXNwX3NuYXBzaG90LmMKQEAgLTc0LDcgKzc0LDcgQEAgc3RhdGljIHZvaWQgX21zbV9kaXNwX3Nu YXBzaG90X3dvcmsoc3RydWN0IGt0aHJlYWRfd29yayAqd29yaykKIAkgKiBJZiB0aGVyZSBpcyBh IGNvZGVkdW1wIHBlbmRpbmcgZm9yIHRoZSBkZXZpY2UsIHRoZSBkZXZfY29yZWR1bXBtKCkKIAkg KiB3aWxsIGFsc28gZnJlZSBuZXcgY29yZWR1bXAgc3RhdGUuCiAJICovCi0JZGV2X2NvcmVkdW1w bShkaXNwX3N0YXRlLT5kZXYsIFRISVNfTU9EVUxFLCBkaXNwX3N0YXRlLCAwLCBHRlBfS0VSTkVM LAorCWRldl9jb3JlZHVtcG0oZGlzcF9zdGF0ZS0+ZGV2LCBUSElTX01PRFVMRSwgZGlzcF9zdGF0 ZSwgMCwKIAkJCWRpc3BfZGV2Y29yZWR1bXBfcmVhZCwgbXNtX2Rpc3Bfc3RhdGVfZnJlZSk7CiB9 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5jIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fZ3B1LmMKaW5kZXggZmFmMGMyNDI4NzQuLmM5M2RiZDM4NDBmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9ncHUuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vbXNtL21zbV9ncHUuYwpAQCAtMzE3LDcgKzMxNyw3IEBAIHN0YXRpYyB2b2lkIG1zbV9ncHVf Y3Jhc2hzdGF0ZV9jYXB0dXJlKHN0cnVjdCBtc21fZ3B1ICpncHUsCiAJZ3B1LT5jcmFzaHN0YXRl ID0gc3RhdGU7CiAKIAkvKiBGSVhNRTogUmVsZWFzZSB0aGUgY3Jhc2hzdGF0ZSBpZiB0aGlzIGVy cm9ycyBvdXQ/ICovCi0JZGV2X2NvcmVkdW1wbShncHUtPmRldi0+ZGV2LCBUSElTX01PRFVMRSwg Z3B1LCAwLCBHRlBfS0VSTkVMLAorCWRldl9jb3JlZHVtcG0oZ3B1LT5kZXYtPmRldiwgVEhJU19N T0RVTEUsIGdwdSwgMCwKIAkJbXNtX2dwdV9kZXZjb3JlZHVtcF9yZWFkLCBtc21fZ3B1X2RldmNv cmVkdW1wX2ZyZWUpOwogfQogI2Vsc2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZv cm0vcWNvbS92ZW51cy9jb3JlLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3Fjb20vdmVudXMv Y29yZS5jCmluZGV4IDg3N2VjYTEyNTgwLi5kYjg0ZGZiM2ZiMSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9xY29tL3ZlbnVzL2NvcmUuYworKysgYi9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL3Fjb20vdmVudXMvY29yZS5jCkBAIC00OSw3ICs0OSw3IEBAIHN0YXRpYyB2b2lkIHZl bnVzX2NvcmVkdW1wKHN0cnVjdCB2ZW51c19jb3JlICpjb3JlKQogCiAJbWVtY3B5KGRhdGEsIG1l bV92YSwgbWVtX3NpemUpOwogCW1lbXVubWFwKG1lbV92YSk7Ci0JZGV2X2NvcmVkdW1wdihkZXYs IGRhdGEsIG1lbV9zaXplLCBHRlBfS0VSTkVMKTsKKwlkZXZfY29yZWR1bXB2KGRldiwgZGF0YSwg bWVtX3NpemUpOwogfQogCiBzdGF0aWMgdm9pZCB2ZW51c19ldmVudF9ub3RpZnkoc3RydWN0IHZl bnVzX2NvcmUgKmNvcmUsIHUzMiBldmVudCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2Nhbi9z cGkvbWNwMjUxeGZkL21jcDI1MXhmZC1kdW1wLmMgYi9kcml2ZXJzL25ldC9jYW4vc3BpL21jcDI1 MXhmZC9tY3AyNTF4ZmQtZHVtcC5jCmluZGV4IGM5OTFiMzBiYzlmLi5mYTUyMGFiN2M5NiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvY2FuL3NwaS9tY3AyNTF4ZmQvbWNwMjUxeGZkLWR1bXAuYwor KysgYi9kcml2ZXJzL25ldC9jYW4vc3BpL21jcDI1MXhmZC9tY3AyNTF4ZmQtZHVtcC5jCkBAIC0y ODEsNSArMjgxLDUgQEAgdm9pZCBtY3AyNTF4ZmRfZHVtcChjb25zdCBzdHJ1Y3QgbWNwMjUxeGZk X3ByaXYgKnByaXYpCiAJbWNwMjUxeGZkX2R1bXBfZW5kKHByaXYsICZpdGVyKTsKIAogCWRldl9j b3JlZHVtcHYoJnByaXYtPnNwaS0+ZGV2LCBpdGVyLnN0YXJ0LAotCQkgICAgICBpdGVyLmRhdGEg LSBpdGVyLnN0YXJ0LCBHRlBfS0VSTkVMKTsKKwkJICAgICAgaXRlci5kYXRhIC0gaXRlci5zdGFy dCk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTBrL2NvcmVk dW1wLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoMTBrL2NvcmVkdW1wLmMKaW5kZXgg ZmU2YjZmOTdhOTEuLmRjOTIzNzA2OTkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVz cy9hdGgvYXRoMTBrL2NvcmVkdW1wLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0 aDEway9jb3JlZHVtcC5jCkBAIC0xNjA3LDcgKzE2MDcsNyBAQCBpbnQgYXRoMTBrX2NvcmVkdW1w X3N1Ym1pdChzdHJ1Y3QgYXRoMTBrICphcikKIAkJcmV0dXJuIC1FTk9EQVRBOwogCX0KIAotCWRl dl9jb3JlZHVtcHYoYXItPmRldiwgZHVtcCwgbGUzMl90b19jcHUoZHVtcC0+bGVuKSwgR0ZQX0tF Uk5FTCk7CisJZGV2X2NvcmVkdW1wdihhci0+ZGV2LCBkdW1wLCBsZTMyX3RvX2NwdShkdW1wLT5s ZW4pKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3Mv YXRoL3dpbDYyMTAvd2lsX2NyYXNoX2R1bXAuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC93 aWw2MjEwL3dpbF9jcmFzaF9kdW1wLmMKaW5kZXggODljMTJjYjJhYWEuLjc5Mjk5NjA5ZGQ2IDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvd2lsNjIxMC93aWxfY3Jhc2hfZHVt cC5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC93aWw2MjEwL3dpbF9jcmFzaF9kdW1w LmMKQEAgLTExNyw2ICsxMTcsNiBAQCB2b2lkIHdpbF9md19jb3JlX2R1bXAoc3RydWN0IHdpbDYy MTBfcHJpdiAqd2lsKQogCS8qIGZ3X2R1bXBfZGF0YSB3aWxsIGJlIGZyZWUgaW4gZGV2aWNlIGNv cmVkdW1wIHJlbGVhc2UgZnVuY3Rpb24KIAkgKiBhZnRlciA1IG1pbgogCSAqLwotCWRldl9jb3Jl ZHVtcHYod2lsX3RvX2Rldih3aWwpLCBmd19kdW1wX2RhdGEsIGZ3X2R1bXBfc2l6ZSwgR0ZQX0tF Uk5FTCk7CisJZGV2X2NvcmVkdW1wdih3aWxfdG9fZGV2KHdpbCksIGZ3X2R1bXBfZGF0YSwgZndf ZHVtcF9zaXplKTsKIAl3aWxfaW5mbyh3aWwsICJmdyBjb3JlIGR1bXBlZCwgc2l6ZSAlZCBieXRl c1xuIiwgZndfZHVtcF9zaXplKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNz L2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9kZWJ1Zy5jIGIvZHJpdmVycy9uZXQvd2lyZWxl c3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2RlYnVnLmMKaW5kZXggZWVjZjhhMzhkOTQu Ljg3ZjM2NTJlZjNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNvbS9i cmNtODAyMTEvYnJjbWZtYWMvZGVidWcuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9h ZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZGVidWcuYwpAQCAtMzcsNyArMzcsNyBAQCBpbnQgYnJj bWZfZGVidWdfY3JlYXRlX21lbWR1bXAoc3RydWN0IGJyY21mX2J1cyAqYnVzLCBjb25zdCB2b2lk ICpkYXRhLAogCQlyZXR1cm4gZXJyOwogCX0KIAotCWRldl9jb3JlZHVtcHYoYnVzLT5kZXYsIGR1 bXAsIGxlbiArIHJhbXNpemUsIEdGUF9LRVJORUwpOworCWRldl9jb3JlZHVtcHYoYnVzLT5kZXYs IGR1bXAsIGxlbiArIHJhbXNpemUpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2Z3L2RiZy5jIGIvZHJpdmVycy9uZXQvd2ly ZWxlc3MvaW50ZWwvaXdsd2lmaS9mdy9kYmcuYwppbmRleCBhYmY0OTAyMmVkYi4uZjJmN2NmNDk0 YTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZncvZGJn LmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9mdy9kYmcuYwpAQCAt MjYwMSw4ICsyNjAxLDcgQEAgc3RhdGljIHZvaWQgaXdsX2Z3X2Vycm9yX2R1bXAoc3RydWN0IGl3 bF9md19ydW50aW1lICpmd3J0LAogCQkJCQkgICAgIGZ3X2Vycm9yX2R1bXAudHJhbnNfcHRyLT5k YXRhLAogCQkJCQkgICAgIGZ3X2Vycm9yX2R1bXAudHJhbnNfcHRyLT5sZW4sCiAJCQkJCSAgICAg ZndfZXJyb3JfZHVtcC5md3J0X2xlbik7Ci0JCWRldl9jb3JlZHVtcHNnKGZ3cnQtPnRyYW5zLT5k ZXYsIHNnX2R1bXBfZGF0YSwgZmlsZV9sZW4sCi0JCQkgICAgICAgR0ZQX0tFUk5FTCk7CisJCWRl dl9jb3JlZHVtcHNnKGZ3cnQtPnRyYW5zLT5kZXYsIHNnX2R1bXBfZGF0YSwgZmlsZV9sZW4pOwog CX0KIAl2ZnJlZShmd19lcnJvcl9kdW1wLmZ3cnRfcHRyKTsKIAl2ZnJlZShmd19lcnJvcl9kdW1w LnRyYW5zX3B0cik7CkBAIC0yNjQ3LDggKzI2NDYsNyBAQCBzdGF0aWMgdm9pZCBpd2xfZndfZXJy b3JfaW5pX2R1bXAoc3RydWN0IGl3bF9md19ydW50aW1lICpmd3J0LAogCQkJCQkgICAgIGVudHJ5 LT5kYXRhLCBlbnRyeS0+c2l6ZSwgb2Zmcyk7CiAJCQlvZmZzICs9IGVudHJ5LT5zaXplOwogCQl9 Ci0JCWRldl9jb3JlZHVtcHNnKGZ3cnQtPnRyYW5zLT5kZXYsIHNnX2R1bXBfZGF0YSwgZmlsZV9s ZW4sCi0JCQkgICAgICAgR0ZQX0tFUk5FTCk7CisJCWRldl9jb3JlZHVtcHNnKGZ3cnQtPnRyYW5z LT5kZXYsIHNnX2R1bXBfZGF0YSwgZmlsZV9sZW4pOwogCX0KIAlpd2xfZHVtcF9pbmlfbGlzdF9m cmVlKCZkdW1wX2xpc3QpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFy dmVsbC9td2lmaWV4L2luaXQuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdpZmll eC9pbml0LmMKaW5kZXggODhjNzJkMTgyN2EuLmNjM2YxMTIxZWI5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvaW5pdC5jCisrKyBiL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9pbml0LmMKQEAgLTYzLDExICs2MywxOSBAQCBzdGF0 aWMgdm9pZCB3YWtldXBfdGltZXJfZm4oc3RydWN0IHRpbWVyX2xpc3QgKnQpCiAJCWFkYXB0ZXIt PmlmX29wcy5jYXJkX3Jlc2V0KGFkYXB0ZXIpOwogfQogCitzdGF0aWMgdm9pZCBmd19kdW1wX3dv cmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBtd2lmaWV4X2FkYXB0ZXIg KmFkYXB0ZXIgPQorCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IG13aWZpZXhfYWRhcHRlciwg ZGV2ZHVtcF93b3JrKTsKKworCW13aWZpZXhfdXBsb2FkX2RldmljZV9kdW1wKGFkYXB0ZXIpOwor fQorCiBzdGF0aWMgdm9pZCBmd19kdW1wX3RpbWVyX2ZuKHN0cnVjdCB0aW1lcl9saXN0ICp0KQog ewogCXN0cnVjdCBtd2lmaWV4X2FkYXB0ZXIgKmFkYXB0ZXIgPSBmcm9tX3RpbWVyKGFkYXB0ZXIs IHQsIGRldmR1bXBfdGltZXIpOwogCi0JbXdpZmlleF91cGxvYWRfZGV2aWNlX2R1bXAoYWRhcHRl cik7CisJc2NoZWR1bGVfd29yaygmYWRhcHRlci0+ZGV2ZHVtcF93b3JrKTsKIH0KIAogLyoKQEAg LTMyMSw2ICszMjksNyBAQCBzdGF0aWMgdm9pZCBtd2lmaWV4X2luaXRfYWRhcHRlcihzdHJ1Y3Qg bXdpZmlleF9hZGFwdGVyICphZGFwdGVyKQogCWFkYXB0ZXItPmFjdGl2ZV9zY2FuX3RyaWdnZXJl ZCA9IGZhbHNlOwogCXRpbWVyX3NldHVwKCZhZGFwdGVyLT53YWtldXBfdGltZXIsIHdha2V1cF90 aW1lcl9mbiwgMCk7CiAJYWRhcHRlci0+ZGV2ZHVtcF9sZW4gPSAwOworCUlOSVRfV09SSygmYWRh cHRlci0+ZGV2ZHVtcF93b3JrLCBmd19kdW1wX3dvcmspOwogCXRpbWVyX3NldHVwKCZhZGFwdGVy LT5kZXZkdW1wX3RpbWVyLCBmd19kdW1wX3RpbWVyX2ZuLCAwKTsKIH0KIApAQCAtNDAxLDYgKzQx MCw3IEBAIG13aWZpZXhfYWRhcHRlcl9jbGVhbnVwKHN0cnVjdCBtd2lmaWV4X2FkYXB0ZXIgKmFk YXB0ZXIpCiB7CiAJZGVsX3RpbWVyKCZhZGFwdGVyLT53YWtldXBfdGltZXIpOwogCWRlbF90aW1l cl9zeW5jKCZhZGFwdGVyLT5kZXZkdW1wX3RpbWVyKTsKKwljYW5jZWxfd29ya19zeW5jKCZhZGFw dGVyLT5kZXZkdW1wX3dvcmspOwogCW13aWZpZXhfY2FuY2VsX2FsbF9wZW5kaW5nX2NtZChhZGFw dGVyKTsKIAl3YWtlX3VwX2ludGVycnVwdGlibGUoJmFkYXB0ZXItPmNtZF93YWl0X3Eud2FpdCk7 CiAJd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZhZGFwdGVyLT5oc19hY3RpdmF0ZV93YWl0X3EpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L21haW4uYyBi L2RyaXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9tYWluLmMKaW5kZXggYWNlNzM3 MWM0NzcuLjI2ZmVmMGFiMWIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2 ZWxsL213aWZpZXgvbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdp ZmlleC9tYWluLmMKQEAgLTExMTUsOCArMTExNSw3IEBAIHZvaWQgbXdpZmlleF91cGxvYWRfZGV2 aWNlX2R1bXAoc3RydWN0IG13aWZpZXhfYWRhcHRlciAqYWRhcHRlcikKIAkgKi8KIAltd2lmaWV4 X2RiZyhhZGFwdGVyLCBNU0csCiAJCSAgICAiPT0gbXdpZmlleCBkdW1wIGluZm9ybWF0aW9uIHRv IC9zeXMvY2xhc3MvZGV2Y29yZWR1bXAgc3RhcnRcbiIpOwotCWRldl9jb3JlZHVtcHYoYWRhcHRl ci0+ZGV2LCBhZGFwdGVyLT5kZXZkdW1wX2RhdGEsIGFkYXB0ZXItPmRldmR1bXBfbGVuLAotCQkg ICAgICBHRlBfS0VSTkVMKTsKKwlkZXZfY29yZWR1bXB2KGFkYXB0ZXItPmRldiwgYWRhcHRlci0+ ZGV2ZHVtcF9kYXRhLCBhZGFwdGVyLT5kZXZkdW1wX2xlbik7CiAJbXdpZmlleF9kYmcoYWRhcHRl ciwgTVNHLAogCQkgICAgIj09IG13aWZpZXggZHVtcCBpbmZvcm1hdGlvbiB0byAvc3lzL2NsYXNz L2RldmNvcmVkdW1wIGVuZFxuIik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNz L21hcnZlbGwvbXdpZmlleC9tYWluLmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213 aWZpZXgvbWFpbi5oCmluZGV4IDMzMmRkMWM4ZGIzLi5jOGFjMmY1N2YxOCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L21haW4uaAorKysgYi9kcml2ZXJz L25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvbWFpbi5oCkBAIC05MDAsNiArOTAwLDcgQEAg c3RydWN0IG13aWZpZXhfYWRhcHRlciB7CiAJc3RydWN0IHdvcmtfc3RydWN0IHJ4X3dvcms7CiAJ c3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKmRmc193b3JrcXVldWU7CiAJc3RydWN0IHdvcmtfc3Ry dWN0IGRmc193b3JrOworCXN0cnVjdCB3b3JrX3N0cnVjdCBkZXZkdW1wX3dvcms7CiAJYm9vbCBy eF93b3JrX2VuYWJsZWQ7CiAJYm9vbCByeF9wcm9jZXNzaW5nOwogCWJvb2wgZGVsYXlfbWFpbl93 b3JrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L3N0 YV9ldmVudC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L3N0YV9ldmVu dC5jCmluZGV4IDdkNDJjNWQyZGJmLi44ZTI4ZDAxMDdkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L3N0YV9ldmVudC5jCisrKyBiL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9zdGFfZXZlbnQuYwpAQCAtNjQ0LDYgKzY0NCw3IEBA IG13aWZpZXhfZndfZHVtcF9pbmZvX2V2ZW50KHN0cnVjdCBtd2lmaWV4X3ByaXZhdGUgKnByaXYs CiAKIHVwbG9hZF9kdW1wOgogCWRlbF90aW1lcl9zeW5jKCZhZGFwdGVyLT5kZXZkdW1wX3RpbWVy KTsKKwljYW5jZWxfd29ya19zeW5jKCZhZGFwdGVyLT5kZXZkdW1wX3dvcmspOwogCW13aWZpZXhf dXBsb2FkX2RldmljZV9kdW1wKGFkYXB0ZXIpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzYxNS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVs ZXNzL21lZGlhdGVrL210NzYvbXQ3NjE1L21hYy5jCmluZGV4IGJkNjg3ZjdkZTYyLi41MzM2ZmU4 YzY2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc2 MTUvbWFjLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc2MTUv bWFjLmMKQEAgLTI0MjEsNiArMjQyMSw1IEBAIHZvaWQgbXQ3NjE1X2NvcmVkdW1wX3dvcmsoc3Ry dWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCiAJCWRldl9rZnJlZV9za2Ioc2tiKTsKIAl9Ci0JZGV2 X2NvcmVkdW1wdihkZXYtPm10NzYuZGV2LCBkdW1wLCBNVDc2X0NPTk5BQ19DT1JFRFVNUF9TWiwK LQkJICAgICAgR0ZQX0tFUk5FTCk7CisJZGV2X2NvcmVkdW1wdihkZXYtPm10NzYuZGV2LCBkdW1w LCBNVDc2X0NPTk5BQ19DT1JFRFVNUF9TWik7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93 aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkyMS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNz L21lZGlhdGVrL210NzYvbXQ3OTIxL21hYy5jCmluZGV4IDIzMzk5OGNhNDg1Li5mZWM1MWU0NjBi ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEv bWFjLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MjEvbWFj LmMKQEAgLTE2MTksOCArMTYxOSw3IEBAIHZvaWQgbXQ3OTIxX2NvcmVkdW1wX3dvcmsoc3RydWN0 IHdvcmtfc3RydWN0ICp3b3JrKQogCX0KIAogCWlmIChkdW1wKQotCQlkZXZfY29yZWR1bXB2KGRl di0+bXQ3Ni5kZXYsIGR1bXAsIE1UNzZfQ09OTkFDX0NPUkVEVU1QX1NaLAotCQkJICAgICAgR0ZQ X0tFUk5FTCk7CisJCWRldl9jb3JlZHVtcHYoZGV2LT5tdDc2LmRldiwgZHVtcCwgTVQ3Nl9DT05O QUNfQ09SRURVTVBfU1opOwogCiAJbXQ3OTIxX3Jlc2V0KCZkZXYtPm10NzYpOwogfQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OC9tYWluLmMgYi9kcml2ZXJz L25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg4L21haW4uYwppbmRleCA4Yjk4OTllNDFiMC4uMmZl YzI0MDA3MGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODgv bWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODgvbWFpbi5jCkBA IC00MTMsNyArNDEzLDcgQEAgc3RhdGljIHZvaWQgcnR3X2Z3Y2RfZHVtcChzdHJ1Y3QgcnR3X2Rl diAqcnR3ZGV2KQogCSAqIGZyYW1ld29yay4gTm90ZSB0aGF0IGEgbmV3IGR1bXAgd2lsbCBiZSBk aXNjYXJkZWQgaWYgYSBwcmV2aW91cyBvbmUKIAkgKiBoYXNuJ3QgYmVlbiByZWxlYXNlZCB5ZXQu CiAJICovCi0JZGV2X2NvcmVkdW1wdihydHdkZXYtPmRldiwgZGVzYy0+ZGF0YSwgZGVzYy0+c2l6 ZSwgR0ZQX0tFUk5FTCk7CisJZGV2X2NvcmVkdW1wdihydHdkZXYtPmRldiwgZGVzYy0+ZGF0YSwg ZGVzYy0+c2l6ZSk7CiB9CiAKIHN0YXRpYyB2b2lkIHJ0d19md2NkX2ZyZWUoc3RydWN0IHJ0d19k ZXYgKnJ0d2RldiwgYm9vbCBmcmVlX3NlbGYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXBy b2MvcWNvbV9xNnY1X21zcy5jIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9tc3MuYwpp bmRleCBhZjIxN2RlNzVlNC4uODEzZDg3ZmFlZjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcmVtb3Rl cHJvYy9xY29tX3E2djVfbXNzLmMKKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9t c3MuYwpAQCAtNTk3LDcgKzU5Nyw3IEBAIHN0YXRpYyB2b2lkIHE2djVfZHVtcF9tYmFfbG9ncyhz dHJ1Y3QgcTZ2NSAqcXByb2MpCiAJZGF0YSA9IHZtYWxsb2MoTUJBX0xPR19TSVpFKTsKIAlpZiAo ZGF0YSkgewogCQltZW1jcHkoZGF0YSwgbWJhX3JlZ2lvbiwgTUJBX0xPR19TSVpFKTsKLQkJZGV2 X2NvcmVkdW1wdigmcnByb2MtPmRldiwgZGF0YSwgTUJBX0xPR19TSVpFLCBHRlBfS0VSTkVMKTsK KwkJZGV2X2NvcmVkdW1wdigmcnByb2MtPmRldiwgZGF0YSwgTUJBX0xPR19TSVpFKTsKIAl9CiAJ bWVtdW5tYXAobWJhX3JlZ2lvbik7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2Mv cmVtb3RlcHJvY19jb3JlZHVtcC5jIGIvZHJpdmVycy9yZW1vdGVwcm9jL3JlbW90ZXByb2NfY29y ZWR1bXAuYwppbmRleCA0YjA5MzQyMGQ5OC4uY2Q1NWMyYWJkMjIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvcmVtb3RlcHJvYy9yZW1vdGVwcm9jX2NvcmVkdW1wLmMKKysrIGIvZHJpdmVycy9yZW1vdGVw cm9jL3JlbW90ZXByb2NfY29yZWR1bXAuYwpAQCAtMzA5LDcgKzMwOSw3IEBAIHZvaWQgcnByb2Nf Y29yZWR1bXAoc3RydWN0IHJwcm9jICpycHJvYykKIAkJcGhkciArPSBlbGZfc2l6ZV9vZl9waGRy KGNsYXNzKTsKIAl9CiAJaWYgKGR1bXBfY29uZiA9PSBSUFJPQ19DT1JFRFVNUF9FTkFCTEVEKSB7 Ci0JCWRldl9jb3JlZHVtcHYoJnJwcm9jLT5kZXYsIGRhdGEsIGRhdGFfc2l6ZSwgR0ZQX0tFUk5F TCk7CisJCWRldl9jb3JlZHVtcHYoJnJwcm9jLT5kZXYsIGRhdGEsIGRhdGFfc2l6ZSk7CiAJCXJl dHVybjsKIAl9CiAKQEAgLTMxOCw3ICszMTgsNyBAQCB2b2lkIHJwcm9jX2NvcmVkdW1wKHN0cnVj dCBycHJvYyAqcnByb2MpCiAJZHVtcF9zdGF0ZS5oZWFkZXIgPSBkYXRhOwogCWluaXRfY29tcGxl dGlvbigmZHVtcF9zdGF0ZS5kdW1wX2RvbmUpOwogCi0JZGV2X2NvcmVkdW1wbSgmcnByb2MtPmRl diwgTlVMTCwgJmR1bXBfc3RhdGUsIGRhdGFfc2l6ZSwgR0ZQX0tFUk5FTCwKKwlkZXZfY29yZWR1 bXBtKCZycHJvYy0+ZGV2LCBOVUxMLCAmZHVtcF9zdGF0ZSwgZGF0YV9zaXplLAogCQkgICAgICBy cHJvY19jb3JlZHVtcF9yZWFkLCBycHJvY19jb3JlZHVtcF9mcmVlKTsKIAogCS8qCkBAIC00NDks NyArNDQ5LDcgQEAgdm9pZCBycHJvY19jb3JlZHVtcF91c2luZ19zZWN0aW9ucyhzdHJ1Y3QgcnBy b2MgKnJwcm9jKQogCX0KIAogCWlmIChkdW1wX2NvbmYgPT0gUlBST0NfQ09SRURVTVBfRU5BQkxF RCkgewotCQlkZXZfY29yZWR1bXB2KCZycHJvYy0+ZGV2LCBkYXRhLCBkYXRhX3NpemUsIEdGUF9L RVJORUwpOworCQlkZXZfY29yZWR1bXB2KCZycHJvYy0+ZGV2LCBkYXRhLCBkYXRhX3NpemUpOwog CQlyZXR1cm47CiAJfQogCkBAIC00NTgsNyArNDU4LDcgQEAgdm9pZCBycHJvY19jb3JlZHVtcF91 c2luZ19zZWN0aW9ucyhzdHJ1Y3QgcnByb2MgKnJwcm9jKQogCWR1bXBfc3RhdGUuaGVhZGVyID0g ZGF0YTsKIAlpbml0X2NvbXBsZXRpb24oJmR1bXBfc3RhdGUuZHVtcF9kb25lKTsKIAotCWRldl9j b3JlZHVtcG0oJnJwcm9jLT5kZXYsIE5VTEwsICZkdW1wX3N0YXRlLCBkYXRhX3NpemUsIEdGUF9L RVJORUwsCisJZGV2X2NvcmVkdW1wbSgmcnByb2MtPmRldiwgTlVMTCwgJmR1bXBfc3RhdGUsIGRh dGFfc2l6ZSwKIAkJICAgICAgcnByb2NfY29yZWR1bXBfcmVhZCwgcnByb2NfY29yZWR1bXBfZnJl ZSk7CiAKIAkvKiBXYWl0IHVudGlsIHRoZSBkdW1wIGlzIHJlYWQgYW5kIGZyZWUgaXMgY2FsbGVk LiBEYXRhIGlzIGZyZWVkCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcHJpbnQuaCBiL2lu Y2x1ZGUvZHJtL2RybV9wcmludC5oCmluZGV4IDIyZmFiZGVlZDI5Li5iNDE4NTAzNjZiYyAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3ByaW50LmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX3By aW50LmgKQEAgLTE2Miw3ICsxNjIsNyBAQCBzdHJ1Y3QgZHJtX3ByaW50X2l0ZXJhdG9yIHsKICAq CXZvaWQgbWFrZWNvcmVkdW1wKC4uLikKICAqCXsKICAqCQkuLi4KLSAqCQlkZXZfY29yZWR1bXBt KGRldiwgVEhJU19NT0RVTEUsIGRhdGEsIDAsIEdGUF9LRVJORUwsCisgKgkJZGV2X2NvcmVkdW1w bShkZXYsIFRISVNfTU9EVUxFLCBkYXRhLCAwLAogICoJCQljb3JlZHVtcF9yZWFkLCAuLi4pCiAg Kgl9CiAgKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kZXZjb3JlZHVtcC5oIGIvaW5jbHVk ZS9saW51eC9kZXZjb3JlZHVtcC5oCmluZGV4IGMwMDgxNjllZDJjLi5jN2Q4NDBkODI0YyAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9saW51eC9kZXZjb3JlZHVtcC5oCisrKyBiL2luY2x1ZGUvbGludXgv ZGV2Y29yZWR1bXAuaApAQCAtNTIsMjcgKzUyLDI2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfZGV2 Y2RfZnJlZV9zZ3RhYmxlKHN0cnVjdCBzY2F0dGVybGlzdCAqdGFibGUpCiAKIAogI2lmZGVmIENP TkZJR19ERVZfQ09SRURVTVAKLXZvaWQgZGV2X2NvcmVkdW1wdihzdHJ1Y3QgZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsIHNpemVfdCBkYXRhbGVuLAotCQkgICBnZnBfdCBnZnApOwordm9pZCBkZXZf Y29yZWR1bXB2KHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc2l6ZV90IGRhdGFsZW4p OwogCiB2b2lkIGRldl9jb3JlZHVtcG0oc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbW9kdWxl ICpvd25lciwKLQkJICAgdm9pZCAqZGF0YSwgc2l6ZV90IGRhdGFsZW4sIGdmcF90IGdmcCwKKwkJ ICAgdm9pZCAqZGF0YSwgc2l6ZV90IGRhdGFsZW4sCiAJCSAgIHNzaXplX3QgKCpyZWFkKShjaGFy ICpidWZmZXIsIGxvZmZfdCBvZmZzZXQsIHNpemVfdCBjb3VudCwKIAkJCQkgICB2b2lkICpkYXRh LCBzaXplX3QgZGF0YWxlbiksCiAJCSAgIHZvaWQgKCpmcmVlKSh2b2lkICpkYXRhKSk7CiAKIHZv aWQgZGV2X2NvcmVkdW1wc2coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRlcmxpc3Qg KnRhYmxlLAotCQkgICAgc2l6ZV90IGRhdGFsZW4sIGdmcF90IGdmcCk7CisJCSAgICBzaXplX3Qg ZGF0YWxlbik7CiAjZWxzZQogc3RhdGljIGlubGluZSB2b2lkIGRldl9jb3JlZHVtcHYoc3RydWN0 IGRldmljZSAqZGV2LCB2b2lkICpkYXRhLAotCQkJCSBzaXplX3QgZGF0YWxlbiwgZ2ZwX3QgZ2Zw KQorCQkJCSBzaXplX3QgZGF0YWxlbikKIHsKIAl2ZnJlZShkYXRhKTsKIH0KIAogc3RhdGljIGlu bGluZSB2b2lkCiBkZXZfY29yZWR1bXBtKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG1vZHVs ZSAqb3duZXIsCi0JICAgICAgdm9pZCAqZGF0YSwgc2l6ZV90IGRhdGFsZW4sIGdmcF90IGdmcCwK KwkgICAgICB2b2lkICpkYXRhLCBzaXplX3QgZGF0YWxlbiwKIAkgICAgICBzc2l6ZV90ICgqcmVh ZCkoY2hhciAqYnVmZmVyLCBsb2ZmX3Qgb2Zmc2V0LCBzaXplX3QgY291bnQsCiAJCQkgICAgICB2 b2lkICpkYXRhLCBzaXplX3QgZGF0YWxlbiksCiAJICAgICAgdm9pZCAoKmZyZWUpKHZvaWQgKmRh dGEpKQpAQCAtODEsNyArODAsNyBAQCBkZXZfY29yZWR1bXBtKHN0cnVjdCBkZXZpY2UgKmRldiwg c3RydWN0IG1vZHVsZSAqb3duZXIsCiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBkZXZfY29yZWR1 bXBzZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqdGFibGUsCi0JCQkJ ICBzaXplX3QgZGF0YWxlbiwgZ2ZwX3QgZ2ZwKQorCQkJCSAgc2l6ZV90IGRhdGFsZW4pCiB7CiAJ X2RldmNkX2ZyZWVfc2d0YWJsZSh0YWJsZSk7CiB9CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvaW50 ZWwvY2F0cHQvZHNwLmMgYi9zb3VuZC9zb2MvaW50ZWwvY2F0cHQvZHNwLmMKaW5kZXggMzQ2YmVj MDAwMzAuLmQyYWZlOWZmMWUzIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvaW50ZWwvY2F0cHQvZHNw LmMKKysrIGIvc291bmQvc29jL2ludGVsL2NhdHB0L2RzcC5jCkBAIC01MzksNyArNTM5LDcgQEAg aW50IGNhdHB0X2NvcmVkdW1wKHN0cnVjdCBjYXRwdF9kZXYgKmNkZXYpCiAJCXBvcyArPSBDQVRQ VF9ETUFfUkVHU19TSVpFOwogCX0KIAotCWRldl9jb3JlZHVtcHYoY2Rldi0+ZGV2LCBkdW1wLCBk dW1wX3NpemUsIEdGUF9LRVJORUwpOworCWRldl9jb3JlZHVtcHYoY2Rldi0+ZGV2LCBkdW1wLCBk dW1wX3NpemUpOwogCiAJcmV0dXJuIDA7CiB9CgpEbyB5b3UgdGhpbmsgdGhpcyBzb2x1dGlvbiBp cyBvaz8gSSB3aWxsIHRyeSB0byB0ZXN0IGl0IGFuZCBJJ2QgYXBwcmVjaWF0ZSB5b3UKaWYgeW91 IHRlc3QgYW5kIGdpdmUgZmVlZGJhY2suCgpCZXN0IHJlZ2FyZHMsCkR1b21pbmcgWmhvdQo=