From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3FB99C10F00 for ; Sat, 7 Mar 2020 08:25:10 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 06792206D5 for ; Sat, 7 Mar 2020 08:25:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="QmiwqXLK"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="EWAkQPv3" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 06792206D5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:References:Mime-Version:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=mleUMjSw6R7HRN/zui7vyTL24UJkMehxjfZkE97bzwY=; b=QmiwqXLK1MvGv9 I6nAO2DpyL7GiwiFTFXwU/RR/jH2eJzUpc+6dOfumv1s92RERb++RcdGaLhRQ03X/DooVzU+R8Y3l 3bsXgP8rBL6UyyTRojYd7lwQJc9mWinScUhf/AeIIRKgJe+3nbMy8GHq1cmVlhJFa+Flf5OBO6Vow f+lv1fVJGKs9mV09lacDmmJx2PKP78lHjum1efCfaEPI7OYgmroUaw4+il2yeHID2Qr4XbbfyEuLS OP8486A9JxUG223yhEAxZsl44/e6DklJhpGo4BmOg4C4kV6WuAg31NJu6QIw2A6n0/n++VhxYmk/D Rwosxq6WDUDuSioAjf1Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jAUlL-0004XE-GZ; Sat, 07 Mar 2020 08:24:47 +0000 Received: from mailout1.samsung.com ([203.254.224.24]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jAUlG-0004W7-Jm for linux-mtd@lists.infradead.org; Sat, 07 Mar 2020 08:24:46 +0000 Received: from epcas1p2.samsung.com (unknown [182.195.41.46]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20200307082433epoutp015f444e83a19d855a54bed917a2074c74~5_AvEgJFF2613726137epoutp01z for ; Sat, 7 Mar 2020 08:24:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20200307082433epoutp015f444e83a19d855a54bed917a2074c74~5_AvEgJFF2613726137epoutp01z DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1583569473; bh=spPkftSjDBxIv0UFcy2SsmjbFvdXlpiWmn3KACieaNw=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=EWAkQPv3xUtpjSgGWw+KUPHMqdPSZIddqeK7t7u/xUhNApYAA59Y3NAAxNu+kO3Ab BBuXgFXTurxO2eGnOQ5AGMtF0gv8JeyaA4ChyphM6WqjXs0BPasphpKQK7juKwuWHM 7MhnckLHB4SW//zu93HgWdH/Dx27Bv1Si887SMr8= Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by epcas1p1.samsung.com (KnoxPortal) with ESMTP id 20200307082432epcas1p1fa9f8cd22c263bcc62f53f8599ab581e~5_Aty7LmU0243702437epcas1p14; Sat, 7 Mar 2020 08:24:32 +0000 (GMT) Received: from epsmges1p3.samsung.com (unknown [182.195.40.162]) by epsnrtp3.localdomain (Postfix) with ESMTP id 48ZHb31F4gzMqYkZ; Sat, 7 Mar 2020 08:24:31 +0000 (GMT) Received: from epcas1p2.samsung.com ( [182.195.41.46]) by epsmges1p3.samsung.com (Symantec Messaging Gateway) with SMTP id 58.36.52419.F3A536E5; Sat, 7 Mar 2020 17:24:31 +0900 (KST) Received: from epsmtrp1.samsung.com (unknown [182.195.40.13]) by epcas1p4.samsung.com (KnoxPortal) with ESMTPA id 20200307082430epcas1p433c8c9333b6c3d2a94e81266e14bc8b5~5_AshJXlJ1835918359epcas1p4J; Sat, 7 Mar 2020 08:24:30 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200307082430epsmtrp16d69dfd972845995160efa9359e617a9~5_AsdtdTo2995229952epsmtrp1G; Sat, 7 Mar 2020 08:24:30 +0000 (GMT) X-AuditID: b6c32a37-59fff7000001ccc3-a3-5e635a3f6171 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 5D.17.10238.E3A536E5; Sat, 7 Mar 2020 17:24:30 +0900 (KST) Received: from asdf (unknown [10.88.100.192]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200307082430epsmtip13f1605a42a7b1b211ad713dec24eb791~5_AsPm2od0075700757epsmtip1e; Sat, 7 Mar 2020 08:24:30 +0000 (GMT) Message-ID: <23f0694c111ca096917ea69ef984e4e3b3cc22c4.camel@samsung.com> Subject: Re: [PATCH 1/3] mtd: spi-nor: reimplement block protection handling From: Jungseung Lee To: "chenxiang (M)" , Tudor Ambarus , Vignesh Raghavendra , linux-mtd@lists.infradead.org, js07.lee@gmail.com, Michael Walle , js07.lee@samsung.com Date: Sat, 07 Mar 2020 17:24:30 +0900 In-Reply-To: <3b7e6d52-e7e2-c444-1d59-5225a7260ea4@hisilicon.com> X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.1 Mime-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrIJsWRmVeSWpSXmKPExsWy7bCmnq59VHKcwaTlrBbXr11htNi0v4nV 4u+cd0wWj27+ZrXY3bSM3eLwxjNMFm9Pb2C3+LjEweL/2Q/sDpweO2fdZfd4PHcju0fLkbes HpuX1Hvc+bGU0aNvyypGj+M3tjN5HNjbwhbAEZVjk5GamJJapJCal5yfkpmXbqvkHRzvHG9q ZmCoa2hpYa6kkJeYm2qr5OIToOuWmQN0npJCWWJOKVAoILG4WEnfzqYov7QkVSEjv7jEVim1 ICWnwNCgQK84Mbe4NC9dLzk/18rQwMDIFKgyISfjxM42toJGp4qV746zNjB+M+hi5OSQEDCR 6Gt9zdLFyMUhJLCDUeLNxfuMEM4nRomlS9ZBOd8YJTZvu8kK03Li0EeoxF5GiQX97WwQziNG iT/HPwE5HBy8Ah4SRw5bgTQIC/hITOvayQRiswloSdz4vYkVpF4EZOrqf5eZQRLMAm4Sh5dc BytiEVCVeD+1mQ3E5hRwlHi+4gsTxGYdiben+lgg5gtK/N0hDNEqL9G8dTYzRMlnNombm/gh bBeJVRtaoFqFJV4d38IOYUtJvOxvg7KLJXaunMgOco+EQAujxKPlS6ASxhLv3q5lBtnFLKAp sX6XPkRYUWLn77mMEHv5JN597WEFKZEQ4JXoaBOCKFGSePOghQXClpC48LgXGm4eEmtazkPD 7QijxNTjm1kmMCrMQvhmFpJvZiEsXsDIvIpRLLWgODc9tdiwwBg5gjcxgpOrlvkOxg3nfA4x CnAwKvHwOlgnxQmxJpYVV+YeYpTgYFYS4W3USo4T4k1JrKxKLcqPLyrNSS0+xGgKDOuJzFKi yfnAxJ9XEm9oamRsbGxhYmZuZmqsJM77MFIzTkggPbEkNTs1tSC1CKaPiYNTqoFRxEbU7Zrb C9FbjTq1xxgWm+0PmbdAZcKS5vjnhwx49j3iUr1/9MyGOKspUz5/XK9Qf6TP/UTWvG55y2/a TbWffspvmiCcX6JpdWn3xDq9SPX7M7WEFGe1nLr5clJjXdX1bs5tfO2zy/Z8k0nbvK14joCo puiR/+0Bf/8mTebdV3hBoKFrkedfJZbijERDLeai4kQADje1VcQDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpikeLIzCtJLcpLzFFi42LZdlhJTtcuKjnO4EiTvMX1a1cYLTbtb2K1 +DvnHZPFo5u/WS12Ny1jtzi88QyTxdvTG9gtPi5xsPh/9gO7A6fHzll32T0ez93I7tFy5C2r x+Yl9R53fixl9OjbsorR4/iN7UweB/a2sAVwRHHZpKTmZJalFunbJXBlnNjZxlbQ6FSx8t1x 1gbGbwZdjJwcEgImEicOfWTsYuTiEBLYzShxeecydoiEhMSjnV9Yuhg5gGxhicOHiyFqHjBK fL5+nA0kzivgIXHksBVIubCAj8S0rp1MIDabgJbEjd+bWEHqRQS+MUo8+HaSGSTBLOAmcXjJ dbAiFgFVifdTm9lAbE4BR4nnK74wQSw4ySjR/Gg2VIOmROv231AH6Ui8PdXHArFYUOLvDmGI EnmJ5q2zmScwCs5C0jELoWoWkqoFjMyrGCVTC4pz03OLDQsM81LL9YoTc4tL89L1kvNzNzGC Y0ZLcwfj5SXxhxgFOBiVeHhn2CbFCbEmlhVX5h5ilOBgVhLhbdRKjhPiTUmsrEotyo8vKs1J LT7EKM3BoiTO+zTvWKSQQHpiSWp2ampBahFMlomDU6qBsa/w/yt7Qe+6JTtzNzCdktbof7CR 6cWyF72fjlgrMqzjXms6j/Wop37Mtu/mO/dPm1y8Nk2I+3SRc+fGomXrrvqsi21fkHQnPNWy j/3fPeMDZrvM9G5rOPuZ1C7v7rpt/USjm4Uvn3fyFZnjygKmmv+Uv0WFdct3H2ANeGkjsy99 +xHhU19jlFiKMxINtZiLihMB0JrCo5UCAAA= X-CMS-MailID: 20200307082430epcas1p433c8c9333b6c3d2a94e81266e14bc8b5 X-Msg-Generator: CA X-Sendblock-Type: SVC_REQ_APPROVE CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20200304110830epcas1p168bd480847959dc497ac5cc272fa2f80 References: <20200304110800.20658-1-js07.lee@samsung.com> <3b7e6d52-e7e2-c444-1d59-5225a7260ea4@hisilicon.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200307_002443_185511_E0CE31AD X-CRM114-Status: GOOD ( 36.72 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: John Garry , Linuxarm Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGksCgoyMDIwLTAzLTA2ICjquIgpLCAyMDoxOSArMDgwMCwgY2hlbnhpYW5nIChNKToKPiBIaSBK dW5nc2V1bmcsCj4gCj4g5ZyoIDIwMjAvMy80IDE5OjA3LCBKdW5nc2V1bmcgTGVlIOWGmemBkzoK PiA+IFRoZSBjdXJyZW50IG1haW5saW5lIGxvY2tpbmcgd2FzIHJlc3RyaWN0ZWQgYW5kIGNvdWxk IG9ubHkgYmUKPiA+IGFwcGxpZWQKPiA+IHRvIGZsYXNoZXMgdGhhdCBoYXMgMyBibG9jayBwcm90 ZWN0aW9uIGJpdCBhbmQgZml4ZWQgbG9ja2luZyByYXRpby4KPiA+IAo+ID4gQSBuZXcgbWV0aG9k IG9mIG5vcm1hbGl6YXRpb24gd2FzIHJlYWNoZWQgYXQgdGhlIGVuZCBvZiB0aGUKPiA+IGRpc2N1 c3Npb24gWzFdLgo+ID4gCj4gPiAgICAgKDEpIC0gaWYgYnAgc2xvdCBpcyBpbnN1ZmZpY2llbnQu Cj4gPiAgICAgKDIpIC0gaWYgYnAgc2xvdCBpcyBzdWZmaWNpZW50Lgo+ID4gCj4gPiAgICAgaWYg KGJwX3Nsb3RzX25lZWRlZCA+IGJwX3Nsb3RzKSAgICAvLyAoMSkKPiA+ICAgICAgICAgbWluX3By b3RfbGVuZ3RoID0gc2VjdG9yX3NpemUgPDwgKGJwX3Nsb3RzX25lZWRlZCAtCj4gPiBicF9zbG90 cyk7Cj4gPiAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAoMikKPiA+ ICAgICAgICAgbWluX3Byb3RfbGVuZ3RoID0gc2VjdG9yX3NpemU7Cj4gPiAKPiA+IFRoaXMgcGF0 Y2ggY2hhbmdlcyBibG9jayBwcm90ZWN0aW9uIGhhbmRsaW5nIGxvZ2ljIGJhc2VkIG9uCj4gPiBt aW5fcHJvdF9sZW5ndGguCj4gPiBJdCBpcyBzdWl0YWJsZSBmb3IgdGhlIG92ZXJhbGwgZmxhc2hl cyB3aXRoIGV4Y2VwdGlvbiBvZiBzb21lCj4gPiBjb3JuZXIgY2FzZQo+ID4gYW5kIGVhc3kgdG8g ZXh0ZW5kIGFuZCBhcHBseSBmb3IgdGhlIGNhc2Ugb2YgMmJpdCBvciA0Yml0IGJsb2NrCj4gPiBw cm90ZWN0aW9uLgo+ID4gCj4gPiBbMV0gCj4gPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9w aXBlcm1haWwvbGludXgtbXRkLzIwMjAtRmVicnVhcnkvMDkzOTM0Lmh0bWwKPiAgCj4gSSBoYXZl IHRlc3RlZCB0aGUgcGF0Y2hzZXQgb24gb25lIG9mIG15IGJvYXJkICh0aGVyZSBpcyBtaWNyb24g Zmxhc2gKPiBuMjVxMTI4YTExIHdoaWNoIHN1cHBvcnRzIDRiaXQgQlAsIGFuZCBhbHNvIGJwMyBp cyBvbiBiaXQ2IG9mIFNSLCBUQgo+IGJpdCBpcyBvbiBiaXQ1IG9mIFNSKSwgc28KPiBpIG1vZGlm eSB0aGUgY29kZSBhcyBmb2xsb3dzIHRvIGVuYWJsZSB0aGUgbG9jay91bmxvY2sgb2YgbjI1cTEy OGExMS4KPiAtICAgICAgIHsgIm4yNXExMjhhMTEiLCAgSU5GTygweDIwYmIxOCwgMCwgNjQgKiAx MDI0LCAgMjU2LCBTRUNUXzRLIHwKPiBTUElfTk9SX1FVQURfUkVBRCkgfSwKPiArICAgICAgIHsg Im4yNXExMjhhMTEiLCAgSU5GTygweDIwYmIxOCwgMCwgNjQgKiAxMDI0LCAgMjU2LAo+ICsgICAg ICAgICAgICAgICAgICAgICAgIFNFQ1RfNEsgfCBTUElfTk9SX1FVQURfUkVBRCB8Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgVVNFX0ZTUiB8IFNQSV9OT1JfSEFTX0xPQ0sgfCBTUElfTk9SX0hB U19UQiB8Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgU1BJX05PUl9IQVNfQlAzIHwgU1BJX05P Ul9CUDNfU1JfQklUNikgfSwKPiAKPiBUaGVyZSBhcmUgdHdvIGlzc3VlcyBpIG1ldDoKPiAoMSkg aSBsb2NrL3VubG9jayB0aGUgZnVsbCByZWdpb24gb2YgdGhlIGZsYXNoLCBsb2NrIGlzIHZhbGlk LCBidXQKPiB0aGVyZSBpcyBlcnJvciB3aGVuIHVubG9jayB0aGUgZmxhc2gsIGkgcXVlcnkgdGhl IHN0YXR1cyBvZiBpdCBpcwo+IHVubG9jayAodGhlIGlzc3VlIGkgdGhpbmsgaXQgaXMKPiB0aGUg c2FtZSBhcyB0aGUgaXNzdWUgSm9obiBoYXMgcmVwb3J0ZWQgYmVmb3JlIAo+IGh0dHBzOi8vbG9y ZS5rZXJuZWwub3JnL2xpbnV4LW10ZC9jMWE5MmM4OS0wMjBkLTA4NDctYjdiZi00MWRiZmQ5Yjk3 MmVAbWljcm9jaGlwLmNvbS8pLAo+ICAKPiBpIHNjcmVlbnNob3QgdGhlIGxvZyBvZiB0aGUgb3Bl cmF0aW9uIGFzIGZvbGxvd3M6Cj4gCgpMb29rcyBsaWtlIHRoZSB1bmxvY2sgb3BlcmF0aW9uIHdh cyBhY3R1YWxseSBkb25lIChhcyBjYW4gYmUgY2hlY2tlZApmcm9tIHRoZSBmb2xsb3dpbmcgcXVl cnkgb2YgdGhlIHN0YXR1cykgYnV0IGFuIGVycm9yIGlzIGNvbWluZyB3aXRoCkVJTy4KCkkgdGhp bmsgYW5vdGhlciBwYXJ0IG9mIHNyIGhhbmRsaW5nIGlzIHJlbGF0ZWQgd2l0aCB5b3VyIGNhc2Uu IChtYXliZQpTUiByZWFkIGJhY2sgdGVzdCA/KQoKSWYgeW91IGNhbiBkdW1wIHRoZSBzciB2YWx1 ZSAmIGRldl9kYmcgbXNnLCBpdCB3aWxsIGJlIGhlbHBmdWwgdG8KZGVmaW5lIHRoaXMgaXNzdWUu Cgo+IAo+ICgyKSBpIHRyeSB0byBsb2NrIHBhcnQgb2YgdGhlIGZsYXNoIHJlZ2lvbiBzdWNoIGFz IC4vZmxhc2hfbG9jawo+IC9kZXYvbXRkMCAweGMwMDAwMCAxMCwgaXQgcmVwb3J0cyBpbnZhbGlk IGFyZ3VtZW50LAo+IGFuZCBpIGFtIG5vdCBzdXJlIHdoZXRoZXIgaXQgaXMgc29tZXRoaW5nIHdy b25nIHdpdGggbXkgb3BlcmF0aW9uLgo+IAoKSXQgaXMgdW5hYmxlIHRvIGxvY2sgc3VjaCByZWdp b24gc2luY2UgdGhlIHNwaSBmbGFzaCBkb2Vzbid0IHN1cHBvcnQKaXQuIG9ubHkgd2UgY2FuIGxv Y2sgaXQgZnJvbSB0aGUgdG9wIG9yIHRoZSBib3R0b20uCgpsaWtlIHRoaXMgZm9yIG4yNXExMjhh MTEsCgpmbGFzaF9sb2NrIC9kZXYvbXRkMCAweGZmMDAwMCAweDEwCmZsYXNoX2xvY2sgL2Rldi9t dGQwIDB4MCAweDEwCgpOb3RlIHRoZSBibG9jayBjb3VudCBvZiBleGFtcGxlcyBpcyAweDEwIG5v dCAxMC4gVGhlIGxvY2tpbmcgdHJ5IHdpdGgKYmxvY2sgY291bnQgdW5kZXIgbWluaW11bSBibG9j ayBwcm90ZWN0aW9uIGxlbmd0aCB3aWxsIGJlIGZhaWxlZC4KClRoYW5rcywKCj4gCj4gPiBTaWdu ZWQtb2ZmLWJ5OiBKdW5nc2V1bmcgTGVlIDxqczA3LmxlZUBzYW1zdW5nLmNvbT4KPiA+IC0tLQo+ ID4gIGRyaXZlcnMvbXRkL3NwaS1ub3Ivc3BpLW5vci5jIHwgMTEwICsrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0KPiA+IC0tLS0tLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA2NiBpbnNlcnRpb25z KCspLCA0NCBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL3Nw aS1ub3Ivc3BpLW5vci5jIGIvZHJpdmVycy9tdGQvc3BpLQo+ID4gbm9yL3NwaS1ub3IuYwo+ID4g aW5kZXggY2FmMGMxMDljY2EwLi5jNThjMjc1NTJhNzQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L210ZC9zcGktbm9yL3NwaS1ub3IuYwo+ID4gKysrIGIvZHJpdmVycy9tdGQvc3BpLW5vci9zcGkt bm9yLmMKPiA+IEBAIC0xNzg0LDI5ICsxNzg0LDY0IEBAIHN0YXRpYyBpbnQgc3BpX25vcl9lcmFz ZShzdHJ1Y3QgbXRkX2luZm8KPiA+ICptdGQsIHN0cnVjdCBlcmFzZV9pbmZvICppbnN0cikKPiA+ ICAJcmV0dXJuIHJldDsKPiA+ICB9Cj4gPiAgCj4gPiArc3RhdGljIHU4IHNwaV9ub3JfZ2V0X2Jw X21hc2soc3RydWN0IHNwaV9ub3IgKm5vcikKPiA+ICt7Cj4gPiArCXJldHVybiBTUl9CUDIgfCBT Ul9CUDEgfCBTUl9CUDA7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyB1OCBzcGlfbm9yX2dldF90 Yl9tYXNrKHN0cnVjdCBzcGlfbm9yICpub3IpCj4gPiArewo+ID4gKwlpZiAobm9yLT5mbGFncyAm IFNOT1JfRl9IQVNfU1JfVEJfQklUNikKPiA+ICsJCXJldHVybiBTUl9UQl9CSVQ2Owo+ID4gKwll bHNlCj4gPiArCQlyZXR1cm4gU1JfVEJfQklUNTsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIGlu dCBzdG1fZ2V0X21pbl9wcm90X2xlbmd0aChzdHJ1Y3Qgc3BpX25vciAqbm9yKQo+ID4gK3sKPiA+ ICsJaW50IGJwX3Nsb3RzLCBicF9zbG90c19uZWVkZWQ7Cj4gPiArCXU4IG1hc2sgPSBzcGlfbm9y X2dldF9icF9tYXNrKG5vcik7Cj4gPiArCj4gPiArCWJwX3Nsb3RzID0gKG1hc2sgPj4gU1JfQlBf U0hJRlQpICsgMTsKPiA+ICsKPiA+ICsJLyogUmVzZXJ2ZWQgb25lIGZvciAicHJvdGVjdCBub25l IiBhbmQgb25lIGZvciAicHJvdGVjdCBhbGwiLgo+ID4gKi8KPiA+ICsJYnBfc2xvdHMgPSBicF9z bG90cyAtIDI7Cj4gPiArCj4gPiArCWJwX3Nsb3RzX25lZWRlZCA9IGlsb2cyKG5vci0+aW5mby0+ bl9zZWN0b3JzKTsKPiA+ICsKPiA+ICsJaWYgKGJwX3Nsb3RzX25lZWRlZCA+IGJwX3Nsb3RzKQo+ ID4gKwkJcmV0dXJuIG5vci0+aW5mby0+c2VjdG9yX3NpemUgPDwKPiA+ICsJCQkoYnBfc2xvdHNf bmVlZGVkIC0gYnBfc2xvdHMpOwo+ID4gKwllbHNlCj4gPiArCQlyZXR1cm4gbm9yLT5pbmZvLT5z ZWN0b3Jfc2l6ZTsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIHZvaWQgc3RtX2dldF9sb2NrZWRf cmFuZ2Uoc3RydWN0IHNwaV9ub3IgKm5vciwgdTggc3IsCj4gPiBsb2ZmX3QgKm9mcywKPiA+ICAJ CQkJIHVpbnQ2NF90ICpsZW4pCj4gPiAgewo+ID4gIAlzdHJ1Y3QgbXRkX2luZm8gKm10ZCA9ICZu b3ItPm10ZDsKPiA+IC0JdTggbWFzayA9IFNSX0JQMiB8IFNSX0JQMSB8IFNSX0JQMDsKPiA+IC0J dTggdGJfbWFzayA9IFNSX1RCX0JJVDU7Cj4gPiAtCWludCBwb3c7Cj4gPiArCWludCBtaW5fcHJv dF9sZW47Cj4gPiArCXU4IG1hc2sgPSBzcGlfbm9yX2dldF9icF9tYXNrKG5vcik7Cj4gPiArCXU4 IHRiX21hc2sgPSBzcGlfbm9yX2dldF90Yl9tYXNrKG5vcik7Cj4gPiArCXU4IGJwID0gKHNyICYg bWFzaykgPj4gU1JfQlBfU0hJRlQ7Cj4gPiAgCj4gPiAtCWlmIChub3ItPmZsYWdzICYgU05PUl9G X0hBU19TUl9UQl9CSVQ2KQo+ID4gLQkJdGJfbWFzayA9IFNSX1RCX0JJVDY7Cj4gPiAtCj4gPiAt CWlmICghKHNyICYgbWFzaykpIHsKPiA+ICsJaWYgKCFicCkgewo+ID4gIAkJLyogTm8gcHJvdGVj dGlvbiAqLwo+ID4gIAkJKm9mcyA9IDA7Cj4gPiAgCQkqbGVuID0gMDsKPiA+IC0JfSBlbHNlIHsK PiA+IC0JCXBvdyA9ICgoc3IgJiBtYXNrKSBeIG1hc2spID4+IFNSX0JQX1NISUZUOwo+ID4gLQkJ KmxlbiA9IG10ZC0+c2l6ZSA+PiBwb3c7Cj4gPiAtCQlpZiAobm9yLT5mbGFncyAmIFNOT1JfRl9I QVNfU1JfVEIgJiYgc3IgJiB0Yl9tYXNrKQo+ID4gLQkJCSpvZnMgPSAwOwo+ID4gLQkJZWxzZQo+ ID4gLQkJCSpvZnMgPSBtdGQtPnNpemUgLSAqbGVuOwo+ID4gKwkJcmV0dXJuOwo+ID4gIAl9Cj4g PiArCj4gPiArCW1pbl9wcm90X2xlbiA9IHN0bV9nZXRfbWluX3Byb3RfbGVuZ3RoKG5vcik7Cj4g PiArCSpsZW4gPSBtaW5fcHJvdF9sZW4gPDwgKGJwIC0gMSk7Cj4gPiArCj4gPiArCWlmICgqbGVu ID4gbXRkLT5zaXplKQo+ID4gKwkJKmxlbiA9IG10ZC0+c2l6ZTsKPiA+ICsKPiA+ICsJaWYgKG5v ci0+ZmxhZ3MgJiBTTk9SX0ZfSEFTX1NSX1RCICYmIHNyICYgdGJfbWFzaykKPiA+ICsJCSpvZnMg PSAwOwo+ID4gKwllbHNlCj4gPiArCQkqb2ZzID0gbXRkLT5zaXplIC0gKmxlbjsKPiA+ICB9Cj4g PiAgCj4gPiAgLyoKPiA+IEBAIC0xODgwLDggKzE5MTUsOSBAQCBzdGF0aWMgaW50IHN0bV9sb2Nr KHN0cnVjdCBzcGlfbm9yICpub3IsCj4gPiBsb2ZmX3Qgb2ZzLCB1aW50NjRfdCBsZW4pCj4gPiAg ewo+ID4gIAlzdHJ1Y3QgbXRkX2luZm8gKm10ZCA9ICZub3ItPm10ZDsKPiA+ICAJaW50IHJldCwg c3RhdHVzX29sZCwgc3RhdHVzX25ldzsKPiA+IC0JdTggbWFzayA9IFNSX0JQMiB8IFNSX0JQMSB8 IFNSX0JQMDsKPiA+IC0JdTggdGJfbWFzayA9IFNSX1RCX0JJVDU7Cj4gPiArCWludCBtaW5fcHJv dF9sZW47Cj4gPiArCXU4IG1hc2sgPSBzcGlfbm9yX2dldF9icF9tYXNrKG5vcik7Cj4gPiArCXU4 IHRiX21hc2sgPSBzcGlfbm9yX2dldF90Yl9tYXNrKG5vcik7Cj4gPiAgCXU4IHBvdywgdmFsOwo+ ID4gIAlsb2ZmX3QgbG9ja19sZW47Cj4gPiAgCWJvb2wgY2FuX2JlX3RvcCA9IHRydWUsIGNhbl9i ZV9ib3R0b20gPSBub3ItPmZsYWdzICYKPiA+IFNOT1JfRl9IQVNfU1JfVEI7Cj4gPiBAQCAtMTkx OCwyMCArMTk1NCwxNCBAQCBzdGF0aWMgaW50IHN0bV9sb2NrKHN0cnVjdCBzcGlfbm9yICpub3Is Cj4gPiBsb2ZmX3Qgb2ZzLCB1aW50NjRfdCBsZW4pCj4gPiAgCWVsc2UKPiA+ICAJCWxvY2tfbGVu ID0gb2ZzICsgbGVuOwo+ID4gIAo+ID4gLQlpZiAobm9yLT5mbGFncyAmIFNOT1JfRl9IQVNfU1Jf VEJfQklUNikKPiA+IC0JCXRiX21hc2sgPSBTUl9UQl9CSVQ2Owo+ID4gKwlpZiAobG9ja19sZW4g PT0gbXRkLT5zaXplKSB7Cj4gPiArCQl2YWwgPSBtYXNrOyAvKiBmdWxseSBsb2NrZWQgKi8KPiA+ ICsJfSBlbHNlIHsKPiA+ICsJCW1pbl9wcm90X2xlbiA9IHN0bV9nZXRfbWluX3Byb3RfbGVuZ3Ro KG5vcik7Cj4gPiArCQlwb3cgPSBpbG9nMihsb2NrX2xlbikgLSBpbG9nMihtaW5fcHJvdF9sZW4p ICsgMTsKPiA+ICsJCXZhbCA9IHBvdyA8PCBTUl9CUF9TSElGVDsKPiA+ICsJfQo+ID4gIAo+ID4g LQkvKgo+ID4gLQkgKiBOZWVkIHNtYWxsZXN0IHBvdyBzdWNoIHRoYXQ6Cj4gPiAtCSAqCj4gPiAt CSAqICAgMSAvICgyXnBvdykgPD0gKGxlbiAvIHNpemUpCj4gPiAtCSAqCj4gPiAtCSAqIHNvIChh c3N1bWluZyBwb3dlci1vZi0yIHNpemUpIHdlIGRvOgo+ID4gLQkgKgo+ID4gLQkgKiAgIHBvdyA9 IGNlaWwobG9nMihzaXplIC8gbGVuKSkgPSBsb2cyKHNpemUpIC0KPiA+IGZsb29yKGxvZzIobGVu KSkKPiA+IC0JICovCj4gPiAtCXBvdyA9IGlsb2cyKG10ZC0+c2l6ZSkgLSBpbG9nMihsb2NrX2xl bik7Cj4gPiAtCXZhbCA9IG1hc2sgLSAocG93IDw8IFNSX0JQX1NISUZUKTsKPiA+ICAJaWYgKHZh bCAmIH5tYXNrKQo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAgCS8qIERvbid0ICJsb2NrIiB3 aXRoIG5vIHJlZ2lvbiEgKi8KPiA+IEBAIC0xOTY2LDggKzE5OTYsOSBAQCBzdGF0aWMgaW50IHN0 bV91bmxvY2soc3RydWN0IHNwaV9ub3IgKm5vciwKPiA+IGxvZmZfdCBvZnMsIHVpbnQ2NF90IGxl bikKPiA+ICB7Cj4gPiAgCXN0cnVjdCBtdGRfaW5mbyAqbXRkID0gJm5vci0+bXRkOwo+ID4gIAlp bnQgcmV0LCBzdGF0dXNfb2xkLCBzdGF0dXNfbmV3Owo+ID4gLQl1OCBtYXNrID0gU1JfQlAyIHwg U1JfQlAxIHwgU1JfQlAwOwo+ID4gLQl1OCB0Yl9tYXNrID0gU1JfVEJfQklUNTsKPiA+ICsJaW50 IG1pbl9wcm90X2xlbjsKPiA+ICsJdTggbWFzayA9IHNwaV9ub3JfZ2V0X2JwX21hc2sobm9yKTsK PiA+ICsJdTggdGJfbWFzayA9IHNwaV9ub3JfZ2V0X3RiX21hc2sobm9yKTsKPiA+ICAJdTggcG93 LCB2YWw7Cj4gPiAgCWxvZmZfdCBsb2NrX2xlbjsKPiA+ICAJYm9vbCBjYW5fYmVfdG9wID0gdHJ1 ZSwgY2FuX2JlX2JvdHRvbSA9IG5vci0+ZmxhZ3MgJgo+ID4gU05PUl9GX0hBU19TUl9UQjsKPiA+ IEBAIC0yMDA0LDIyICsyMDM1LDEzIEBAIHN0YXRpYyBpbnQgc3RtX3VubG9jayhzdHJ1Y3Qgc3Bp X25vciAqbm9yLAo+ID4gbG9mZl90IG9mcywgdWludDY0X3QgbGVuKQo+ID4gIAllbHNlCj4gPiAg CQlsb2NrX2xlbiA9IG9mczsKPiA+ICAKPiA+IC0JaWYgKG5vci0+ZmxhZ3MgJiBTTk9SX0ZfSEFT X1NSX1RCX0JJVDYpCj4gPiAtCQl0Yl9tYXNrID0gU1JfVEJfQklUNjsKPiA+IC0JLyoKPiA+IC0J ICogTmVlZCBsYXJnZXN0IHBvdyBzdWNoIHRoYXQ6Cj4gPiAtCSAqCj4gPiAtCSAqICAgMSAvICgy XnBvdykgPj0gKGxlbiAvIHNpemUpCj4gPiAtCSAqCj4gPiAtCSAqIHNvIChhc3N1bWluZyBwb3dl ci1vZi0yIHNpemUpIHdlIGRvOgo+ID4gLQkgKgo+ID4gLQkgKiAgIHBvdyA9IGZsb29yKGxvZzIo c2l6ZSAvIGxlbikpID0gbG9nMihzaXplKSAtCj4gPiBjZWlsKGxvZzIobGVuKSkKPiA+IC0JICov Cj4gPiAtCXBvdyA9IGlsb2cyKG10ZC0+c2l6ZSkgLSBvcmRlcl9iYXNlXzIobG9ja19sZW4pOwo+ ID4gIAlpZiAobG9ja19sZW4gPT0gMCkgewo+ID4gIAkJdmFsID0gMDsgLyogZnVsbHkgdW5sb2Nr ZWQgKi8KPiA+ICAJfSBlbHNlIHsKPiA+IC0JCXZhbCA9IG1hc2sgLSAocG93IDw8IFNSX0JQX1NI SUZUKTsKPiA+ICsJCW1pbl9wcm90X2xlbiA9IHN0bV9nZXRfbWluX3Byb3RfbGVuZ3RoKG5vcik7 Cj4gPiArCQlwb3cgPSBpbG9nMihsb2NrX2xlbikgLSBpbG9nMihtaW5fcHJvdF9sZW4pICsgMTsK PiA+ICsJCXZhbCA9IHBvdyA8PCBTUl9CUF9TSElGVDsKPiA+ICsKPiA+ICAJCS8qIFNvbWUgcG93 ZXItb2YtdHdvIHNpemVzIGFyZSBub3Qgc3VwcG9ydGVkICovCj4gPiAgCQlpZiAodmFsICYgfm1h c2spCj4gPiAgCQkJcmV0dXJuIC1FSU5WQUw7Cj4gIAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWls aW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1tdGQvCg==