From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753346AbdLWMqG (ORCPT ); Sat, 23 Dec 2017 07:46:06 -0500 Received: from mail-eopbgr60111.outbound.protection.outlook.com ([40.107.6.111]:10909 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750810AbdLWMqA (ORCPT ); Sat, 23 Dec 2017 07:46:00 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH] [v4] kasan: rework Kconfig settings To: Arnd Bergmann , Andrew Morton Cc: stable@vger.kernel.org, Mauro Carvalho Chehab , Alexander Potapenko , Dmitry Vyukov , kasan-dev@googlegroups.com, Masahiro Yamada , Michal Marek , Ingo Molnar , Byungchul Park , "Paul E. McKenney" , Peter Zijlstra , Geert Uytterhoeven , Josh Poimboeuf , Thomas Gleixner , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org References: <20171221134744.2295529-1-arnd@arndb.de> From: Andrey Ryabinin Message-ID: <49320810-9beb-28ac-5786-8548a4ac132a@virtuozzo.com> Date: Sat, 23 Dec 2017 15:42:36 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20171221134744.2295529-1-arnd@arndb.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [84.47.128.244] X-ClientProxiedBy: AM5PR0502CA0015.eurprd05.prod.outlook.com (2603:10a6:203:91::25) To HE1PR08MB2826.eurprd08.prod.outlook.com (2603:10a6:7:2e::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 027847d3-da76-448b-de2e-08d54a031c05 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603307)(7153060);SRVR:HE1PR08MB2826; X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB2826;3:h67LuF3bba59j8Wzm5+Ww9DpyEDWmyO9wIZWC/qZlzQl7OaHCqNB4U1h8OY53xW0UfabJkptdoDoIC0gtuP9srmPf84cf9ICna9PltfH7M9Zi4T2m5zReU9ODcvE4MhjSSOJXkD2Mc1DWqs+E+JKYxQOU955jDFkAqRxrK70H8Be2//LyeqPKV/DxZ6Djmj1RMJMMqbIudysOCUnYjI6CqmkMOppn3iQ+CW//VNlvr6JV5XzBanDGlabJJS7nuar;25:mTgExOGkanqL91ZqKnNFN3E94arTlF09p9YjSlj2IkB1dbuuAzojUtq0+mRHgqOX/UXID11iGcyqMt1MrGpVq0Qpyw6OCWQYtnFNIAB57k9/wbBWDOXsuLabXdowSlg4MztsGlH6l1lh1S6bEPAPVjstzn3wXPEPmce8EQ35q5gcMGJVQXsBNiTTaJB0F9zVh/mqFWBZngXS8xhmMErpIBdXK10JP76e4EggMpvWqpGGtoaQj67axQrnevhvWUfHge/b1jFiXWfkWkpZrVTn/j4nvHjMmzXNS0DGiD2qgGQT3RXC/0vT+TlgKR+Cl31MZojcT789FcwHTdC9R4Qry5WMygvnvTIhG24GtSy8lCA=;31:7yZ71YNYpPFKLPx3LACjVWRSBfcxEeOjQoJXvsuE+KwF3uxBbwswG89WCEQjirJv3yjIPSDAoqqwOsLUG0V6y3QhUxkgrCL0dhMJNUQg0U6oBokRpHrX1pXlET+8a5Yx0F8AFS2RC2SakBa7c4IyyqqHT6mrt8suVZz3Hq550mU7JC9nh0WCZzdVClIKfsJTzygjw3/CJ4Of9DmHJFVBcziipQrVOl4omi58Oho4UwE= X-MS-TrafficTypeDiagnostic: HE1PR08MB2826: X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB2826;20:5xRuRvV2bxV9xJcoKsjBKlKOkWd7GEC8SC1gnPpG2iNH+E5CV6jyTZGRhUhz564H0kN4R8n1FRCKvKAkbSK1P2aMn7e23+CkFaFWs+xm/cE+4JacCTYtPHaTwjJzHoKQSiZD2JW9QZZhGsDs9K1xNus+gxcy+L+Q/XLylO1tlVyGHL3OaUzalNQCjQZ/z0VoqwnmZhwbgSK0v4IYRDWxvY0sMsiinE0oiNhlucZ34e+QSRC9ynIj569YOAvY64nvw1alMxfLj4BApnr/CWVyyhZKx4n0ulNlF0xTyRJq30sVQ+EFRTIleSgNNFLmXclZIn5ucXWS18gwOL0qJa0yMTOBVRedCoDO5MHcEMKSkaaBy6JgWaW1bjncD60THPQZedrVtwKyH2uJbJh/++QASkEUMGCMyQ0oe8CzMJGMsg0=;4:+Kr0fU6oPD8et9s7K+xuF01Jyy1JqurlTXwpbTWvBgDoJNlcY0n2qduiDcDHAXUY13SsFHIsgfm+K7L/yPspK4JPt8lKTnnBeeQLCLu03JTyqV71q7v3cjDxexcWhEMGCisTBzmoL7S6rnPRY1JWw/PgOY2cnrNDEYCVuE4gN3yJF0lUjfzXyvVG0L4bvH+oH7M0wOwS5aWAwDt1DQn8VqvYCPFhXNgUf/6ydwcDedY/ZVkY8QBKbaMqbLCvaCkS/OAHT3pQleVf5pQlU2xBBKMw0zNINTd50yJ+lL+vDFkJfYJ9hzZeZauubJU1bCQujw6bNHSs0+iuQjaFLe72M9iN22SQru3zdKMBnNVKYg1s8rQ+CbZC96Kl5FncOMp5jDbzntOmYF+5KkKlaiGKKDfGqEaXzabai0qilUhTcIb4/J/v6GGQkwQ8GntdFKY3rZZ7wuiaq9PTRRfKDRgoYJUjAVKyigmav9q1rMxWoxs= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(215639381216008)(22074186197030)(9452136761055)(183786458502308)(211936372134217)(153496737603132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3231023)(920507027)(944501058)(3002001)(6041268)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(6072148)(201708071742011);SRVR:HE1PR08MB2826;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:HE1PR08MB2826; X-Forefront-PRVS: 0530FCB552 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(346002)(376002)(39840400004)(366004)(396003)(39380400002)(24454002)(189003)(199004)(6116002)(65826007)(6666003)(77096006)(7736002)(53546011)(16576012)(97736004)(6246003)(316002)(3846002)(31686004)(230700001)(25786009)(68736007)(229853002)(2950100002)(5660300001)(65956001)(6486002)(47776003)(54906003)(16526018)(66066001)(4326008)(53936002)(76176011)(59450400001)(86362001)(50466002)(966005)(2486003)(105586002)(65806001)(58126008)(110136005)(31696002)(478600001)(8676002)(386003)(52146003)(106356001)(23676004)(81156014)(36756003)(7416002)(8936002)(6306002)(34040400001)(81166006)(2906002)(305945005)(83506002)(52116002)(64126003);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR08MB2826;H:[10.52.82.103];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4TUIyODI2OzIzOnV5MUh0MFp1SUlJNlNTdFNQQ3RZUk1pTFN1?= =?utf-8?B?WHZ6bkw3bGVSUjJ0bkJzYnk5ZStBaW9xYnhhcENMNGZMV1Nxb0VaZ1BGSWs1?= =?utf-8?B?dDUwZ0FIRWJVV3phSWZ0RTdTajN0SThBL21qclJDbkRyS2xWb3lvdmJ6Ymxx?= =?utf-8?B?YXJlZ0VYWWNYQmM2Q2xycDdmUWY0OUp6R2hlakYyMjNGaXVWSFpYL01Qdml6?= =?utf-8?B?RUF5b2Njb3V0MUw3VlBrN1NIOVFWZFAwUkxNVzVrRzdqUVVHOGVPL3lCTFYr?= =?utf-8?B?TWZMVmVDaFQzL21ROUVKTUprWFR5dHhGQkx0MzFKVnl1V1A5dXhYbXFsbFoy?= =?utf-8?B?SDI5ZEdMTGFwbmhCdSs5VFNGSk45ZHl5SW1uUmtuNjBITTY3M2xMWGdVcm1K?= =?utf-8?B?V0VOaTlvU0o2SGJPVVJNaXZOQXp4d2U5VE9qb0E5VEVtemUzTW5vaEJ4cU9B?= =?utf-8?B?SkdwWUx5UUpMdC9xQnZ5WVlyczZiaENsTjhyQ2FaVlFQYVhVVStoNnRIRnNJ?= =?utf-8?B?QzVUT29Ibk1iZWdSb1hXRDhpNFVreFhEM0hMOHVlZUxoL0NlYmZIUjZNOVJ4?= =?utf-8?B?MmxJalhPR0NiSlVrdUZoL0duNFRidDh6UmhGclhWblR0QnJ4clBMVkZMZjBu?= =?utf-8?B?bDdUMUl4VWZBU3lDRWJPTHg5OGJUTkZpaENDNlJlNldKaVltdFYyRE1lM1NW?= =?utf-8?B?UTUvUFRWbGgrbjljVmxxZ21OUmdRekRERlNaUzBXSjMwbVlMeENCS3VqWUZu?= =?utf-8?B?SXhCZnl5eXl5ZFBOZmJpaXpkejhGNjdqM3FQcVBmeUdZa1FJZlBsM3V3Mjhx?= =?utf-8?B?d2FvTUwrdzlNamR4Vm52cWFiL0w5TzU4T0dwVXlvaDF2UVJ3cU8zaWVveElT?= =?utf-8?B?aUdhZFMyeXI4MFY2Vnp0a0xKTmVMVkt4dUFTUDdUa24zdTduTElpUGZ5VHBL?= =?utf-8?B?RTU1Y1Vld2Z1Yk1teC9LNytBbFVCNVBvS3pqRUN4dkJDSGJjZm1vMm0yYU9z?= =?utf-8?B?bHIybDBSV05tL3EwTjc2ajhQc2Q0aWo2anlMSTMwZ0xOT3NVbUFSblBsa0FR?= =?utf-8?B?UUlhT0UzMEI2b3BEcUMyZDBQZGVWT25TeHpTOFcwMXlQWUdBdUlvMHlzNm5r?= =?utf-8?B?Vkc0am1RUHVHa0Qya09tMTRxMFFCT1hKRlBpMlZaWUV5WEhjVGdOdlBGdjJ6?= =?utf-8?B?MTNpWDh6TTVReHZwWjJZOWlqQVU5ZHVSWkl3Z2w5UFBJVWRBd1RKbGtMMVBn?= =?utf-8?B?cWVFRHhPZzlZSGs4Q1h1aS94UTlRZDdCL2tqRCtnVlVwUHM1QnFPZ1ZHdTZJ?= =?utf-8?B?b2ZNYkt6cndGWkVNbytwdzVWa3VXSnYzQm56VDFCL3prQVh1UitlM05mRVFw?= =?utf-8?B?WHdWN1pmY3FCTmlWQm9icEpaeXNkd0lPYnFNZ294NnhRbHYwdUh1YkhMSG5M?= =?utf-8?B?VXJTTDFRRnhZZlc4TUcrRFhZdXlXZzhmV2VQdDBmUkpCWXl6UmhIZ0lkWDVn?= =?utf-8?B?MEg0Q0xLbWZsbldHcEVDYmwxYXBVeWNWTVlUN1d1SGlOeDUyRElYNVYyeU55?= =?utf-8?B?d3gwU2FRbTlUelk1UUZmUTNETmRPb2duR3Z2RW5kSi9RckNwQ3dNSzRlV0dy?= =?utf-8?B?VGMxY0IyblVDQmRwZXpVZnBQWXdZcDdvZDU5dWY4UVdEdm4wNTM2RzZMZ2lL?= =?utf-8?B?MERYTkZjenZtWXc5TDBxMENmTXh1Q0tVU0VjVTRVRlFWKzYvVXl5cjNTSFEv?= =?utf-8?B?dTR2R0M2YUU1dDMxOWNnbTNFZnpFc0FpdGk2Q0ZJQzQ5SWFSQmZ3VnhRdkRE?= =?utf-8?B?TjhJRkNmdnN5aVV3aUtUaEh5bGswY2h4MjNObUhSN1h3b3ZCWnhNNU4vQWJu?= =?utf-8?B?dUd3YXhzTnhCV2JSZmxoeEhSZEQrSjY5WCtKQzJDcDlmRWMrcjZFcDUvd2g0?= =?utf-8?B?RDFUVXRjWjloZlVLT2tabFQ2ajZyTEtnVGR6T3gvQkdxd0l0cFB4R0pZT0ZU?= =?utf-8?B?ayswa004b0lZZEhOVDlTdEd0TWhZWWRocnJIZz09?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB2826;6:VwfBVjbOJldZP6zVExs87zXXzNB4Wuj63lQVmyBZT8kdtH7W+awl33E+CI+An2ShppGrNot9En1KDIBdKaEyUkN2+FUTZ4vW8gto7mMTRZ6Bjao8BjXX4yB17yqdDJrFfh0uuy/xAKxQQ4fVzvQpggsqYGGjB5hIebAb439i6qdLs2WTM0+4SRe1iQZ6bYm90oyo1vBK0XzFW9c2PfIx+Dcq8rtjR7IdT2fIZ4JIMs/fFZbpshN1HxmFyL5LHRFRvoyTALPY9hDZvuCYqAxB9zIy5yQVu1CrkRAWvn8XK+lnD+Ke5gDEUYTCC8GP5T/XmpT/5S5EbDA9a4Hf6kzodJ0UBvNGIEgyiuN7XjuCOis=;5:lX+DihihFprLsQ7ltl0jpvHqhGy4wGvJ5G0n1Syb+ud1PWJeHODRCnJbTzRnET6r/3iMujITBdKo/YUXCZO9JDpGRbdXBCQNxKsjKVnJvNYGpY1DgbQRIdeRWawQC5iSzFexbn9VD3gjBfLYn3WGO4n9+LmQYsJxjf7eAffH32Q=;24:1B0LHigx1TgDePZbH83Ya9o67gaedvCKUuI70jgDSfCz31Sspa3jjlh4103ANGGw0Gfrnqrojrf9akCTrlZyrG6TYdb6XF3/i0TvFibq86U=;7:P+6Ifgr3avVSFeIIyVkcifNZd0quSEkvxWO3WEeIOWqiv1l+pcrmKxzqjBTs6/B8jr6aX/hcyFOgutQxt5cHmgW+SKd6QYbD+zD2w4OtZqIWJjqomRTcCL35BKjz5s+18ol56Bd9efaFBXvFMDxn+71GCkFHTGrUNddjRulUKe7eUol/BnRQmgsgbffWcgHcSBhfH4O4ImHPG/KkUCxv7dODrsy2H09UgEjt82l7Lq3EckUGtzIKm2jMF42Z1mBx SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB2826;20:e5RD+Muj8JtO9Q43iG0MMHMylHlGtZA2rsZaUtg5RLhr5P2mGceugN2ljIWF3Y0X6OLUcMWt+ueUHfxo92eznmr7MPmsOLJKZpKRfrQ1wYQ/L1Cx8arLBCKB6pVNGpnqMvPyl50V//vnvs2LtxILfPVMlTOPzskqxQr9OME5cEQ= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2017 12:45:54.0797 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 027847d3-da76-448b-de2e-08d54a031c05 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB2826 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/21/2017 04:46 PM, Arnd Bergmann wrote: > We get a lot of very large stack frames using gcc-7.0.1 with the default > -fsanitize-address-use-after-scope --param asan-stack=1 options, which > can easily cause an overflow of the kernel stack, e.g. > > drivers/gpu/drm/i915/gvt/handlers.c:2434:1: warning: the frame size of 46176 bytes is larger than 3072 bytes > drivers/net/wireless/ralink/rt2x00/rt2800lib.c:5650:1: warning: the frame size of 23632 bytes is larger than 3072 bytes > lib/atomic64_test.c:250:1: warning: the frame size of 11200 bytes is larger than 3072 bytes > drivers/gpu/drm/i915/gvt/handlers.c:2621:1: warning: the frame size of 9208 bytes is larger than 3072 bytes > drivers/media/dvb-frontends/stv090x.c:3431:1: warning: the frame size of 6816 bytes is larger than 3072 bytes > fs/fscache/stats.c:287:1: warning: the frame size of 6536 bytes is larger than 3072 bytes > > To reduce this risk, -fsanitize-address-use-after-scope is now split > out into a separate CONFIG_KASAN_EXTRA Kconfig option, leading to stack > frames that are smaller than 2 kilobytes most of the time on x86_64. An > earlier version of this patch also prevented combining KASAN_EXTRA with > KASAN_INLINE, but that is no longer necessary with gcc-7.0.1. > > All patches to get the frame size below 2048 bytes with CONFIG_KASAN=y and > CONFIG_KASAN_EXTRA=n have been merged by maintainers now, so we can bring > back that default now. KASAN_EXTRA=y still causes lots of warnings but now > defaults to !COMPILE_TEST to disable it in allmodconfig, and it remains > disabled in all other defconfigs since it is a new option. I arbitrarily > raise the warning limit for KASAN_EXTRA to 3072 to reduce the noise, > but an allmodconfig kernel still has around 50 warnings on gcc-7. > > I experimented a bit more with smaller stack frames and have another > follow-up series that reduces the warning limit for 64-bit architectures > to 1280 bytes (without CONFIG_KASAN). > > With earlier versions of this patch series, I also had patches to > address the warnings we get with KASAN and/or KASAN_EXTRA, using a > "noinline_if_stackbloat" annotation. That annotation now got replaced with > a gcc-8 bugfix (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81715) > and a workaround for older compilers, which means that KASAN_EXTRA is > now just as bad as before and will lead to an instant stack overflow in > a few extreme cases. > > This reverts parts of commit commit 3f181b4 ("lib/Kconfig.debug: disable > -Wframe-larger-than warnings with KASAN=y"). > Two patches in linux-next should be merged first to avoid introducing > warnings in an allmodconfig build: > 3cd890dbe2a4 ("media: dvb-frontends: fix i2c access helpers for KASAN") > 16c3ada89cff ("media: r820t: fix r820t_write_reg for KASAN") > > Cc: stable@vger.kernel.org > Cc: Mauro Carvalho Chehab > Cc: Andrey Ryabinin > Cc: Alexander Potapenko > Cc: Dmitry Vyukov > Cc: kasan-dev@googlegroups.com > Signed-off-by: Arnd Bergmann > --- Acked-by: Andrey Ryabinin