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 5917AC54E71 for ; Fri, 22 Mar 2024 14:16:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DD89E6B0096; Fri, 22 Mar 2024 10:16:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D61D56B0099; Fri, 22 Mar 2024 10:16:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BDAEB6B009A; Fri, 22 Mar 2024 10:16:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id A9B766B0096 for ; Fri, 22 Mar 2024 10:16:49 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 7B983C0629 for ; Fri, 22 Mar 2024 14:16:49 +0000 (UTC) X-FDA: 81924876138.19.5AF8624 Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [185.58.86.151]) by imf27.hostedemail.com (Postfix) with ESMTP id 1854E40022 for ; Fri, 22 Mar 2024 14:16:46 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=aculab.com; spf=pass (imf27.hostedemail.com: domain of david.laight@aculab.com designates 185.58.86.151 as permitted sender) smtp.mailfrom=david.laight@aculab.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1711117007; 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; bh=gTQrp4Js3OxUcPX+M7h8O2IyGN5Wup3eAf2X2EQJk+g=; b=WbXu3sogVRHswDPL30QWlbubn94ZpLuw64mAMr8r0ow4EfAGF7G3ew7oZVntJOY3Q1+RhE PhUOS4jQ4UY+s7/96cfc8DfvkBBUMxIXHCj601P8qP6roJsg1sD9QDH25z8sOyw3xyWAE4 kQ/PQZPa9r2XrOK0BzPlndOaf4DRfBU= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=aculab.com; spf=pass (imf27.hostedemail.com: domain of david.laight@aculab.com designates 185.58.86.151 as permitted sender) smtp.mailfrom=david.laight@aculab.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711117007; a=rsa-sha256; cv=none; b=gTvPvmxENJufGWHcncWzcwlK8SKzhCwxEsjZQAbL2XhuJG0PNs6wlw93F/gvjxpDANZ6Gk XO5QQaq+Thf9KqEGygY/ayfmFGltq0hUg0pD/H8IJlD227dmLQzVQoMaY5TvDQaBR9ub/S HnmkFvBC+/IAXzpCHHcjwNIxH0EglLc= Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) by relay.mimecast.com with ESMTP with both STARTTLS and AUTH (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id uk-mta-11-17hD1aE4NWuU9zNj5esXGg-1; Fri, 22 Mar 2024 14:16:41 +0000 X-MC-Unique: 17hD1aE4NWuU9zNj5esXGg-1 Received: from AcuMS.Aculab.com (10.202.163.6) by AcuMS.aculab.com (10.202.163.6) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Fri, 22 Mar 2024 14:16:15 +0000 Received: from AcuMS.Aculab.com ([::1]) by AcuMS.aculab.com ([::1]) with mapi id 15.00.1497.048; Fri, 22 Mar 2024 14:16:15 +0000 From: David Laight To: 'Russell King' CC: Ard Biesheuvel , Jiangfeng Xiao , "arnd@arndb.de" , "keescook@chromium.org" , "haibo.li@mediatek.com" , "angelogioacchino.delregno@collabora.com" , "amergnat@baylibre.com" , "akpm@linux-foundation.org" , "dave.hansen@linux.intel.com" , "douzhaolei@huawei.com" , "gustavoars@kernel.org" , "jpoimboe@kernel.org" , "kepler.chenxin@huawei.com" , "kirill.shutemov@linux.intel.com" , "linux-hardening@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "linux-arm-kernel@lists.infradead.org" , "nixiaoming@huawei.com" , "peterz@infradead.org" , "wangbing6@huawei.com" , "wangfangpeng1@huawei.com" , "jannh@google.com" , "willy@infradead.org" Subject: RE: [PATCH v2] ARM: unwind: improve unwinders for noreturn case Thread-Topic: [PATCH v2] ARM: unwind: improve unwinders for noreturn case Thread-Index: AQHae3ROEuI+AaCprEesIWGaAOB7ebFB9uHAgADsd8GAAJnLsIAACSyAgABHz+A= Date: Fri, 22 Mar 2024 14:16:15 +0000 Message-ID: <8f12147ee3cf4bbd8fc980821ae1deac@AcuMS.aculab.com> References: <1710906278-23851-1-git-send-email-xiaojiangfeng@huawei.com> <84a57ca8-8963-ca24-8bd1-ddc5c33bf4da@huawei.com> <2b2993fb215c4a5abd7d77ff1c984113@AcuMS.aculab.com> In-Reply-To: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 1854E40022 X-Stat-Signature: dfm1excf1g8ckwpgk87r5tsh64yq6rp4 X-HE-Tag: 1711117006-14856 X-HE-Meta: U2FsdGVkX1/mWkI9UQBUibyhZew4Aqrd0uB7asbLKWmgLsTM2WM8qmS5wQrngFF686i6Lj7ja0r7L/GwueWWj0zBQE2jUcSm/2iay9p9bZ7tgu/RguSGM9YBlZ46KPyMeTGzVDEjDjh29r5Z/gVIACXyCNAVh0qBQuCcZgchefPM8O8kjzI7sjmmzMbPw0YMyFKPqhLeQ+C/MHkaUOFQe86mpJrFJ6pu07yY+TMGT2wfzEsY/VQpMPySmx/JGDJnpagw8uk2sTfTEGpvbY/iiyAELdRrM2an9COkJsuQNbuqPI4bMLrq0AYR9Bweisd+rM8Sqx4g4c1EOXdwvvbhm86IXBD8wGGjUSA7eaLmprguCPvgBkiBO7kvdnmgrzV59JizWbNoPqVoYNHiqvmajbK9PX1ALntFxxJs7X0fyGo64y2PBQ02OdGrtEyPZEbesS21spo54VsTYJgP4JVtjOOftT2rDGYFzs5GpJiiHxMklDazyLA+/I4FiNHmwW5IovkqsVhC60ZmFZ0AgoL3f2TN1YeXCcd0PKCE5q5iBzlDqZ+e6cLpvaBvNIv2NbY07t5BPZzUCDN2awbQTX9XeZqXk74hKi0f/0JWZdnaYU6makDYQO0eAw/ZwOQdmMGtukIvcqknpIVKlNO48wbz2nvVLfIN8J7ZO+SvBBVR83c3Aow5NFqM5tF4EnWrqiOPzBXnSJcFO19JJWCWX4idwk8gOruXQc7A6RsPPn5eZm/mcCSZCWQ0LahcSy8R/CIrPb+nifIbeTutOuIVNf/IlGSRhmWT1Sv1gpD3LFrJpJhzIf2fpCnl/gV/T6KuKYYgB76LVdaL2BcZFMFKPEk125+yCxL8Id3jl4+7zjS5o3VTR8OgKDbYjyCCZDf1B4XCcqu3bFc2jUkT+/bIzgDV8n2/yWwXsdgH8xxzfotwORcscHVnNHO+uWFHKTvfVA/d3B86uU/emS5JQuj/PAk TBb6AtQD vLP56373PpYDwkV9M7uWGf9eG/4hpxFN4MeUEdRy6z1pSeijNgKuPHCJ7xqTrBKx5lo7zPhhmzmHwnmyMnxN6luTI2UK+LgJtlyTCI9yL/+3nHlIM0RJ1ur+LuwYk91d7rFswv5Pxkkp1Rs0sGaGQlMp361XPIl8Id1oT4203OSHGXckQ2qBgxg+ihaE5SNTDS9E6g55j6w5HWvzXHd4sycZZhZkHFB+zMSers6Ran9XcDZA= 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: ... > Whereas we already provide an abort() function because iirc the > compiler used to emit branches to that due to noreturn functions. If > correct, there's previous convention for doing this - and abort() is > still exists in the kernel and in userspace since it's part of ANSI > C. This would be a more reliable and portable solution, but probably > not for embedded platforms - and that's probably why it got removed. Wouldn't you want it to do a 'bl abort' so that you could do a backtrace to find out which 'noreturn' function had returned? But that leaves you with another 'noreturn' function that you have difficulty generating a backtrace from. So you'd need a compiler option to specify what to put there. I'd suspect linux would like something that generates an 'undefined instruction' trap - since that would be expected to fault with the saved PC pointing to the instruction itself (but architectures may vary). 'One size' definitely doesn't 'fit all' :-) =09David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1= PT, UK Registration No: 1397386 (Wales)