From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751830AbcLBQU5 (ORCPT ); Fri, 2 Dec 2016 11:20:57 -0500 Received: from mail-db5eur01on0111.outbound.protection.outlook.com ([104.47.2.111]:65109 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750833AbcLBQTj (ORCPT ); Fri, 2 Dec 2016 11:19:39 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH v3] x86/suspend: fix false positive KASAN warning on suspend/resume To: Josh Poimboeuf References: <20161201164551.52xlcftamleam6vq@treble> <20161201171306.swnvi4f2ezavloxd@treble> <20161201173438.bfe5eq23i6ezfxsq@treble> <20161201175611.gf63mwzomt4wrlxy@treble> <20161201203154.mwt5x736g7z6jh3o@treble> <5144d695-7ac4-f992-5239-91c772b0c121@virtuozzo.com> <20161202140147.gvj452hmlbxnstrg@treble> <20161202144240.3tect4hx4cks44iu@treble> CC: Dmitry Vyukov , "Rafael J. Wysocki" , Len Brown , Pavel Machek , , LKML , Peter Zijlstra , "Ingo Molnar" , Andy Lutomirski , Scott Bauer , "x86@kernel.org" , "Alexander Potapenko" , kasan-dev From: Andrey Ryabinin Message-ID: Date: Fri, 2 Dec 2016 17:45:18 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.0 MIME-Version: 1.0 In-Reply-To: <20161202144240.3tect4hx4cks44iu@treble> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM5PR0701CA0010.eurprd07.prod.outlook.com (10.168.161.20) To AM5PR0801MB2051.eurprd08.prod.outlook.com (10.168.158.141) X-MS-Office365-Filtering-Correlation-Id: d223f69b-b4db-4182-e4f9-08d41ac1c5cb X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:AM5PR0801MB2051; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB2051;3:yEvXQNNOWWyvbISyfy5JVaQ6gT7cG7TWa1oobgF5DITKsEbBaE+M64XJQJR0COIvcgBBwu85A18WeyZxEXuurSpGw1rCVBac84gqykJSczNlvvl0pu6f0PQ+Our681cOCEWa48VFlDajcKoEMmnDbMWJL6DI/01lK+KTZ0drtGpSMvLxQu8JG444eo55HxveZTh93j06CIb4P+oL0JHRhFYcrZK3wN68u1S18Qwo1xP9f7Dd85boqVMfjTC//UczDmLDkKl1Dh0029dRQ2Isdw==;25:3ZuuXWNp5YOaURI2hTk+WXzV4rfCYi8/A0WS939795eVkCSKVuSCsqnqCOV8zMoh+pqwvXUd3C0JiRR19hpL2eUoNtm3eo7kbGIc1LArahazFSRMw9l+P/VBo0gZRun267zqMtKs2gS3w2B2TW8Xefw5cin4Uv+UEYCkdxuqfQ74xetlP3DdMYpWfWQ2SMLfoVmLRHWULWK77fWihuHqP+myRLDpNzYW4x+Jkb5O5nQJBqvVv3B2qse6UZaks/pMFUCzWZFr95jbbC7+13Yvw2xnfkdTfFcIfTmRKxHwKVGoDSQFIjOCX2bVNtLmtgL1wZL+DO+KAvlTyinoJFm7S2M/u5xV5rCXn6yOwNqcNjQ/wuJurxhagsAa6gnxKXwoB52FuNziqq+Icgi8Gv+w1x2m5t6k29JheaWvHJ9M0T+o6rxc2Wc10ke5m6lSWgm6TkO+gf/rduS/q3o+2jBSgg== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB2051;31:J9qeQ6MdNYEENh7Nojmjzf0JqSntNe5XT+3eyljEvILUcyGdqeKiu7h7k6mCi0+RNJJSosTw2CjbUw8ZE5/nzoR+SCJO810SDdVPFGpHBc5pkqlrdEj3fGGCk9gfpHUAlwT4ttlp23nXEOCAMkMLgmckVtk6HWDGhAIZ9vILVa4gGlIyB3wsIzqYPnn/SJUCZkt/qGQKppUt5ohIH3Yw56xuIlay7ciZ/u/97ppzj/8bd/EP6IUTbdWRnQgHPKN3sRjl/Ws5n0moh/LHrGkZ8Q==;20:1Dd/i+UhQDfFsRlhGYmUV/ndocblHEeAOLoBDRSlGVAvznkchvFde1tbiMxRfeeNHKy1i0RwsIwjTzGRS3zK1VdblvaVbuc3GPXCqkattXu17yOzGqT2kKm1ov89HTkWdcVhTVkJrhr3eO+oIqVURuAHe0SYU2b20/fYPmiXvSg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(20161123558021)(2016111802025)(6042181)(6072148)(6043046);SRVR:AM5PR0801MB2051;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0801MB2051; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB2051;4:dJjg9vCapFuotBIugpwKzFXURP7mxOQIfreykq05D1uiUP0rXlLK09mmGJeKsAPJsmCpY6qNz6FEamVTgz6ErpkI0sCCl7jErJy65kRtwCfZ62cqPsD+lfv5iNo2CLyENoqKqgnE8Yt4ouA8QWdevtABLotkruvzzZCiqGUrdC4mt5w2g75ABzhZWSFwTRArL5WeAubWxK4jdjc2EhpMiBwAQhX2lQ4koXL1UpAj2BcntTvTcbpBTjEcXup9BTZgTzI6wgmtaSxHhCshiHhzl29LVyjT0zF4HiRLWAK06FzLA1HRb4qzi1pjxjSOy5qbmR7tla5hRWBpKXDWZiJX5ive+x2yAV/FwZKjTP5yp+zcRpQxefRX5dz11CoQ1NIJi4o9IZ8qwDiA9s0l2t0DJIpyWAYqJiDIxzUBbeGkP9slJ13tzvRakO40amRtfdz2uzLasqdBRxeyqhXjmAI8rG2mdbeEv8baBejH7LsMkElA33H1uqC0k1LnY/5q62dbH9wqPwhZB6A0h98IIoMPPuvcN2r6iNmwybs1T7y0zKY5pLm6QA7LQLHOE95ffwfaqk+rhYFi033A78751uOMpBmm7Dr45Sp6yr8C+hVa4V4UGUX1QONu3xZ0WH7MlTzbRmfIdiKYPBMucY/T4m4BNj27kgP32dxO/qxc7f4GDIo= X-Forefront-PRVS: 0144B30E41 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(189002)(24454002)(377454003)(199003)(92566002)(230700001)(64126003)(5660300001)(2906002)(65826007)(93886004)(90366009)(8676002)(81156014)(81166006)(33646002)(83506001)(77096006)(65956001)(733004)(65806001)(7846002)(110136003)(6486002)(305945005)(7736002)(7416002)(66066001)(86362001)(31696002)(36756003)(105586002)(38730400001)(229853002)(76176999)(54356999)(106356001)(47776003)(50986999)(4326007)(4001350100001)(97736004)(6666003)(6916009)(50466002)(2950100002)(42186005)(189998001)(23676002)(6116002)(101416001)(3846002)(31686004)(68736007);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0801MB2051;H:[10.30.19.223];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjA4MDFNQjIwNTE7MjM6cVNxanhjNXZDODRPa3B6QWJCVlRLMWN5?= =?utf-8?B?LzZQdkQyaE9ZSEdxeFFFT29Seis3QVlEU1g1UjVHMy96VSt4YVEvM0locmUz?= =?utf-8?B?T3M2L2NqR1g4WkN2UlNVaXVDWC9uL2pDL0RiMHR6K215dFBza2tXK0VJWUkw?= =?utf-8?B?N2xoQ0E2bWg1azNSeHRWMGIxbElEb1NIaldJcXF6ZENORTJ2RXU2cDJaL2Nq?= =?utf-8?B?c2N6c1RhOEtySlhXV2o5YnQ2bndEWUlzZi9DNWlGQnl2NW9xN1VJVkJqbFg4?= =?utf-8?B?UFBkMXRDU1dSalIwdmxjMjU0QmluMmpOdXo0Y0xHeEZBanZzQ0lrdk9COG1F?= =?utf-8?B?TFpHay9QaERNR1p0UituNmtFQXVyRTM0Y2I1a3ZrZDJLbGZSSnEvbTBrVnho?= =?utf-8?B?Kzh0MnFQOW9uKzVOQVhmNXZuendVRGFqaDE1Zkk4ZHZJckNKb1hmR3FEU3cv?= =?utf-8?B?OTNxdkR5NDlLSXFpWDRBWGhWMndHU04wOHFCcGF1MW9OU3hRbURKTGt4VDVL?= =?utf-8?B?a0M5bVhaNTBxVGc2UmVtVzU1dnk4dFlaT0tDd0I4OVNlUkhuTFMyejZua0Jn?= =?utf-8?B?R2VhYmp0NzkxNloxVFNEcWFhTENUMXRrU1g2WVREMUpld3BGL09CdHdqbm1n?= =?utf-8?B?eHhvSG1PUUc3ai9uVCtlQWRqUVNTWDFudFVITlVqYnJ1SlJPU3dHczhTSExv?= =?utf-8?B?RWZ2alZyb01WTkpsNlNUUWJVdHhUdTM0VVZiRytrUEdHcjgxNXFLaUxUK1Rz?= =?utf-8?B?MStoQXZnVDA0K1B2S1Q4ZGhQcDk1ZE1jaVRXSEZ3cUVOandQMHhKK0QrRlox?= =?utf-8?B?TEJCM09xSTJTWWdiVno1dDNIK2w0MVJVRno1aURkM2dTcmVrVTZndWN4VFQv?= =?utf-8?B?M2VFRC9pU2xPa3lBbHFGYXJLenA4Z2YydFZDNlIrODlsaHFTY2R0bm83R1Ju?= =?utf-8?B?RjZhOHc1UWZGUXJZRU1uZUZqa1F1cmZnRmRuQnVGVkpwaDVZRzFPalNlL25N?= =?utf-8?B?L1d5NFIrMmd0NlUvR2IyeGFSMzBqc0xDdUZzZWJTZ3gwd2Rlc1VYYmZET2c4?= =?utf-8?B?YzJlSStWVXRDcmNubTA3KzJyZ3ZWa0ZqZVE0ZUlCQmEweVBON3BhWnlLRGpj?= =?utf-8?B?S0lTbXMzWkVjTkhUR0N4WHdrMlZhUWl0VHA2ODBPbG1BTjFrU01CdVNrZnJN?= =?utf-8?B?ZXhzVjVRSnRtaGtwQUZBbEkvcHorMFFFN2xRSVEyU2xpc2h4eEl3NDBwUTZM?= =?utf-8?B?Ung2UzEwdXhuMzVBRFZENUNzZWUveDBEaThqTS9DWDZZRldxQmlTckVTalUy?= =?utf-8?B?M2lqUGU3b0tWRFIyZFBsMFpNc3cvcTdYWVpqaTN2T0ZOV1FKcVZEZkt5NVFX?= =?utf-8?B?YnFTeWVXRFhBQy9US0NVNEdPS0JMRHJZTFJaK1pRYkNWN2lDOGpZT2ZWYUNR?= =?utf-8?B?bFQxTkd3TXpHbHV4aFNsdURPUE5hSGtaazVuV3VTZFRyYndDbTlnK3QwV2E5?= =?utf-8?B?NXhveDdBb3kzaUxqZVNjZDlhTkV6dUJQL042aTlKdWhSeXYyZDVtS2Exa08v?= =?utf-8?B?cStrZXNidkEvSXFkRWl0bFp0VmVxWjV4ZGFTSGR6ZGNNZy9zK2ZYVGpGaXA0?= =?utf-8?B?RnBuQmZ0UzBMV2lUUHMwSmU0YW9Md0tib1lWRDhoRmZkY3hHZjFnbldkWU5O?= =?utf-8?B?ZWpIRVdBQ0dnUTVsWFkxVklzMFpjYnZoUmZqNGswVUVKZ2preDNTSjlqaE5t?= =?utf-8?B?Qyt0Rncya1lZNWU0eWtNaktvdmUyNXhlR0Qvelp4a3YvVlZHVTdrdUsrV0Jo?= =?utf-8?B?QmRQSnhxK2V3UEc2NnE5TEoyQlBxNjVFNGlqaEhhV1RUWVVTeFVGSDgwVjhH?= =?utf-8?Q?JlLByOcj+cTnk=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB2051;6:j5C6igbjEmgexsCD9J5CetYT0RYjZFRKPj7pRibcyT1MaxyWUZE46gP5Rb8OCMngRtONxaXGhJUC3+S+RKXlNf5GDljdN+5di4PLWPN/MdbEYNIFFACsQ8DpAQORfrgpKvmIwVwRj3Zf2MOzRuhp5CE/Z5llEzbNp6qmGMga5rP8EMOuKQe7qD6oDhGXOCrU5JHVU+6mT8UvX6pax9Rqtbpj94Kfj/Z/7Jv46RQrFxBOWpdUs6Yq/X5UPxxY4wbWRPNiUK+CO73cpwq0jw0z5a/cKPD4ENAFTIw5F4C37QeUYnGHvVuqzcJoqgrRmDTHbN4fp2Rt9hQ3OGLAcwSH3o8Y0a8K+w/2ZkO6SU5F18KsDHqHEQUlICYomVi7Xp+CffdsxGmQQg1pZh3i3bqVgd0lctdqE+kG18UFZlOnE/Mwz8uy65DWb3k4KSXyoQo/;5:emstRRM0S6YEMsMHr/AkixHPhoX360e291CowwAgVIyLZpwSB3CMRmaUjhonC+DxCQXkcBE+GHPQf6wUQnv9F2KL0FXXPQMLqkUg8w9uChaUaaHi3HXdPAO/gKb7nuDayiLkHCALM6NsL7IrA0PzZw==;24:9ve1EcTIXkZuxLYSi8+Vnv5RXmYxlZu739rlfp/gqcikhNX3LqI8AkFS4AshwpR7kIYRvzrQBXhuDak19oN13h3YPR+v7wQH1FmqRLtk+tU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB2051;7:sOODr2Re9dP8hIxUzvQwAhfi7WAMhUfcx8hhaojEK59+PAbmTAd+ezuUoOOqZVNQI9ru6iXigrT9YlhMqBqAeUKznWWfD31vxcbkRKPnwypLiBil7ZjMqoPjZlqa9ozhGihuEiam0GrTlNVwoWemeCCR7spRD3HH7gokAPKiWq3f5U9fECgTrRCAyn7AQJ+8KCcK4395Q8QH6VH4CQWDnV6fiRgCKTBGlWXE9HAoakomXfZOzhRH8Ro5eB6rEb0p1F7bBVGjDtx/glKGpd9kCf/2xuK+TIZ4KEyLpIs/yDYstKeJBzope6UpnIxCg4tzJ/JK/W7wgq+lNR+duPRlZJElnurkc1K6ooS8RBr7x/u9RU8brnX/52FuA14+ai0Z6FIZR7BgRuTCxgQ+6Jc8JLQXKhGneJpfGEHUVnXNJ7qnvqmY3fo5Q9nHDx0CH5HnStckIj0q91e4C/3IAbY3iw==;20:pA4HVRWuzCHMsLPJWPOjoxArLUPVSlRqHV5bPMrZkY++un5Jg+yZ1Ya8hAYvLYh63cDWLWNgCrQOobT2yjGdgTL8KY58/JJmCZDzSTunUzTzC2ezsVLJf4wHVYUDrPp4fq0dzGwNxsPrqoc09/8049X/JBf89vxvYgTYNgi5jUc= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2016 14:44:50.7970 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB2051 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/02/2016 05:42 PM, Josh Poimboeuf wrote: > diff --git a/mm/kasan/kasan.c b/mm/kasan/kasan.c > index 0e9505f..e9d8ba0 100644 > --- a/mm/kasan/kasan.c > +++ b/mm/kasan/kasan.c > @@ -80,7 +80,14 @@ void kasan_unpoison_task_stack(struct task_struct *task) > /* Unpoison the stack for the current task beyond a watermark sp value. */ > asmlinkage void kasan_unpoison_task_stack_below(const void *watermark) > { > - __kasan_unpoison_stack(current, watermark); > + /* > + * Calculate the task stack base address. Avoid using 'current' > + * because this function is called by early resume code which hasn't > + * yet set up the percpu register (%gs). > + */ > + void *base = (void *)((unsigned long)watermark & CURRENT_MASK); CURRENT_MASK is defined only on x86... > + > + kasan_unpoison_shadow(base, watermark - base); > } > > /* >