Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1321369imu; Fri, 7 Dec 2018 19:39:54 -0800 (PST) X-Google-Smtp-Source: AFSGD/VFlWV0elKsrld3YywGSLHkGqf/AP3Mjlvj26Sv51hgL46QCecZeKyg9bcY2cBsrW5w4atA X-Received: by 2002:a17:902:42e4:: with SMTP id h91mr4616801pld.18.1544240393983; Fri, 07 Dec 2018 19:39:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544240393; cv=none; d=google.com; s=arc-20160816; b=BYeoMzw1qN5v9rq1fOVT62VaxD1RwZA2/9JJJpt1QMHxwHZOXsDzcBozC4iF/O/XB9 Dx9p/CdtgGPVBQyFnrjNnDdRnAWb1HntA2K4Yft8KcycJq00LJx3dkus1W/8xbu7Zxvt 9dw+2tr+cjwiojpnx5v3oyqt6g+NGr/xA7uT8GTtL7tJt26MRWUcrnw4ss0Vn7uSoJZ8 rP3aX+DTfjSPCF4kLwFA33hpKo2T2Rv05DkH/th4+4tw/C7qRe8Y4gkO0pyOxeAIdyA9 qywj51mMSww7OtF6o/cFiUyuWkzQiczG4WthY/gIVwbg84eyVB58DZVN05y/UMkGnmrP e1nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:spamdiagnosticmetadata:spamdiagnosticoutput :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=JXgK+w2QkUkqbikSPPh8TLSH/wuRTEHEDcAaKtk1nqA=; b=I5ixJiNxb613zaFO2MrVcPAT8CSXWx+Dsv1XrQSOmTja/o6yu3fHofX6BaxqXiHKjS ba0Okty2CzTwo1vXIGg6KeLcAn+GUjIaGz8wkz9ryHHQ0DmwEEWgfTgX2s1ncpVaBiZr g3WlJbzmTr5BNYLGc5v2JYFNbAf6+iXrtTMvhIpr+H00TPkrS6+ph1LVDltav6nSgfVV 30rHesQ7QRcRu9+UG0b7H8zDIpsgZQZbkxXp152ulN03wOSd6bapdXZDcVGyJ7QM9ADl h4Tx8xOPxSiga6y/IpTXN3DVrSEQ/eCUPMu/yTr+2d33bgjZyVOOvOEglzToQVZn5u69 +1Tg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fb.com header.s=facebook header.b=QArGwrnq; dkim=pass header.i=@fb.onmicrosoft.com header.s=selector1-fb-com header.b=HFIPjjeV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fb.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v30si4111746pga.45.2018.12.07.19.39.23; Fri, 07 Dec 2018 19:39:53 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@fb.com header.s=facebook header.b=QArGwrnq; dkim=pass header.i=@fb.onmicrosoft.com header.s=selector1-fb-com header.b=HFIPjjeV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=fb.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726131AbeLHDiY (ORCPT + 99 others); Fri, 7 Dec 2018 22:38:24 -0500 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:52852 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726077AbeLHDiX (ORCPT ); Fri, 7 Dec 2018 22:38:23 -0500 Received: from pps.filterd (m0109333.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id wB83ZL4w008032; Fri, 7 Dec 2018 19:38:00 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=JXgK+w2QkUkqbikSPPh8TLSH/wuRTEHEDcAaKtk1nqA=; b=QArGwrnq/9IP5FsUbvYe+jFEkT6MRFzR4l+tovKhbvB0HPTOei+APoL2jZTtUFQa/gsN YJgLrqXjltOeILKnP9FqmxCDUitzJn4ojRLPDxendrNcV8dlIcolCgONHY95BQUq8kx1 8FVbpmShV6bMCp1Wf6252kRyEynUVY8NGCc= Received: from mail.thefacebook.com ([199.201.64.23]) by mx0a-00082601.pphosted.com with ESMTP id 2p84ux854v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 07 Dec 2018 19:38:00 -0800 Received: from prn-mbx02.TheFacebook.com (2620:10d:c081:6::16) by prn-hub01.TheFacebook.com (2620:10d:c081:35::125) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.1.1531.3; Fri, 7 Dec 2018 19:37:59 -0800 Received: from prn-hub04.TheFacebook.com (2620:10d:c081:35::128) by prn-mbx02.TheFacebook.com (2620:10d:c081:6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.1.1531.3; Fri, 7 Dec 2018 19:37:59 -0800 Received: from NAM01-BN3-obe.outbound.protection.outlook.com (192.168.54.28) by o365-in.thefacebook.com (192.168.16.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.1.1531.3 via Frontend Transport; Fri, 7 Dec 2018 19:37:58 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JXgK+w2QkUkqbikSPPh8TLSH/wuRTEHEDcAaKtk1nqA=; b=HFIPjjeV6ywYkU7FaHDKQ8lvyiR3l/pTbBbMDKYi2bJJbhaVI37TdDN/pCAhT0B22tt5pHIs3BW7YVtgoeq1uyR2OQWbogr3vXDkL8m5n7k91ZGm1e7y1ihgbSi9SPnsSfT5RU/pfqL6CRrw1B/Uk5MYSGXMrFUBOie0nvlyOxo= Received: from BY1PR15MB0072.namprd15.prod.outlook.com (10.161.97.153) by BY1PR15MB0023.namprd15.prod.outlook.com (10.161.96.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1404.22; Sat, 8 Dec 2018 03:37:35 +0000 Received: from BY1PR15MB0072.namprd15.prod.outlook.com ([fe80::c000:b055:d54f:eaf7]) by BY1PR15MB0072.namprd15.prod.outlook.com ([fe80::c000:b055:d54f:eaf7%9]) with mapi id 15.20.1404.021; Sat, 8 Dec 2018 03:37:35 +0000 From: Yonghong Song To: Roman Gushchin , "netdev@vger.kernel.org" CC: Kernel Team , "linux-kernel@vger.kernel.org" , Roman Gushchin , "Alexei Starovoitov" , Daniel Borkmann Subject: Re: [PATCH bpf-next 2/3] bpf: add bpffs pretty print for cgroup local storage maps Thread-Topic: [PATCH bpf-next 2/3] bpf: add bpffs pretty print for cgroup local storage maps Thread-Index: AQHUjpCFr18HxXJ79kS1I8yRl7nby6V0MZAA Date: Sat, 8 Dec 2018 03:37:35 +0000 Message-ID: <60a77f17-6d63-2f73-e0b2-0ca8b5338169@fb.com> References: <20181208005315.3500-1-guro@fb.com> <20181208005315.3500-2-guro@fb.com> In-Reply-To: <20181208005315.3500-2-guro@fb.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: MWHPR12CA0044.namprd12.prod.outlook.com (2603:10b6:301:2::30) To BY1PR15MB0072.namprd15.prod.outlook.com (2a01:111:e400:507c::25) x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [2620:10d:c090:180::1:1254] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;BY1PR15MB0023;20:+ephlV6DH7z6Loankf/DcfdMw7i3W5qbIIr76nRmWF1dw2BZ2ad7pjB6K5eaE7N7s26MpoJzHtxpzkvCLzlN0v0xAwTPXu7VBOEIVdLPTyo5bZ+tzS40Y1A9X8UAGOkv5jAVmogEVcqzWv2oWHMDs7297VWHeZNFCBceH26gGKc= x-ms-office365-filtering-correlation-id: f999efba-c983-4c5a-ea3a-08d65cbe7e47 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390098)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020);SRVR:BY1PR15MB0023; x-ms-traffictypediagnostic: BY1PR15MB0023: x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(823302103)(3231455)(999002)(11241501185)(944501520)(52105112)(3002001)(93006095)(93001095)(10201501046)(148016)(149066)(150057)(6041310)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(201708071742011)(7699051)(76991095);SRVR:BY1PR15MB0023;BCL:0;PCL:0;RULEID:;SRVR:BY1PR15MB0023; x-forefront-prvs: 0880FB6EC1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(396003)(366004)(136003)(346002)(376002)(39860400002)(189003)(199004)(106356001)(97736004)(486006)(476003)(11346002)(2616005)(8936002)(5660300001)(6512007)(105586002)(68736007)(99286004)(46003)(446003)(186003)(2906002)(2501003)(478600001)(110136005)(54906003)(6486002)(229853002)(52116002)(76176011)(6436002)(31686004)(102836004)(8676002)(316002)(81166006)(81156014)(6506007)(53546011)(386003)(53936002)(71190400001)(6116002)(71200400001)(305945005)(36756003)(86362001)(31696002)(5024004)(14444005)(256004)(14454004)(25786009)(7736002)(4326008)(6246003)(39060400002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR15MB0023;H:BY1PR15MB0072.namprd15.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: fb.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: rfjQblA1TWko0b3ZRLh5sKbtKtoruVP3CzB/APsO86Cl+k9ITNfiY1Q5N4I8IfC6rtEIfkrUquAfsTtLf/RilKfz6awaBOXujlk9wsvYu9RuH9A2TQBFFGwkZMwjrtOko2nh5j+h44bD3DapnEh2W7wpzhqrJtSVr8kMNZ0PbL/NZqnM85DqZS9sndZUQRKZiy+UCDQ2qze4jzCKdW7xOtu7F+F/qpQzGbFhOhNxN6nNm768f6Pgwe+4NsNyjuVZ9EYcVJKaCacFUGDmbX+fMb1ORjf4oqfC8X8/lf1FOIy4mu+vHa/HcVG6MH6LQv4z6jZ6tR57yjqe2ZIUqDEVhj5f0P/jkqFXPreg1CWTeuk= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f999efba-c983-4c5a-ea3a-08d65cbe7e47 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2018 03:37:35.5851 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR15MB0023 X-OriginatorOrg: fb.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-12-08_01:,, signatures=0 X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCk9uIDEyLzcvMTggNDo1MyBQTSwgUm9tYW4gR3VzaGNoaW4gd3JvdGU6DQo+IEltcGxlbWVu dCBicGZmcyBwcmV0dHkgcHJpbnRpbmcgZm9yIGNncm91cCBsb2NhbCBzdG9yYWdlIG1hcHMNCj4g KGJvdGggc2hhcmVkIGFuZCBwZXItY3B1KS4NCj4gT3V0cHV0IGV4YW1wbGUgKGNhcHR1cmVkIGZv ciB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvbmV0Y250X3Byb2cuYyk6DQo+IA0KPiBTaGFy ZWQ6DQo+ICAgICQgY2F0IC9zeXMvZnMvYnBmL21hcF8yDQo+ICAgICMgV0FSTklORyEhIFRoZSBv dXRwdXQgaXMgZm9yIGRlYnVnIHB1cnBvc2Ugb25seQ0KPiAgICAjIFdBUk5JTkchISBUaGUgb3V0 cHV0IGZvcm1hdCB3aWxsIGNoYW5nZQ0KPiAgICB7NDI5NDk2ODU5NCwxfTogezk5OTksMTAzOTg5 Nn0NCj4gDQo+IFBlci1jcHU6DQo+ICAgICQgY2F0IC9zeXMvZnMvYnBmL21hcF8xDQo+ICAgICMg V0FSTklORyEhIFRoZSBvdXRwdXQgaXMgZm9yIGRlYnVnIHB1cnBvc2Ugb25seQ0KPiAgICAjIFdB Uk5JTkchISBUaGUgb3V0cHV0IGZvcm1hdCB3aWxsIGNoYW5nZQ0KPiAgICB7NDI5NDk2ODU5NCwx fTogew0KPiAgICAJY3B1MDogezAsMCwwLDAsMH0NCj4gICAgCWNwdTE6IHswLDAsMCwwLDB9DQo+ ICAgIAljcHUyOiB7MSwxMDQsMCwwLDB9DQo+ICAgIAljcHUzOiB7MCwwLDAsMCwwfQ0KPiAgICB9 DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBSb21hbiBHdXNoY2hpbiA8Z3Vyb0BmYi5jb20+DQo+IENj OiBBbGV4ZWkgU3Rhcm92b2l0b3YgPGFzdEBrZXJuZWwub3JnPg0KPiBDYzogRGFuaWVsIEJvcmtt YW5uIDxkYW5pZWxAaW9nZWFyYm94Lm5ldD4NCj4gLS0tDQo+ICAgaW5jbHVkZS9saW51eC9idGYu aCAgICAgICAgfCAxMCArKysrKw0KPiAgIGtlcm5lbC9icGYvbG9jYWxfc3RvcmFnZS5jIHwgOTAg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gICAyIGZpbGVzIGNoYW5n ZWQsIDk5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2xpbnV4L2J0Zi5oIGIvaW5jbHVkZS9saW51eC9idGYuaA0KPiBpbmRleCA4YzIxOTli NWQyNTAuLmFjNjdiYzRjYmZkOSAxMDA2NDQNCj4gLS0tIGEvaW5jbHVkZS9saW51eC9idGYuaA0K PiArKysgYi9pbmNsdWRlL2xpbnV4L2J0Zi5oDQo+IEBAIC01LDYgKzUsNyBAQA0KPiAgICNkZWZp bmUgX0xJTlVYX0JURl9IIDENCj4gICANCj4gICAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4NCj4g KyNpbmNsdWRlIDx1YXBpL2xpbnV4L2J0Zi5oPg0KPiAgIA0KPiAgIHN0cnVjdCBidGY7DQo+ICAg c3RydWN0IGJ0Zl90eXBlOw0KPiBAQCAtNjMsNCArNjQsMTMgQEAgc3RhdGljIGlubGluZSBjb25z dCBjaGFyICpidGZfbmFtZV9ieV9vZmZzZXQoY29uc3Qgc3RydWN0IGJ0ZiAqYnRmLA0KPiAgIH0N Cj4gICAjZW5kaWYNCj4gICANCj4gK3N0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGJ0Zl90eXBl ICpidGZfb3JpZ190eXBlKGNvbnN0IHN0cnVjdCBidGYgKmJ0ZiwNCj4gKwkJCQkJCSAgIGNvbnN0 IHN0cnVjdCBidGZfdHlwZSAqdCkNCj4gK3sNCj4gKwl3aGlsZSAodCAmJiBCVEZfSU5GT19LSU5E KHQtPmluZm8pID09IEJURl9LSU5EX1RZUEVERUYpDQo+ICsJCXQgPSBidGZfdHlwZV9ieV9pZChi dGYsIHQtPnR5cGUpOw0KdGVjaG5pY2FsbHksIHR5cGUgbW9kaWZpZXIgImNvbnN0IiBhbmQgInZv bGF0aWxlIiBjYW4gYXBwbHkgdG8gbWVtYmVyIA0KdHlwZSBhcyB3ZWxsLiBCdXQgdGhlc2UgbW9k aWZpZXJzIHJlYWxseSBkb24ndCBtYWtlIHNlbnNlIGhlcmUuDQpDb3VsZCB5b3UgYWRkIGEgY29t bWVudCBoZXJlIHRvIG1lbnRpb24gdGhhdCB0aGV5IHdpbGwgYmUgdHJlYXRlZA0KYXMgYW4gZXJy b3Igc2luY2Ugc3VjaCBhIHByb2dyYW1taW5nIGlzIG5vdCByZWFsbHkgcmVjb21tZW5kZWQ/DQoN Cj4gKw0KPiArCXJldHVybiB0Ow0KPiArfQ0KPiArDQo+ICAgI2VuZGlmDQo+IGRpZmYgLS1naXQg YS9rZXJuZWwvYnBmL2xvY2FsX3N0b3JhZ2UuYyBiL2tlcm5lbC9icGYvbG9jYWxfc3RvcmFnZS5j DQo+IGluZGV4IGI2NTAxN2RlYWQ0NC4uN2I1MWZlMWFiYTNjIDEwMDY0NA0KPiAtLS0gYS9rZXJu ZWwvYnBmL2xvY2FsX3N0b3JhZ2UuYw0KPiArKysgYi9rZXJuZWwvYnBmL2xvY2FsX3N0b3JhZ2Uu Yw0KPiBAQCAtMSwxMSArMSwxMyBAQA0KPiAgIC8vU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjANCj4gICAjaW5jbHVkZSA8bGludXgvYnBmLWNncm91cC5oPg0KPiAgICNpbmNsdWRlIDxs aW51eC9icGYuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9idGYuaD4NCj4gICAjaW5jbHVkZSA8bGlu dXgvYnVnLmg+DQo+ICAgI2luY2x1ZGUgPGxpbnV4L2ZpbHRlci5oPg0KPiAgICNpbmNsdWRlIDxs aW51eC9tbS5oPg0KPiAgICNpbmNsdWRlIDxsaW51eC9yYnRyZWUuaD4NCj4gICAjaW5jbHVkZSA8 bGludXgvc2xhYi5oPg0KPiArI2luY2x1ZGUgPHVhcGkvbGludXgvYnRmLmg+DQo+ICAgDQo+ICAg REVGSU5FX1BFUl9DUFUoc3RydWN0IGJwZl9jZ3JvdXBfc3RvcmFnZSosIGJwZl9jZ3JvdXBfc3Rv cmFnZVtNQVhfQlBGX0NHUk9VUF9TVE9SQUdFX1RZUEVdKTsNCj4gICANCj4gQEAgLTMwOCw2ICsz MTAsOTEgQEAgc3RhdGljIGludCBjZ3JvdXBfc3RvcmFnZV9kZWxldGVfZWxlbShzdHJ1Y3QgYnBm X21hcCAqbWFwLCB2b2lkICprZXkpDQo+ICAgCXJldHVybiAtRUlOVkFMOw0KPiAgIH0NCj4gICAN Cj4gK3N0YXRpYyBpbnQgY2dyb3VwX3N0b3JhZ2VfY2hlY2tfYnRmKGNvbnN0IHN0cnVjdCBicGZf bWFwICptYXAsDQo+ICsJCQkJICAgIGNvbnN0IHN0cnVjdCBidGYgKmJ0ZiwNCj4gKwkJCQkgICAg Y29uc3Qgc3RydWN0IGJ0Zl90eXBlICprZXlfdHlwZSwNCj4gKwkJCQkgICAgY29uc3Qgc3RydWN0 IGJ0Zl90eXBlICp2YWx1ZV90eXBlKQ0KPiArew0KPiArCWNvbnN0IHN0cnVjdCBidGZfdHlwZSAq c3QsICp0Ow0KPiArCXN0cnVjdCBidGZfbWVtYmVyICptOw0KPiArDQo+ICsJLyogS2V5IGlzIGV4 cGVjdGVkIHRvIGJlIG9mIHN0cnVjdCBicGZfY2dyb3VwX3N0b3JhZ2Vfa2V5IHR5cGUsDQo+ICsJ ICogd2hpY2ggaXM6DQo+ICsJICogc3RydWN0IGJwZl9jZ3JvdXBfc3RvcmFnZV9rZXkgew0KPiAr CSAqCV9fdTY0CWNncm91cF9pbm9kZV9pZDsNCj4gKwkgKglfX3UzMglhdHRhY2hfdHlwZTsNCj4g KwkgKiB9Ow0KPiArCSAqLw0KPiArDQo+ICsJLyoNCj4gKwkgKiBLZXlfdHlwZSBtdXN0IGJlIGEg c3RydWN0dXJlIChvciBhIHR5cGVkZWYgb2YgYSBzdHJ1Y3R1cmUpIHdpdGgNCj4gKwkgKiB0d28g bWVtYmVycy4NCj4gKwkgKi8NCj4gKwlzdCA9IGJ0Zl9vcmlnX3R5cGUoYnRmLCBrZXlfdHlwZSk7 DQo+ICsJaWYgKEJURl9JTkZPX0tJTkQoc3QtPmluZm8pICE9IEJURl9LSU5EX1NUUlVDVCB8fA0K PiArCSAgICBCVEZfSU5GT19WTEVOKHN0LT5pbmZvKSAhPSAyKQ0KPiArCQlyZXR1cm4gLUVJTlZB TDsNCj4gKw0KPiArCS8qDQo+ICsJICogVGhlIGZpcnN0IGZpZWxkIG11c3QgYmUgYSA2NCBiaXQg aW50ZWdlciBhdCAwIG9mZnNldC4NCj4gKwkgKi8NCj4gKwltID0gKHN0cnVjdCBidGZfbWVtYmVy ICopKHN0ICsgMSk7DQo+ICsJdCA9IGJ0Zl9vcmlnX3R5cGUoYnRmLCBidGZfdHlwZV9ieV9pZChi dGYsIG0tPnR5cGUpKTsNCj4gKwlpZiAoIXQgfHwgQlRGX0lORk9fS0lORCh0LT5pbmZvKSAhPSBC VEZfS0lORF9JTlQgfHwgbS0+b2Zmc2V0IHx8DQo+ICsJICAgIHQtPnNpemUgIT0NCj4gKwkgICAg RklFTERfU0laRU9GKHN0cnVjdCBicGZfY2dyb3VwX3N0b3JhZ2Vfa2V5LCBjZ3JvdXBfaW5vZGVf aWQpKQ0KPiArCQlyZXR1cm4gLUVJTlZBTDsNCg0KV2Ugc2hvdWxkIG5vdCB1c2UgdC0+c2l6ZSBo ZXJlLiBUaGUgInQtPnNpemUiIGlzIHRoZSB0eXBlIHNpemUsIGFuZCB0aGUNCnJlYWwgbnVtYmVy IG9mIGJpdHMgaGVsZCBieSB0aGUgbWVtYmVyIGlzIEJURl9JTlRfQklUUyguLi4pIHdpdGggdGhl IA0KYXJndW1lbnQgb2YgdGhlIHUzMiBpbnQgdmFsdWUgYWZ0ZXIgInQiLg0KDQo+ICsNCj4gKwkv Kg0KPiArCSAqIFRoZSBzZWNvbmQgZmllbGQgbXVzdCBiZSBhIDMyIGJpdCBpbnRlZ2VyIGF0IDAg b2Zmc2V0Lg0KPiArCSAqLw0KPiArCW0gPSBtICsgMTsNCj4gKwl0ID0gYnRmX29yaWdfdHlwZShi dGYsIGJ0Zl90eXBlX2J5X2lkKGJ0ZiwgbS0+dHlwZSkpOw0KPiArCWlmICghdCB8fCBCVEZfSU5G T19LSU5EKHQtPmluZm8pICE9IEJURl9LSU5EX0lOVCB8fA0KPiArCSAgICBtLT5vZmZzZXQgIT0g b2Zmc2V0b2Yoc3RydWN0IGJwZl9jZ3JvdXBfc3RvcmFnZV9rZXksIGF0dGFjaF90eXBlKSAqDQo+ ICsJICAgIEJJVFNfUEVSX0JZVEUgfHwgdC0+c2l6ZSAhPQ0KPiArCSAgICBGSUVMRF9TSVpFT0Yo c3RydWN0IGJwZl9jZ3JvdXBfc3RvcmFnZV9rZXksIGF0dGFjaF90eXBlKSkNCj4gKwkJcmV0dXJu IC1FSU5WQUw7DQoNClRoZSBzYW1lIGlzIGhlcmUuIHQtPnNpemUgc2hvdWxkIG5vdCBiZSB1c2Vk Lg0KQlRGX0lOVF9CSVRTKC4uLikgc2hvdWxkIGJlIHVzZWQuDQoNCj4gKw0KPiArCXJldHVybiAw Ow0KPiArfQ0KPiArDQo+ICtzdGF0aWMgdm9pZCBjZ3JvdXBfc3RvcmFnZV9zZXFfc2hvd19lbGVt KHN0cnVjdCBicGZfbWFwICptYXAsIHZvaWQgKl9rZXksDQo+ICsJCQkJCSBzdHJ1Y3Qgc2VxX2Zp bGUgKm0pDQo+ICt7DQo+ICsJZW51bSBicGZfY2dyb3VwX3N0b3JhZ2VfdHlwZSBzdHlwZSA9IGNn cm91cF9zdG9yYWdlX3R5cGUobWFwKTsNCj4gKwlzdHJ1Y3QgYnBmX2Nncm91cF9zdG9yYWdlX2tl eSAqa2V5ID0gX2tleTsNCj4gKwlzdHJ1Y3QgYnBmX2Nncm91cF9zdG9yYWdlICpzdG9yYWdlOw0K PiArCWludCBjcHU7DQo+ICsNCj4gKwlyY3VfcmVhZF9sb2NrKCk7DQo+ICsJc3RvcmFnZSA9IGNn cm91cF9zdG9yYWdlX2xvb2t1cChtYXBfdG9fc3RvcmFnZShtYXApLCBrZXksIGZhbHNlKTsNCj4g KwlpZiAoIXN0b3JhZ2UpIHsNCj4gKwkJcmN1X3JlYWRfdW5sb2NrKCk7DQo+ICsJCXJldHVybjsN Cj4gKwl9DQo+ICsNCj4gKwlidGZfdHlwZV9zZXFfc2hvdyhtYXAtPmJ0ZiwgbWFwLT5idGZfa2V5 X3R5cGVfaWQsIGtleSwgbSk7DQo+ICsJc3R5cGUgPSBjZ3JvdXBfc3RvcmFnZV90eXBlKG1hcCk7 DQo+ICsJaWYgKHN0eXBlID09IEJQRl9DR1JPVVBfU1RPUkFHRV9TSEFSRUQpIHsNCj4gKwkJc2Vx X3B1dHMobSwgIjogIik7DQo+ICsJCWJ0Zl90eXBlX3NlcV9zaG93KG1hcC0+YnRmLCBtYXAtPmJ0 Zl92YWx1ZV90eXBlX2lkLA0KPiArCQkJCSAgJlJFQURfT05DRShzdG9yYWdlLT5idWYpLT5kYXRh WzBdLCBtKTsNCj4gKwkJc2VxX3B1dHMobSwgIlxuIik7DQo+ICsJfSBlbHNlIHsNCj4gKwkJc2Vx X3B1dHMobSwgIjoge1xuIik7DQo+ICsJCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsNCj4g KwkJCXNlcV9wcmludGYobSwgIlx0Y3B1JWQ6ICIsIGNwdSk7DQo+ICsJCQlidGZfdHlwZV9zZXFf c2hvdyhtYXAtPmJ0ZiwgbWFwLT5idGZfdmFsdWVfdHlwZV9pZCwNCj4gKwkJCQkJICBwZXJfY3B1 X3B0cihzdG9yYWdlLT5wZXJjcHVfYnVmLCBjcHUpLA0KPiArCQkJCQkgIG0pOw0KPiArCQkJc2Vx X3B1dHMobSwgIlxuIik7DQo+ICsJCX0NCj4gKwkJc2VxX3B1dHMobSwgIn1cbiIpOw0KPiArCX0N Cj4gKwlyY3VfcmVhZF91bmxvY2soKTsNCj4gK30NCj4gKw0KPiAgIGNvbnN0IHN0cnVjdCBicGZf bWFwX29wcyBjZ3JvdXBfc3RvcmFnZV9tYXBfb3BzID0gew0KPiAgIAkubWFwX2FsbG9jID0gY2dy b3VwX3N0b3JhZ2VfbWFwX2FsbG9jLA0KPiAgIAkubWFwX2ZyZWUgPSBjZ3JvdXBfc3RvcmFnZV9t YXBfZnJlZSwNCj4gQEAgLTMxNSw3ICs0MDIsOCBAQCBjb25zdCBzdHJ1Y3QgYnBmX21hcF9vcHMg Y2dyb3VwX3N0b3JhZ2VfbWFwX29wcyA9IHsNCj4gICAJLm1hcF9sb29rdXBfZWxlbSA9IGNncm91 cF9zdG9yYWdlX2xvb2t1cF9lbGVtLA0KPiAgIAkubWFwX3VwZGF0ZV9lbGVtID0gY2dyb3VwX3N0 b3JhZ2VfdXBkYXRlX2VsZW0sDQo+ICAgCS5tYXBfZGVsZXRlX2VsZW0gPSBjZ3JvdXBfc3RvcmFn ZV9kZWxldGVfZWxlbSwNCj4gLQkubWFwX2NoZWNrX2J0ZiA9IG1hcF9jaGVja19ub19idGYsDQo+ ICsJLm1hcF9jaGVja19idGYgPSBjZ3JvdXBfc3RvcmFnZV9jaGVja19idGYsDQo+ICsJLm1hcF9z ZXFfc2hvd19lbGVtID0gY2dyb3VwX3N0b3JhZ2Vfc2VxX3Nob3dfZWxlbSwNCj4gICB9Ow0KPiAg IA0KPiAgIGludCBicGZfY2dyb3VwX3N0b3JhZ2VfYXNzaWduKHN0cnVjdCBicGZfcHJvZyAqcHJv Zywgc3RydWN0IGJwZl9tYXAgKl9tYXApDQo+IA0K