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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA66EE68961 for ; Thu, 31 Oct 2024 09:20:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 62D356B0092; Thu, 31 Oct 2024 05:20:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5DCFD6B0093; Thu, 31 Oct 2024 05:20:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 42E836B0095; Thu, 31 Oct 2024 05:20:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 1E6876B0092 for ; Thu, 31 Oct 2024 05:20:27 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 88944141459 for ; Thu, 31 Oct 2024 09:20:26 +0000 (UTC) X-FDA: 82733350644.25.919CBF9 Received: from AUS01-SY4-obe.outbound.protection.outlook.com (mail-sy4aus01olkn2028.outbound.protection.outlook.com [40.92.62.28]) by imf24.hostedemail.com (Postfix) with ESMTP id 83ED3180015 for ; Thu, 31 Oct 2024 09:20:19 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=hotmail.com header.s=selector1 header.b=cKUOEScB; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf24.hostedemail.com: domain of xieym_ict@hotmail.com designates 40.92.62.28 as permitted sender) smtp.mailfrom=xieym_ict@hotmail.com; dmarc=pass (policy=none) header.from=hotmail.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730366209; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=rAEQHllg7JdKaXdaa933rhGgPMB5wn5GTeZdP+YK35k=; b=TMvuoeXzMtsGyp2P/ymaV8PYXcveaz2SZ/quRHpc4OEhdl8/0SMsbq/TmNZlzSecngUByz +aDrpJToU7NCe4I8NgZFmoPk8KO4BynQ2FAcQLhWL9k7tR8ODikjSOOSvPDZAkepnMYCfY MG18JhoFqPGSDQ8m3/9O3oUNrwJIKSE= ARC-Authentication-Results: i=2; imf24.hostedemail.com; dkim=pass header.d=hotmail.com header.s=selector1 header.b=cKUOEScB; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf24.hostedemail.com: domain of xieym_ict@hotmail.com designates 40.92.62.28 as permitted sender) smtp.mailfrom=xieym_ict@hotmail.com; dmarc=pass (policy=none) header.from=hotmail.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1730366209; a=rsa-sha256; cv=pass; b=hdfae17Oj70MyMROMqV/BHQ4cYmpd2RC5+fsvIXnmT3LXgVAQv8foaoA/V8H7qTU/GTr7v MiPs8q6LrebG4/99BT0BFgIXn/ffcvRsx0tmyW8/3vjrlOxd136Pw1p1+7l/+s66HPlBMN 7hCobKO2sIWhM2SDxvg8TBZwNK+QNTk= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aSUS8sxDhNkkSIxxfIzZWFcFo8jIvDzkIOeM8+wxlZ1pEFzsuui9V2xykeh478JgfT3HDX96KLL/ZOEEc+RTzzhG/WIz9Dx9ZJZjBzKq+vzl2h0uODAUWb01EisvhvO1woeMCtz+s6LrNFT0rTP2fnEYjtSMzMEs0yucOnarAcbwTAOICVzABlbb7BqttkZj1BRsz5EKIdTzCiKHialmu5Y6eCXWzUzvboiZfGsAvf43ziopaS1uo5s96K13awRnRe4CsgiyiLd57KKfO/M1I+hFnhxTYLPubEHbjIOqZ9zVBg+T+/Xyd7Zs5EJkc0x9taUZmu5YuAwqqGj4nZsGDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rAEQHllg7JdKaXdaa933rhGgPMB5wn5GTeZdP+YK35k=; b=Gwb7LStyIDEiRoRZaJDSiAWhiAdWrhUW4FL9RCYXyf1C8HQml67/t5t0Bi1o+nFw9ubz1pSR/LXy44czGkm9JPEyaTeQXdFwQU8nAtYi1syqDG4gDEk6JEfjodO73LIjWaog0NDjS8o14ZyBq9yE+wOvl7VWfl7BQJMzmGTikfnqqj71b4b6ittYsD4a5uDaazT2XlA8ZMliEsLn7i1Evfrbdjx7EUiXXLXMeZOy6lWKgqf78Hu/vxuf6WZfS9HLpAXd7Ve00WfDPXh35u1QsyVxn+p7qLemwx5M6em+zJrYmUgFELN2nhMQUaSY3+FibBatMiH3Qu4UPxJ/NUhy2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rAEQHllg7JdKaXdaa933rhGgPMB5wn5GTeZdP+YK35k=; b=cKUOEScByHHqb3LMQv2rLwityXhEfwqZAC3MAB6zEqLImvonWZaMCxgc9bXwSDVdi9TsXH+Rid7jTuIkVvE/DCq4nldN0Tuy5EBA6u6uS4Ld31jO3YG7BsK/rvsdO+v6MEMqtv/39FI4pa57yzwkieCMpYhtDLtAm480FsA/Sq9nEEQavhlBL5hoHZ77dUCfY4SxdjFMt078tF4UiGwewrfV+qaalGtkiGmxxMQPVih1FyeHcysrXVJez12hIJSOrZlVeo3YFx3w38oio8l3PhzT34OmcxHShOlG/FFKCREcLw6HaUZXvT5zLx9N7c0seuGBhMkE4RXcXmo6VuWo9g== Received: from ME0P300MB0414.AUSP300.PROD.OUTLOOK.COM (2603:10c6:220:22c::5) by SY3PPF9DBD89FC6.AUSP300.PROD.OUTLOOK.COM (2603:10c6:18::4a5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.25; Thu, 31 Oct 2024 09:20:15 +0000 Received: from ME0P300MB0414.AUSP300.PROD.OUTLOOK.COM ([fe80::b8f3:cb85:3e65:5cde]) by ME0P300MB0414.AUSP300.PROD.OUTLOOK.COM ([fe80::b8f3:cb85:3e65:5cde%4]) with mapi id 15.20.8093.027; Thu, 31 Oct 2024 09:20:15 +0000 From: =?utf-8?B?6KejIOWSj+aihQ==?= To: Chris Li , Jingxiang Zeng , "linux-kernel@vger.kernel.org" CC: "linux-mm@kvack.org" , "akpm@linux-foundation.org" , "kasong@tencent.com" , "linux-kernel@vger.kernel.org" , "tjmercier@google.com" , "weixugc@google.com" , "yuzhao@google.com" Subject: =?utf-8?B?5Zue5aSNOiBbUEFUQ0ggdjZdIG1tL3Ztc2Nhbjogd2FrZSB1cCBmbHVzaGVy?= =?utf-8?Q?s_conditionally_to_avoid_cgroup_OOM?= Thread-Topic: [PATCH v6] mm/vmscan: wake up flushers conditionally to avoid cgroup OOM Thread-Index: AQHbKZnuzie+IUqfM0iRD3hZfLdRnLKglgFegAACiFQ= Date: Thu, 31 Oct 2024 09:20:15 +0000 Message-ID: References: <20241026115714.1437435-1-jingxiangzeng.cas@gmail.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: ME0P300MB0414:EE_|SY3PPF9DBD89FC6:EE_ x-ms-office365-filtering-correlation-id: 3c381990-6996-4bf7-459f-08dcf98d3b27 x-microsoft-antispam: BCL:0;ARA:14566002|19110799003|15030799003|8060799006|461199028|7092599003|15080799006|8062599003|4302099013|440099028|3412199025|10035399004|102099032|1602099012; x-microsoft-antispam-message-info: =?utf-8?B?T3pXdm8xNjl5bnBMSW04dmJFdVNsako4dDRkRnJMSkk2K01nQjE4c0F1SEp1?= =?utf-8?B?V1I4WktobmRQK3lnN0pWSCtYOTM1UGNNOHVSUUtEMEs0YWtrdkhpQlljR2Mz?= =?utf-8?B?TXZGdkVPckZXdVEySzJmMldPWDZhbnd3QUNFQU9FRDVkY1VBYU1YYytVWmk1?= =?utf-8?B?NGx5SjlUaVdjRjl0NEUrckxFTHBBYUJ5NzdSZ1dtbE1iUUtBUVN4WmJSSzJF?= =?utf-8?B?SzVSbm8zSWdvTXpJV2NodzBVVUdJQ3pkV20yM2ZialhhZWhHOTQ4ZEJsZVlU?= =?utf-8?B?eWE2b01hS0dGLzh1eGd2TEUyUmR0VjNpMEg4bjNINDNWd1lEME1iMjE5aUdw?= =?utf-8?B?MXFXK1NxY0NEY0JUSzcvRTBRN0R0bFBqTUlwdlBMZWpac1JLaU9lQUQvUThw?= =?utf-8?B?akRUeGI3VUFvMklvd0pCcEc3WFUyT3dxeWF6K000TzlYZWxLNnhOZHBRZ3dK?= =?utf-8?B?Qm1TRjNpMXVwYlFCQU1KNFN2bmtLTFNlVUQ1K2lkc1pKWUNPbHFFWGd3SEcz?= =?utf-8?B?emYzbHVnTGdBVVVWTUhBR3VhcjBSSlpFdnY5dHdqTDlGN2wxTlRqUEhrTjNV?= =?utf-8?B?K3lZa3ByK1pyaDM4YTRoMnRnSVVzaVk5OXFBTnB5emJQRUJkaTVzb1ZVR2Jl?= =?utf-8?B?QUUzRWd4UHo0ZGpyQVFHQS9ydUZ0aktybDJCakl2WWtnejdmM0FSK0M1akJj?= =?utf-8?B?WkJHVkZ0Y1hkdzdOSjRsajRHN2ZxeVVNM1FRdWNMSnRTdHRPZ3ZEUDJwOXU5?= =?utf-8?B?b0lEU08yaE9ETFVkNVlMM0toaVEyY3BwRjJqQTcrYllUMlFtY0MvM3lQTWFE?= =?utf-8?B?UDdIVUhEaEdHdm1IY0RmTnRYQjZrUk1SdXZoWklaSFBObE1IVlFZbDlWMGxy?= =?utf-8?B?V2tnTGxJS3JjRWhRd3FxdkF4TDdITEx1MTIyMW03ekxIcGM4YTRqcVB6WEJF?= =?utf-8?B?N3RKRCt5TWRBMGw1YjlWbzZGTUpUc2dRK081dFRGM3N1bGVNZ2VtdFFFdysy?= =?utf-8?B?OVl5L1RPZEcwd1U4cUhNem1wK3RFMkg2VjloRis2SnlQeGQzWkZxQnpibkhs?= =?utf-8?B?R2hjWXppSmpBakVHMERpalFOTm9vTm5XQXhrVk1TcWtCSWEwc2V0RWxxa0hR?= =?utf-8?B?L3I0Sys4NDQ4NitHMGhTNVpURHBOK1laNTdubStJSS9KTzBvVEpuYjIyZUZU?= =?utf-8?B?WWdRTjFQVFBrM2xqbzhGaGNCWkEybHE4VHlNSTJCeUlwMFlwMjZEd1kzZXN6?= =?utf-8?B?OGlMN2ZhbldmQmM4V2tRQ2E4QlVkZloyUEsxdXd1K05QdmVwVDB4NFhidGRh?= =?utf-8?B?VnFCNDVDcm1BbWQ4dnN5Tk9JV1ZleU9majA0bHRZMVNPSFJhL0U5NkUyUDVD?= =?utf-8?B?U09vcjlUQi9iUFpkbTFKV1RRUlZET1FOV0tINDcvYUpEY0J1SzU4c2VuOWNO?= =?utf-8?B?L3F2ZStiM0dwRktmRnFBTnM3THBiQm96UWlINm9NTFlsNjg0VGYycy93RUVk?= =?utf-8?B?M3Z2ZjhWeEU3R2Rpb0Q4WTI1czM1VVJCMmNyOXVxRHh4M1ptelVodFU3aUNj?= =?utf-8?B?Umw1UzZtVmFrVitlcTV6WU5VNFRNcFdXMTROSXU3bmpuL29vSHJ3WVJQRWxT?= =?utf-8?B?ZkE1anZFNkY4NHMraVBtUVo4NGgvcG9YdkVnL3hmSWpBR0pzTm56dUg4YmFK?= =?utf-8?Q?bcc9EHcahMKrhid1d0mY?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RlRpQyt4SGNmM2I0L3IwNzRpZVpvNndtS2swZGtVTzEzMlQzd0M3TFA5ekxu?= =?utf-8?B?eDRJODF2NXpZU2VZSlpEOTRoY2J0cmhHRjQ1SzUyTVQ2NUZJWnZEeXVWT1gz?= =?utf-8?B?Z1JhOUVHbU5HbDNONGVGcGxHbEJHRmFkNUU0WnFZUU9Ca2Zqc3drNWJPSlo5?= =?utf-8?B?NVdzL1EyNEhTc204emNIcVFDeGcyU1NVdTlSd0VMU0NHWURvZklqeUpUNHA1?= =?utf-8?B?RU9MRmZqZHdNd01TeEEwemx0dFNCRU96ZW5wWFUyeHJBVlZxTy9MMmUvUlAv?= =?utf-8?B?YkNEUGkrTUNObVByV1FXRGhKcjNwL1NGMVZYOXlwSm1aLy92emI3YnZRd2hq?= =?utf-8?B?NFplMTJuRUZtKzY4VnVNRStiM09QZ0Y3WXRXMnc0RXBlNmpuYXhjb2dqWXJh?= =?utf-8?B?NFlxWXZsREg0STBUUDczWjhSaGNwUjhERWtFSTNsRlRlS1VlWm5ZRzkwU09I?= =?utf-8?B?ZmNTTHhkQ0ZHdFVUV2g1QlNuVlZmZUZQdEFGc2cwdHNjM3o4OC9TT0d5KzdI?= =?utf-8?B?MmI0TE9JR2lKa0NSdy8wWkZFcFZ5blJLUkF6QzNvZjFUVDlUc0puSGZFSWVM?= =?utf-8?B?azRaOWxPYzNjeGpuSE5sd3Y5V1UwNms2N1BZSThOMHNHQlRCQThodGZreXZ1?= =?utf-8?B?RFBFOTg0cHBEak1MWTBrSDVIK0hvLzVSdHRsNld1SU5WelRwN0tWMGQvb1NK?= =?utf-8?B?K2xOZngxN09CaXErODlHQ2RPcUp0QkkwenNpbVRVZy9OWWpZSC9OQ1JwWjh6?= =?utf-8?B?aS85S2lmVFg0eVk2TkJCS3pQdGJhZjVPSHcyMUJZWE8xRU5nbHYwSEJSMzlK?= =?utf-8?B?N2FjOVBOYkYyOHVJUFJRNHpTb0dXRGNmUE5ic3A3Y3BPWWlJK3FnYXY0UjdR?= =?utf-8?B?bEpQWHR0em9GN2U2U3o2cTA3bUF2N0dJMmlrRDR6RUFwcXBPNFc1eDViYWdC?= =?utf-8?B?SUVjakdrUmFtTUFCTzQ0SklJU0RYZldjMWxEQ3dNYjBwTDIrYk9kTEc5SUxX?= =?utf-8?B?ZmRrbExHZXpST3FMMU1HTFlzVXF0MHFMRko0czVNc1ZXeDZBU2oyVzZxMTZa?= =?utf-8?B?RHQ4bC81WENJeGpXK0x2NUpUcmp1dENpOTdEZGI4ZFZzQ2h2ZXBydlR0WGFl?= =?utf-8?B?UUxxdk9BQXk2SFRqcW1Kd2trcmtDTE5xak0wQlJNMkJXNlJKNEgwL3E4N1Er?= =?utf-8?B?WXNNMzlYMkdiZVErSXpzUzJCWlhObnVXajZKb0xETXRrenZaZnVDL3FXSnZD?= =?utf-8?B?TEF3VG1jdjBIelQxM1ZEdzJ2dENBcWZublZKZno5K3FucVpBMmtFRGxIVHYz?= =?utf-8?B?QlhPYldHSm1aVEhTTEI4TlFMTi9xUTRqU0EwQ0xxY3AxY0ZNYm1DN3dRY1VO?= =?utf-8?B?Uk5JY25UK1dqSWl1aWI5aUZubURVYVFzc2x5amRjSjF4VnI5NHM2ZDh5bGxC?= =?utf-8?B?Mm1xODFsRnlUV1hvSUhEcXlNaG1ubEYzUm9VZ053NWpyVzBheUNSM200TzdJ?= =?utf-8?B?ZTB1WVB5emQwQTJRNjBweC9WazhUUVhHVmI1dDR5K05xRTBTeGpMVmxqTVg4?= =?utf-8?B?MFVabUJNSjFTaHpLMURJbUg1NTVnL1V0eFAvM3ROZnA0VTkzNkFMNlg5YWpp?= =?utf-8?B?T1pZVTBVQWc3YUFtK0tYSHZiZGR6WHkrczRDWUEvdWU1MXZqdjFyVXBwZ2xX?= =?utf-8?B?Z1IzdEoyb1R3cGw2dXdNckNINkNEUHZselo5a0orVzRvQVQxN1JmQi9EeVFj?= =?utf-8?Q?+vZcAlhg4kEWr92W50=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-448bf.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: ME0P300MB0414.AUSP300.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 3c381990-6996-4bf7-459f-08dcf98d3b27 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2024 09:20:15.7436 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: SY3PPF9DBD89FC6 X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 83ED3180015 X-Stat-Signature: d9dgmpcxuux5qfzzuqwm9tpjb1qi7j3w X-Rspam-User: X-HE-Tag: 1730366419-74950 X-HE-Meta: U2FsdGVkX183aRJxtd46OgcrnzAIIWK5vYPbNbqvQAxyqxk5SSTkm0l7hyEhdgQeWEKeBf+NKFle1Ym/2uaavZAyFMa/Pv/bhRXH8IidANkOf1Jrg0TE7n259i4OaiF4t9eL56t4avY2AvSOyyx8Yj7kfhfl+uZjh0NheqTeeBrF57S1R9plspePDNdGSyMVpq/MdYNpm8gea65GE4Gx5rPJvSjuCeRgWO5kPj7O257BCUcdaJnU7CYKYZdvk4QjWcAzP3tFkrgQg94Bv+NXj+OM1wDEqb43qVf9v9WMR6KNGoK/RKPkUhJe0vHq5NA4AJ7JgjHx1MSV+rRoFxuagJPA4oLNlhK7ii4ezU4Y0v8mC0EH7hjHEwkzvIwsP4JT/fkrL6hyZiGuYLzrcErxgtlTkAWlZVWLcNR0ucpKoingEqpf9IQEgw7dfC4pKLVMYppKv7mYhhUOe41SmKWtgoianoiPfgH+6F0Z9SZ2aFohRJkBZtYZsAR2QiiD/AedfFP6fcS+cyan3WsP78rYvF9x0zQ4+1GKyla+Pl8YHl/3SrmL0eevqd7hMaS1QEPGquQDHA3bRtcORnOURUOTMDHeXbtda8ewxFlL4RiWF1snTFClPsKigY+H7G+6T0LoZxUVk0IG3CQorW6mhG3zmPEy+buBGbR6udJ2pQLOrWyJs9Hb3Gt37ZRwl086iWAFP7KgHwbNaDGTqt1wRJz5YfmVH8y5AV9CoCT4+olJE5stzpU4in0oZG2PmcLxnmFLrRPH78zabLdnWli4afZNuRFAh2akjUz3cPmndaTy2RF/8NZu407K4iw7IkidRQQNshgcPG1qYxbaHqSAf3ABrF6EtKD/uzRX0+HQbtVbJGOHzTYw2ih0jm2SnPgo8SDCBTLKXZ3TFm/20RQpkEN9xsN4cXh6uQDu+PszZGoBJNGTvukuCFRoY4Mj14kKTj0ynhP4gBwLEYmXwY4BgAD j7p93Vy4 KRCoRjcHy3l2ex7LL6jsIkXdhODdaVDSz9E9/qzL/8rb6Tu2qr8d6x73uOziZvk9yfja550ayxFasm3tt321fAsHkzKpkr7qokez0LegrZj8QNYG3ygD/2zi7/Sg3MBPVPK4s8njGF9CcoTUVH5P0s82NcQGnclFcdPB1/WSWW4XQxQ5aSbEMS6hMzrppdrfjz8yEmm0S2hSftH9JzBiFHQCMH4ckf3PvLbXClw96UyS9R3Kvo7MblRoQpIXgOd4icIV0/fFrv7XFjheXNGhylgQiwg8OAmls6lCvZU2pFGscC8QmWo6CRHTjbgdhkVWB8u0wVbuxKmBYavpZzVTjZ500uzSCIQj3kDYBLkGahM2XACOjn7ebHlCx1ArvFlqcgWx/c99walYhz6M7b8I6BrVtyp/wjJWHRzN24xlz/HNa6ec66g/gkkKiP5LenoPOcBYULtHqGMKiShfXPr+Nc2TMo/OnjjiXAc6opyKm0wpB/PH3aKNp3LnyG1dn53jaMLPdcUvVao8BAxi7eHQYWioDSzYuYVJP/OFDcPU20PNCAT9rqG0yDs/7ILjVZ8Qi4jvT/+pOV0qgkYxhbZdv0VIZX0LDU9F//WaYNsDe2noq49M61m556ZyEWWSW7hl0Q9Kp1omytY+HQ+RkfMmx0L3i/O9zWROaZYrgZw6GI4NYxoDjMbB2eeUZTUUFamz0ips6qX3QIjNGAY4= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: K2xpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcgPGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5v cmc+CnNvcnJ5LCBmb3Jnb3QgdG8gY2hhbmdlIGl0IHRvIHBsYWluIHRleHQgbW9kZTooCgpZb25n bWVpLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCuWPkeS7tuS6ujrC oOinoyDlko/mooUgPHhpZXltX2ljdEBob3RtYWlsLmNvbT4K5Y+R6YCB5pe26Ze0OsKgMjAyNOW5 tDEw5pyIMzHml6UgMTc6MTUK5pS25Lu25Lq6OsKgQ2hyaXMgTGkgPGNocmlzbEBrZXJuZWwub3Jn PjsgSmluZ3hpYW5nIFplbmcgPGxpbnVzemVuZ0B0ZW5jZW50LmNvbT4K5oqE6YCBOsKgbGludXgt bW1Aa3ZhY2sub3JnIDxsaW51eC1tbUBrdmFjay5vcmc+OyBha3BtQGxpbnV4LWZvdW5kYXRpb24u b3JnIDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnPjsga2Fzb25nQHRlbmNlbnQuY29tIDxrYXNv bmdAdGVuY2VudC5jb20+OyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIDxsaW51eC1rZXJu ZWxAdmdlci5rZXJuZWwub3JnPjsgdGptZXJjaWVyQGdvb2dsZS5jb20gPHRqbWVyY2llckBnb29n bGUuY29tPjsgd2VpeHVnY0Bnb29nbGUuY29tIDx3ZWl4dWdjQGdvb2dsZS5jb20+OyB5dXpoYW9A Z29vZ2xlLmNvbSA8eXV6aGFvQGdvb2dsZS5jb20+CuS4u+mimDrCoOWbnuWkjTogW1BBVENIIHY2 XSBtbS92bXNjYW46IHdha2UgdXAgZmx1c2hlcnMgY29uZGl0aW9uYWxseSB0byBhdm9pZCBjZ3Jv dXAgT09NCsKgCkhlbGxvLCBDb3VsZCB5b3UgZXhwbGFpbiB5b3VyIHRlc3QgRU5WIGluIG1vcmUg ZGV0YWlsZWQ/CgpBcyBmYXIgYXMgSSBrbm93LCBhbGwgb2bCoCB3YiB3b3JrZXJzIChib3RoIGZv ciBjZ3diIGFuZCBmb3IgYmRpKSBhcmUgd29ya2luZyBmb3IgZnMgZmx1c2guCk9uY2UgdHJpZ2dl ciBmbHVzaGVyIG1vcmUgZnJlcXVlbnRseSwgaXQgd2lsbCBicmluZyBtb3JlIGNvbXBldGl0aW9u IGZvciBJL08gYmFuZHdpZHRoIGFnYWluc3Qgc3dhcC4gQnV0IEl0IHdvbid0IG1ha2UgYW55IGNv bnRyaWJ1dGlvbiB0byB0aGUgcHJvY2VzcyBvZiBzd2FwLgoKVGhhbmtzLApZb25nbWVpLgoKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCuWPkeS7tuS6ujrCoENocmlz IExpIDxjaHJpc2xAa2VybmVsLm9yZz4K5Y+R6YCB5pe26Ze0OsKgMjAyNOW5tDEw5pyIMjnml6Ug ODozMArmlLbku7bkuro6wqBKaW5neGlhbmcgWmVuZyA8bGludXN6ZW5nQHRlbmNlbnQuY29tPgrm ioTpgIE6wqBsaW51eC1tbUBrdmFjay5vcmcgPGxpbnV4LW1tQGt2YWNrLm9yZz47IGFrcG1AbGlu dXgtZm91bmRhdGlvbi5vcmcgPGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc+OyBrYXNvbmdAdGVu Y2VudC5jb20gPGthc29uZ0B0ZW5jZW50LmNvbT47IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5v cmcgPGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc+OyB0am1lcmNpZXJAZ29vZ2xlLmNvbSA8 dGptZXJjaWVyQGdvb2dsZS5jb20+OyB3ZWl4dWdjQGdvb2dsZS5jb20gPHdlaXh1Z2NAZ29vZ2xl LmNvbT47IHl1emhhb0Bnb29nbGUuY29tIDx5dXpoYW9AZ29vZ2xlLmNvbT4K5Li76aKYOsKgUmU6 IFtQQVRDSCB2Nl0gbW0vdm1zY2FuOiB3YWtlIHVwIGZsdXNoZXJzIGNvbmRpdGlvbmFsbHkgdG8g YXZvaWQgY2dyb3VwIE9PTQrCoApIaSBKaW5neGlhbmcsCgoKCk9uIFNhdCwgT2N0IDI2LCAyMDI0 IGF0IDQ6NTfigK9BTSBKaW5neGlhbmcgWmVuZwo8amluZ3hpYW5nemVuZy5jYXNAZ21haWwuY29t PiB3cm90ZToKPgo+IEZyb206IFplbmcgSmluZ3hpYW5nIDxsaW51c3plbmdAdGVuY2VudC5jb20+ Cj4KPiBDb21taXQgMTRhYThiMmQ1YzJlICgibW0vbWdscnU6IGRvbid0IHN5bmMgZGlzayBmb3Ig ZWFjaCBhZ2luZyBjeWNsZSIpCj4gcmVtb3ZlZCB0aGUgb3Bwb3J0dW5pdHkgdG8gd2FrZSB1cCBm bHVzaGVycyBkdXJpbmcgdGhlIE1HTFJVIHBhZ2UKPiByZWNsYW1hdGlvbiBwcm9jZXNzIGNhbiBs ZWFkIHRvIGFuIGluY3JlYXNlZCBsaWtlbGlob29kIG9mIHRyaWdnZXJpbmcgT09NCj4gd2hlbiBl bmNvdW50ZXJpbmcgbWFueSBkaXJ0eSBwYWdlcyBkdXJpbmcgcmVjbGFtYXRpb24gb24gTUdMUlUu Cj4KPiBUaGlzIGxlYWRzIHRvIHByZW1hdHVyZSBPT00gaWYgdGhlcmUgYXJlIHRvbyBtYW55IGRp cnR5IHBhZ2VzIGluIGNncm91cDoKPiBLaWxsZWQKPgo+IGRkIGludm9rZWQgb29tLWtpbGxlcjog Z2ZwX21hc2s9MHgxMDFjY2EoR0ZQX0hJR0hVU0VSX01PVkFCTEV8X19HRlBfV1JJVEUpLAo+IG9y ZGVyPTAsIG9vbV9zY29yZV9hZGo9MAo+Cj4gQ2FsbCBUcmFjZToKPsKgwqAgPFRBU0s+Cj7CoMKg IGR1bXBfc3RhY2tfbHZsKzB4NWYvMHg4MAo+wqDCoCBkdW1wX3N0YWNrKzB4MTQvMHgyMAo+wqDC oCBkdW1wX2hlYWRlcisweDQ2LzB4MWIwCj7CoMKgIG9vbV9raWxsX3Byb2Nlc3MrMHgxMDQvMHgy MjAKPsKgwqAgb3V0X29mX21lbW9yeSsweDExMi8weDVhMAo+wqDCoCBtZW1fY2dyb3VwX291dF9v Zl9tZW1vcnkrMHgxM2IvMHgxNTAKPsKgwqAgdHJ5X2NoYXJnZV9tZW1jZysweDQ0Zi8weDVjMAo+ wqDCoCBjaGFyZ2VfbWVtY2crMHgzNC8weDUwCj7CoMKgIF9fbWVtX2Nncm91cF9jaGFyZ2UrMHgz MS8weDkwCj7CoMKgIGZpbGVtYXBfYWRkX2ZvbGlvKzB4NGIvMHhmMAo+wqDCoCBfX2ZpbGVtYXBf Z2V0X2ZvbGlvKzB4MWE0LzB4NWIwCj7CoMKgID8gc3Jzb19yZXR1cm5fdGh1bmsrMHg1LzB4NWYK PsKgwqAgPyBfX2Jsb2NrX2NvbW1pdF93cml0ZSsweDgyLzB4YjAKPsKgwqAgZXh0NF9kYV93cml0 ZV9iZWdpbisweGU1LzB4MjcwCj7CoMKgIGdlbmVyaWNfcGVyZm9ybV93cml0ZSsweDEzNC8weDJi MAo+wqDCoCBleHQ0X2J1ZmZlcmVkX3dyaXRlX2l0ZXIrMHg1Ny8weGQwCj7CoMKgIGV4dDRfZmls ZV93cml0ZV9pdGVyKzB4NzYvMHg3ZDAKPsKgwqAgPyBzZWxpbnV4X2ZpbGVfcGVybWlzc2lvbisw eDExOS8weDE1MAo+wqDCoCA/IHNyc29fcmV0dXJuX3RodW5rKzB4NS8weDVmCj7CoMKgID8gc3Jz b19yZXR1cm5fdGh1bmsrMHg1LzB4NWYKPsKgwqAgdmZzX3dyaXRlKzB4MzBjLzB4NDQwCj7CoMKg IGtzeXNfd3JpdGUrMHg2NS8weGUwCj7CoMKgIF9feDY0X3N5c193cml0ZSsweDFlLzB4MzAKPsKg wqAgeDY0X3N5c19jYWxsKzB4MTFjMi8weDFkNTAKPsKgwqAgZG9fc3lzY2FsbF82NCsweDQ3LzB4 MTEwCj7CoMKgIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDc2LzB4N2UKPgo+wqAg bWVtb3J5OiB1c2FnZSAzMDgyMjRrQiwgbGltaXQgMzA4MjI0a0IsIGZhaWxjbnQgMjU4OQo+wqAg c3dhcDogdXNhZ2UgMGtCLCBsaW1pdCA5MDA3MTk5MjU0NzQwOTg4a0IsIGZhaWxjbnQgMAo+Cj7C oMKgIC4uLgo+wqDCoCBmaWxlX2RpcnR5IDMwMzI0NzM2MAo+wqDCoCBmaWxlX3dyaXRlYmFjayAw Cj7CoMKgIC4uLgo+Cj4gb29tLWtpbGw6Y29uc3RyYWludD1DT05TVFJBSU5UX01FTUNHLG5vZGVt YXNrPShudWxsKSxjcHVzZXQ9dGVzdCwKPiBtZW1zX2FsbG93ZWQ9MCxvb21fbWVtY2c9L3Rlc3Qs dGFza19tZW1jZz0vdGVzdCx0YXNrPWRkLHBpZD00NDA0LHVpZD0wCj4gTWVtb3J5IGNncm91cCBv dXQgb2YgbWVtb3J5OiBLaWxsZWQgcHJvY2VzcyA0NDA0IChkZCkgdG90YWwtdm06MTA1MTJrQiwK PiBhbm9uLXJzczoxMTUya0IsIGZpbGUtcnNzOjE4MjRrQiwgc2htZW0tcnNzOjBrQiwgVUlEOjAg cGd0YWJsZXM6NzZrQgo+IG9vbV9zY29yZV9hZGo6MAo+Cj4gVGhlIGZsdXNoZXIgd2FrZSB1cCB3 YXMgcmVtb3ZlZCB0byBkZWNyZWFzZSBTU0Qgd2VhcmluZywgYnV0IGlmIHdlIGFyZQo+IHNlZWlu ZyBhbGwgZGlydHkgZm9saW9zIGF0IHRoZSB0YWlsIG9mIGFuIExSVSwgbm90IHdha2luZyB1cCB0 aGUgZmx1c2hlcgo+IGNvdWxkIGxlYWQgdG8gdGhyYXNoaW5nIGVhc2lseS7CoCBTbyB3YWtlIGl0 IHVwIHdoZW4gYSBtZW0gY2dyb3VwcyBpcyBhYm91dAo+IHRvIE9PTSBkdWUgdG8gZGlydHkgY2Fj aGVzLgo+Cj4gSSBkaWQgcnVuIHRoZSBidWlsZCBrZXJuZWwgdGVzdFsxXSBvbiBWNiwgd2l0aCAt ajE2IDFHIG1lbWNnIG9uIG15IGxvY2FsCj4gYnJhbmNoOgo+Cj4gV2l0aG91dCB0aGUgcGF0Y2go MTAgdGltZXMpOgo+IHVzZXIgMTQ0OS4zOTQKPiBzeXN0ZW0gMzY4Ljc4IDM3Mi41OCAzNjMuMDMg MzYyLjMxIDM2MC44NCAzNzIuNzAgMzY4LjcyIDM2NC45NCAzNzMuNTEKPiAzNjYuNTggKGF2ZyAz NjcuMzk5KQo+IHJlYWwgMTY0Ljg4Mwo+Cj4gV2l0aCB0aGUgVjYgcGF0Y2goMTAgdGltZXMpOgo+ IHVzZXIgMTQ0Ny41MjUKPiBzeXN0ZW0gMzYwLjg3IDM2MC42MyAzNzIuMzkgMzY0LjA5IDM2OC40 OSAzNjUuMTUgMzU5LjkzIDM2Mi4wNCAzNTkuNzIKPiAzNTQuNjAgKGF2ZyAzNjIuNzkpCj4gcmVh bCAxNjQuNTE0Cj4KPiBUZXN0IHJlc3VsdHMgc2hvdyB0aGF0IHRoaXMgcGF0Y2ggaGFzIGFib3V0 IDElIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LAo+IHdoaWNoIHNob3VsZCBiZSBjYXVzZWQgYnkg bm9pc2UuCgpJIG1ha2UgYW5vdGhlciB0ZXN0IHJ1biBvbiB5b3VyIFY2IHdpdGggbW0tdW5zdGFi bGUgYjVkNDNmYWQ5MjZhIGp1c3QKdG8gYWRkIG1vcmUgZGF0YSBwb2ludDoKCldpdGggeW91ciBW NjoKdXNlcsKgwqDCoCAyNzY0LjgwMQpzeXN0ZW3CoCA2Mjk3Ljg4MyA6IDYyMjcuNDYgNjIzOC40 OCA2MjU0LjE0IDYyODEuMDggNjMwNC4zMiA2MzA3LjQzCjYzMjYuMTIgNjMzMS4wMiA2MzQ2LjY2 IDYzNjIuMTIKcmVhbMKgwqDCoCAyODkuOTYxCgpXaXRob3V0IChtbS11bnN0YWJsZSBiNWQ0M2Zh ZDkyNmEpCnVzZXLCoMKgwqAgMjc3Ny4yOTMKc3lzdGVtwqAgNjE3Ny4xNzIgOiA2MDIyLjg0IDYx MjguODEgNjE0Mi45MyA2MTcyLjI0IDYxNzQuMDggNjE4Ni4xCjYxOTQuNzIgNjIwNi43NyA2MjY2 Ljg3IDYyNzYuMzYKcmVhbMKgwqDCoCAyODYuNTE0CgpUaGUgc3lzdGVtIHRpbWUgaXMgc3RpbGwg YSB0aW55IGxpdHRsZSBiaXQgc2xvd2VyLiBCdXQgbXkgc3dhcApwcmVzc3VyZSBtaWdodCBiZSBt dWNoIGhpZ2hlci4gSW4gbXkgdGVzdCBpdCBzcGVuZCBtdWNoIG1vcmUgdGltZSBpbgpzeXN0ZW0g cmF0aGVyIHRoYW4gdXNlciBzcGFjZS4gU28gbXkgc3RyZXNzIGxldmVsIG1pZ2h0IG5vdCBiZQp0 eXBpY2FsLiBHb29kIG5ld3MgeW91ciBWNiBkb2VzIG5vdCBoYXZlIGNyYXNoZXMuCgpUZXN0ZWQt Ynk6IENocmlzIExpIDxjaHJpc2xAa2VybmVsLm9yZz4KCkNocmlzCgo+Cj4gLS0tCj4gQ2hhbmdl cyBmcm9tIHY1Ogo+IC0gTWFrZSB3YWtlLXVwIGNvbmRpdGlvbnMgc3RyaWN0ZXIuIFtXZWkgWHUs IEppbmd4aWFuZyBaZW5nXQo+IC0gVXNlIHNjLT5uci5maWxlX3Rha2VuIHRvIGNvdW50LiBbV2Vp IFh1LCBKaW5neGlhbmcgWmVuZ10KPiAtIExpbmsgdG8gdjU6IGh0dHBzOi8vbG9yZS5rZXJuZWwu b3JnL2FsbC8yMDI0MTAxODA1Mjk0Mi4zODEwNzQwLTEtamluZ3hpYW5nemVuZy5jYXNAZ21haWwu Y29tLwo+IENoYW5nZXMgZnJvbSB2NDoKPiAtIEFkZCB0aGUgbnVtYmVyIG9mIHVucXVldWVkIGRp cnR5IHBhZ2VzIGluIHRoZSBzaHJpbmtfZm9saW9fbGlzdCBmdW5jdGlvbgo+wqDCoCB0byBzYy0+ bnIudW5xdWV1ZWRfZGlydHkuIFtXZWkgWHUsIEppbmd4aWFuZyBaZW5nXQo+IC0gUmVzZXQgc2Mt Pm5yIGJlZm9yZSBjYWxsaW5nIGxydV9nZW5fc2hyaW5rX25vZGUgZnVuY3Rpb24uCj7CoMKgIFtX ZWkgWHUsIEppbmd4aWFuZyBaZW5nXQo+IC0gTW9kaWZpZWQgdGhlIGNvbmRpdGlvbnMgZm9yIHdh a2luZyB1cCB0aGUgZmx1c2hlciB0aHJlYWQgdG8gYXZvaWQKPsKgwqAgaW50ZXJmZXJlbmNlIGZy b20gdW5ldmljdGFibGUgYW5kIGFub255bW91cyBwYWdlcy4KPsKgwqAgW1dlaSBYdSwgSmluZ3hp YW5nIFplbmddCj4gLSBMaW5rIHRvIHY0OiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAy NDA5MjkxMTMwNTAuNzYwNzktMS1qaW5neGlhbmd6ZW5nLmNhc0BnbWFpbC5jb20vCj4gQ2hhbmdl cyBmcm9tIHYzOgo+IC0gQXZvaWQgdGFraW5nIGxvY2sgYW5kIHJlZHVjZSBvdmVyaGVhZCBvbiBm b2xpbyBpc29sYXRpb24gYnkKPsKgwqAgY2hlY2tpbmcgdGhlIHJpZ2h0IGZsYWdzIGFuZCByZXdv cmsgd2FrZSB1cCBjb25kaXRpb24sIGZpeGluZyB0aGUKPsKgwqAgcGVyZm9ybWFuY2UgcmVncmVz c2lvbiByZXBvcnRlZCBieSBDaHJpcyBMaS4KPsKgwqAgW0NocmlzIExpLCBLYWlydWkgU29uZ10K PiAtIE1vdmUgdGhlIHdha2UgdXAgY2hlY2sgdG8gdHJ5X3RvX3Nocmlua19scnV2ZWMgdG8gY292 ZXIga3N3YXBkCj7CoMKgIGNhc2UgYXMgd2VsbCwgYW5kIHVwZGF0ZSBjb21tZW50cy4gW0thaXJ1 aSBTb25nXQo+IC0gTGluayB0byB2MzogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjQw OTI0MTIxMzU4LjMwNjg1LTEtamluZ3hpYW5nemVuZy5jYXNAZ21haWwuY29tLwo+IENoYW5nZXMg ZnJvbSB2MjoKPiAtIEFjcXVpcmUgdGhlIGxvY2sgYmVmb3JlIGNhbGxpbmcgdGhlIGZvbGlvX2No ZWNrX2RpcnR5X3dyaXRlYmFjawo+wqDCoCBmdW5jdGlvbi4gW1dlaSBYdSwgSmluZ3hpYW5nIFpl bmddCj4gLSBMaW5rIHRvIHYyOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyNDA5MTMw ODQ1MDYuMzYwNjI5Mi0xLWppbmd4aWFuZ3plbmcuY2FzQGdtYWlsLmNvbS8KPiBDaGFuZ2VzIGZy b20gdjE6Cj4gLSBBZGQgY29kZSB0byBjb3VudCB0aGUgbnVtYmVyIG9mIHVucXVldWVkX2RpcnR5 IGluIHRoZSBzb3J0X2ZvbGlvCj7CoMKgIGZ1bmN0aW9uLiBbV2VpIFh1LCBKaW5neGlhbmcgWmVu Z10KPiAtIExpbmsgdG8gdjE6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI0MDgyOTEw MjU0My4xODk0NTMtMS1qaW5neGlhbmd6ZW5nLmNhc0BnbWFpbC5jb20vCj4gLS0tCj4KPiBMaW5r OiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvQ0FDZVB2YlY0TC1nUk45VUtLdVVua3NmVkpq T1RxXzVTdGkyLWU9cGJfdzUxa3VjTEtRQG1haWwuZ21haWwuY29tL8KgWzFdCj4gRml4ZXM6IDE0 YWE4YjJkNWMyZSAoIm1tL21nbHJ1OiBkb24ndCBzeW5jIGRpc2sgZm9yIGVhY2ggYWdpbmcgY3lj bGUiKQo+IFN1Z2dlc3RlZC1ieTogV2VpIFh1IDx3ZWl4dWdjQGdvb2dsZS5jb20+Cj4gU2lnbmVk LW9mZi1ieTogWmVuZyBKaW5neGlhbmcgPGxpbnVzemVuZ0B0ZW5jZW50LmNvbT4KPiBTaWduZWQt b2ZmLWJ5OiBLYWlydWkgU29uZyA8a2Fzb25nQHRlbmNlbnQuY29tPgo+IENjOiBULkouIE1lcmNp ZXIgPHRqbWVyY2llckBnb29nbGUuY29tPgo+IENjOiBXZWkgWHUgPHdlaXh1Z2NAZ29vZ2xlLmNv bT4KPiBDYzogWXUgWmhhbyA8eXV6aGFvQGdvb2dsZS5jb20+Cj4gLS0tCj7CoCBtbS92bXNjYW4u YyB8IDI1ICsrKysrKysrKysrKysrKysrKysrKystLS0KPsKgIDEgZmlsZSBjaGFuZ2VkLCAyMiBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL21tL3Ztc2Nhbi5j IGIvbW0vdm1zY2FuLmMKPiBpbmRleCAwODRkZTBlZmU1OWIuLjc5NDczMGM4YzFkZSAxMDA2NDQK PiAtLS0gYS9tbS92bXNjYW4uYwo+ICsrKyBiL21tL3Ztc2Nhbi5jCj4gQEAgLTQyODIsNiArNDI4 Miw3IEBAIHN0YXRpYyBib29sIHNvcnRfZm9saW8oc3RydWN0IGxydXZlYyAqbHJ1dmVjLCBzdHJ1 Y3QgZm9saW8gKmZvbGlvLCBzdHJ1Y3Qgc2Nhbl9jCj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGludCB0aWVyX2lkeCkKPsKgIHsKPsKgwqDCoMKgwqDCoMKg wqAgYm9vbCBzdWNjZXNzOwo+ICvCoMKgwqDCoMKgwqAgYm9vbCBkaXJ0eSwgd3JpdGViYWNrOwo+ wqDCoMKgwqDCoMKgwqDCoCBpbnQgZ2VuID0gZm9saW9fbHJ1X2dlbihmb2xpbyk7Cj7CoMKgwqDC oMKgwqDCoMKgIGludCB0eXBlID0gZm9saW9faXNfZmlsZV9scnUoZm9saW8pOwo+wqDCoMKgwqDC oMKgwqDCoCBpbnQgem9uZSA9IGZvbGlvX3pvbmVudW0oZm9saW8pOwo+IEBAIC00MzI3LDkgKzQz MjgsMTcgQEAgc3RhdGljIGJvb2wgc29ydF9mb2xpbyhzdHJ1Y3QgbHJ1dmVjICpscnV2ZWMsIHN0 cnVjdCBmb2xpbyAqZm9saW8sIHN0cnVjdCBzY2FuX2MKPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHJldHVybiB0cnVlOwo+wqDCoMKgwqDCoMKgwqDCoCB9Cj4KPiArwqDCoMKgwqDC oMKgIGRpcnR5ID0gZm9saW9fdGVzdF9kaXJ0eShmb2xpbyk7Cj4gK8KgwqDCoMKgwqDCoCB3cml0 ZWJhY2sgPSBmb2xpb190ZXN0X3dyaXRlYmFjayhmb2xpbyk7Cj4gK8KgwqDCoMKgwqDCoCBpZiAo dHlwZSA9PSBMUlVfR0VOX0ZJTEUgJiYgZGlydHkpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBzYy0+bnIuZmlsZV90YWtlbiArPSBkZWx0YTsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpZiAoIXdyaXRlYmFjaykKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgc2MtPm5yLnVucXVldWVkX2RpcnR5ICs9IGRlbHRhOwo+ICvCoMKg wqDCoMKgwqAgfQo+ICsKPsKgwqDCoMKgwqDCoMKgwqAgLyogd2FpdGluZyBmb3Igd3JpdGViYWNr ICovCj4gLcKgwqDCoMKgwqDCoCBpZiAoZm9saW9fdGVzdF9sb2NrZWQoZm9saW8pIHx8IGZvbGlv X3Rlc3Rfd3JpdGViYWNrKGZvbGlvKSB8fAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoCAodHlwZSA9 PSBMUlVfR0VOX0ZJTEUgJiYgZm9saW9fdGVzdF9kaXJ0eShmb2xpbykpKSB7Cj4gK8KgwqDCoMKg wqDCoCBpZiAoZm9saW9fdGVzdF9sb2NrZWQoZm9saW8pIHx8IHdyaXRlYmFjayB8fAo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoCAodHlwZSA9PSBMUlVfR0VOX0ZJTEUgJiYgZGlydHkpKSB7Cj7CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnZW4gPSBmb2xpb19pbmNfZ2VuKGxydXZlYywg Zm9saW8sIHRydWUpOwo+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGlzdF9tb3Zl KCZmb2xpby0+bHJ1LCAmbHJ1Z2VuLT5mb2xpb3NbZ2VuXVt0eXBlXVt6b25lXSk7Cj7CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gdHJ1ZTsKPiBAQCAtNDQ0NSw3ICs0NDU0 LDggQEAgc3RhdGljIGludCBzY2FuX2ZvbGlvcyhzdHJ1Y3QgbHJ1dmVjICpscnV2ZWMsIHN0cnVj dCBzY2FuX2NvbnRyb2wgKnNjLAo+wqDCoMKgwqDCoMKgwqDCoCB0cmFjZV9tbV92bXNjYW5fbHJ1 X2lzb2xhdGUoc2MtPnJlY2xhaW1faWR4LCBzYy0+b3JkZXIsIE1BWF9MUlVfQkFUQ0gsCj7CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHNjYW5uZWQsIHNraXBwZWQsIGlzb2xhdGVkLAo+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0eXBlID8gTFJVX0lOQUNU SVZFX0ZJTEUgOiBMUlVfSU5BQ1RJVkVfQU5PTik7Cj4gLQo+ICvCoMKgwqDCoMKgwqAgaWYgKHR5 cGUgPT0gTFJVX0dFTl9GSUxFKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNjLT5u ci5maWxlX3Rha2VuICs9IGlzb2xhdGVkOwo+wqDCoMKgwqDCoMKgwqDCoCAvKgo+wqDCoMKgwqDC oMKgwqDCoMKgICogVGhlcmUgbWlnaHQgbm90IGJlIGVsaWdpYmxlIGZvbGlvcyBkdWUgdG8gcmVj bGFpbV9pZHguIENoZWNrIHRoZQo+wqDCoMKgwqDCoMKgwqDCoMKgICogcmVtYWluaW5nIHRvIHBy ZXZlbnQgbGl2ZWxvY2sgaWYgaXQncyBub3QgbWFraW5nIHByb2dyZXNzLgo+IEBAIC00NTc5LDYg KzQ1ODksNyBAQCBzdGF0aWMgaW50IGV2aWN0X2ZvbGlvcyhzdHJ1Y3QgbHJ1dmVjICpscnV2ZWMs IHN0cnVjdCBzY2FuX2NvbnRyb2wgKnNjLCBpbnQgc3dhcAo+wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcmV0dXJuIHNjYW5uZWQ7Cj7CoCByZXRyeToKPsKgwqDCoMKgwqDCoMKgwqAg cmVjbGFpbWVkID0gc2hyaW5rX2ZvbGlvX2xpc3QoJmxpc3QsIHBnZGF0LCBzYywgJnN0YXQsIGZh bHNlKTsKPiArwqDCoMKgwqDCoMKgIHNjLT5uci51bnF1ZXVlZF9kaXJ0eSArPSBzdGF0Lm5yX3Vu cXVldWVkX2RpcnR5Owo+wqDCoMKgwqDCoMKgwqDCoCBzYy0+bnJfcmVjbGFpbWVkICs9IHJlY2xh aW1lZDsKPsKgwqDCoMKgwqDCoMKgwqAgdHJhY2VfbW1fdm1zY2FuX2xydV9zaHJpbmtfaW5hY3Rp dmUocGdkYXQtPm5vZGVfaWQsCj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgc2Nhbm5lZCwgcmVjbGFpbWVkLCAmc3RhdCwgc2MtPnByaW9yaXR5LAo+IEBA IC00Nzg3LDYgKzQ3OTgsMTMgQEAgc3RhdGljIGJvb2wgdHJ5X3RvX3Nocmlua19scnV2ZWMoc3Ry dWN0IGxydXZlYyAqbHJ1dmVjLCBzdHJ1Y3Qgc2Nhbl9jb250cm9sICpzYykKPsKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbmRfcmVzY2hlZCgpOwo+wqDCoMKgwqDCoMKgwqDCoCB9 Cj4KPiArwqDCoMKgwqDCoMKgIC8qCj4gK8KgwqDCoMKgwqDCoMKgICogSWYgdG9vIG1hbnkgZmls ZSBjYWNoZSBpbiB0aGUgY29sZGVzdCBnZW5lcmF0aW9uIGNhbid0IGJlIGV2aWN0ZWQKPiArwqDC oMKgwqDCoMKgwqAgKiBkdWUgdG8gYmVpbmcgZGlydHksIHdha2UgdXAgdGhlIGZsdXNoZXIuCj4g K8KgwqDCoMKgwqDCoMKgICovCj4gK8KgwqDCoMKgwqDCoCBpZiAoc2MtPm5yLnVucXVldWVkX2Rp cnR5ICYmIHNjLT5uci51bnF1ZXVlZF9kaXJ0eSA9PSBzYy0+bnIuZmlsZV90YWtlbikKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3YWtldXBfZmx1c2hlcl90aHJlYWRzKFdCX1JFQVNP Tl9WTVNDQU4pOwo+ICsKPsKgwqDCoMKgwqDCoMKgwqAgLyogd2hldGhlciB0aGlzIGxydXZlYyBz aG91bGQgYmUgcm90YXRlZCAqLwo+wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gbnJfdG9fc2NhbiA8 IDA7Cj7CoCB9Cj4gQEAgLTU5MzIsNiArNTk1MCw3IEBAIHN0YXRpYyB2b2lkIHNocmlua19ub2Rl KHBnX2RhdGFfdCAqcGdkYXQsIHN0cnVjdCBzY2FuX2NvbnRyb2wgKnNjKQo+wqDCoMKgwqDCoMKg wqDCoCBib29sIHJlY2xhaW1hYmxlID0gZmFsc2U7Cj4KPsKgwqDCoMKgwqDCoMKgwqAgaWYgKGxy dV9nZW5fZW5hYmxlZCgpICYmIHJvb3RfcmVjbGFpbShzYykpIHsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBtZW1zZXQoJnNjLT5uciwgMCwgc2l6ZW9mKHNjLT5ucikpOwo+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbHJ1X2dlbl9zaHJpbmtfbm9kZShwZ2RhdCwgc2Mp Owo+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+wqDCoMKgwqDCoMKg wqDCoCB9Cj4gLS0KPiAyLjQzLjUKPgo=