From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99891C433EF for ; Mon, 20 Dec 2021 16:38:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232970AbhLTQiI convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:38:08 -0500 Received: from mail-eopbgr120077.outbound.protection.outlook.com ([40.107.12.77]:58080 "EHLO FRA01-PR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S238537AbhLTQiD (ORCPT ); Mon, 20 Dec 2021 11:38:03 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WgqhQOoVNS+Hh+6JbQJuB268OeXxnx8/1nNWRpqOADxNA/070SF1r+4MYVAuzgV4C3+KMBSclH/IivfibXqaFUZFxBaiMPhjtWBB7EPgxvRfFoqHFmNq9IF/crM1lGPEZUjzNL1fvKin4jAfSIf5dl90HFk4vATns4OVGztckORiJQiwsUl3w2AEe1iw0XP+25HU7n3aaLa+6/pYodaK6IoOuoeNs3FxRH57vnFw109lCzhIWVYe0qD+gPOr1Ehd7tbJhW3imSGyEDJ0SeDok8y/Xk4dCoz6attOBgZB5iSTpQO6d/7bfnIXXoMld1t4y2tpnEIbGh1rR3QmdHqm6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=hkUh5cAB9ieefmpRNEwRIXQXXThbpQl2IIoa6w/GYfk=; b=J0kjrA9ATrph3JYAG8ZDtIw/qsdjHgJcCjD7K754Z0N2WgFiAHzJ7c/I/Qw69k6SUqalNDuNeh9+5aKRbe88uMXjQrUMz++7uNywCbB1ulDrpQs92M8g7VIbFptMxsVR/NC1XK5yyN6WhfjHRZbUb3BxCjBkWy4xr4bW1cRLSR+k8PLAmOLJ9B2GZ+knaPXzq9H+8VaiaPY0Ak5+k+3l2fz1VOG61UESrmhvZ1PrBm8+ywRzpl8PVlTw39/4PfACnrPWlymNWmJXqOUqxQ9gMbkBg5UWI7L9pzQ6ByJnZoOhV96CtMsLYrULUe6+YLxUHqXZRCGrNFqkn+aSbLWnqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MR1P264MB1905.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14; Mon, 20 Dec 2021 16:38:02 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:02 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 01/13] livepatch: Fix build failure on 32 bits processors Thread-Topic: [PATCH v2 01/13] livepatch: Fix build failure on 32 bits processors Thread-Index: AQHX9b/0+Iw0OmIoxEmsW571E1syqw== Date: Mon, 20 Dec 2021 16:38:02 +0000 Message-ID: <5288e11b018a762ea3351cc8fb2d4f15093a4457.1640017960.git.christophe.leroy@csgroup.eu> References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 88d957ed-fe96-421e-6758-08d9c3d7171b x-ms-traffictypediagnostic: MR1P264MB1905:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: aOml25xck6WZuwquN6Ue6knh+0bGF8cp+XxKtFHtUqAgyILfxUpBXSWktx+Ae8OQip5mgRuexEoe5cEDBspaBoeOfyZi/l5nyabqnOPYQrU5xtYiheSn2xhsP2ibnpt/92hLFwSYOCWwJKrx+Co0NXZCb7s9UpQAm/KLradxH7OkvvrB/sq02mK5GVtytWI/beO+zFCVX7d0oGhBURbsSvv6CYkKag9l9jM+hAeWJu4MVl4NAEd+VqU3DncYgSv0lmcO+7ItXDp4fQH8pNsZz0IcJ+mKOHc1TLBYXoIJb9namB6ibgrfpBUHfVBrqp3A9tXdsgd6N/M+Wgg50xVdCegMwa/jqADRsMTH9RZzHYffeXIZzvrdWEtTmna/LXJch7aERYJpU7w3a+QWMV8vtyBZ+3ioo0AmYNxPx23HXsDa/xHDwlWecg17qXPd6rDO+VgRx5gC0QaCnE+Vrme7rfrSMFBLgKcfQHIN7k9xN2gxXyNewOwI1BFTC7O3YXlh1MKCXdh/OvZq8m0YKDqa6CKnp6kVbb6tBp94+YXAL7nH6BSEcAD6OMICaW6rGOQDdTn5iOUq0qWkhdGEQXXzTD5Hma9uL29w0XTIjEhQn8IOpCT3BGjxFGmhp473HzQ3HhcbvnpgKHlWKyPxRO+PKHBQfFZcjIBl+3uytopLpbYcTzmKPQvhmHXzX0r9PqEslB1Tgr7kB+23cywzP5vagw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(86362001)(36756003)(316002)(110136005)(6512007)(54906003)(71200400001)(6506007)(38070700005)(83380400001)(8936002)(2906002)(122000001)(6486002)(38100700002)(8676002)(44832011)(66446008)(5660300002)(66946007)(66556008)(26005)(76116006)(4326008)(91956017)(7416002)(2616005)(64756008)(186003)(66476007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?uW9xKlSpuRI/Cr6O0WdpKhwRdDjUkportSE6zqyOQMA/Ij+laigZm3UpDJ?= =?iso-8859-1?Q?wmzOqYLcGG9joBAJCVxZQ8rJ5KO47/9qx4Yr6d/ZyYEbSpmkfgt3m+rqE4?= =?iso-8859-1?Q?/KdcfPKGUMXKhM41y1fwfjUYWHgwQLO5HYViw+hPreJErZFGz73R3tMDUq?= =?iso-8859-1?Q?Qr9ASUGpwljqSy59EFvQCA0MzQTpzBO6xAWHEe+Ubnq96rgzfsNWB1PmpH?= =?iso-8859-1?Q?BcBaBR6T17AueLtn+xTF7tvXY/mC7fBhkYMox6og1O2ts1RNFobrAL7sSP?= =?iso-8859-1?Q?hRi6hIeCp8tXviAdRHdiw6Ib1Yb5eB+tz+U5Kc/x1GOG89WaQpUVKk9gg8?= =?iso-8859-1?Q?veMm0Q9YfX6/4Acu7NaIzMx4I2Pp1UrYG8aVjEQNgPvu4Bugdg2hWoPY1Y?= =?iso-8859-1?Q?9s5VderCAUusRgpaWJAhPNe1wARHWzXduTbhj2v4V+NSSQNYOPjQQ+lRr6?= =?iso-8859-1?Q?ohwKFEKSM7n6yggI5pXgropwLJuCpa2Nh31SF0+wpqjANNyKbwS0QZb96Z?= =?iso-8859-1?Q?rksZbybCaWckPH01rZE4MDucYOGW25O9xQvKwJxZ+7LE1IRCdTLBklYdsw?= =?iso-8859-1?Q?Srysl2iOAqOKYH+57/JdAccpjXuuLUd/dd+dj+P9dXzcpzNmuoFS9OnCjl?= =?iso-8859-1?Q?UNjXtpNiP48BhwOTUxgtIE8ragtiUxm0ZzrZN/MFJML3AvqcfShueVlwkQ?= =?iso-8859-1?Q?SUCVbFraH+oIaIZ2dD5BG+8jclUZQaZlyDg6VEVp59OAGkkEca/ZXOrFkj?= =?iso-8859-1?Q?Lu9GXQPFD0oi1Kc+bJK8vvgoG1VAiB9hqAGytgXu3vxNRwhJimsZgi+dMn?= =?iso-8859-1?Q?5Jlg8QOEZ5fb0sx4j2gRBwZR1e9F9VvgW9WJtWGPjp9TSeOHoDSPLvq3mI?= =?iso-8859-1?Q?DemDZk7IysnO0zTk08kU+EzwenL1bToaiUCS4deTrqCKseiK9KSW2W4iMX?= =?iso-8859-1?Q?aBeAgxKpM9rZbZShSHcNghWh9spV/vvv9yKtbovzXj2huBYM8VBSLUkST6?= =?iso-8859-1?Q?9y2x1loVaIR0JiY7xdZIDY2LD99TimpvcUPdFm+qDpAQr2/ILdjHYPAK67?= =?iso-8859-1?Q?+KUZpJzVqr/unlr1AJRPa+2zT09Rgk/nbskgQNDtRDfVSGlwJ3qdJorK4N?= =?iso-8859-1?Q?WFyChSq1G0K0xyvLvuWdJkH0B+hj8viJ1kbwz4SkTJcsfg2zI4RLBV9+mt?= =?iso-8859-1?Q?OBEFz2qO7zTEDkUytfkmune2Cf2SWvFgerIsYmF7Sy2JUtjW0h9U7620Lx?= =?iso-8859-1?Q?5OkDUaFnfo2W0QlmxmK7NwKGUbqrkqSeNHfLjQtgUUowsLzlVp+CPo8M3d?= =?iso-8859-1?Q?1VL01phLRnR+RqvSch+N7ZUFBIrrEnPpzjH0SItZmMadbZww1QWwp9tjBF?= =?iso-8859-1?Q?Ps39gLZlbUnoqADSkffrYnuKDmgLrJT4DomFvtt/F7NpGpbN8SiLLZCwa0?= =?iso-8859-1?Q?gDbRNxublz9o7c+LxctMQ9t6MvsjVR7MgtAEuEnynPp3+EJKHSAT99lUmN?= =?iso-8859-1?Q?g0Bnk+SSSG6TZlE8YhoH2G+OjXSiK+xpOoxh1m7QQQ5+8izIxFy8ef3ziR?= =?iso-8859-1?Q?VkyPBynwmb5MwxIwdaSC9CcW/u0+F70sYCllYN7gFAov2ZJ37g2w6mSbpb?= =?iso-8859-1?Q?i+WeCCdbtlOTKua/9oe4vDrKWZH8Cf3D2pbnuLE3Th3xQEuZ4sCb3dfCY0?= =?iso-8859-1?Q?k/cLwaO1CVkBykbzLzldsolODIIV2UdZqAiPlpWEhSJs6dA/Sn733RlvCV?= =?iso-8859-1?Q?vyB9DvcQfCxjqdo6oAWKb89rY=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 88d957ed-fe96-421e-6758-08d9c3d7171b X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:02.1755 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: oavxn+I6YELkIYs5lDiiztH/nr4S5sbPte12T52ygDMf1ey5lzJ2Xvtjpy749hLi/YTCjRM4U5deE//YKjQijw1zqxb6A6obvR/J7Wa9cII= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB1905 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Trying to build livepatch on powerpc/32 results in: kernel/livepatch/core.c: In function 'klp_resolve_symbols': kernel/livepatch/core.c:221:23: warning: cast to pointer from integer of d= ifferent size [-Wint-to-pointer-cast] 221 | sym =3D (Elf64_Sym *)sechdrs[symndx].sh_addr + ELF= _R_SYM(relas[i].r_info); | ^ kernel/livepatch/core.c:221:21: error: assignment to 'Elf32_Sym *' {aka 's= truct elf32_sym *'} from incompatible pointer type 'Elf64_Sym *' {aka 'stru= ct elf64_sym *'} [-Werror=3Dincompatible-pointer-types] 221 | sym =3D (Elf64_Sym *)sechdrs[symndx].sh_addr + ELF= _R_SYM(relas[i].r_info); | ^ kernel/livepatch/core.c: In function 'klp_apply_section_relocs': kernel/livepatch/core.c:312:35: error: passing argument 1 of 'klp_resolve_= symbols' from incompatible pointer type [-Werror=3Dincompatible-pointer-typ= es] 312 | ret =3D klp_resolve_symbols(sechdrs, strtab, symndx, sec, = sec_objname); | ^~~~~~~ | | | Elf32_Shdr * {aka struct elf32_s= hdr *} kernel/livepatch/core.c:193:44: note: expected 'Elf64_Shdr *' {aka 'struct= elf64_shdr *'} but argument is of type 'Elf32_Shdr *' {aka 'struct elf32_s= hdr *'} 193 | static int klp_resolve_symbols(Elf64_Shdr *sechdrs, const char *st= rtab, | ~~~~~~~~~~~~^~~~~~~ Fix it by using the right types instead of forcing 64 bits types. Fixes: 7c8e2bdd5f0d ("livepatch: Apply vmlinux-specific KLP relocations ear= ly") Signed-off-by: Christophe Leroy Acked-by: Petr Mladek Acked-by: Joe Lawrence Acked-by: Miroslav Benes --- kernel/livepatch/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c index 335d988bd811..c0789383807b 100644 --- a/kernel/livepatch/core.c +++ b/kernel/livepatch/core.c @@ -190,7 +190,7 @@ static int klp_find_object_symbol(const char *objname, = const char *name, return -EINVAL; } =20 -static int klp_resolve_symbols(Elf64_Shdr *sechdrs, const char *strtab, +static int klp_resolve_symbols(Elf_Shdr *sechdrs, const char *strtab, unsigned int symndx, Elf_Shdr *relasec, const char *sec_objname) { @@ -218,7 +218,7 @@ static int klp_resolve_symbols(Elf64_Shdr *sechdrs, con= st char *strtab, relas =3D (Elf_Rela *) relasec->sh_addr; /* For each rela in this klp relocation section */ for (i =3D 0; i < relasec->sh_size / sizeof(Elf_Rela); i++) { - sym =3D (Elf64_Sym *)sechdrs[symndx].sh_addr + ELF_R_SYM(relas[i].r_info= ); + sym =3D (Elf_Sym *)sechdrs[symndx].sh_addr + ELF_R_SYM(relas[i].r_info); if (sym->st_shndx !=3D SHN_LIVEPATCH) { pr_err("symbol %s is not marked as a livepatch symbol\n", strtab + sym->st_name); --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7AE50C433EF for ; Mon, 20 Dec 2021 16:38:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238693AbhLTQiK convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:38:10 -0500 Received: from mail-eopbgr120059.outbound.protection.outlook.com ([40.107.12.59]:37440 "EHLO FRA01-PR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S236296AbhLTQiH (ORCPT ); Mon, 20 Dec 2021 11:38:07 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ntRUhM5JLqWYdbIeUCLYgmf2Rd8+IStuzkhBj31f9T/fR+JjK58qOOUeDqdG09ITIjW7u4OLhkBdI7Jivc5zSgAdy8bI/iVt5Dyne8tIUNM2mxXPYQpFbsAvzy5HtS6oEt6pJR6HE5PjqIy0bJ3BdeOZ+OjKml7xp0L82dcxJ37mUWC7nvBbxwdHFSpxIhl/GcjEWljkEqoNMHjlbLQF9swc8ZaCNGXuSN4HwQKrgHtxUnAVlco1s6EujJFfAh5lzf/hZeyo/wsmYo+gBGo/RDgQIi4uofIogY9dOO1kSL8/mfLHMM1oqPyuetc4vOtF96sHVmCEY4iyHpf1SFO/PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=tziqduouK13ZB3Ue14AukQmD+cW3q8aDvAxaW98VgpE=; b=cT63T02m26CIspzcGPwDsKtxCBTliNVSyoIm2tDuZY9eQbwnsCmicnfki00EsEZ22LcOQrBTxuo0wWRKT0Mh3LjZLiPHAuyDhnfHw+t1/HuKRYwssLACPxsvj0eRunlO9uQZ4NOmjB4KRQY8t4wHmaQ8hZ5UzwNNNCA2lL1u/gHa4Oi2lb6mnIcr8l0Eq25XxlB4ot10+rRPIApTh5yZpmyioHzy7oq6bZ6r0qi53h3VLsgIvuGXAIY6GVTpggGBn3fW/5SQ1+CtCdbXO68CJ2FhGgbww3JbIKv3hg0qHQb3PQ0QH1tXX71J28YcdWk0zrAxN9dbfnllPfi8aI1QYg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MR1P264MB1905.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:5::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14; Mon, 20 Dec 2021 16:38:06 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:06 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 02/13] tracing: Fix selftest config check for function graph start up test Thread-Topic: [PATCH v2 02/13] tracing: Fix selftest config check for function graph start up test Thread-Index: AQHX9b/2q2Ez9U+DWUatpfXKha82og== Date: Mon, 20 Dec 2021 16:38:06 +0000 Message-ID: References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9d271e9f-5f29-43e0-30c7-08d9c3d71966 x-ms-traffictypediagnostic: MR1P264MB1905:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:431; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: C3fxFAT5GrM/3yheZb3n1JV0sq8E4YEN/2AG/vIz4OWFv6fRgdnT5Vp8UIEh49ufQSuZJOMLKNgbi87YY8p87nm1Z5RKHeiSr/+agt9V3/mmQVS3rcD8p7P8Id5JTeosxM7ccT2KXfg9XLi5q0057VBOGQudPryg2XYnsxphbpBi0PyAohHkzZOB6hlAonTn/ey4BLtYxys6d3uXNYTHP6w26VMzbeDU7E7X9PRM+MaD/TpERH909IU/JnroTP8aW1xezImX/+x6wv0ep1k715eRNY3nDWU5HR1JacU+mtxEWxwywIUTmQ5Vgiq/WmQ68JrZE4Ttkcv4qfQi/Kni608Bv1Q+lctAPIGzcywEahrphxNtgqOIe7OKnxr6gX/Pixb3oCUWpGOvyJCB9wC47wrCt6cWFwnKdZXlkGtqzosbdYBZ/HdHgEe6fsg0D0fe7sQCsqHRKj6rL4bYdd/pwAJY6UzWiiakgD8TmfDZjEz2lyTpyI7HPVhMploQem1s0yQ24VJUpxTJ4TUvAVzzUNAZIhlwca3dW1ctl9EFbdU2ga0pxLPpqCxYPXDYwGP4pEKz3cbDKOyoKtjlqGVHY9jA/or4HSYXRguE9GApSkkr8tqep+hOH3U3cMYsGeMuGk0pCAvaPIoVHV49WpdRFFMrYeWgb+HtiJLJ24bi/0ne7/gW0so1+g8AqV+0jX1KvuITqa44QOQ8hgp473GKuA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(508600001)(86362001)(36756003)(316002)(110136005)(6512007)(54906003)(71200400001)(6506007)(38070700005)(83380400001)(8936002)(2906002)(122000001)(6486002)(38100700002)(8676002)(44832011)(66446008)(5660300002)(66946007)(66556008)(26005)(76116006)(4326008)(91956017)(7416002)(2616005)(4744005)(64756008)(186003)(66476007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?hwLLSBfAKy6MWFfcs21QYeLkcgabQP1iOuN4qx/TEYl3J3x9JLg1n+gQb7?= =?iso-8859-1?Q?xEon7Zj8O1+oIWdlqtZzH0+ikMLG888SiNVA5gah0ehhgf2AMrbzyvILk0?= =?iso-8859-1?Q?yIm9IbdVmOg1vPBluUsGEgefa368+awlvyWsGFnSFqiBs3lOGU6/NKu9xA?= =?iso-8859-1?Q?SS2YQa83Y8b2dDd11r2wsqHJYZZ31tO8KFHa42x3+oAz2ZLjd4dGdSsfFU?= =?iso-8859-1?Q?0xTLZ9sqjm3KnWT4XmajRMSZGbsU6UZYI/uUTPzqvMxMA4yWreDjg0WFyB?= =?iso-8859-1?Q?1mnbAymnumILxlVwYF6iARTOys/cmklHjhUkuIDrFzJudqYw+LAdpZ4P1n?= =?iso-8859-1?Q?P9Roa3Db1UOr1E/AbnSLhv7kJp+O9riw5sYzoiNzIDrXe6KPIaMh6xlgmy?= =?iso-8859-1?Q?vSy0cfb/q21EFzdP7B1Nxbn0iAZXbMIYAwkQXITVcTlduQ6LlWoZ30dKuE?= =?iso-8859-1?Q?M7IIQ8dvxUC8tiGCZx5KAs3x7MYzmzF3yZnCe6eHnjXm8pQMgY4ycxcDUN?= =?iso-8859-1?Q?DJrTP7SwAapYzPGswbYfonJRADNZj80I49wPL+2S/Gj2v0wCDuKM+hVQj9?= =?iso-8859-1?Q?pismVjYOh0jkYDgHrsnsDksHueFrd6j6ZSoUf/Qcea/b5byVxzURo1ukY/?= =?iso-8859-1?Q?X5bAmqyCY1s6h7Nd+7BFpzBd8QYS38nDOyqCG5R38+XVv/ajWkqfLXu2nA?= =?iso-8859-1?Q?fmBw5DDKSDB5TYYLmWTgfT8e9KlAfXUXOoILCeiMtAagy8HQAQeF2tmf/F?= =?iso-8859-1?Q?HdOANCZJd+lEIOui4qbz7gLrzVX2NGRJWyPergr1mMZDh+uqOZZgWSrvzl?= =?iso-8859-1?Q?EIGOG7JeLpcsWDkmd0lQ3TRSIDs+tkuTu5YUsWai5dan7Gu+Y+n+9LxDta?= =?iso-8859-1?Q?n62YPh77Lo97cVq7B+7SQPr2myFCinvk6qRQjuHKFUcX7lgmwQd0XGdTko?= =?iso-8859-1?Q?1XuLpJGRVoiDfK/5uV40ijZNCazQ555uheaof0+dZGnqN7/R3O65IGYVku?= =?iso-8859-1?Q?uhjEGtjG6MUdipsP77Bnbmsp06MEsztZ7jGBzQNeFDHBbuNIL7JN10r8dD?= =?iso-8859-1?Q?j7LG1UVcqTX8THwSLZFTEOb52NFcRNb+2boqJFnWCpdYf0tVuEDiG6cZ/7?= =?iso-8859-1?Q?aVajJ8WpYl8byQnQYgJnxaJFFMduX7UNDvSzlFx4qtXIQlXgLC7QAz+5Z6?= =?iso-8859-1?Q?qFs8U+UcCl8MxEJaj9d5eno9mYGFKQwy8f41R3RjRUPO4trR4rEknEJV7Q?= =?iso-8859-1?Q?VaPgVly8x5Iffu3Wj0pe/oRMrsMOgl+JgfP+d/nku7GRJW2pVNplZrr6gy?= =?iso-8859-1?Q?rAp7b2yDyqJN8rKlRjArK12MzSRay1Y3kY8Env4SoUtZSfWlyc5wvTCFJk?= =?iso-8859-1?Q?IbLu6v0f+mcprSjVZFe5rhxOyy6R2StzvmASzXPeV5t56kLBnzFUxq8OHi?= =?iso-8859-1?Q?DbpZrjzS1jC816RI/E4aU05hxo8rN+rCuWlvIRpVC8/tyuCoPanrmhwpbZ?= =?iso-8859-1?Q?CuOftKRy/V8gjMpnp/bMhv8bqNjiDhxI/sFQizP+uKQxj+uJb+mU6T8x6i?= =?iso-8859-1?Q?1x32A1l08VeIBhRIMpn89dd6zB8Y4cIc957Dfs+Zdd6r++KpLbdh42BH3t?= =?iso-8859-1?Q?TQf7TF4aDaygi97Cv2CtNLRQVMkzUlhLvX+MsTc8cTwIGoRJFiY/ZrsMWi?= =?iso-8859-1?Q?mp28hRsymOkxObSKyjg42fw8NmVhIZ7noowQyPuNkXntsaj2aOtyahyOoV?= =?iso-8859-1?Q?9LldOegEQgSWYe4PKTonLwcXg=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 9d271e9f-5f29-43e0-30c7-08d9c3d71966 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:06.0367 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2c9OGwCbw+yQm57kNWfnIslJJFmhkdi1X06bm8DSm7gGQX6FEC03Zd5ifMR2PUZDcaCsl63jDM3CbKptauG1gees0iXDABqI+nf4Q8vadCQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB1905 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS is required to test direct tramp. Signed-off-by: Christophe Leroy --- kernel/trace/trace_selftest.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c index afd937a46496..abcadbe933bb 100644 --- a/kernel/trace/trace_selftest.c +++ b/kernel/trace/trace_selftest.c @@ -784,9 +784,7 @@ static struct fgraph_ops fgraph_ops __initdata =3D { .retfunc =3D &trace_graph_return, }; =20 -#if defined(CONFIG_DYNAMIC_FTRACE) && \ - defined(CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS) -#define TEST_DIRECT_TRAMP +#ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS noinline __noclone static void trace_direct_tramp(void) { } #endif =20 @@ -849,7 +847,7 @@ trace_selftest_startup_function_graph(struct tracer *tr= ace, goto out; } =20 -#ifdef TEST_DIRECT_TRAMP +#ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS tracing_reset_online_cpus(&tr->array_buffer); set_graph_array(tr); =20 --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F3FF2C433EF for ; Mon, 20 Dec 2021 16:38:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238537AbhLTQiO convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:38:14 -0500 Received: from mail-eopbgr120053.outbound.protection.outlook.com ([40.107.12.53]:17680 "EHLO FRA01-PR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S238685AbhLTQiM (ORCPT ); Mon, 20 Dec 2021 11:38:12 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HuqtrAq6Wtlc2rD/0LhRbz5/9myZJPOto4euONQeVO1JLbxVKqsOoy4qfJAi88YjNEmSfEFWmO59cx+YyE5nkXvueosAOX9WNLr9YetOn4Yb1ebXDwOzsNkEiKwtdQvNhoE5qFBRUf7nYB+fc2tapOqltjzo+hjHZ9vSVT9AFxqWnRWnjVd/yZhkLnVP1femWg5e9W63pnUS2AtszaSwJrNNSwGhrtRf5/n4OTEZ8GKqQRj5XGwFZSKkHd0/Bqxp/OpBwkoE9m+yZP1KvJJq0rkWBl8WBesqLYlnAarIOeGqPHzd4EYrog4IesOtaHkscF7CX/jn0nFFxOnRIvuT6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=YjkLzccxBgRUBZrcs677amlRn+CXlywVi4YSlZ0Z6Bk=; b=RQSugFjHwPSP434xZTVF5Wn2JgkZ+cozfxrxear8imbq4kx7VxaGKVaBUYv93TvCF/6K23Q2l9DdRs8+Nm+27JEE0Of1lVoAEn0agCwJ1EK6YX+G8CqBlc1J9vyo96WIkwB+qj1QM+c26slfz5AZJQdqPHVOT9qo9FA+hWyxUVU/gTCp0/ADe16WTC+MYNjhortVB58BaPD8RzaDJXv5qlMCjVklFkEdGBMEkCUz8870fZjBV5pP5CmLy3E8Nf7IX+RRqKQZCNaTfz1wAhfgIm82yh3y9q+l+IoOAYHEbCwm/lhsdJmE5+xAnGNu7cK58YMpZuFw4k3CZ/+oPD1RpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MR1P264MB2161.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:14::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Mon, 20 Dec 2021 16:38:09 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:09 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" , Russell Currey Subject: [PATCH v2 03/13] powerpc/module_32: Fix livepatching for RO modules Thread-Topic: [PATCH v2 03/13] powerpc/module_32: Fix livepatching for RO modules Thread-Index: AQHX9b/55CfsfkREwkW5lW2tFTV26g== Date: Mon, 20 Dec 2021 16:38:09 +0000 Message-ID: References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6484999f-1959-4747-8320-08d9c3d71b9b x-ms-traffictypediagnostic: MR1P264MB2161:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2887; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 440SdqYZHu3Y98exsSrbVVTqc7r1xusAGUTHX5cl3UfQV3A7bJHh6dbvNqeWTIIJeI+l5ViGT0nr8gzKq2ZW3C0SEJa86kBXiyIXSAE3QMoPThY51hl44Myd4ixvbbCE9bmt1C1NCSPsLck3G0vXXKMtQwIkbB+zlF0OXD5WFzoS2wXQ4rN2UW89f17WFwJKrDTZyS8d1TmUvbg3i7feuA0ACwUN5xKLhypOsvS9eenDuQN8TuO6cUO8ddGu6BBM7696DEsHC+MSfhWC9q6DB7KaAsEXuEVLg5ilZtc9sQrBc+25Z6KmeMVehNSeetoYFapM9OJOI2GrOet8ncuGk19C1n0If4+Z0z205Rt9D4fYUE+k4uWGijw9WjjPOuy+8ZwELO1JO0xwme2qKINrm+cRhgM1FFjw9FAh3EPBUQiXUTEeZCNa7yYyxOwq32HHQuh8O7Ef1qNV3QKBuZcxwLM6eQDpbMp2qyKgd6W8AqBAzhgj9FDFEHHCphhSGcqIM/F+x6aZGlHnvFyH9WsgSOBadhxe8a3rnMUEL9aoI7L4xYIKA8gpZSxAgGIpzo8guYTEUsSRDylODAkR9dyWMjr/UxwHj4A3p51ocDhGdAiTqhDWXxLWGRUQdyS0rxGcuO9t+Ydc8vce32CGQmbAhmLlYwFlPuZ99muPFaClm6qX2H54mIBJvbN9+M0EW2WfzfT4BN6G1GUV3Cyf7IO5zw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(44832011)(26005)(316002)(110136005)(6486002)(186003)(54906003)(122000001)(8936002)(36756003)(64756008)(76116006)(7416002)(66556008)(66476007)(91956017)(38100700002)(2906002)(66946007)(66446008)(38070700005)(83380400001)(5660300002)(508600001)(6506007)(4326008)(6512007)(86362001)(2616005)(8676002)(71200400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?sG3rK+HFlesylhsqjaYVrVBujlPgBXZSrkp8JsfKNhEMprIMLMdxQho1Je?= =?iso-8859-1?Q?ofzHS4PmcnkMDLIKEFUgF8TNO1eYHeFwxXqE9rlWvKn4FCBKQZdbP2hP6I?= =?iso-8859-1?Q?sTCMDGCGIYVWn0B4kd02oGkd7fy4miho61ZZdMqQAG1HOkN6iecHPT9f8U?= =?iso-8859-1?Q?f8igSBL6Nba1usoZSIcUap8GWqsJnpnYAYYCFrnileK52oNrqqXKEvBMhm?= =?iso-8859-1?Q?EDFjEbHyOd9hwICWZUfnQCz2cL4HLkxDfsIiWYhKzeYpO9cjd5RSyogz5Q?= =?iso-8859-1?Q?9BKbmAVchV1c8nKRuNh1xipn19F0Scdl4O9NDGLB52LUwIWFMrh5mIC9bE?= =?iso-8859-1?Q?zS3JX/9UqZQyx0NrmsMwuxAgn57H5pEpnl0JMsJNZ7Jz/ow72zstoH+xkw?= =?iso-8859-1?Q?cIvq3Cj7Le86kNzvxwkRN5jI5zEdEKdfg1Kaz9oYhsZ8tfOvAqZMl96Pw0?= =?iso-8859-1?Q?YKbf6HhzOA/YgOwdA0KkNZ/BN05Tb9eCtir5s1sXuP8VJDpvL0yK5xr5TZ?= =?iso-8859-1?Q?BKpxMmv0jsAKMphDLQJX+ek5COa4UtmWQMGuHxbMN3XOV9bALbUV/H5i2r?= =?iso-8859-1?Q?QclyMQgnC7osJNz1//+cpSWhOGKFLqNs/OlymyqDgQFhWPSnrSiLvnwjcj?= =?iso-8859-1?Q?Omns4rQ696xpqx485AL64fLsGwOBeEmDeowLIwCohmaKnS55n+ag6AYrHv?= =?iso-8859-1?Q?Qpd64BU+Y+6NXle3Y9/wEBbhg/BVSZuZEWnCC5BI2425MUu+KayyvBCqPQ?= =?iso-8859-1?Q?t6GCYZcxp+gz9YHATgrlqIPavkmIixvs5vu7HFaNFoNnqUxzFIXq75PxXS?= =?iso-8859-1?Q?r2VXf/RzpJlGIhfXX5nWNzDtt7wCB3ZBRwXjuBYBnzP0KnJfQH3Mboa2aZ?= =?iso-8859-1?Q?8NVK+zK6YHfZ35h7nhUMdh/zzjxNeLniSs/LkoamLXR2D8I3Ad9EyPLciK?= =?iso-8859-1?Q?2Dl5bfhVuoOFx7uyzzhPzG9hg4naflI0Cbq8KdCPAvoMDHPU3scF1WSuZd?= =?iso-8859-1?Q?vxbfFnAf2Ypj5X/TC83xTgrOKFUBF/yYhuODebbxqjsTio0DFOvUJEz0UM?= =?iso-8859-1?Q?oOLuxKuduD0JxZsFn02PfTVoJ0pjK2rtgRCH5TdzKIY107Kj/qQ2ks9JsW?= =?iso-8859-1?Q?6GcpbFW6uTTAODVtQWe8caw575ArJZfsu/LaCpU6f/pt/d1SehEUuZqobj?= =?iso-8859-1?Q?hFbXbEnPmiLAgCv00jpyLAlvTHAqtATxZXXmOf9cgh8oZglyk/Gy9W/Ze0?= =?iso-8859-1?Q?5ujJQ6mnvBx+fcQyAODqNaGxfIYnp0Qt7cYYc74r5uWE7wKVLWDvcg9Scj?= =?iso-8859-1?Q?A/v59W8Y0cWP6XWxETc8Edkcj02dvUEWET1XyPKw/p4c1wHJbb6Nfbp2eF?= =?iso-8859-1?Q?0XB7DJmXbCw9Fho/g3RfFe6jnv9lDM7UPXuR/SIGUWmLZ3EiLlt8sKqvXZ?= =?iso-8859-1?Q?4AvE+TeS7V4/TMY+jiuf6VkS/+wMSChtG+pTzdJn1bNGX09ukEgqSFXgAf?= =?iso-8859-1?Q?St9AmhbJUDzMa+HRKYNAh/+ltuKqKq+zgD8ofBMW+NCmdCM+8T3dnyxYHU?= =?iso-8859-1?Q?5e46BaAFOn323JjU1vl4AKBFbpTr7lghbjrq+OlyhS1OEMTsCsURfB3r9I?= =?iso-8859-1?Q?l6D5sRY1HGdMr8oejXv4OBbwbpvGcrdnXhyELlQ2HYm93uuueGpWiEY4NG?= =?iso-8859-1?Q?JUb7BeT317zj8TpcwDCvEbYTW8qaDgl9vYoGDFMdiRicm2w8YN15QxGo8S?= =?iso-8859-1?Q?Og5zRtc2j/qySduheX+D/AV1w=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 6484999f-1959-4747-8320-08d9c3d71b9b X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:09.7416 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GZHRbB1aDTXT1HxJdy/bGrJCSDMuaIcXXMixkTFZh2jx5D95+dnW4BhRrNxQqMot8ZDOYglbc0jXjxmyKRcbyxa7XncZHBAsA+KpN6oDxBA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2161 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Livepatching a loaded module involves applying relocations through apply_relocate_add(), which attempts to write to read-only memory when CONFIG_STRICT_MODULE_RWX=3Dy. R_PPC_ADDR16_LO, R_PPC_ADDR16_HI, R_PPC_ADDR16_HA and R_PPC_REL24 are the types generated by the kpatch-build userspace tool or klp-convert kernel tree observed applying a relocation to a post-init module. Use patch_instruction() to patch those relocations. Commit 8734b41b3efe ("powerpc/module_64: Fix livepatching for RO modules") did similar change in module_64. Signed-off-by: Christophe Leroy Cc: Russell Currey Acked-by: Joe Lawrence --- arch/powerpc/kernel/module_32.c | 44 ++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/arch/powerpc/kernel/module_32.c b/arch/powerpc/kernel/module_3= 2.c index a491ad481d85..a0432ef46967 100644 --- a/arch/powerpc/kernel/module_32.c +++ b/arch/powerpc/kernel/module_32.c @@ -18,6 +18,7 @@ #include #include #include +#include =20 /* Count how many different relocations (different symbol, different addend) */ @@ -174,15 +175,25 @@ static uint32_t do_plt_call(void *location, entry++; } =20 - entry->jump[0] =3D PPC_RAW_LIS(_R12, PPC_HA(val)); - entry->jump[1] =3D PPC_RAW_ADDI(_R12, _R12, PPC_LO(val)); - entry->jump[2] =3D PPC_RAW_MTCTR(_R12); - entry->jump[3] =3D PPC_RAW_BCTR(); + if (patch_instruction(&entry->jump[0], ppc_inst(PPC_RAW_LIS(_R12, PPC_HA(= val))))) + return 0; + if (patch_instruction(&entry->jump[1], ppc_inst(PPC_RAW_ADDI(_R12, _R12, = PPC_LO(val))))) + return 0; + if (patch_instruction(&entry->jump[2], ppc_inst(PPC_RAW_MTCTR(_R12)))) + return 0; + if (patch_instruction(&entry->jump[3], ppc_inst(PPC_RAW_BCTR()))) + return 0; =20 pr_debug("Initialized plt for 0x%x at %p\n", val, entry); return (uint32_t)entry; } =20 +static int patch_location_16(uint32_t *loc, u16 value) +{ + loc =3D PTR_ALIGN_DOWN(loc, sizeof(u32)); + return patch_instruction(loc, ppc_inst((*loc & 0xffff0000) | value)); +} + int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, @@ -216,37 +227,42 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, =20 case R_PPC_ADDR16_LO: /* Low half of the symbol */ - *(uint16_t *)location =3D value; + if (patch_location_16(location, PPC_LO(value))) + return -EFAULT; break; =20 case R_PPC_ADDR16_HI: /* Higher half of the symbol */ - *(uint16_t *)location =3D (value >> 16); + if (patch_location_16(location, PPC_HI(value))) + return -EFAULT; break; =20 case R_PPC_ADDR16_HA: - /* Sign-adjusted lower 16 bits: PPC ELF ABI says: - (((x >> 16) + ((x & 0x8000) ? 1 : 0))) & 0xFFFF. - This is the same, only sane. - */ - *(uint16_t *)location =3D (value + 0x8000) >> 16; + if (patch_location_16(location, PPC_HA(value))) + return -EFAULT; break; =20 case R_PPC_REL24: if ((int)(value - (uint32_t)location) < -0x02000000 - || (int)(value - (uint32_t)location) >=3D 0x02000000) + || (int)(value - (uint32_t)location) >=3D 0x02000000) { value =3D do_plt_call(location, value, sechdrs, module); + if (!value) + return -EFAULT; + } =20 /* Only replace bits 2 through 26 */ pr_debug("REL24 value =3D %08X. location =3D %08X\n", value, (uint32_t)location); pr_debug("Location before: %08X.\n", *(uint32_t *)location); - *(uint32_t *)location - =3D (*(uint32_t *)location & ~0x03fffffc) + value =3D (*(uint32_t *)location & ~0x03fffffc) | ((value - (uint32_t)location) & 0x03fffffc); + + if (patch_instruction(location, ppc_inst(value))) + return -EFAULT; + pr_debug("Location after: %08X.\n", *(uint32_t *)location); pr_debug("ie. jump to %08X+%08X =3D %08X\n", --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BBE0EC433FE for ; Mon, 20 Dec 2021 16:38:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238887AbhLTQiR convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:38:17 -0500 Received: from mail-eopbgr90041.outbound.protection.outlook.com ([40.107.9.41]:24304 "EHLO FRA01-MR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S238654AbhLTQiP (ORCPT ); Mon, 20 Dec 2021 11:38:15 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CAsJFGFbR/hGWxQ9hn3Jyzg4I5hYl11OO/Un484QuMq0p81sGkUDaRv9kNthUhI1cMPKtacgFS26pOY+mcQm94qlgo2Y6+1PLpC4MSuksLznHfEjAiNDL0Ad8slsbqy5zTkGxiDMwpoutBglePA6y1RJdOCe0QaSfQKJoRWjhAclunZheBvXDXAPUbq+b9o0JWHqZWXqOd0lvmU58iVIEup2VaYCa1Q6B7i70VmaKl1R7egI+R3+K0zrX0lBpjgkkUwzArr3K3nBQXNeeHU5NDmlzNvTVY+mvhEWWmdbaXtyRF8RqBCU55PYlm2vzTo4GZF1Btqlj8wfqTCYnxYJRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=DJ6UOweLhpPyHW7Ov2ppI5esOA38y9Gtnzd62Q9XXDg=; b=oMe8M2TNINBl2sSqfjMk7ljx4Z4CuM6Da3W14SwGh8mvaeg2nH/A6qr5Pg1vlNrCv3nOFsp3ob6wSC2WfK4QEafmtbXcLJqbVDfuCeICXeLyHtN8pDw9P/lbp2ejH/ht/E7j/79oCOFRWI5CuCHyb3YALT0q3Z78vjlNzoq5im3gkiBGz3F99fCb3MhaCZCYVRyXts2JtCmx5I2RUHF3WyXznWfDxnF0G4Mt7hpCjjrFnGELSjNr2DH2vOEvgewLjkb+Ppth9EBKbIvdfa6NuUio6J6tKYeuruKvJd5dDWp6pUXlfiILhKRMih4o06cOVjMRr9IgT3nKe0VL6PJhIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:1a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14; Mon, 20 Dec 2021 16:38:13 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:13 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 04/13] powerpc/ftrace: Add support for livepatch to PPC32 Thread-Topic: [PATCH v2 04/13] powerpc/ftrace: Add support for livepatch to PPC32 Thread-Index: AQHX9b/6eBLNZiqJgUWhrC7ryztVNA== Date: Mon, 20 Dec 2021 16:38:12 +0000 Message-ID: <63cb094125b6a6038c65eeac2abaabbabe63addd.1640017960.git.christophe.leroy@csgroup.eu> References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e2addbaa-6311-4300-5c8d-08d9c3d71d84 x-ms-traffictypediagnostic: MRZP264MB2924:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:635; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IkGsHx6eu98pU5+TtsUf8mWC4FAQJ7dDJmBf+IazsjkjpZWe0Skx1yQ+JwEqa7PrbkTMxc8uHxF53S8BOU70vWjtr6jHf5E14R0E4uGJC6rhBkF8LeSkrxGsFYL0BfqUv837zK7LfWTsHlXvwilXt7HpoIIH9qhhuMy/ovpIOhpbKt1RGgRvnrWrpiO4hLwn6T+lwFtWS8Wtiy6xIA2Zcr/uAA2Il20Oe7I02dRqLep8McWfDAFxhjRKfOceUfahd1Lomcta+XKo41LoQxvjlnVtXR5u7+sGpyhySiuT8B7vq02H1OOsqIHq09saYZW0khKr4FgaTu73RZSQERZK9/PqW5+rR/m9qEEuMNayqu8WdoPdVjNTDWnklO6meeSf4JT7PjGJIDlORTWHsLRMwCB4s+DYcoWH0gp7gmet/Jt2vakCyJRUe2IAVAw6PN0vtQEc2EZ/E3nQ1VqjzRYV/APd51o14memmMUeCwW5/BtXjLzmHtk3Gg9/CqWEvnD5EoJjIBzo0C+HXWDmHFN9Gb3S8ATyuinSC6e2hcRSsB+ICf6+CgDFnUp3gpntHky8x0WCf3sjHnm8GsKskYfBXSunlKwL1V+R5gW+RGGEBg+IgXK/pt+xyVOwLmxOOH40SVAJ7Dzev7XamsAsOnveGqqPTpJbiA1QsFYfv0BGFTwT8CT7th9se7kkNutfq5ssLRbYYTsiRAtImlRcddOsNQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(2616005)(6512007)(7416002)(44832011)(2906002)(83380400001)(6486002)(66946007)(186003)(26005)(66556008)(64756008)(38100700002)(66476007)(8676002)(8936002)(122000001)(66446008)(76116006)(86362001)(91956017)(316002)(6506007)(508600001)(54906003)(4326008)(110136005)(71200400001)(38070700005)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?ka2bGgJtLnZN2CA2CQumpwoG36Uz6X4rVGWGH/o7wbunC3Cdrg6DKHjW62?= =?iso-8859-1?Q?ty0UJFEOMdRZ3jnGUTVre22qcivXEOxSi9xLeBg8ULCxXiB3ixOYVoRx2q?= =?iso-8859-1?Q?RsjRvIdzf+r7gv5wdcxC3nYKT8+H6gCsB88inejWCPWkehBZjE9Jc+YWLh?= =?iso-8859-1?Q?ilm8FiOzwVzsyL41E+xAeTj0jrdlbZImg3EWdQTaLA8kkGVr7mHNHw76kz?= =?iso-8859-1?Q?OkH3JWxQGsYYglsurE3caOF0BN9VfTncjB8xl0fUBDYAF3IxI1yw/U5Cy6?= =?iso-8859-1?Q?AyqgTNXosy8PX+g5lnGlK18LaD6kZ3o0Eqbsh7/OSsBaLQUUHN4/q+SM4U?= =?iso-8859-1?Q?t03NKlIT95QwVzZlTgK2iojOQcqiV+dsP7ellXBwcLJmdE0Rz5BIwjTtAy?= =?iso-8859-1?Q?mbiSK3+GlOS80bCjndm2i+94JRRRInCsZZyHt9Zf/KYf7Vcm0tnUCHy5wz?= =?iso-8859-1?Q?dKn7RsdVnX3LbAZCP/1T5OinfrCtuzL2rBe2gsxJrHWld1yHLmMb5N8vmE?= =?iso-8859-1?Q?joppzb7cJ2a4yY+yGcPZriYYeLeGVI4HSyos0HrRMGFpiNizVLK7njiEdz?= =?iso-8859-1?Q?Ik7vhlz1PBjPzCgQnGBk+1/SOHQfcqc/mhMXHco0QinkX7ZgvTLDCisRkC?= =?iso-8859-1?Q?KV+ePrxOq1TisePMx810UiiR01nZE+pz9YYfcJunqqg7NJ1NvgLqD0a1qp?= =?iso-8859-1?Q?pyLWd5VJEQWBlk8YICaAHxeDWINp/UamSdKcQvkl2aZTxDdSkPWXgo1qZO?= =?iso-8859-1?Q?74E1G7JMr7HhKv/Gfujg58RPWoQjU7pkOp7SUJfosGE/I2qCA+b5Q6mjps?= =?iso-8859-1?Q?B/W20NEE1Axy49l3eH/h6ug91jYsxb+ZnfCG9qESydD+/ZOTAfDu8R4UdO?= =?iso-8859-1?Q?j28OqvS30gSjAFKn0db0pyDjDxJbzL+0F2VtvHmbFFLvnWRhSP3RKzS8le?= =?iso-8859-1?Q?XvtphFMK5t9ZO0ZZ5K5ObKk/MZRjkA4Y03ZXR43UIh2KqBGOXzWcqXMv5+?= =?iso-8859-1?Q?TJ/IP259W/ETjDN0wIih2l9TQsQA1OIfiCFdjkKg4fsEyV5xGHApQnZUGx?= =?iso-8859-1?Q?hchz9+ssCu/nA27a9iZ+4pMH/kGqrna2+2W1ypzUnKzfnd9ElitXs8SSby?= =?iso-8859-1?Q?cb+L0RUQwi/C9clhMxJyFnWpLOM2M1OJbPucedYV+3Qivh8Dy47SYCkTlB?= =?iso-8859-1?Q?2TD9jXuOdq5gNzytbKmBokFa1RdFM1bfpXXgLfWba794GNQs+5HysmVMul?= =?iso-8859-1?Q?i/WhE5Hgx0snlUkwfFKUeirMOkknFJv2oCeTnTw8VI/CjnlcZ0azsDJrJo?= =?iso-8859-1?Q?l/trGjk7nnywCqabHnsuyJa/KPD11bs/Ay8gvlrR6ZQFZsFRt4+/tDY//O?= =?iso-8859-1?Q?1minA+nrAuaMFsyZGUOX92JmIHCJP8z8pZBMqc4D8CxgrPGRg+BzJxLFLQ?= =?iso-8859-1?Q?WteBesLAyWweJ5BTNRu5gxmU1gPFciGZMYpTf2c163Lbe/8v9DguBwHR03?= =?iso-8859-1?Q?eHnNp6RkbDUceshzwMtAkRKmhTeOeWWL7z2lGYW/2PPTVroPo+NmfWzTQb?= =?iso-8859-1?Q?QSRU1/thAT2Ej3DNSYCQOBrHflBkRKVqfliMW0E4MeArX6sf9UAfHoa3tr?= =?iso-8859-1?Q?XkTAQcCY+CHpaNX+94+GKA/LOXMz/4SfnC84eZAWutEueKHe52KTRZDUZF?= =?iso-8859-1?Q?99c4wB4MWK73HpWl1Gefy14UXG5iMHfWJhv4+6qKXcIpSHjh9YkzGUYQv6?= =?iso-8859-1?Q?YgzObRikG/gjQae7rJavYJghY=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: e2addbaa-6311-4300-5c8d-08d9c3d71d84 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:12.9297 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ChFmWvWOABelcK9FVA5CY/jemslILH9HrJKlFWvJrU/THHALjlfOvWr/epV4BVLBynysYBJSCHF0RiFzaHXAvF+74PCzGav04vtBbcHJyKY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRZP264MB2924 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" PPC64 needs some special logic to properly set up the TOC. See commit 85baa095497f ("powerpc/livepatch: Add live patching support on ppc64le") for details. PPC32 doesn't have TOC so it doesn't need that logic, so adding LIVEPATCH support is straight forward. Add CONFIG_LIVEPATCH_64 and move livepatch stack logic into that item. Livepatch sample modules all work. Signed-off-by: Christophe Leroy --- arch/powerpc/Kconfig | 6 +++++- arch/powerpc/include/asm/livepatch.h | 8 +++++--- arch/powerpc/include/asm/thread_info.h | 2 +- arch/powerpc/kernel/asm-offsets.c | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 0631c9241af3..cdac2115eb00 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -9,6 +9,10 @@ config 64BIT bool default y if PPC64 =20 +config LIVEPATCH_64 + def_bool PPC64 + depends on LIVEPATCH + config MMU bool default y @@ -230,7 +234,7 @@ config PPC select HAVE_KPROBES_ON_FTRACE select HAVE_KRETPROBES select HAVE_LD_DEAD_CODE_DATA_ELIMINATION - select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS && PPC64 + select HAVE_LIVEPATCH if HAVE_DYNAMIC_FTRACE_WITH_REGS select HAVE_MOD_ARCH_SPECIFIC select HAVE_NMI if PERF_EVENTS || (PPC64 && PPC_BOOK3S) select HAVE_OPTPROBES diff --git a/arch/powerpc/include/asm/livepatch.h b/arch/powerpc/include/as= m/livepatch.h index 4fe018cc207b..37af961eb74c 100644 --- a/arch/powerpc/include/asm/livepatch.h +++ b/arch/powerpc/include/asm/livepatch.h @@ -23,12 +23,14 @@ static inline void klp_arch_set_pc(struct ftrace_regs *= fregs, unsigned long ip) static inline unsigned long klp_get_ftrace_location(unsigned long faddr) { /* - * Live patch works only with -mprofile-kernel on PPC. In this case, - * the ftrace location is always within the first 16 bytes. + * Live patch works on PPC32 and only with -mprofile-kernel on PPC64. In + * both cases, the ftrace location is always within the first 16 bytes. */ return ftrace_location_range(faddr, faddr + 16); } +#endif /* CONFIG_LIVEPATCH */ =20 +#ifdef CONFIG_LIVEPATCH_64 static inline void klp_init_thread_info(struct task_struct *p) { /* + 1 to account for STACK_END_MAGIC */ @@ -36,6 +38,6 @@ static inline void klp_init_thread_info(struct task_struc= t *p) } #else static inline void klp_init_thread_info(struct task_struct *p) { } -#endif /* CONFIG_LIVEPATCH */ +#endif =20 #endif /* _ASM_POWERPC_LIVEPATCH_H */ diff --git a/arch/powerpc/include/asm/thread_info.h b/arch/powerpc/include/= asm/thread_info.h index 5725029aaa29..42f8a1f99036 100644 --- a/arch/powerpc/include/asm/thread_info.h +++ b/arch/powerpc/include/asm/thread_info.h @@ -51,7 +51,7 @@ struct thread_info { unsigned int cpu; #endif unsigned long local_flags; /* private flags for thread */ -#ifdef CONFIG_LIVEPATCH +#ifdef CONFIG_LIVEPATCH_64 unsigned long *livepatch_sp; #endif #if defined(CONFIG_VIRT_CPU_ACCOUNTING_NATIVE) && defined(CONFIG_PPC32) diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-of= fsets.c index 7582f3e3a330..eec536aef83a 100644 --- a/arch/powerpc/kernel/asm-offsets.c +++ b/arch/powerpc/kernel/asm-offsets.c @@ -94,7 +94,7 @@ int main(void) OFFSET(TASK_CPU, task_struct, thread_info.cpu); #endif =20 -#ifdef CONFIG_LIVEPATCH +#ifdef CONFIG_LIVEPATCH_64 OFFSET(TI_livepatch_sp, thread_info, livepatch_sp); #endif =20 --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4BA54C433FE for ; Mon, 20 Dec 2021 16:38:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238921AbhLTQiZ convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:38:25 -0500 Received: from mail-eopbgr120072.outbound.protection.outlook.com ([40.107.12.72]:48800 "EHLO FRA01-PR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S233007AbhLTQiT (ORCPT ); Mon, 20 Dec 2021 11:38:19 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HHQOkyjsYAYkSSUjlBnttsMlBNcVz6AHfxBVthsjyauVTRgA/KsiF1HXQOCfRHzOHht+Qhvb2c9wvps8Wu3eYrAVv2vXzWAhaN2hReyfpkYDL8ENTKp19b8JfIpg6i5pM4Zspm9qdchdBQkApcUN4b9VA1B2G2LGmanQOnlO6wdVgnemw6Qa8ZRCKhQG2bIU88LwvMTiqkpwdmgpmDtJRmC1zSB99DQAZ72cu7LI5+L06mzvl61GrhtO7Fs8uWvI/EY8BEZSDilBCcionRCHloEqxMJYflliXOkZCXqimPrbGzkJOTjQO5pPlP3uadDTy3hQ1BeXtn7FEFE6wdb4Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=JkkDQtRKmGceL1ZsLQ1P5333rr3ROATXVjRguKciuvI=; b=YwPpyIEfU1aOgTtdI4fdGHl/WEczhs+ApESwqLdMCFNkvme5VQzprnyUSqY1O/pksTYDv0lLhP07Ouu5fxAzoADjfL8eyuZwzGrGUiUYwbeVD0crQmVQkSFDpNOvivxGrK357QyvFto/uT5dfV7d3/px8om2uFIZ6PaxgB1gL3mdDVWBy8IoAXGXRshRtsQF8qZEs7YoNbSq6z/aUg4SnV42lX7vhmA6+V6wJtNQ4CF1Fz1ar0/DstJkG4FKZ/TzMvoanAQBvOzdrscVtBmqBtev7xHfgikH1KuEJJCkYFt0rozqqrys30rHsPOzpeCyBqvzdlRlDjLs5s+ZefyjIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MR1P264MB2161.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:14::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Mon, 20 Dec 2021 16:38:16 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:16 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 05/13] powerpc/ftrace: Don't save again LR in ftrace_regs_caller() on PPC32 Thread-Topic: [PATCH v2 05/13] powerpc/ftrace: Don't save again LR in ftrace_regs_caller() on PPC32 Thread-Index: AQHX9b/8mCCoJBJvIE2Q4/L/0ycWxA== Date: Mon, 20 Dec 2021 16:38:16 +0000 Message-ID: References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5c00445e-df51-4032-78c3-08d9c3d71f80 x-ms-traffictypediagnostic: MR1P264MB2161:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3383; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OzDXvtVhbvNwwqFhUfsGUrtEBNS8e/eaCblNY8RawyxAfX4LQXcSAm8q5s2l/rqlNpgHvY4YV8L5f57SJTNdNeq1Iju6f3d8tUhd2DJyT8MZfMDAZ10YpxgCfyHHL5X39phQn66vXS9vPIJiS1sqXAwxBDCkDepzq0QOycSy5Xm/R0VzL+GIcLjPyHwpxBAlGMF8gxSnG2P4nMIyQ9ClhnKuVv3eRWA+AW0V/0iFqEb+xv7+inc8oKYD7v9Ko4SCeoNziJgMD8QfRwYpYH+MF0pt1lLdimfTwKCTrQBjCYcyvEP8SnHjwerUBZ6rAkCdgaEMfuJ8epZfNhb2ECCz2GVq7eaFjzgZ+oXN0PiNqOlbd9oqi8l7hjjaA2AtZSYpID/d93EC1Qpu6qntFKARD8IbPMO7UGlKNRCFpOVyOyYAxo3eOdhk9PUR0e3ab2HTp/wzDqiF31oS6eKJFGB5zvbfbKJ2jG2UQMepj0fPx0Ag94kClU/atYBJCBeaHLQU7OdxKWxp0Y7yBoMRJn90lvmmNjGcdQymR8h35R1Wq8VoSpCOeB1OjRuba8QeAeBKe5vOEnazKRIf2NLnlXrfB+ppKxAqweMDUZMVWJXLGuVx/4/9QgZj1E4ZmPjVKNXTsJz7mNXhyKgswX1FA6YJOBQSyLY87W+ISyfc3ChKZv0UCRdw3evmMhG6BLDBXpwtOSTOkRDyQJLlWP8gir/dkg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(6506007)(508600001)(83380400001)(86362001)(2616005)(8676002)(71200400001)(4326008)(6512007)(36756003)(54906003)(122000001)(8936002)(4744005)(110136005)(44832011)(26005)(316002)(6486002)(186003)(64756008)(66946007)(66446008)(2906002)(38100700002)(38070700005)(7416002)(76116006)(66556008)(66476007)(91956017);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?6AfXa4AV1TjRKEK1noBWTm64wkjXLXpu7DXyDhIReaAyTeq5cREvMBJJhq?= =?iso-8859-1?Q?4NE2jv9YmeHvbVPY3PorC0HUyJUCHhgz1OasOo9Gsidv6GezQ7w/87dBXV?= =?iso-8859-1?Q?yNV/fpNkeiYtoAefCArEK5zKudTTwmZnG7jgrUCEEZvzB9ALe74lH6xkBx?= =?iso-8859-1?Q?eSV70Es8W6ePZsv7Pp67A8S0AXweWl/hjbRkKFsy3CFWwTf+z+F0/7Qhak?= =?iso-8859-1?Q?1AyVH5yWsFRFRm0uYFXA9rfOAtShqZp8R+kynma9xFDUCP43vG6dM4aYVR?= =?iso-8859-1?Q?5r3IvzBnguRwI+a86yhD4zOkttWg+W4A66ytGUhxLxxFSYzftCtQnag+XF?= =?iso-8859-1?Q?5ZoyPs2/0Qcs/ljbEJxppetm+5L9Kn7Ml6O4RcaOQRfbsZxHWvEGoQL/Uf?= =?iso-8859-1?Q?penhhZaktTyT7CSkuZ7WHplme++zckqVVpvb2YFAiCRcFaxHmNGNofcn5Q?= =?iso-8859-1?Q?BZGE51AWIi82fITkEUGGQZ8u/Fkytwdo61oT7QyriaJj575ZR72ee5FBbi?= =?iso-8859-1?Q?FoS8TTcdz7UVhOH+GZqZWvOO1UcpJ+ifRTvHWqKhbn5FiGJ0pPualLL/jd?= =?iso-8859-1?Q?e7sRdT2WjpYT9Jer3IUqdFCmLlaSmeu1Wj1msuZIVu+57RA0fHE94b5ZYf?= =?iso-8859-1?Q?Tb0O177Fxtm4I8n8ruUfbFks29761Eh6dIvVsPPIEPCxKMk9ZvS2N7gU6q?= =?iso-8859-1?Q?bBnv0mKDaBjzfdHstOJ8XxfLAMb0mlc7gW6yS5b5vih2tQ3U3RJoYv9nGX?= =?iso-8859-1?Q?Rl1T7ZlvhrewGkieDedc837Xr+L0/pGHb+eCCru0njLm+2GB9eUUqEc3YF?= =?iso-8859-1?Q?eMGp2/zHpd3dAmSoiqnbDBpxtwo+e6ohsxXEB6sbe6xPnuwJPFLgVZuOxk?= =?iso-8859-1?Q?MI78MxBi5aLn7tXaiZrEkx+4lrOSO2IzA0ODb8IGwwRTQMrQa7BRazoXke?= =?iso-8859-1?Q?40oobnn3M7zdg175u+YtHBzvR/6UuCyWgJ5RIsDcEEbkgOtrTad73EV1Bv?= =?iso-8859-1?Q?7We1/GjSMAMmMbtPEBX7mLn/zxXi4IGAbO3OGoA9tBA+bQCPVebeURK+BP?= =?iso-8859-1?Q?AoOtax6YYk08x33tokch+2okqV41jPvWbZss50fJPZEEvMan1y40SzWDNr?= =?iso-8859-1?Q?gfh/ed2sC6tAXmBsDHB5GPPQyi9o4cv+tRyUYqsYxfS41Ralw7g6dkf8Sd?= =?iso-8859-1?Q?/ugOUPK6OB+Bh4qWvyrZtOR6IbpqMmwkHJw30wPwCbzmG2HUXr9mqO86U7?= =?iso-8859-1?Q?dA0STfGb8WfRZJnQn8JJKJWc32vWX+/sH1ZN7481+eikpF0ELwLvsKGxJe?= =?iso-8859-1?Q?R6ZJmO9QBzfY/WEK+wAwZlOGnxCwztzfz5qj3h7MHio5DfgWVj7DB1TgH4?= =?iso-8859-1?Q?OQtb35pO72fd/3xtkRX4KqpItMrsW31tvpjA6CbHBolmaYIiwUbYXxq3xx?= =?iso-8859-1?Q?umO2GKVvBxrO0sA1OWGcTx0MjyPgku5ASCZnyx0ONQygbS/Py4DKS2GtvM?= =?iso-8859-1?Q?sIniZln0UcPXyaO3xBlnYZufb+MIOmli6ckBXWJ8Kk5Gw/401O0ZYJq0jH?= =?iso-8859-1?Q?zqhM3yksZZMylx0KUSJQLps26ITdyx6Yh3b7qQapgP9PvV/zToYm6BQxo2?= =?iso-8859-1?Q?kANiYuhwd/BxP0sYIVVlhNM7cMQ+KJTPy5hOxvzu+CIOhaFAKjZFHzgsOz?= =?iso-8859-1?Q?PyHeemSkmXWNlhk4D4NTGhSNyhyOJxWl5s2bNifOykoWfLyhSn64yShR3h?= =?iso-8859-1?Q?c1mhlxPu/jNG6NJfu2qfRTuFw=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 5c00445e-df51-4032-78c3-08d9c3d71f80 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:16.2909 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: OC+2YP7t9fOdpOg0IqiNoK6odkz467wRjarQgn/Jw3YItTgCPxuyDIWQYDEdviHve2yZ818kw7nydt7ZOkqeR6u34DGvtnslY/oMxIYjAVc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2161 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" PPC32 mcount() caller already saves LR on stack, no need to save it again. Signed-off-by: Christophe Leroy --- arch/powerpc/kernel/trace/ftrace_32.S | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/powerpc/kernel/trace/ftrace_32.S b/arch/powerpc/kernel/tr= ace/ftrace_32.S index 0a02c0cb12d9..7e2fd729116b 100644 --- a/arch/powerpc/kernel/trace/ftrace_32.S +++ b/arch/powerpc/kernel/trace/ftrace_32.S @@ -53,9 +53,6 @@ _GLOBAL(ftrace_stub) blr =20 _GLOBAL(ftrace_regs_caller) - /* Save the original return address in A's stack frame */ - stw r0,LRSAVE(r1) - /* Create our stack frame + pt_regs */ stwu r1,-INT_FRAME_SIZE(r1) =20 --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5030C433EF for ; Mon, 20 Dec 2021 16:38:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239116AbhLTQi1 convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:38:27 -0500 Received: from mail-eopbgr120072.outbound.protection.outlook.com ([40.107.12.72]:48800 "EHLO FRA01-PR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S233033AbhLTQiY (ORCPT ); Mon, 20 Dec 2021 11:38:24 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KGvCSR1iOo5uJjqNYZ8le9vhYLD/TBynC5sxXvLB1XX3GIqaE80g3MnJNZhWknSsNjodCMPr8CmY679s3xE84XUI6sk//zqTWv7Avgk8kR/pWjdydZPalv6KjLbSf0RNX+ABA6j1hgRXXuw5Jhc/0OhiQ5GqFg8VI9Pi2CcV9YCkPU+gupk0wzYDoMkVgTwJEAw77sd136jOjE6uhWVlDkwOETgURQ5IG2FzUEHPrda6FzgEEZEmYMzS8xKFZ5aTs7a6K2lgK4LtzGHMHP+jmw14VeyGG5+zGqTKvAkx+yyXRRvyf6zhAHnuN8O1EbAO+6lYvSBiBFMlcx9TnXOdeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=KHz2DMxC2ekv9AgUuCbvFTmjif4Ud42jFMR/+dMeq74=; b=VB3DVotD6o6+fR0msoh0mkzdHdefmRpCQv2ah1F1NAees65f/6Y9lBd2zPFdfDBy5E0xbTVZs/GZ5Qo+DmGP76rJrOgn9nBmajga/aDK0iwb94QjG9+uEjveD0shVRqc+xtPKzeVzfgQ4lXayT3tsk0As54jYxQeBngEoxj3ljUea4WC1yrQ/qu4QHqZA6ta+26sfNdCvK7rDcPCu4SoaNVbM3DZla0KdMqVWbF7DZ108Z0Xh7nYjVb9nJEs55j5fn3cwElv183lFfOv0mLCZbnls+Vtz2dLc/uwhZT/0gy2mzphBFnXzWMuZ8sEbOGZBXCoxJja/vkEPctS7OoGnw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MR1P264MB2161.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:14::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Mon, 20 Dec 2021 16:38:19 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:19 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 06/13] powerpc/ftrace: Simplify PPC32's return_to_handler() Thread-Topic: [PATCH v2 06/13] powerpc/ftrace: Simplify PPC32's return_to_handler() Thread-Index: AQHX9b/+LnaEbwqa30+7uq9KTtCL+g== Date: Mon, 20 Dec 2021 16:38:19 +0000 Message-ID: References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e3facd83-e662-447d-6364-08d9c3d72164 x-ms-traffictypediagnostic: MR1P264MB2161:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2043; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4AnBwcV6sq77/RD569a45mowowomJrS22FZb3Aknuqici5B0DNb4kU941tOvYFJau8kOLHV8Qk87LxAyvVIjP3bGyF7H7xPVqgImTTgbseC+9Xy4Lqm8upsbmUmY1e+GCmpn6kVkRE/iGrKJmkxNPUgSXGAmR4zI6eTvfP2Ae58Ocq7TcAcCvMsobdBDsndqZbJeL4sT1Xhilpb4VjYTXNs9vtjwrJSLSVXFV7tY0JhLNj/Ko9eGyeiRAR7puwF+c5mDy+R6V8R76cPg1QY+VBywoFaoDmQE7Uejq9ytG1rErlh+hkkXqw5e4c97Xfs0AsU+bl0/NIgkt2fXtvD6WOG9NbC/oxR9ON85gdkeptl7NaZ4ko99Bhee4ITBvdtHooaMNdslui3xMgZnaNDC2UlRe6/DRHuAQdCS8e9c/xb4r0sSwTP7KJMizOvuV/fs2kQ549NWIdMsbBqvE2+Dq9zCjIUJ986glPdnlRqAe2z9Fc5N21n0QN5aNXlE/QrrPtBA5s16PLQUGcBOpzh3GRvtA1YlLm8FpzV1N0t7a1FwClQWCL35jIQChuHqct8KjIU8DmT8RBLHc0pdj1MCl80lqrFFM9qfueOG4rhI5Xjxo2xG0n/NniHboLvyQuWGf3hm5hiO9FOsuSE6tIivb2q+HAguZw5cr9SaxmrqSKoOV7vugyOxbdN3ae0BkxJ39k1ASHfpbllTmzhHFMoF9w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(6506007)(508600001)(83380400001)(86362001)(2616005)(8676002)(71200400001)(4326008)(6512007)(36756003)(54906003)(122000001)(8936002)(4744005)(110136005)(44832011)(26005)(316002)(6486002)(186003)(64756008)(66946007)(66446008)(2906002)(38100700002)(38070700005)(7416002)(76116006)(66556008)(66476007)(91956017);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?hX78XOql6n2A4Hxq6aSPU3W7KswMvCF6fb92vwMH+jrwOOES8DLVyn4Zyw?= =?iso-8859-1?Q?VTo/i2aMhEd7+RYdcmURGhw/5nJg2qI9+m4BdpGP7Q/p6Qs4qBIBTjMZCW?= =?iso-8859-1?Q?qWdoQdC8YVxA34LyASL57/yZg7Ax1npFyNK7jv38Nd/67KdfTW9rY2KD6O?= =?iso-8859-1?Q?Z3zc8HqvDTiu4P8iukeCepQYXndk4qF3FifMu+6fh98ndzaY8TGLJItp4A?= =?iso-8859-1?Q?cW5M2dCg2UOpUyURE4WM/OnQP7NbjlzzHq/1xotd6w6fDfO1BbhXF0PAYm?= =?iso-8859-1?Q?httTmK7Lmbog1wfDGv7VL5yhCrmUg4qtqjj5aThmriorfrka0J8tWufg8j?= =?iso-8859-1?Q?izFAQ+HufYwP2vuZqVJPv2OZivPZpFicULLa5gYaNisntDpAng2gRwyfae?= =?iso-8859-1?Q?x154FL82lJEZsBTwlPo8/8D5UxwiHPBseL2TDODhDyNC6zzwwEGXAblK+l?= =?iso-8859-1?Q?gyCaG8vyDewvBLNHTMimGQ57fUb7F/1IEQJ+htDpWEKDe4GVlLLJN3wQsY?= =?iso-8859-1?Q?T/adoXIZvzkRlibRrxeh0jbu1L9VFJHktGa2XEhohEYXUj1ceR412zeXat?= =?iso-8859-1?Q?mADwOsl5Xf1Kd95iNtof6ADLRiPiffYP1SoWkPppeJLHGjntpskzVzeoMj?= =?iso-8859-1?Q?Dymhzg/T85W3b+vsmAHWFGXNKs7qMEcP4UmCb5qaZbwMWeNzXfT30ZGhMJ?= =?iso-8859-1?Q?Nm26UIk0ck5sxlFp55aVFlTDbFjyWgZVz8PbJkKXUgivTmtcI4kvvG1xjs?= =?iso-8859-1?Q?+vl5RwHx6zTj7msgvcPxpz1dhANvtrZqB6hGsuujq0fJ/VQb4e5aZgaaic?= =?iso-8859-1?Q?ipm0FGQ/WBT5Ndl1RMJyoofQnelmdQPaWaOUZW2FeOvh8Ph6ht6FD2Pay+?= =?iso-8859-1?Q?DWFzZK+DROgW9Mxs9UjEpdnqL5tOtqu+k5mEleJSv9kqzo4Rdjn5wBBeln?= =?iso-8859-1?Q?0NLUUEUL4BJI7peaGoJYj+/uF7yTYP9tnzWzFWddTRjN6k04bpoSv6eV+3?= =?iso-8859-1?Q?TSmxn8wAB1815s1BCrRy8g+4maGIVLSiJvB7sBFZhnXpdROkrx7vcbTuL3?= =?iso-8859-1?Q?LehL/pgf+9a2EOFHSVOX+q10QD5prXPQFf0/SjdeX/IgCCRYF6YnWjG+/A?= =?iso-8859-1?Q?QJPFkLQvWLT9Fe2k6jkNwwEtD/PQ/oc3o7hL5bWXnnOdd3a15ocE5Yie3F?= =?iso-8859-1?Q?KnbG+5k3rKUlU6RigtBA3/Y10KWKdaCRevVCQrNVK9e2qQJ1+rj8e2DIMv?= =?iso-8859-1?Q?QHZQ9/LjQ+aTtVBoVsuN42QOhJsA4V3NAlplvIBO0yORZm4XtX7yQWFVK0?= =?iso-8859-1?Q?DGEAjIgrFlhKDUGBZYEtdqlqZDWo6/lmtP8JbBC6pPc2iRrtx5utlwgLUr?= =?iso-8859-1?Q?sUhVQf1NVD61T7uPTJasMnfOTwRY+oAhfmXnpifaBDej8mA8JFJxMzSTEW?= =?iso-8859-1?Q?S+OcF28AQBTZ5INSsl8GB2L73fJy97yr+D4kZ1kSO2/gCC0UOTO+mC3tbf?= =?iso-8859-1?Q?QAY4xwHVFz7hNk2+ofYs8OIEITAKKAIcDvEglBQrLq1M/xHLEZF8GPBI1V?= =?iso-8859-1?Q?sj31zvn0PXvArfYq6gwDFrRgNNIHHnZ2XWF2UD3oVHLRMwTt9pciOJBJfU?= =?iso-8859-1?Q?CSz9kxJIr+gvg3DwFSuG9mqSncCW8+1b/gYbZQs6vrZHERF0giHJVTzCgI?= =?iso-8859-1?Q?XMJYN/ZchOSY1BP24zCuKLERs/YaTQ7Ru0u3fI9MIZzWB4BOYo/4XFXYDC?= =?iso-8859-1?Q?+mom803PiYLFfPEq5xhHQMtts=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: e3facd83-e662-447d-6364-08d9c3d72164 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:19.4768 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 3qCmux5ANKwm6Q8nqdGdfLYjEgLcmBKwpP+puQt5ckH1nzVRPTSUJPMgqyZQVNcVqLTI5uN3OC7Ea5zAmraKWotpjKmcld7XV6WG1Aa37rs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2161 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" return_to_handler() was copied from PPC64. For PPC32 it just needs to save r3 and r4, and doesn't require any nop after the bl. Signed-off-by: Christophe Leroy --- arch/powerpc/kernel/trace/ftrace_32.S | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/arch/powerpc/kernel/trace/ftrace_32.S b/arch/powerpc/kernel/tr= ace/ftrace_32.S index 7e2fd729116b..95ffea2bdc29 100644 --- a/arch/powerpc/kernel/trace/ftrace_32.S +++ b/arch/powerpc/kernel/trace/ftrace_32.S @@ -162,22 +162,18 @@ _GLOBAL(ftrace_graph_caller) =20 _GLOBAL(return_to_handler) /* need to save return values */ - stwu r1, -32(r1) - stw r3, 20(r1) - stw r4, 16(r1) - stw r31, 12(r1) - mr r31, r1 + stwu r1, -16(r1) + stw r3, 8(r1) + stw r4, 12(r1) =20 bl ftrace_return_to_handler - nop =20 /* return value has real return address */ mtlr r3 =20 - lwz r3, 20(r1) - lwz r4, 16(r1) - lwz r31,12(r1) - lwz r1, 0(r1) + lwz r3, 8(r1) + lwz r4, 12(r1) + addi r1, r1, 16 =20 /* Jump back to real return address */ blr --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA23EC433FE for ; Mon, 20 Dec 2021 16:38:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239043AbhLTQi3 convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:38:29 -0500 Received: from mail-eopbgr120072.outbound.protection.outlook.com ([40.107.12.72]:48800 "EHLO FRA01-PR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S238929AbhLTQi0 (ORCPT ); Mon, 20 Dec 2021 11:38:26 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N8V+GrDe2mEEJliEHK74/GHGTy/R5/GHYR9671G114FZxojKk5LBt6MT14D/s/u1XhLh0efzhOgfH2NW7Dt31ZddDfqplvBR8mxubiZUr1HVEketfdAr+4TT6suJuOgjjPhVcwpz5TYdo78zUXVCsnPWC5BUpVVbOXx2Dt9vQvrfBTgcUE49ixoXOWqef7EnPKAdTuirAh/1fE6cG4/h4EjwfW6HbzpCX7Ial+MVAIGk/rE3rIjogxnI5laOBJ2PfTdW+Rd1km0wB/uuBKH1UGQwnfmJQ2hUOQpSb0SG6Y9f0oEf6udLCZ4uGO+BXIpPf612xGOWthjevGHc8N7kKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=rS/bPfMWFvYVot7vUnbQMniRlb2x3C9nR/OOoWPQ82k=; b=CHf1A+7YlbhEjE4JKaj36Nr0JilFle5ylUKi+UsPDhlNOHC0aFd/oviLBO8YdBbYvXsDmgO2wKeR99AMswCK4ib5LP/QugV65nwuLu65s+yEKXeRG7Cu2U+CFleGi/JXMTW0YVekyvFGcKvS3D8/rwo3XOxqYueIlkhv6xJAQSqYj1d0zrpFMyRm6LMrEp5A5Ouiip+/yx6Hfvt4cDxMPO5P/xxRaYZdj7tO4+I8rsl+eYgS6NUKwozxNbNF78d0mqWnXloRXR/PA0otN3OOVdTt8cZD2W9fGGuAqJjIZ1yEuTP94bCxzKbT6aSoo+KcB+j8OPn/xB/H9ttYOVFcLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MR1P264MB2161.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:14::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Mon, 20 Dec 2021 16:38:22 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:22 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 07/13] powerpc/ftrace: Prepare PPC32's ftrace_caller() for CONFIG_DYNAMIC_FTRACE_WITH_ARGS Thread-Topic: [PATCH v2 07/13] powerpc/ftrace: Prepare PPC32's ftrace_caller() for CONFIG_DYNAMIC_FTRACE_WITH_ARGS Thread-Index: AQHX9cAAVQvvUssGakCLDiCzPg5K8g== Date: Mon, 20 Dec 2021 16:38:22 +0000 Message-ID: References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4ce2e6da-f140-4009-ddfd-08d9c3d7232b x-ms-traffictypediagnostic: MR1P264MB2161:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:357; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /VwNQpZh9hjD10zj4SxNdHLC8kdn4lbX4JL0q/XE3vuul/Hmenrhiw5icMCHZfomaLGFJUihTkm0esjeAqOSI8nO7VyZS4UpqR/cR4e5hHLhvXPAaJM1FnOKSbJb6XjhOiSXTTHqvJe1JdsVgYKiOF8Jk8sEvQjmmBPvXi/E2ri3WA3PZwCO8pJJ2WWu28WuY/D8uY1yIMiCORXV8tAL9sIjPCLIDsiNk5aw2ASoqd+8BNbEDM1i2dMaBl2BmFO6gXZttRr49aLASPFtXj0wweqasvH8Er6ZvFap2ms4DTE+CobKKOSAhh6614jeUoAQA8WJVvxin3VngvVqrdU9aIBOOv7J8DcDVPgITEPGGHYWoiNmdBV7GrScubrpZlIfPumBXPWXc/YFliMHr2LXBfGloVqWOlLGVYy71avrifWkUjxL7zudQjRtNZhrdCK+XmtoLkIVNXnId1KTrI5jsrB5FtUUQ6BjGmiEHJTohopQ/72aW+zUOZC3nI98xh1hUgAcfupAF4Waq0ErwnYtZYHwxNVleyBJiNlqFbGChfRyBp+YwSYdccxl3XF6+irMY+NaaQWvlQHZXQQfzB8pgJpvHsFdMOOenJLcnqEBM3eVST2qYqdCz+CcVAc7Vdn5Sjft9BJOaDhuyKyFT9dQ1WObGgSlRl63UMpCXWxPLGoL+mfbpLE2h/fZPNxntB+mlb++KMFFiJgALQ3PzReqIw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(6506007)(508600001)(83380400001)(86362001)(2616005)(8676002)(71200400001)(4326008)(6512007)(36756003)(54906003)(122000001)(8936002)(110136005)(44832011)(26005)(316002)(6486002)(186003)(64756008)(66946007)(66446008)(2906002)(38100700002)(38070700005)(7416002)(76116006)(66556008)(66476007)(91956017);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?D21kNufp61XCtnRdS5v3bpa2K/rRJ8GYeeAt9ZiRmHi0E/TvvOvJiHdFIV?= =?iso-8859-1?Q?DOAD8+1s6BrlwJxWGQrZyeZ9DVmbu3/KSlHxbRpj5bJzm/HEZplwSQDukJ?= =?iso-8859-1?Q?nEW0wO2xWDXrukYZXb9JLvlThJx88pMhH6xcrw2Ha2V0r3J3n3Y3ZRTGVA?= =?iso-8859-1?Q?17mkb1HnmlZ4hl9MIeh7KfAGLaI/A53ReQYY4krzVYHiEtsVJpRKpRaaI+?= =?iso-8859-1?Q?9JNOs0jVLK9HcqzR7PAILOHI8O9UonjRI7OFpLJ5y5v5ICystLZEOl6aeL?= =?iso-8859-1?Q?HmFmydbT5RbOQgjfafrQRtmnpY63S5g1ZAdsVvE1e9agrcmaet/A2PgWzd?= =?iso-8859-1?Q?spwhn69YV79l+RXCIYFbw3HZie/sK0yTWw/tkX2RXv/r7HKTEomryFz0ja?= =?iso-8859-1?Q?nXQQFFFTl3CzlBEpYG7rynviUv9baSoY4m6JPkfK15hXbNI+lapToi8WVn?= =?iso-8859-1?Q?K3HabZAH6EAgrpsCpIx6cZ8+Mk8VJPP0rJVLPGt7WSqIOgODI3Imv6P4nZ?= =?iso-8859-1?Q?tMpzREe7wI3JhU27qYsY9gFS1ADfuI6TasteF5C8KTSui5NPKTJLCzSqVi?= =?iso-8859-1?Q?g6qKZxGKczquDPAsNk+WAmUhbm+nWi9uNKdVrfG+vYdnD6z202pM7PqzCv?= =?iso-8859-1?Q?iGosm6jG3akHhJTICO9VgRtu8RKnx6iDcoTbgPgViXVGalw+Mtf3VOCLqv?= =?iso-8859-1?Q?1XnJaPrzvWYAaO8BRd7+x6y31FjEJMVqquExuYmaG8DTMSBGUT6X5VIM7s?= =?iso-8859-1?Q?gmQLDPYwSLHev+urBqMs7lF3e2mLpEbEeFyUaWMyUIAQ6aFSxxBGPGF32M?= =?iso-8859-1?Q?C3OQar/hmqL01VnTUKKwsxlQ0BDtCBSHBDaLOtLRKI3OrYC7xwrEMOuXTW?= =?iso-8859-1?Q?PRHmAwJDYsELvzbcceTngVYht3PizHN/VdLi7Tne7Gok+f1rdnyiv0FR4q?= =?iso-8859-1?Q?kzTxo5Q0i12UsxcAOjW8VQKXqhQy9wmA459CbVW1Tm81MUJUkraoKALb5s?= =?iso-8859-1?Q?hrGqhILBzvJ3SsupKpHCS0OhWmpmX2MH/RrhO+0spZmj5I+EmYXKLVV3Li?= =?iso-8859-1?Q?vtxSAJ4LUAl8rvVmRWVsF9oGzhw0cmop0BqEtSuwFfqq696Icja1pawBtX?= =?iso-8859-1?Q?Q1t2OqX0DS7JXPe7j/ZOUgjNNj36HjmUB6cPsSmlnuky6rHVhUORngBs5y?= =?iso-8859-1?Q?9F7VO+ZzP+NwD8bunU/3VHwZjzxCeCpDHHOmHqxkLuFD2rX03Jtp+z9pFs?= =?iso-8859-1?Q?sFvNNHLWsC6MHzpVPWFnJZppoqsvILQxd11mY6+OEoUQaasbwomUT+znxm?= =?iso-8859-1?Q?wLxEGMqv5b0cHL/UBD7UT4xjRGmVg5ewOnFxKtUJhc4RiFUXBFIzJoldIx?= =?iso-8859-1?Q?tLivKrz6qEMTdNL+y8TszzLpklAOy7/AoCQx325GprIKp1eYGSuvXvWgqk?= =?iso-8859-1?Q?EjuapQljBnoxUbRpwB2cxOsVrtiHepbgtIrLlmecKCOdFS9cYZBxv6ku5Z?= =?iso-8859-1?Q?Z7xgqc7fyzyMRN5XIne5KiziKXT3a0uYej0LATZ0JQOhZlZDKY3xXTYvfo?= =?iso-8859-1?Q?7E4euaYwPRi9cOm3bDgiYMkw8rm2mT+Nj2MwJiEco78lLqoD61OiKEcklS?= =?iso-8859-1?Q?H/xrQlAdtU2jXrIJN8JIDVlx2CAzakNlTY7eh+bvGKl6qLKJrNUPtDSS5L?= =?iso-8859-1?Q?VbA8M2tuUf/Ulpbuiy8rf+Tc5t937X7lVP7/iGgYCClY4NCBDQ87LMO0Yr?= =?iso-8859-1?Q?w5YETe0u00ARvZRInQjPIe+8I=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 4ce2e6da-f140-4009-ddfd-08d9c3d7232b X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:22.4473 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6q2zSNDDxPc47jDhItVLh3pnUrzuZbZFgB9d8iVzyaygQRzZ5ssAvVKGZjg2U/xA8bvm/n575DaqmykmjmwP/YEJF5y6r679RIlJmTRRlkw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2161 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" In order to implement CONFIG_DYNAMIC_FTRACE_WITH_ARGS, change ftrace_caller() stack layout to match struct pt_regs. Signed-off-by: Christophe Leroy --- arch/powerpc/include/asm/ftrace.h | 39 +-------------------------- arch/powerpc/kernel/trace/ftrace_32.S | 29 +++++++++++++++++--- 2 files changed, 26 insertions(+), 42 deletions(-) diff --git a/arch/powerpc/include/asm/ftrace.h b/arch/powerpc/include/asm/f= trace.h index debe8c4f7062..b3f6184f77ea 100644 --- a/arch/powerpc/include/asm/ftrace.h +++ b/arch/powerpc/include/asm/ftrace.h @@ -10,44 +10,7 @@ =20 #define HAVE_FUNCTION_GRAPH_RET_ADDR_PTR =20 -#ifdef __ASSEMBLY__ - -/* Based off of objdump output from glibc */ - -#define MCOUNT_SAVE_FRAME \ - stwu r1,-48(r1); \ - stw r3, 12(r1); \ - stw r4, 16(r1); \ - stw r5, 20(r1); \ - stw r6, 24(r1); \ - mflr r3; \ - lwz r4, 52(r1); \ - mfcr r5; \ - stw r7, 28(r1); \ - stw r8, 32(r1); \ - stw r9, 36(r1); \ - stw r10,40(r1); \ - stw r3, 44(r1); \ - stw r5, 8(r1) - -#define MCOUNT_RESTORE_FRAME \ - lwz r6, 8(r1); \ - lwz r0, 44(r1); \ - lwz r3, 12(r1); \ - mtctr r0; \ - lwz r4, 16(r1); \ - mtcr r6; \ - lwz r5, 20(r1); \ - lwz r6, 24(r1); \ - lwz r0, 52(r1); \ - lwz r7, 28(r1); \ - lwz r8, 32(r1); \ - mtlr r0; \ - lwz r9, 36(r1); \ - lwz r10,40(r1); \ - addi r1, r1, 48 - -#else /* !__ASSEMBLY__ */ +#ifndef __ASSEMBLY__ extern void _mcount(void); =20 static inline unsigned long ftrace_call_adjust(unsigned long addr) diff --git a/arch/powerpc/kernel/trace/ftrace_32.S b/arch/powerpc/kernel/tr= ace/ftrace_32.S index 95ffea2bdc29..c4055b41af5f 100644 --- a/arch/powerpc/kernel/trace/ftrace_32.S +++ b/arch/powerpc/kernel/trace/ftrace_32.S @@ -27,17 +27,38 @@ _GLOBAL(_mcount) EXPORT_SYMBOL(_mcount) =20 _GLOBAL(ftrace_caller) - MCOUNT_SAVE_FRAME - /* r3 ends up with link register */ + stwu r1, -INT_FRAME_SIZE(r1) + + SAVE_GPRS(3, 10, r1) + + addi r8, r1, INT_FRAME_SIZE + stw r8, GPR1(r1) + + mflr r3 + stw r3, _NIP(r1) subi r3, r3, MCOUNT_INSN_SIZE + + stw r0, _LINK(r1) + mr r4, r0 + lis r5,function_trace_op@ha lwz r5,function_trace_op@l(r5) - li r6, 0 + + addi r6, r1, STACK_FRAME_OVERHEAD .globl ftrace_call ftrace_call: bl ftrace_stub nop - MCOUNT_RESTORE_FRAME + + lwz r3, _NIP(r1) + mtctr r3 + + REST_GPRS(3, 10, r1) + + lwz r0, _LINK(r1) + mtlr r0 + + addi r1, r1, INT_FRAME_SIZE ftrace_caller_common: #ifdef CONFIG_FUNCTION_GRAPH_TRACER .globl ftrace_graph_call --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 08EB0C433FE for ; Mon, 20 Dec 2021 16:38:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233060AbhLTQic convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:38:32 -0500 Received: from mail-eopbgr120072.outbound.protection.outlook.com ([40.107.12.72]:48800 "EHLO FRA01-PR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S239093AbhLTQi2 (ORCPT ); Mon, 20 Dec 2021 11:38:28 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nrVc5EXITf5R7O94nGBgdeEgjtO1AnC9lSJVdNAUhsMQL7SA1S/DCCg5VmUDsbu6n+Hwx9sUc40ctptGGZFvhFlIdyjmCQ4g6lRc+QHMA5mcSzhWooMKNNZUpnmak3Hu3oFA2sZVsyA0bKwn56uvF/+NIem4V0mGCPMrObIYaIUYgqhKpjulXV4+jgVOHzdnV3DwBD1eMdugxWYCaWHHX6KlQSEs6KPwFBwRB5K/MQtPZk5CvDD5y1sMRzmECh7qNmShBE6zHs5HAfBTB4GMqh5WGVia47DIw43VLfg2h+m2SMtMouaPFk29aFeukulG03f6Eja13/sr6uVjLIkX/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=+ov6GPVxo9wBYfd/W3HMywq0/UCxDk0eakf75NTpYu8=; b=HMp/2RNXwBF1YPuZH/TtI4dKJF22tUUuNctfl3J8WoLUXawG08xopbPfOsjsNRLL8zFJ/rG7f30g2ptHlt/fO0xX889b3/N9Dyn1bGYi7S/klfSI6bB/8IjY90kGAjt2vPgMlz94JewsSiwcwhJ1Donclz5bpByT7lv4tT3q2psBCNxpyNBUCS9SqnZMajbcrU3/HoUY10vpGJpyFYo/W2U4HXX0M61WUEOoMhwhgpH21sz578yI50TAsUIxVGBjGsGIVi2XmedyCSMiFkLmSx+Iv+T2/6UKJ8uqWylFflP/GT5/1qMXXru4X69psy97VOe59mwkXTlBbpHt39t9Lg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MR1P264MB2161.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:14::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Mon, 20 Dec 2021 16:38:25 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:25 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 08/13] powerpc/ftrace: Prepare PPC64's ftrace_caller() for CONFIG_DYNAMIC_FTRACE_WITH_ARGS Thread-Topic: [PATCH v2 08/13] powerpc/ftrace: Prepare PPC64's ftrace_caller() for CONFIG_DYNAMIC_FTRACE_WITH_ARGS Thread-Index: AQHX9cACt01RUCspvki4igFCqynk8A== Date: Mon, 20 Dec 2021 16:38:25 +0000 Message-ID: <850817333cc76593699032e8e9a70d8c36e1af1e.1640017960.git.christophe.leroy@csgroup.eu> References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d819a140-1d10-4cff-d2e9-08d9c3d724e9 x-ms-traffictypediagnostic: MR1P264MB2161:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /lHcZkeKWrHTzjw93/8q0Z9NJVMIySfieR5hxV503U6PEHEmIvULZYVig/iVgNzgW0/h0J6aqrgl5lW/YjmRIT590oA1mYK43rOUX2NuIrbzobzCUtORcmDTEq93fwa5RfEbPH+c5B8LK7O1dutozcLQAr0zvJjXjozXIusLThx5rWX/RULc68H4+WMLP05IKQYOTBV7RKIIis+lnaSFSIio6U8gVpYhuy/KMwOh+qF1ihd2RadRejjrrRvinRT48oxlFFU6AVxzP6WT2j88oMzLplxv5u7HGxmvyXyJPuvndJCErM5bOiW+enRGX51/aII4RSv9BCpLkarnSNP17SsIc+DM06qXzEc7DwYZV3HiEf91Qn7FTrjk2GLUf6mzrv9fY8Q+knEzbi2UXwcqoGh9TmQQgyll92D176csCW2WLHMmrahqT56L3gV74es/bUBOYmIJ2hkciTV4raqMzn49kbSTCWramC4uEHI9p6k9jyXOf2EBMymYbsoszf0g8gLHFRGxn693zQ1yCWqQJWuWBB+IyGwVu+bw/Brg7LudUPpYznviad1FJjpqAmf7KuEs4MMa/5FNdV+WPh36KTN37Qlswxyyr+G8/Yv0ATjko77FLZlVDBHKk69ASs9SC8jAO9JdwdSAKFLB0Ml6NBjbK9JJXQJGzZnp5Tt0fQNeNccOjraFH0CRmrq9mKQjZa/x2GqrR+OGsVUkR+jq9A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(6506007)(508600001)(83380400001)(86362001)(2616005)(8676002)(71200400001)(4326008)(6512007)(36756003)(54906003)(122000001)(8936002)(110136005)(44832011)(26005)(316002)(6486002)(186003)(64756008)(66946007)(66446008)(2906002)(38100700002)(38070700005)(7416002)(76116006)(66556008)(66476007)(91956017);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?vIGJpk8xAeqSDRI3NAwOyJEZuPWX6g+rmgBeyMLCa9tUGfjpjAPelO6ojp?= =?iso-8859-1?Q?wbbJr2j21ybWD8PbOe9m2kmTYJd/VYrMfHp/9z3n+WmAw3Ykp4bdv6Yeom?= =?iso-8859-1?Q?OlrokVr8LXGMwAs9s5gBo5p9xrraWXUWBEnwJ6hYqr61eEre6R88N0tEX2?= =?iso-8859-1?Q?3F7TlL0//DKlp3ENFF7BgVirKPkbA8j9W89S0lDiS5NB/Bj3Vbep+ESru9?= =?iso-8859-1?Q?kpch2mMGDyrqjKQGGAq/7hgmanjlAET38GTAXiRutpHNwCnprueme2YyVD?= =?iso-8859-1?Q?mjkaBtDXg3HahQM8qg53q3//wrItKeRVRz/YeZ/wz7eyRbJER0E95q7rYn?= =?iso-8859-1?Q?gPTVnKoT+AhyjjiF56K0eCNUDHB9uQu8PHoYpNXmjkBbMlElKZTS4cJLXl?= =?iso-8859-1?Q?qDUL+SZjH+Cl3rQoSoz3YAdsMHLY4vYZFF1hZAKz6s0A593hBKEQStobfU?= =?iso-8859-1?Q?X4CxRTbiyUKbQ2GSxunVY8U1G0+IoxyK4xUe5G4T2dw2ABRzVtA81ttFbQ?= =?iso-8859-1?Q?mN8GP8GZ1BfPXrQuW2vc2AAM27ZgRtzMsJyZMdmuFz+DBuUSFR4IyK7kg3?= =?iso-8859-1?Q?E8FoM4B+INaJVYQJoZJL/RBqh/3CRl+lTN/PfM7RVVjVtWv5Ez4zQjP5dI?= =?iso-8859-1?Q?RID4TynkKRBiNBbUEjyNuGVnlauR5WgCVKfoVa8xpjNl6T8AN6ccbR3TIP?= =?iso-8859-1?Q?cbD4qr7bKbpi7/9vFY25zOerFWDOm8NgtJhcRRbQFa9DSD98V9oy73NWUv?= =?iso-8859-1?Q?WlYiyiAKKtOf/Qie9FfYNtKAyOCEwiaH/iOhdE5j8qRGp8IK+6mSDo8lwd?= =?iso-8859-1?Q?I5vZCrCavsWgvNQEps9O2GNjleCp3gwp74xXfn6S2O7zc/4vzR5UQi3ov3?= =?iso-8859-1?Q?3tAayQwMpth2uIKOx74nr0i8pQ86tdQoV1txjz++E4hKBscQokEtW/t/YQ?= =?iso-8859-1?Q?q8jfGpyN11mTMlS3CPmrXtVXflnGR/LVjcm/K9AA5RWCHwQ9NG/TESPjYz?= =?iso-8859-1?Q?uqIACjlxaCA/3F3PY20cIjmQQbQPMqRmLGepRequ+ix1sl5e0XGJIruQTc?= =?iso-8859-1?Q?dZiNVIcNNMij0X3S0Jh3yXZ6Atuq/27HiVr5MWqGqDVBwMevv0Z7/jMG7q?= =?iso-8859-1?Q?ye9wDDU07zTZ4412fLe6fSnmOJijI7UND4inQ0k94RXL4CQCV8AK9Y3QNe?= =?iso-8859-1?Q?iDbjZc5rm8D85lTV5tBwP+btiWWh8Ycikq/pk7rMi4T/p9HIdAhW5LxaJ/?= =?iso-8859-1?Q?I4vYPLi5GfGq0pjsKPNG6FK2I6DpLmLkl/fMxb4qPDdqZahfvPS3BkEkGK?= =?iso-8859-1?Q?oEV+ORRou2b2XWLoYGCTqwMF3K42zGCAHtJcEFF3lQetpCY8UWnVhO5LnK?= =?iso-8859-1?Q?5qyIFQ4GG6gNO8qxV4diLHnkCmCDm18oTW46sTc7+2EWNVUd868hOfp7oe?= =?iso-8859-1?Q?CGcX4qxMcscXPzMrMizPqoUWQ6M+/MINHxYaJlT9y4VXijqHe85WQp0aay?= =?iso-8859-1?Q?APwPPpZL1xVpNBMmYQ61EyTpht1abMKkmeSP2rJ3vzqOLpiQP5qVm3ujsJ?= =?iso-8859-1?Q?zVE5dhD1AH6YJ8RZgaVYcZpmn2iMVzlmz6FJ+3vu8ZbqdqYzC6TDEaeNZ8?= =?iso-8859-1?Q?hfdEGB7l69EyO7CedO1Fg3wAbLdZNlGvI6gAy+TwAuKhdCZTGxM4RIHmKo?= =?iso-8859-1?Q?vCAbTltJ8Bds9tXFhPuDR8qH1izjTribsCt/g2/29uQA+bui/yahwovELD?= =?iso-8859-1?Q?kIhRNoxuXp4IXHY6WSsD5QrBw=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: d819a140-1d10-4cff-d2e9-08d9c3d724e9 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:25.3699 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6amDrLrHoIZS+eGHRs7sQ8Jd/QlRfTVAZF4Dki45NN+a/ibA+u9AyyD0Xy2DUE7Vj9gSsWXKdGxQsckGcvj3fFxvLMtD4gXkHmJFYhINMqM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2161 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" In order to implement CONFIG_DYNAMIC_FTRACE_WITH_ARGS, change ftrace_caller= () to handle LIVEPATCH the same way as frace_caller_regs(). Signed-off-by: Christophe Leroy --- .../powerpc/kernel/trace/ftrace_64_mprofile.S | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S b/arch/powerpc/= kernel/trace/ftrace_64_mprofile.S index d636fc755f60..f6f787819273 100644 --- a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S +++ b/arch/powerpc/kernel/trace/ftrace_64_mprofile.S @@ -172,14 +172,19 @@ _GLOBAL(ftrace_caller) addi r3, r3, function_trace_op@toc@l ld r5, 0(r3) =20 +#ifdef CONFIG_LIVEPATCH_64 + SAVE_GPR(14, r1) + mr r14,r7 /* remember old NIP */ +#endif /* Calculate ip from nip-4 into r3 for call below */ subi r3, r7, MCOUNT_INSN_SIZE =20 /* Put the original return address in r4 as parent_ip */ + std r0, _LINK(r1) mr r4, r0 =20 - /* Set pt_regs to NULL */ - li r6, 0 + /* Load &pt_regs in r6 for call below */ + addi r6, r1 ,STACK_FRAME_OVERHEAD =20 /* ftrace_call(r3, r4, r5, r6) */ .globl ftrace_call @@ -189,6 +194,10 @@ ftrace_call: =20 ld r3, _NIP(r1) mtctr r3 +#ifdef CONFIG_LIVEPATCH_64 + cmpd r14, r3 /* has NIP been altered? */ + REST_GPR(14, r1) +#endif =20 /* Restore gprs */ REST_GPRS(3, 10, r1) @@ -196,13 +205,17 @@ ftrace_call: /* Restore callee's TOC */ ld r2, 24(r1) =20 + /* Restore possibly modified LR */ + ld r0, _LINK(r1) + mtlr r0 + /* Pop our stack frame */ addi r1, r1, SWITCH_FRAME_SIZE =20 - /* Reload original LR */ - ld r0, LRSAVE(r1) - mtlr r0 - +#ifdef CONFIG_LIVEPATCH_64 + /* Based on the cmpd above, if the NIP was altered handle livepatc= h */ + bne- livepatch_handler +#endif /* Handle function_graph or go back */ b ftrace_caller_common =20 --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 51D3AC433EF for ; Mon, 20 Dec 2021 16:38:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239256AbhLTQif convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:38:35 -0500 Received: from mail-eopbgr120072.outbound.protection.outlook.com ([40.107.12.72]:48800 "EHLO FRA01-PR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S239012AbhLTQi3 (ORCPT ); Mon, 20 Dec 2021 11:38:29 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TIEkOdmvi+tMk7E5qXfo4NvcyfRKNf7lD7H38mCWmITPD7hWIlQPwrF/MIC3qGFzAy2IwfZ04BkRBLq45hYrKKnf6t/rja3CuNl83W0JuNhdjntnT735+8UxqB3pwna1c0aBFZtnVWAT00j+PVEBtNThSy5PnAuSLVyLdM9Yx+ukNsduEeTunpAXy2TeQb+tGj/jHkjAES9D7AllP1vgoaegSvwbe6h/UotnXEAiNsCntgqYxI2DcknpPalNCpwLVxXejcHVYE6ddHghZ+opLd6NqbpvoLImrFRAI8XcBc9UDm+tDEWpkssEpFe5vyFZP105PPadxfahVDo0XRLvgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=64tEcR99sWdNnfbkyRKYpT7uG0hgGKM6Y5ExkSuSGPI=; b=UuZlnQ4rP7haM1NBm4Whx6wxQjlIzeGuOiA340vTnseY9z2D50Ygk+9vIrE7y6rhWxxTDasWDlGo+DSMhzhgOJk8YVNyODR/WiLI6az9iKmhOfGcR8YwDDp+87PYdT4hWqKBSTgUvEFN/upLK3Et2gA1xZFhz9pi80RhBDwPK5+SpKJn/506SBe3QYfhslnwN0j0ZM1mK+HnC/Qn9wcZxRmhnPTHhGBET8CYaFHvxBiU081D5FY/UcuWHGt50SFr+/FeJxBSEthZiqfVbkn6AAC1o2G4ABkqeawdA05EjuzhczWLMRkxNV+5wP0SUcDZRRVWRublTHoziiAaw2yL/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MR1P264MB2161.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:14::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.15; Mon, 20 Dec 2021 16:38:28 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:28 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 09/13] powerpc/ftrace: Implement CONFIG_DYNAMIC_FTRACE_WITH_ARGS Thread-Topic: [PATCH v2 09/13] powerpc/ftrace: Implement CONFIG_DYNAMIC_FTRACE_WITH_ARGS Thread-Index: AQHX9cAEWTCD8cHnLE+YV5TEx6NNVg== Date: Mon, 20 Dec 2021 16:38:28 +0000 Message-ID: <5831f711a778fcd6eb51eb5898f1faae4378b35b.1640017960.git.christophe.leroy@csgroup.eu> References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ca5a6680-ab6c-4e48-5883-08d9c3d726aa x-ms-traffictypediagnostic: MR1P264MB2161:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:457; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ye8CUmNd2lveU3NS3fLGfJr5fKUuJjXDf6XHtarEDTzqwqpVwrmhAtnG+hyQgy7s3s1uJpZgKGsUsiWU83TID+y0q9ShZt8NYelCzlqF7aBYvtko0iBy/dqXR877lYDmYWsEI30AvDayg5Ug4vnnGw2CjW2a6br/PfOrtQQ3R29zsPTwtlMg1Z0T768E3ieXRqoWXOGHS8njKo1JPDyRepBZDlRFtc9woMmFn8NwhVzMUYunbZ4EC4Ytrb6srOsJQ2f4CNvMbb5gi8lSuLKKdDtHVVBkDZHGQKl3Nn5pDhR64e7d+JRQsIY0/TXrItXn7xPJZlKoS5/SX1KJu2gyTRJ/jZLyv49B7nSQpS1D60Z+2hl1Gx3N/T4ktGDHsq6lz3NE7u5UXGZ9wzbcbFXOdUiuNmJSv69nzuUrAUej20tziDrIM+8EvdDehGez28QqXNsQiBj93M5qgiu5wdBOg3DGiXXN1Ejw3kmbvvAplpOU/IgbavqpDolgMDuaCqn2L7EGzqggCeRNU7+R3itSGyqPFkY5ePQg3T1fANUH10PuOALjAVLt/tysw2rJ9H0th1xDfyK2TIoTGOknQWRpA+mZT9NO6Gxz1JjF0u3D3dGMuMjKp0yLu5YfwvOZsCM9vD4BNPXnH7qtcxykcstXYxlczmpkwYY51sg2zinAIHxhH4EF+Z3eY+JvPtMctySJo1gvZm9DXV9g5N0HzyIHMw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(6506007)(508600001)(83380400001)(86362001)(2616005)(8676002)(71200400001)(4326008)(6512007)(36756003)(54906003)(122000001)(8936002)(110136005)(44832011)(26005)(316002)(6486002)(186003)(64756008)(66946007)(66446008)(2906002)(38100700002)(38070700005)(7416002)(76116006)(66556008)(66476007)(91956017);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?u+h1DKg03mn3h8dyvag2mL1q4w3+lFf7RRyjim/eBFO1S9ZQwtqDIYqkwS?= =?iso-8859-1?Q?XLiiD0DiCSj4n2VVP4DVkBFWOewAd2x4J1HOQB93O9bhBzCoRvp6+J/FO6?= =?iso-8859-1?Q?gFYs3v0I+LAujJtF9fFoNGm11bG7VQnQyQZb9fXN3VCT3RWwNaiUUaDgGW?= =?iso-8859-1?Q?9BIZPkxSk/xMZJrHWmRVs88w0KR6fo4e4SVkvAsWVPTRM5L00y5FM5Bm4c?= =?iso-8859-1?Q?qGtWm6QamRoacU5pNX6Oat8CL4Cs/n5J7g7oJ9UUoIGXHJ9EdhWuivMCwM?= =?iso-8859-1?Q?smQmx6JfEGLtAAWK8H4UqBqwhD+aRMapRpcrIyscW8pycxi5yqD0HLQVrN?= =?iso-8859-1?Q?WQnESZ+vqtULTFV88HWwwncrdDDt5AyG8baDJEld2ynddI3ZL9kYFofGu5?= =?iso-8859-1?Q?bNSYjgHDKP/AeQwJ/srCKkxPYqZW2NxWBS3tAc2aYBA/2T5ncTv02FeK+Q?= =?iso-8859-1?Q?S7hrvKXw+RO5c0msOlKlboN9u8OsHenJ4ZBiGqRaVrzFJqxwYkUX3XvR/M?= =?iso-8859-1?Q?bhsU7DPcOOzhFGUUWg9BXMdlOVxeI67J7gV9CIKydAjsqSZ44kYMSZUXrY?= =?iso-8859-1?Q?PKEsUrJni6yZU8oevr50eiJXwnzstcXxcJQi5KuGOvOHLwKL2bvD7jcuwJ?= =?iso-8859-1?Q?GcKRxYGXsioFrAKz1TEnC8zVscTbaHGDV3ZrzcBT8cN3ZjGTo+YKyt38vc?= =?iso-8859-1?Q?/fEpWJxoMYu8chp8T8z86n9HF22suwQybnCyNA8SGx/MrR5aZpubjRgkqP?= =?iso-8859-1?Q?NP4bRk8pw43kzjVqXsFrEiac8FZJpRSoNgXPQc/kYi9AqvDTKO7HorfTpx?= =?iso-8859-1?Q?Tp0AOQgrdKBYlAJQx62G1jtt89kcSFEIoFYmG+AKK6rRXJ4P8sdbj8/FcH?= =?iso-8859-1?Q?eMTFG99/MBB0VWJEOibKECfnkv3EOIiGQjb/SGIyIBK0owKxQymUFrF3Az?= =?iso-8859-1?Q?itg4MpAzFss2CtmV61WQe9Filla8Zoo18Bw6586vjKkxYXNzbpzk0fUMHj?= =?iso-8859-1?Q?626DDBpGCKDLRTcP+KTIJOHBMXN/k/73Pzvd1Xp3/jz0rNKNSRRFNNwk8c?= =?iso-8859-1?Q?Q0IxZ/B5+ElfmG9Pl+Lviyo8IjznS5ZcT/4hDtEGh+ygMIcv3AbsTwUV2+?= =?iso-8859-1?Q?nYtDLmDLSdQkumxftK83bmEu7PCMWo17EJVHZU0h8vtxyCbvva3ymMtP7Z?= =?iso-8859-1?Q?TNPjRymAw6N7u6vQ1F0w09tkDmU4dIQGBU2G0wHlAVa5sBXL2LCWTRszCp?= =?iso-8859-1?Q?lBgzhnwjDlXKlvsE8cHMPwWPDdpSJ4SpbPeLPlVRx1P8B+8U/0oBhMVrgT?= =?iso-8859-1?Q?WGCrLrV/v57kwA7G9ycVLD7OiDccp6BFD6t6E36WJE02kpcPlWr04q1Iov?= =?iso-8859-1?Q?VH4hsVccnLSxCmviY4fUD79WqDsXYiZKhtYAWFx+NqB5D8ezyZd80e4P00?= =?iso-8859-1?Q?FNDynCl9Uwh7/X6RQwyI1PsZqFcy2JatvL1dW6KCRH4T6EbNCIgQA32tME?= =?iso-8859-1?Q?2PV44SzzHHIi1rf5rvywq7BXaUEruggUBGn2AEbyAJUvvf60nqBP80vMm0?= =?iso-8859-1?Q?+/ffF/3oWFOY7uf+9oedBGDyVUnPHiXbSbrIElHH/4+u/9h+8fqpSRU36A?= =?iso-8859-1?Q?qJHDqtfpfCzckz3uSgwDYDj9nnACgUg50GsJERzk7VNHb7/JCo35Pzw8+d?= =?iso-8859-1?Q?++hkYtaqTJQjTjqS2Vj5V+8TDrD/6rIA6RbQM1g2sqDxCHqTcLjxinehe8?= =?iso-8859-1?Q?/Acr6scwZm59ynceWgS0e5WwA=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: ca5a6680-ab6c-4e48-5883-08d9c3d726aa X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:28.3093 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: VROQGSk8qPPxs42WBYxXsoyahGwSeOfCj6P+klKhEqPNKtVrrS88A4iwgC9H3oYTeYBfyQcOwR6mQHPJ4a204vksu5+zo9xiEgqsJz9tPq0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2161 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Implement CONFIG_DYNAMIC_FTRACE_WITH_ARGS. It accelerates the call of livepatching. Also note that powerpc being the last one to convert to CONFIG_DYNAMIC_FTRACE_WITH_ARGS, it will now be possible to remove klp_arch_set_pc() on all architectures. Signed-off-by: Christophe Leroy --- arch/powerpc/Kconfig | 1 + arch/powerpc/include/asm/ftrace.h | 17 +++++++++++++++++ arch/powerpc/include/asm/livepatch.h | 4 +--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index cdac2115eb00..e2b1792b2aae 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -210,6 +210,7 @@ config PPC select HAVE_DEBUG_KMEMLEAK select HAVE_DEBUG_STACKOVERFLOW select HAVE_DYNAMIC_FTRACE + select HAVE_DYNAMIC_FTRACE_WITH_ARGS if MPROFILE_KERNEL || PPC32 select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL || PPC32 select HAVE_EBPF_JIT select HAVE_EFFICIENT_UNALIGNED_ACCESS if !(CPU_LITTLE_ENDIAN && POWER7_C= PU) diff --git a/arch/powerpc/include/asm/ftrace.h b/arch/powerpc/include/asm/f= trace.h index b3f6184f77ea..45c3d6f11daa 100644 --- a/arch/powerpc/include/asm/ftrace.h +++ b/arch/powerpc/include/asm/ftrace.h @@ -22,6 +22,23 @@ static inline unsigned long ftrace_call_adjust(unsigned = long addr) struct dyn_arch_ftrace { struct module *mod; }; + +#ifdef CONFIG_DYNAMIC_FTRACE_WITH_ARGS +struct ftrace_regs { + struct pt_regs regs; +}; + +static __always_inline struct pt_regs *arch_ftrace_get_regs(struct ftrace_= regs *fregs) +{ + return &fregs->regs; +} + +static __always_inline void ftrace_instruction_pointer_set(struct ftrace_r= egs *fregs, + unsigned long ip) +{ + regs_set_return_ip(&fregs->regs, ip); +} +#endif #endif /* __ASSEMBLY__ */ =20 #ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS diff --git a/arch/powerpc/include/asm/livepatch.h b/arch/powerpc/include/as= m/livepatch.h index 37af961eb74c..6f10de6af6e3 100644 --- a/arch/powerpc/include/asm/livepatch.h +++ b/arch/powerpc/include/asm/livepatch.h @@ -14,9 +14,7 @@ #ifdef CONFIG_LIVEPATCH static inline void klp_arch_set_pc(struct ftrace_regs *fregs, unsigned lon= g ip) { - struct pt_regs *regs =3D ftrace_get_regs(fregs); - - regs_set_return_ip(regs, ip); + ftrace_instruction_pointer_set(fregs, ip); } =20 #define klp_get_ftrace_location klp_get_ftrace_location --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D735BC433EF for ; Mon, 20 Dec 2021 16:38:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238953AbhLTQih convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:38:37 -0500 Received: from mail-eopbgr90080.outbound.protection.outlook.com ([40.107.9.80]:41760 "EHLO FRA01-MR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S236296AbhLTQie (ORCPT ); Mon, 20 Dec 2021 11:38:34 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gdPOLxaL2nGuGIxK4L/+YKNO8vFjyUooS7uXA8gnjXb5rv+gNpUFEVdlrSZF35bMEsZevFbQkKgVXijhbsSPaLAX99qgktNailpY5S82Z80mzYVzVVRoP1b5Gc7aTjEFkrgtM3dIasQIu1TxKEAVq5De9UyDPCDi4wM/SRpK+XXPWd2KeO/Qu5sA/zTo+Pg8N5XjiOLJUkCkU97ieqzEJFjcdyIVa5GZuPLXmLGuW02PDHNbQADrj3ySVWa2Rr3FrIS17S4M70YLwSLD9e5AdqdeBCbNv8P5XlD+Ks5gj+rLccOw+Y6vZnRAKTw0yqtFNDExSCB/wJ/fj1Zm+sPPKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=0VnYTnU4UZib71s8A1qbE2QTy4FztFa9DLNZTJoEOz4=; b=GZnHA9kfZ6FBc/3K51Bo/45hekL9kLefOjjiWh3+0/Ya1vzlUbEDLZa8oeYKtATDzROespJBxbVZ6kBdHG01OxDH40NkIB4orpmiEo5MSOPTQMBcYTaFWRCo1ZNKvy59E0KZnx+0C8eJpKWiTS6yC8XgbStQibQ2zl0tci681aFMLMfVo55KU12CHBNFljUjmGGbg5UqdTql9588iEn2hUwTnDkXrPfdB7DRSgIE2y65zeIQ4GQqx7U42tzzl09Xk8Le4uPPV/p3J+m8zTOZdTuAKUwTOaSTQOOY2HolRGMqg24ujxzqnNfw7lYzH/wrNO5huFZn/ysz62Od8yVh7g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:1a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14; Mon, 20 Dec 2021 16:38:31 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:31 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 10/13] powerpc/ftrace: Refactor ftrace_{en/dis}able_ftrace_graph_caller Thread-Topic: [PATCH v2 10/13] powerpc/ftrace: Refactor ftrace_{en/dis}able_ftrace_graph_caller Thread-Index: AQHX9cAGmx9IDhU2XE6F7yRDPjZy2g== Date: Mon, 20 Dec 2021 16:38:31 +0000 Message-ID: References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3dd04941-70d2-4b4e-5a42-08d9c3d7289a x-ms-traffictypediagnostic: MRZP264MB2924:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:215; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R2v28u0WI+BdJN3ivesSUFhVzpNnkhhmqZcRTezxmy3L+JfpBCxx79Jn/Qk6fbl2/pw+jqhxNXDuVRfawKZHkF4mE3SG9A9ZgQ5JWTIvHDSeA/gz2F7jFy8ctHFJw/16z0xs7ESB2cdPU8knUehKuNaaWZcN1V8hEVDG5Lvs6woPMvmjoTCjd1GYqWNK0MNv0A/i9oXyQA45m/DJS5a+aGES4rPtrY6yOSXe47Lk/RZvmDqfjvp5voCEtxEvJhLvFiAR6AB9r1VD7yTgcH9Y8dQxCK6g1LaScaN+AvL2T7c964HH+KJNtJ/rMMVYJXs/qZyTvdClbOmaeNfXoXJvoOF7/xrwG/gsmv7l0MhhOHOR18raBHgJLg3C5XBcpoYQoig9zjubq2qAidct0cqMe/LUwVs5uJH20AbKmGm4ulpJyVs+NRsHQScBo4zfZYlzNH4PYsBfDwk0hZtsPifeTfftn9vsePV5b3vqSpB3uipNVloHvEKuYOUUpuqIDenhrD/Ksf263lnAWtIz3voc8KEYOZQLw2SVo/LM7o97QjYJpNij/tNHql2SeMo0cjkdspNNp82yhomELtC3CKk0SGr+9NcG49j8UW0jQ4Vt7sSJ1ePPo6MnPQO+VfegrJAV7SLjM42IRxk8XU00Posp1dxB4SwdVrdVFqlkbR7u6b7ZcgzykkxK69t9MyaaWJ8hCpMJ98jFNR7OisjG8MR7Pg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(5660300002)(2616005)(6512007)(7416002)(44832011)(2906002)(83380400001)(6486002)(66946007)(186003)(26005)(66556008)(64756008)(38100700002)(66476007)(8676002)(8936002)(122000001)(66446008)(76116006)(86362001)(91956017)(316002)(6506007)(508600001)(54906003)(4326008)(110136005)(71200400001)(38070700005)(36756003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?YMulNDEx/s7T3xr/Yzp9JBIZpnkFckNYfgGiSqtnbe1bOvUNRufx6GDmx8?= =?iso-8859-1?Q?a1C5g+1SY0k8HgkWlYfNHFGzWDYRQ8rXEVZqLIXFJYXgmRUyyH+2N7J/Cw?= =?iso-8859-1?Q?a2/rSvBTF0qhFWPegwxH1H7W+5YsoY2ZivAnjMBB418/RqKrfJhTvudygU?= =?iso-8859-1?Q?4SOzaWB90vFEluYqECtcHdAduqcGaEo+qJinY76o2Y6rKt3wx7dPpqMEvA?= =?iso-8859-1?Q?xCaThs/w6KHa0vpDjQm5dBXUBwkQccuWhA1+c70SzQgNACbAuXlntAi6mp?= =?iso-8859-1?Q?HBJhxq7cTMjhOrwP0fDZVTm1w9ltW0gri06U0MqWjwa0z2Y7m2e3f+lY9w?= =?iso-8859-1?Q?yHvOO0a2l3j8AhxRB2HEXF9kWoai+Q/EHqyVuVtgxfyfrth5KOgkblHcnw?= =?iso-8859-1?Q?Xk3STvUv1tbpIEGykyIcRbuIeMWJuPmrocg4Wl/7TGJrRX9wMO11bKxygZ?= =?iso-8859-1?Q?YjYJxZKr8cfMknnfcGIccr4DzKrAl0pNdQf3TkSmXrnLiZfDnELwJr5AAG?= =?iso-8859-1?Q?KOIs3IVKRPeT1EfpzGh2ZC7CyAiDe3WCzXAEXcXN5RpmQw8B5SXco/K8/l?= =?iso-8859-1?Q?Pf6Lz3ilifcFB0akLr1QA1ICpCiC2K7kMvUgVSBYSpNehzDYh8obcl04u8?= =?iso-8859-1?Q?gcdKfzBEqdvNTdlVayhn/nwUwnVOWcC+qioFx3xHyLoRaHGf5+tMeCS0SJ?= =?iso-8859-1?Q?tqJNtHlGmg7w6BpZV1mwHNahnnAiiLUVXUGzgIVMihLfwi6nRDKTW0l5dK?= =?iso-8859-1?Q?bL4m3gpzIcN+JqdIZ/5+yLQAh8xth39lHUMBZa/ZqXhfCgHNZhAkUYIz/O?= =?iso-8859-1?Q?JGGxhMwv+/9Hv3W71Tcn8K9m4P4Egu6CQko6l1XBXL5g2hQUdA4h0M3Fpo?= =?iso-8859-1?Q?twezn5kKlwTQdAga4h5ztoLM/dUjJnpI/6cSBz9bKAkLHPFiZoVXaumnT1?= =?iso-8859-1?Q?7V5/vlcRlDJAN9KVnNM0NKz7TJIsibodxQW8ab23ogPjRhVv/rnqVYVhMZ?= =?iso-8859-1?Q?SsGQJhnjXj+KnlRrDp3OY4GWser/ExQ2iAQn+N8b8FR3mmkGPUpF2dT1pI?= =?iso-8859-1?Q?82E8zb8HAeGFbHiv9JF3y/M/jJd/alGcC6h9uTG4idKXLP0fL3CQbPoEyG?= =?iso-8859-1?Q?f5e+aheBGF70eDap6KNQodUMmAYsd6GoI3j/l8wTLb8XrysbRvgMko1E9Y?= =?iso-8859-1?Q?b2q40W1G+OvWYT6n6/V7IoLQXFbkGlOLuS6ohZFpohfoxiSHfwj2LBiBiW?= =?iso-8859-1?Q?uWj2RpG1hd2wl0auGn8jc9Sg68k1cmypKL4GnNwcEImxnjCpsLiHK8O2pC?= =?iso-8859-1?Q?F+5hw484NNXCGknmp6MoNS38qIY4wL+Xa18LLzCGbGZ6nkPs6akEHPSwNx?= =?iso-8859-1?Q?Rk6hmM9vqNAIHFLZiJnxPfOftT9lO2OhvYGNp7Utmh1EOn414gdqrfelO+?= =?iso-8859-1?Q?f//yMEVYxA6assct7Uk7Z0sukkw7qkLAhhfeCUzimjXFI31p43iMhx81NP?= =?iso-8859-1?Q?5x94R0s5pZdtJ69ZuvfDuf/ri8Mx9mEDRUB5PJkm8aa+BMOi3lgGt1bQtD?= =?iso-8859-1?Q?rlNOA8XRVyUKeMG5weguvBna2F+O/rLjeu6zhJJtVsiSVv3qk3BxZPURNm?= =?iso-8859-1?Q?AMAwBvf/CQAKFP9AbgpdILL2GIFJTqm7ejexta+XqH1v5VTjWuv1BVvOIn?= =?iso-8859-1?Q?hSBSDQTx38BqECC6UbCL97Ab1XQ2C63sd5R2ELCfjFPEkuoW1+YaF8d2VH?= =?iso-8859-1?Q?/5MoKALSrBl7COYXZObFNP7r8=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 3dd04941-70d2-4b4e-5a42-08d9c3d7289a X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:31.5756 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hhhBE1R9yHi3oIEw7owcC0VeH5ui+srYpDgwnH1C+PnLn1kpBbO944LI4UR0TXh4mkXmPCem5n3gUg187TvkFJ99z3NPccxz503coePE3hc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRZP264MB2924 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" ftrace_enable_ftrace_graph_caller() and ftrace_disable_ftrace_graph_caller() have common code. They will have even more common code after following patch. Refactor into a single ftrace_modify_ftrace_graph_caller() function. Signed-off-by: Christophe Leroy --- arch/powerpc/kernel/trace/ftrace.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/arch/powerpc/kernel/trace/ftrace.c b/arch/powerpc/kernel/trace= /ftrace.c index 80b6285769f2..ce673764cb69 100644 --- a/arch/powerpc/kernel/trace/ftrace.c +++ b/arch/powerpc/kernel/trace/ftrace.c @@ -910,30 +910,27 @@ int __init ftrace_dyn_arch_init(void) extern void ftrace_graph_call(void); extern void ftrace_graph_stub(void); =20 -int ftrace_enable_ftrace_graph_caller(void) +static int ftrace_modify_ftrace_graph_caller(bool enable) { unsigned long ip =3D (unsigned long)(&ftrace_graph_call); unsigned long addr =3D (unsigned long)(&ftrace_graph_caller); unsigned long stub =3D (unsigned long)(&ftrace_graph_stub); ppc_inst_t old, new; =20 - old =3D ftrace_call_replace(ip, stub, 0); - new =3D ftrace_call_replace(ip, addr, 0); + old =3D ftrace_call_replace(ip, enable ? stub : addr, 0); + new =3D ftrace_call_replace(ip, enable ? addr : stub, 0); =20 return ftrace_modify_code(ip, old, new); } =20 -int ftrace_disable_ftrace_graph_caller(void) +int ftrace_enable_ftrace_graph_caller(void) { - unsigned long ip =3D (unsigned long)(&ftrace_graph_call); - unsigned long addr =3D (unsigned long)(&ftrace_graph_caller); - unsigned long stub =3D (unsigned long)(&ftrace_graph_stub); - ppc_inst_t old, new; - - old =3D ftrace_call_replace(ip, addr, 0); - new =3D ftrace_call_replace(ip, stub, 0); + return ftrace_modify_ftrace_graph_caller(true); +} =20 - return ftrace_modify_code(ip, old, new); +int ftrace_disable_ftrace_graph_caller(void) +{ + return ftrace_modify_ftrace_graph_caller(false); } =20 /* --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 189D2C433F5 for ; Mon, 20 Dec 2021 16:39:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239609AbhLTQjD convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:39:03 -0500 Received: from mail-eopbgr90080.outbound.protection.outlook.com ([40.107.9.80]:41760 "EHLO FRA01-MR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S239307AbhLTQih (ORCPT ); Mon, 20 Dec 2021 11:38:37 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KMCgw7vV2rV/NPz5gfMDPB0+GtG8dXq6VoEQxN1E9XFUKIGPYYnLLTdbe0bSPfmhaexoSCngmf2tSLRwY6KdcEiDJUXX7A0NIAQCu5rlXiUMwkkAkIkYHYjZfX+J0N/NpvqVoTJgEVinRbOQN5UvHxEB/rdHcf9IQImNMe4xcriXm6sAPEeZhHCKHOWe9QboCCFBKEZ/I58b50EYF9oVYOG+0Ya+na0R8nsjhB5gAABkMpdM/4ncErPuWokkN0KsGpmwTJCJpNlKjvpovIJbXNnratTQKJf8BsXHY6lmFfdrFD32Q27nkf0UmfGpq5ppvvrv4+AoB8wyE5pT276/Aw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=mlGFhRpivJRsxXv2BEZDItnzJ01x1b5FeBM7AfdVvTc=; b=fLJ8zBDfhbws9XS2KbIwLCKAbDuiKrgVINr5ln3jypckVVy84oHg7nlFTUnU6l0qekBkhqCxZkF3l/wEddgyIb1k8PrnbU8aEH+L/lZ8/cAfSZNjxU3Tx5Md9RejFyoWo5HlDGwo8sZ0A+WX1QVLJrV688nfxy4glm8VV+NcsWzpUxEC+qH3BfAr1V43ZKUFu6I9EOq0e0jHNFicZbyYuHEgNc+86IfpzrbF3BE1MK0xgzhKgi9D/cyyoCP3o8OowPq3jh2QKmSRRTgrwb1+TpkQtFCd27cQesXnagofwLJfMCWT8vHM8FNL7V9fSP3L+5wDUbKp9Nytcl2K5zqRjw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:1a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14; Mon, 20 Dec 2021 16:38:35 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:35 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 11/13] powerpc/ftrace: directly call of function graph tracer by ftrace caller Thread-Topic: [PATCH v2 11/13] powerpc/ftrace: directly call of function graph tracer by ftrace caller Thread-Index: AQHX9cAIYX+LNsRWi0aNGk8rp1sgmA== Date: Mon, 20 Dec 2021 16:38:35 +0000 Message-ID: <04d196585ff81bde06a000bd9c633a33a5b21130.1640017960.git.christophe.leroy@csgroup.eu> References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9e09557a-c4ed-4500-b27e-08d9c3d72ae9 x-ms-traffictypediagnostic: MRZP264MB2924:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6bNLk8X2jlTp0lIOu7OyL+c++Zjb+30OddoMDlZkHBR9tjFB3WauAfZ94V1Jd15xOu/Hdz4lX/f4LvSd7l2VSF1h9wcIsKctfdRl/lpD7T9PyLPZhcO46yfQ4mCPqyag+sp13m1ygTErpRNm8jKR/GkINx5aj6zW3gmeG6yM+GThl1d6oIu7LVK5Y/bZdmzJ/W8ERJt/E8N9ZwX4JQhuSI6pnlB/zi4XjGRCd9mdoIvty0QassGkmjo2T7vHMcEwKW15IMidqW5ZtQQFb8OlJqRfZ5NPtQNoL6coobpxfcznElALEMQFAjB6zKsjslGMyEBA6Q1tVvTtUBml+DRRqFSXPrGiDnjpehahYDY9YMdvVy7SX6FUVp5BYx9AM0RmF9Q2ZHmEsaW3TSbnflomaJIFQTiaYmbLj30h+elZTOE+TYHwVADDZaDsA3V894LNk0Ss168Aziw7jy9fxqoKj+F4FC6+z9scbDZgeZUxmrukEQBTuuA29gLZq3oaoJFZqRzuWLfyXY4IQUZTwBWRUVJ+01LMcHCDLYMizl+ER1ai69BNOw8LWE21Ernn0x0wc9nmUUvTELWGAFoON5lvi1DJAIbdSvOzEnvayUXQJhcfniKNkw57ig57K6r40QUdgvItaabFZSQ0wqaSNqAn36K9UuxbuJNt4auAljYbSuTsVhPetZLAFEMEmKfzgWfPU4B8vHLiyxUz8pOg3OCBBQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(54906003)(508600001)(4326008)(86362001)(76116006)(6506007)(91956017)(316002)(36756003)(38070700005)(110136005)(71200400001)(83380400001)(7416002)(2906002)(44832011)(2616005)(5660300002)(6512007)(66476007)(8676002)(8936002)(64756008)(38100700002)(66446008)(122000001)(66946007)(6486002)(66556008)(186003)(26005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?pXQMe5jBQv0IMpcDGcune8VzCNxK0eet7tX43Wohv0NmGKLfxKwJD8HT79?= =?iso-8859-1?Q?Zi+CPfPIMpmrsGONJh5ANzneFAIUKDQH3FVRr3E+lMWSdZhCmmr96OT/Dx?= =?iso-8859-1?Q?iOBlJu5hhJR8DxJJO3zrNbe+IoVHxVABaHXnFNTpOO3svNbBJkE2R1CTNd?= =?iso-8859-1?Q?i8E8HVxN8hgXZtK2ykq7cOJkr0jyRg5zEISEHGjZj+V2CcE7W3v1rqbyms?= =?iso-8859-1?Q?G0cC37z4kpaFCxccbaILYX8OAR7xlzjruNer7gxKP1wl1e49dArkd2io4W?= =?iso-8859-1?Q?TYf3RDpwrplrsS3aPYTkFUJcvsSyo3JaqcKPK6V1A1QlyVrlGUpl1fxo6U?= =?iso-8859-1?Q?/C8wPa5c1Rf9b6rVfmfvqCt6bvVBWfPfVFSfaPwK2RYvuD+6aV2K910tHA?= =?iso-8859-1?Q?QJp5fRdDLg6jlxSzZFWz9lnvw7QVlJUvZ1ZigqHSOsYFHPP6jkknerBGWo?= =?iso-8859-1?Q?XN/RqMd5CCMo4AD1WxO9cQ0uMbIO/u8t3enCEtQzpJ7uYiHKYVwCg/lacy?= =?iso-8859-1?Q?t6YqJyv543XLNgptJ0Ao9Xy2si2dzvKLOkf8gVwwi04i7kKEKckbGWuEeF?= =?iso-8859-1?Q?oHKm1kqIwUFFdJ6dEs+QS9AiOTi3P50+Sps+0w5RcsxOys15RoXrUr9MuS?= =?iso-8859-1?Q?pnX/DrXLtTyNMstbA8QiZ1Z60rGXO6n0HcxtC8xrlEcjU/akMEuDtJBrhG?= =?iso-8859-1?Q?InrDD//Yov6SeuuDNGG428Q6hqziuvDBQ7H+62129PkdDKdtjeEb36wGlt?= =?iso-8859-1?Q?VT6/UqJlwGQWPIwsvT3fXkSWPiDv2Ni+0dOQf5hODJwEQ+Y5KHksYX7UjO?= =?iso-8859-1?Q?L7EagBJogw0QpopE1IkLkssmmna5GJU5MP2hBaa+7C8Jq0GUA9d4KyiuGP?= =?iso-8859-1?Q?l2miyrMi7SbWOg/PLoYeikT3P91PM63vBafSkO3J5Jh/4PYamrDgAhlbCg?= =?iso-8859-1?Q?Vht1X5BB4JtOUry9SJluXRr0SHWZQCcxMNgXeSej1e40J4dJ5zmZ9aPr46?= =?iso-8859-1?Q?sv35k1ytHwhMs0wG6QvHo4xICZnYSqgzkKfhAHEbyFd7jkyV2YmAT/BObI?= =?iso-8859-1?Q?/fQP5vOvRQkoKPUUNASbgE6GBanOCUfNPjmTuGA8w9U264kWx0ee6+3PFy?= =?iso-8859-1?Q?FBDSkJGl7HHJM6qdc9ANCpx3iGSuo9B0Ohk4B4hQvTEf8ofBYVw0YG9xCY?= =?iso-8859-1?Q?bCch7iNTZv/2Md27TXAM2A6TlNVJtyL60mSmYRq7GjyhNMoBU2XShzv1Ih?= =?iso-8859-1?Q?okx16UhNiH33nJlLahUHN17+hF/+ia0QJ8jisPxl7NItPemS8oaASi5eSi?= =?iso-8859-1?Q?3VY3JhxCXyqA5htbUQNQ0fkyOpuxo/2/JmSTn5EmdO9XW7pZpPrc3+w2Al?= =?iso-8859-1?Q?XgvimStDRT4RAuwyghyNSv3u1m9iYSqnW8nq5c3t5JOJqpu4jM2eoV3stb?= =?iso-8859-1?Q?fd3o33DDJ4FXAJZSjTTHOQwzpSBDF1KL4CfifZtUDB4lsZxB6EKR9x1qO+?= =?iso-8859-1?Q?b+2ySVgnP8499HspQMlCK807Vfx3GU9GbOzFnPTRzShUgRpE5hCUyrUcns?= =?iso-8859-1?Q?MEZIDE6kOHiFVOmkw5+OIfdlb2DO144laZ63Q/HVbp0eJ8GNOe9JUDZrZg?= =?iso-8859-1?Q?l3K1OFQ+/iyCo+oC4f9AWJOmUGv+qeBcc5WkJJEgfJetX3WEMv84vpXTQa?= =?iso-8859-1?Q?pORSMwQ2/AsMdXar4ZvsWqBoKNMZILpCB/ofNItYpEEVGo9PZ8QLc8qx9r?= =?iso-8859-1?Q?qLNtxJb/SgvAJRBEl3vDbunUc=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 9e09557a-c4ed-4500-b27e-08d9c3d72ae9 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:35.4198 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /2ph3MOnicgFAwEOXNkkVrIkDKKATlyF2saK+v2xDxEDD3AKsqzMs00YOas9Pgbq9DOw+11ozptzWFcYNmAM8ee+EeovFxjA8zpfzEXZJ4o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRZP264MB2924 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Modify function graph tracer to be handled directly by the standard ftrace caller. This is made possible as powerpc now supports CONFIG_DYNAMIC_FTRACE_WITH_ARGS. This change simplifies the call of function graph ftrace. Signed-off-by: Christophe Leroy --- arch/powerpc/include/asm/ftrace.h | 6 ++ arch/powerpc/kernel/trace/ftrace.c | 11 ++++ arch/powerpc/kernel/trace/ftrace_32.S | 53 +-------------- .../powerpc/kernel/trace/ftrace_64_mprofile.S | 64 +------------------ 4 files changed, 20 insertions(+), 114 deletions(-) diff --git a/arch/powerpc/include/asm/ftrace.h b/arch/powerpc/include/asm/f= trace.h index 45c3d6f11daa..70b457097098 100644 --- a/arch/powerpc/include/asm/ftrace.h +++ b/arch/powerpc/include/asm/ftrace.h @@ -38,6 +38,12 @@ static __always_inline void ftrace_instruction_pointer_s= et(struct ftrace_regs *f { regs_set_return_ip(&fregs->regs, ip); } + +struct ftrace_ops; + +#define ftrace_graph_func ftrace_graph_func +void ftrace_graph_func(unsigned long ip, unsigned long parent_ip, + struct ftrace_ops *op, struct ftrace_regs *fregs); #endif #endif /* __ASSEMBLY__ */ =20 diff --git a/arch/powerpc/kernel/trace/ftrace.c b/arch/powerpc/kernel/trace= /ftrace.c index ce673764cb69..74a176e394ef 100644 --- a/arch/powerpc/kernel/trace/ftrace.c +++ b/arch/powerpc/kernel/trace/ftrace.c @@ -917,6 +917,9 @@ static int ftrace_modify_ftrace_graph_caller(bool enabl= e) unsigned long stub =3D (unsigned long)(&ftrace_graph_stub); ppc_inst_t old, new; =20 + if (IS_ENABLED(CONFIG_DYNAMIC_FTRACE_WITH_ARGS)) + return 0; + old =3D ftrace_call_replace(ip, enable ? stub : addr, 0); new =3D ftrace_call_replace(ip, enable ? addr : stub, 0); =20 @@ -955,6 +958,14 @@ unsigned long prepare_ftrace_return(unsigned long pare= nt, unsigned long ip, out: return parent; } + +#ifdef CONFIG_DYNAMIC_FTRACE_WITH_ARGS +void ftrace_graph_func(unsigned long ip, unsigned long parent_ip, + struct ftrace_ops *op, struct ftrace_regs *fregs) +{ + fregs->regs.link =3D prepare_ftrace_return(parent_ip, ip, fregs->regs.gpr= [1]); +} +#endif #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ =20 #ifdef PPC64_ELF_ABI_v1 diff --git a/arch/powerpc/kernel/trace/ftrace_32.S b/arch/powerpc/kernel/tr= ace/ftrace_32.S index c4055b41af5f..2b425da97a6b 100644 --- a/arch/powerpc/kernel/trace/ftrace_32.S +++ b/arch/powerpc/kernel/trace/ftrace_32.S @@ -59,13 +59,6 @@ ftrace_call: mtlr r0 =20 addi r1, r1, INT_FRAME_SIZE -ftrace_caller_common: -#ifdef CONFIG_FUNCTION_GRAPH_TRACER -.globl ftrace_graph_call -ftrace_graph_call: - b ftrace_graph_stub -_GLOBAL(ftrace_graph_stub) -#endif /* old link register ends up in ctr reg */ bctr =20 @@ -135,52 +128,10 @@ ftrace_regs_call: =20 /* Pop our stack frame */ addi r1, r1, INT_FRAME_SIZE - - b ftrace_caller_common - -#ifdef CONFIG_FUNCTION_GRAPH_TRACER -_GLOBAL(ftrace_graph_caller) - stwu r1,-48(r1) - stw r3, 12(r1) - stw r4, 16(r1) - stw r5, 20(r1) - stw r6, 24(r1) - stw r7, 28(r1) - stw r8, 32(r1) - stw r9, 36(r1) - stw r10,40(r1) - - addi r5, r1, 48 - mfctr r4 /* ftrace_caller has moved local addr here */ - stw r4, 44(r1) - mflr r3 /* ftrace_caller has restored LR from stack */ - subi r4, r4, MCOUNT_INSN_SIZE - - bl prepare_ftrace_return - nop - - /* - * prepare_ftrace_return gives us the address we divert to. - * Change the LR in the callers stack frame to this. - */ - stw r3,52(r1) - mtlr r3 - lwz r0,44(r1) - mtctr r0 - - lwz r3, 12(r1) - lwz r4, 16(r1) - lwz r5, 20(r1) - lwz r6, 24(r1) - lwz r7, 28(r1) - lwz r8, 32(r1) - lwz r9, 36(r1) - lwz r10,40(r1) - - addi r1, r1, 48 - + /* old link register ends up in ctr reg */ bctr =20 +#ifdef CONFIG_FUNCTION_GRAPH_TRACER _GLOBAL(return_to_handler) /* need to save return values */ stwu r1, -16(r1) diff --git a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S b/arch/powerpc/= kernel/trace/ftrace_64_mprofile.S index f6f787819273..6071e0122797 100644 --- a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S +++ b/arch/powerpc/kernel/trace/ftrace_64_mprofile.S @@ -124,15 +124,6 @@ ftrace_regs_call: /* Based on the cmpd above, if the NIP was altered handle livepatc= h */ bne- livepatch_handler #endif - -ftrace_caller_common: -#ifdef CONFIG_FUNCTION_GRAPH_TRACER -.globl ftrace_graph_call -ftrace_graph_call: - b ftrace_graph_stub -_GLOBAL(ftrace_graph_stub) -#endif - bctr /* jump after _mcount site */ =20 _GLOBAL(ftrace_stub) @@ -216,8 +207,7 @@ ftrace_call: /* Based on the cmpd above, if the NIP was altered handle livepatc= h */ bne- livepatch_handler #endif - /* Handle function_graph or go back */ - b ftrace_caller_common + bctr /* jump after _mcount site */ =20 #ifdef CONFIG_LIVEPATCH /* @@ -286,55 +276,3 @@ livepatch_handler: /* Return to original caller of live patched function */ blr #endif /* CONFIG_LIVEPATCH */ - -#ifdef CONFIG_FUNCTION_GRAPH_TRACER -_GLOBAL(ftrace_graph_caller) - stdu r1, -112(r1) - /* with -mprofile-kernel, parameter regs are still alive at _mcount */ - std r10, 104(r1) - std r9, 96(r1) - std r8, 88(r1) - std r7, 80(r1) - std r6, 72(r1) - std r5, 64(r1) - std r4, 56(r1) - std r3, 48(r1) - - /* Save callee's TOC in the ABI compliant location */ - std r2, 24(r1) - ld r2, PACATOC(r13) /* get kernel TOC in r2 */ - - addi r5, r1, 112 - mfctr r4 /* ftrace_caller has moved local addr here */ - std r4, 40(r1) - mflr r3 /* ftrace_caller has restored LR from stack */ - subi r4, r4, MCOUNT_INSN_SIZE - - bl prepare_ftrace_return - nop - - /* - * prepare_ftrace_return gives us the address we divert to. - * Change the LR to this. - */ - mtlr r3 - - ld r0, 40(r1) - mtctr r0 - ld r10, 104(r1) - ld r9, 96(r1) - ld r8, 88(r1) - ld r7, 80(r1) - ld r6, 72(r1) - ld r5, 64(r1) - ld r4, 56(r1) - ld r3, 48(r1) - - /* Restore callee's TOC */ - ld r2, 24(r1) - - addi r1, r1, 112 - mflr r0 - std r0, LRSAVE(r1) - bctr -#endif /* CONFIG_FUNCTION_GRAPH_TRACER */ --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB138C433EF for ; Mon, 20 Dec 2021 16:39:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239252AbhLTQjT convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:39:19 -0500 Received: from mail-eopbgr90080.outbound.protection.outlook.com ([40.107.9.80]:41760 "EHLO FRA01-MR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S238949AbhLTQi4 (ORCPT ); Mon, 20 Dec 2021 11:38:56 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UuwqL2O+t9AxbX/l81Of0G/azZD5wTy4QtkC4Gw6r/EjhdMQ40L4DZEY3Hnm4kM9GAF3iSoxUIli+EQkbk/CmpxXyiWCEsPhkYd8E3tx6zzg7Z+FW1paGXSR8GqYT1kIe14YqG2PFM0ewEduaxFlX/kB64eU6yscUA0kXDBIL8/+f1Ge5NtOb0/6VkB5suPRrJmMlRggKSJWJbi4RlIoULZivfYyl+m/oFe122YOPVODX9kNvWQXl3QZsWp9lUSk9tQ7KJam0UQ/kI4zaqtI9AAW7lqLXeQ/2jvFOFVAw2XYkb8umUAKtk3z2MomV6ANrF9Jpi+49G1SgYbfOjZfCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=pSv65mcWN/H4kOX5txTNMmipXggQp13N2F9TK+PvtXM=; b=WuJxkqrgoEQLIW2y8YTHIa5OhvtavN3IfzCtnjQCAMKMPF3LmzDKadHyjF1SNG4CRSRwpAejbpwvV6oneG2dIK8MDy57cbSljWoIQkGVG+pPbTGyBaagU1vS2f/hG1W7U5PJxqOiaGXirMbFC7Dv/qcRIGjvxVCGAGxkH+0GFstKq34i/WO8FneYp5f8PGjXWuZflq9I+3FrtDxgP2Emlgbs7WKXz4O45KcnH0RJsxizmXiLcF6ln8kRhZG0fAWncU8vYvhX6DxKF/9wOzC0bgBqEvCBWxNgALH+cr01w524lP8/0qoS5HAm4JD1UZPbePM/Vsyxvs3qP+5jATj2jw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:1a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14; Mon, 20 Dec 2021 16:38:40 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:40 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 12/13] powerpc/ftrace: Prepare ftrace_64_mprofile.S for reuse by PPC32 Thread-Topic: [PATCH v2 12/13] powerpc/ftrace: Prepare ftrace_64_mprofile.S for reuse by PPC32 Thread-Index: AQHX9cAL+q8e/kpRIUG40cd4NXnolA== Date: Mon, 20 Dec 2021 16:38:40 +0000 Message-ID: <82a732915dc71ee766e31809350939331944006d.1640017960.git.christophe.leroy@csgroup.eu> References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e74b0652-1e0d-4da1-d312-08d9c3d72dd1 x-ms-traffictypediagnostic: MRZP264MB2924:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3+orbSCEMDSXONNywi3B/SuvJhCVH77G1EjP8WYm0Ejum0+rVD2WpKFSt3mQ7TGNI9iAxIX2PJnT4zMMFCLNgtJhRLdhxAONpujihVJ/PkPGIH7U4ykxnFmKt9pt7WGD1ALOHPYl1mOf+/rArPXQFW6SldXtgjsI67Rjm8XM6bj0jxNuFM4Sjlsvw2f2N+YkaxFfnqgEQwCh16g3cc38rNqXoBuj1pMNfQKBaCeeGAIdXrHdbxriPck+zHWopAtIpHvCs10fRc9O0xNwePYL1BjPxg0qhHEiuQWwjEmospiySUJx6oTV44xNF2GVhUhNCequSUC5PKlokKgFjjPNBMm01+Nxr3rhhFNZHskw+FPg9cAa4hiNB93C1cCdrlhiYZhX02G1+0Jo9Mf8NIamt/+Ve6o78X3Fsvp4PFhGuYiGhsC5R5T9tGUtzVgSHBTaULhZDrHprIqhi3xY8hMrkTG/igab+hy1smsVu4c9CixVzmNVM+SrXHzRBOxafgQkeMKq5451AXbHXmhsLEK0xKjEigXcKN+D04G/OYSfn4ouwK+DdNVXVPr7PdigQDwdqkDRMDo9aF8XHUjZQaRbqAX4twji0JmL9QoqiElvEZquxEoOJ8qOCQepcdoDJqUwtrOjWC/JP7n7TLgdIsIfnPTFW1yxrEtOeTMrFUnTMcbTVdY6fYbP1tDmJdxe0yg/1A+9bfcyqioYyWyOB/z98g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(54906003)(508600001)(4326008)(86362001)(76116006)(6506007)(91956017)(316002)(36756003)(38070700005)(110136005)(71200400001)(83380400001)(7416002)(2906002)(44832011)(2616005)(5660300002)(6512007)(66476007)(8676002)(8936002)(64756008)(38100700002)(66446008)(122000001)(66946007)(6486002)(66556008)(186003)(26005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?LmRKGlq+I+MG7gG70nw4LbIM6zolvMMwwR9Rw/Rn606+7KUHVRwuV3HOy7?= =?iso-8859-1?Q?W/z8a+LqMPKQD61Zy+3ZubE6jYJgL2cI/OxlZSIDJdt1Y4lVsrmsIc0rNN?= =?iso-8859-1?Q?l8AXjB7bMdhFchIAnZMOgHCbpVWe0zK85JZpqIejF6RPXjlNINlDkPCzFT?= =?iso-8859-1?Q?CQsci0Egi5PB3Bn59Li38UAeLHkfDBs5JMmJyoVnAeOScweHiWZGnIlVKj?= =?iso-8859-1?Q?XQi8IPPk48ftkQlDtLPnV3JqDiOZj3yph3qjHN/2jklFgGTbwFublj150V?= =?iso-8859-1?Q?0qHaYJp3SYY2yc5izj73WNCSVnOZNiBNin+rgwKsPuh39ZqwIagrVbXvGa?= =?iso-8859-1?Q?buCSwTMX2ldAPXMj9UXn/q//HxPY0eNsOrqMwbSqGnXHhbCvAJ7MJJ+182?= =?iso-8859-1?Q?gy2zPmKMaSivZOkYpiDyK+jh0d1U1yhp3y4r4gklBHWVOwxO71jWpHl9aB?= =?iso-8859-1?Q?BjsRVEZrR9KfugmlrTKHX68wchj758/Ry81AG2q2HZU5ZsHbQ9Cr694xit?= =?iso-8859-1?Q?9M3BF7PN0VG5IiFrXZTnZ5yZVDNWwI1lh+n+SYfgJnOyfic7dbJym7BHBG?= =?iso-8859-1?Q?PzvSfsUgvI32T3bdJRz3o4gJYDngHOSyq5JvNcaqDNFlzBw3h2/QwRysTr?= =?iso-8859-1?Q?gj85N1KvZ+72uPnjOtANxtVD7+y31p+K/KRQ3VwoKwcKMjwlBXuMfbQmZP?= =?iso-8859-1?Q?XwRUf8impO1wWITE2CG+YOS+iCoa1sKeHsbc0LqVL+GVr0l+P0UMjbbUVH?= =?iso-8859-1?Q?/Tbj9JkWolPw6/dnM5+hkyj4tSVS0rR/KhgaQTedh/HHDaXRHikkbdmqnp?= =?iso-8859-1?Q?5MvNkjzAIxZdE5qlpZEBTprnrsCZhE4aqmZg8cITTsseHf91khaA4rtScU?= =?iso-8859-1?Q?Y6dyBmtW5PZ2YzbLFWhno9wv1T+a2p91y/RVGrnNJOFXNddxQznF2SkQ3o?= =?iso-8859-1?Q?5KmwjOxuIDOlFAS7xJ78hyH8798djKC1sZ9Lo+opQB/4IQCK2OzSSzZeBN?= =?iso-8859-1?Q?UQ4/qAOXumXNQOdWApV1mBCHnwqu0OFfoL1NustZxjvawz9C8sDQoCz8Fy?= =?iso-8859-1?Q?2ZOQewexbGbzR+GF+QUA7dPK57w1dm9AblSMbk+83gSTnd2/CgR3NAoCmG?= =?iso-8859-1?Q?ghGJnZd6tsLTnxmLQ86dJQWQE6vWZ4BWmRXaxXlbdm+eiy+FYQw5MFjQhr?= =?iso-8859-1?Q?2wpsa5UMmfkkjfQ8REe52z5RfUQ/omyNcw3OmfJT23B3WgkDnNylmwfqaY?= =?iso-8859-1?Q?YCs5vOouvJaWzf12y9PuRwWhR1tVuDykum1Hz7J6LbHWELHmTUapwBjQR9?= =?iso-8859-1?Q?r6/P3eETHWOzvk2+3ynPn738THkIP0Vc/YougCqoUFL6ubaryZBPVMS8cH?= =?iso-8859-1?Q?hFyovUza95ImlnwLYbHpeph33uyPT55wcFq0U/4ATsWxUJsVUlpU7aJLmh?= =?iso-8859-1?Q?czvea1icJyM/Z1wTebio6eu5clxxvCHA5+SfsD7bcN7pUCHOF4h8X6Xbk/?= =?iso-8859-1?Q?bIO1SZfjHA4EuFMOR3c2N240QSrqI1qi6RSXvWiHJFelUpk+Tow2BHkhrR?= =?iso-8859-1?Q?TnOVUZlnSqjik4kqAXyil4aLU32ZalXwEZpYha8Cdtxv9VHTV/uyu+Hzox?= =?iso-8859-1?Q?UjImwzh9gixZLno1D+91unYA2k08iEwSOJbQovjaIho8uoC1PyJPWePrhL?= =?iso-8859-1?Q?Fly8GebnzJpPtiXz0za5DBZAuzhILqQk5nS2Ht/slbmUbv9nD4U0UrFFSo?= =?iso-8859-1?Q?HnFwC9p+ZA8tC28ZDo+Pb5l3g=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: e74b0652-1e0d-4da1-d312-08d9c3d72dd1 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:40.2809 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SDf2gStSrsuol/8WzM8vnBbRylINLwpJrLhpQqONz/LsV88Xd8ObngaFhhxLYz9T3P/oWdLg2woq7qlIK0tG4McJaZ1AxcJxKGyBmtx8MRE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRZP264MB2924 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" PPC64 mprofile versions and PPC32 are very similar. Modify PPC64 version so that if can be reused for PPC32. Signed-off-by: Christophe Leroy --- .../powerpc/kernel/trace/ftrace_64_mprofile.S | 73 +++++++++++++------ 1 file changed, 51 insertions(+), 22 deletions(-) diff --git a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S b/arch/powerpc/= kernel/trace/ftrace_64_mprofile.S index 6071e0122797..56da60e98327 100644 --- a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S +++ b/arch/powerpc/kernel/trace/ftrace_64_mprofile.S @@ -34,13 +34,16 @@ */ _GLOBAL(ftrace_regs_caller) /* Save the original return address in A's stack frame */ - std r0,LRSAVE(r1) +#ifdef CONFIG_MPROFILE_KERNEL + PPC_STL r0,LRSAVE(r1) +#endif =20 /* Create our stack frame + pt_regs */ - stdu r1,-SWITCH_FRAME_SIZE(r1) + PPC_STLU r1,-SWITCH_FRAME_SIZE(r1) =20 /* Save all gprs to pt_regs */ SAVE_GPR(0, r1) +#ifdef CONFIG_PPC64 SAVE_GPRS(2, 11, r1) =20 /* Ok to continue? */ @@ -49,10 +52,13 @@ _GLOBAL(ftrace_regs_caller) beq ftrace_no_trace =20 SAVE_GPRS(12, 31, r1) +#else + stmw r2, GPR2(r1) +#endif =20 /* Save previous stack pointer (r1) */ addi r8, r1, SWITCH_FRAME_SIZE - std r8, GPR1(r1) + PPC_STL r8, GPR1(r1) =20 /* Load special regs for save below */ mfmsr r8 @@ -63,10 +69,11 @@ _GLOBAL(ftrace_regs_caller) /* Get the _mcount() call site out of LR */ mflr r7 /* Save it as pt_regs->nip */ - std r7, _NIP(r1) + PPC_STL r7, _NIP(r1) /* Save the read LR in pt_regs->link */ - std r0, _LINK(r1) + PPC_STL r0, _LINK(r1) =20 +#ifdef CONFIG_PPC64 /* Save callee's TOC in the ABI compliant location */ std r2, 24(r1) ld r2,PACATOC(r13) /* get kernel TOC in r2 */ @@ -74,8 +81,12 @@ _GLOBAL(ftrace_regs_caller) addis r3,r2,function_trace_op@toc@ha addi r3,r3,function_trace_op@toc@l ld r5,0(r3) +#else + lis r3,function_trace_op@ha + lwz r5,function_trace_op@l(r3) +#endif =20 -#ifdef CONFIG_LIVEPATCH +#ifdef CONFIG_LIVEPATCH_64 mr r14,r7 /* remember old NIP */ #endif /* Calculate ip from nip-4 into r3 for call below */ @@ -85,10 +96,10 @@ _GLOBAL(ftrace_regs_caller) mr r4, r0 =20 /* Save special regs */ - std r8, _MSR(r1) - std r9, _CTR(r1) - std r10, _XER(r1) - std r11, _CCR(r1) + PPC_STL r8, _MSR(r1) + PPC_STL r9, _CTR(r1) + PPC_STL r10, _XER(r1) + PPC_STL r11, _CCR(r1) =20 /* Load &pt_regs in r6 for call below */ addi r6, r1 ,STACK_FRAME_OVERHEAD @@ -100,27 +111,32 @@ ftrace_regs_call: nop =20 /* Load ctr with the possibly modified NIP */ - ld r3, _NIP(r1) + PPC_LL r3, _NIP(r1) mtctr r3 -#ifdef CONFIG_LIVEPATCH +#ifdef CONFIG_LIVEPATCH_64 cmpd r14, r3 /* has NIP been altered? */ #endif =20 /* Restore gprs */ - REST_GPR(0, r1) +#ifdef CONFIG_PPC64 REST_GPRS(2, 31, r1) +#else + lmw r2, GPR2(r1) +#endif =20 /* Restore possibly modified LR */ - ld r0, _LINK(r1) + PPC_LL r0, _LINK(r1) mtlr r0 =20 +#ifdef CONFIG_PPC64 /* Restore callee's TOC */ ld r2, 24(r1) +#endif =20 /* Pop our stack frame */ addi r1, r1, SWITCH_FRAME_SIZE =20 -#ifdef CONFIG_LIVEPATCH +#ifdef CONFIG_LIVEPATCH_64 /* Based on the cmpd above, if the NIP was altered handle livepatc= h */ bne- livepatch_handler #endif @@ -129,6 +145,7 @@ ftrace_regs_call: _GLOBAL(ftrace_stub) blr =20 +#ifdef CONFIG_PPC64 ftrace_no_trace: mflr r3 mtctr r3 @@ -136,25 +153,31 @@ ftrace_no_trace: addi r1, r1, SWITCH_FRAME_SIZE mtlr r0 bctr +#endif =20 _GLOBAL(ftrace_caller) /* Save the original return address in A's stack frame */ - std r0, LRSAVE(r1) +#ifdef CONFIG_MPROFILE_KERNEL + PPC_STL r0, LRSAVE(r1) +#endif =20 /* Create our stack frame + pt_regs */ - stdu r1, -SWITCH_FRAME_SIZE(r1) + PPC_STLU r1, -SWITCH_FRAME_SIZE(r1) =20 /* Save all gprs to pt_regs */ SAVE_GPRS(3, 10, r1) =20 +#ifdef CONFIG_PPC64 lbz r3, PACA_FTRACE_ENABLED(r13) cmpdi r3, 0 beq ftrace_no_trace +#endif =20 /* Get the _mcount() call site out of LR */ mflr r7 - std r7, _NIP(r1) + PPC_STL r7, _NIP(r1) =20 +#ifdef CONFIG_PPC64 /* Save callee's TOC in the ABI compliant location */ std r2, 24(r1) ld r2, PACATOC(r13) /* get kernel TOC in r2 */ @@ -162,6 +185,10 @@ _GLOBAL(ftrace_caller) addis r3, r2, function_trace_op@toc@ha addi r3, r3, function_trace_op@toc@l ld r5, 0(r3) +#else + lis r3,function_trace_op@ha + lwz r5,function_trace_op@l(r3) +#endif =20 #ifdef CONFIG_LIVEPATCH_64 SAVE_GPR(14, r1) @@ -171,7 +198,7 @@ _GLOBAL(ftrace_caller) subi r3, r7, MCOUNT_INSN_SIZE =20 /* Put the original return address in r4 as parent_ip */ - std r0, _LINK(r1) + PPC_STL r0, _LINK(r1) mr r4, r0 =20 /* Load &pt_regs in r6 for call below */ @@ -183,7 +210,7 @@ ftrace_call: bl ftrace_stub nop =20 - ld r3, _NIP(r1) + PPC_LL r3, _NIP(r1) mtctr r3 #ifdef CONFIG_LIVEPATCH_64 cmpd r14, r3 /* has NIP been altered? */ @@ -193,11 +220,13 @@ ftrace_call: /* Restore gprs */ REST_GPRS(3, 10, r1) =20 +#ifdef CONFIG_PPC64 /* Restore callee's TOC */ ld r2, 24(r1) +#endif =20 /* Restore possibly modified LR */ - ld r0, _LINK(r1) + PPC_LL r0, _LINK(r1) mtlr r0 =20 /* Pop our stack frame */ @@ -209,7 +238,7 @@ ftrace_call: #endif bctr /* jump after _mcount site */ =20 -#ifdef CONFIG_LIVEPATCH +#ifdef CONFIG_LIVEPATCH_64 /* * This function runs in the mcount context, between two functions. As * such it can only clobber registers which are volatile and used in --=20 2.33.1 From nobody Wed Jul 1 15:29:51 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 70867C433FE for ; Mon, 20 Dec 2021 16:39:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239213AbhLTQj0 convert rfc822-to-8bit (ORCPT ); Mon, 20 Dec 2021 11:39:26 -0500 Received: from mail-eopbgr90080.outbound.protection.outlook.com ([40.107.9.80]:41760 "EHLO FRA01-MR2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S239211AbhLTQjR (ORCPT ); Mon, 20 Dec 2021 11:39:17 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VdmWSkfQDpqa4xHZcRYCPHUKh9x79lc8CAjdI8++mykZoX+1GDZL1FA5ORa+uIWdtScyR82S+NuCkCPRxJwDVMn5eNrNpdJola3eNPBbsxdWeyL2yQc7vZPztv/NToXbSAj/2/VQPjDKojcbeaxXw/9w5y6KGLMffW4IeGlbAO8tO+SGj2ta6RtqEQQSnITDFRCzWK4mvrjQ7mdaxegn/274A2o6yOqV1llFebZMTJhRsTJLFfSaFQu+qEV9CPNtzyMRTVSP+2Pe/TRF/ygS3jM88OSCWKwWVt2pv1hWfjLkQl0i2tnzXOo8tNmbHOnJuBatgU5U8mBaeiViKhOc+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=TkUBCfV/KAr2BLtbcPd8674cB+6q5dalBBqW+OZMYXE=; b=XiEN7fMM8mn7SzFDlq+UmigLSW4vrF2ytSq0Qv9/4wkIpA+NMrXFCEao7oB4SCCPDvH8fa8YOxnhRBV99lsjMjUcN+XDkiG2bVcO6On2pegkoh0jpB+Zsx04/D8B6gYnLv6S1/meYJcUgLopWEII/p0bgT2rxJD99F2kqxJx+Tz0Ot/GozfbVSyyFZqnqrUePoIApT1kC/1SLKIux2M8W6x47TE7jRRKP6j44DvqGbGU1J701KAJI/eeVKse9lcKt9oMFjfFdISB2ZNJ6dswepvls/GwPfEIqPTn7xOKt80N+t36G9d0nVXBatWxdywEG3gq8mHK2tVmQQTzqN+4Sw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MRZP264MB2924.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:1a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4801.14; Mon, 20 Dec 2021 16:38:44 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::f0ef:856d:b0de:e85d%5]) with mapi id 15.20.4801.020; Mon, 20 Dec 2021 16:38:44 +0000 From: Christophe Leroy To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek , Joe Lawrence , Steven Rostedt , Ingo Molnar , "Naveen N . Rao" CC: Christophe Leroy , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "live-patching@vger.kernel.org" Subject: [PATCH v2 13/13] powerpc/ftrace: Remove ftrace_32.S Thread-Topic: [PATCH v2 13/13] powerpc/ftrace: Remove ftrace_32.S Thread-Index: AQHX9cANkLxWh8GLFUiAdIcoDGxScg== Date: Mon, 20 Dec 2021 16:38:44 +0000 Message-ID: <5e837fc190504c4ef834272e70d60ae33f175d49.1640017960.git.christophe.leroy@csgroup.eu> References: In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=csgroup.eu; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1db79beb-01c7-43b5-c908-08d9c3d7303d x-ms-traffictypediagnostic: MRZP264MB2924:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3826; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OMw/fd3QZ8nrX3+3rMe+TEoMVMC0IRXOjeI6v0qmPqlKE2Lm/LKYbWdKGufCXjIINZrjQIeTE+ksTF++948GcH1QDoQ3k8j8239mnXJfh7EGtOxCT3foRtj1N66JeXCPgcGs03Xz9ipy+/t97T32Z9pxrIPFA29rWfAA36o2Vka6xWpHJqb3Vy01GIVO+lV8MNNJF7zXF5nHU+HhoZ44/pODwgW1ux7UhQFqNUX3UYOr5OkVTtEofQDKKo7MnMGtS2nLWm3s8uBwrnd0O6I2to7ZbBGuyChk54B6R6VKuJ/kebDf3K5IHzwPQ50kGLs/AMybCN14Egv6X2mxu5kHek5kRAahWQrxwPAhnghS1YUgLfVXo6jBCbbwGO1B3zVsdlUWut4YUCxRgWZeP9O43eIDPAs8noYLhABWshe/voX5R5IXg+nZ21++hFige17NPIqxWjRexpFKTV1vSCl2yQfEywpOsCeyHf2bkzK3txpNX/wgA6S18/0pE5gyqIoT/yvi661DDGQ2JAdc8OgJlekN/Qpt3jnug5n4KMwfOx5AnOhZFzVyvLWlwwTTJvXk2Kl0jp3W3zymoJAyS6x8sSI+ePtAE1zBTDzPqJpek5N4AhJ30hzI/Sa9Qky4SBmfhnBK57sWKl8QY494yHe5vUM61yCDFHGjXaJEcoZPpYpzWrGRCTj0TnWBoaSCDPa9NvlggYbiGyLrvrtewWn5Gg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(54906003)(508600001)(4326008)(86362001)(76116006)(6506007)(91956017)(316002)(36756003)(38070700005)(110136005)(71200400001)(83380400001)(7416002)(2906002)(44832011)(2616005)(5660300002)(6512007)(66476007)(8676002)(8936002)(64756008)(38100700002)(66446008)(122000001)(66946007)(6486002)(66556008)(186003)(26005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?7nhsr6vL0WjA9JH+sRa9lIo/3qpnLajBbfHlOIPVbfKd5AhEoutGOkEGg2?= =?iso-8859-1?Q?WL7vFwVobl+/TZrMjKF6RkOLOB2Agili/miQIjRSO5/m/jU7PMHvFUMrDk?= =?iso-8859-1?Q?+fVc0NqWz9YRQTeKULh0SZEgCrftfahVlZDUsVsj4uIj+ZdoEldn4Bryge?= =?iso-8859-1?Q?u2BOHDwXcj+w/W1B7WsR6FXIE8PdZtLbriXauaEtXXCDbRpj7yWKaFmAPE?= =?iso-8859-1?Q?JsaTvdcLaWvxheaQZ9CVzzy5+tmV4clGkaHn26VxdzrJ4jW4gxprLf3wRG?= =?iso-8859-1?Q?/X8jgagtS+t4c8aed2sSjJdQL2NWEoYMe2ihW6s5MJsfheQ2DJD4jVjh6l?= =?iso-8859-1?Q?yTe/jHENF8KJcXtmYrWh/tXrHVCH+9j6XvELCxkfVdUrJChcTXr3Uy2dac?= =?iso-8859-1?Q?lKQsN/TEX0J1n8Aq6uDnVwpZ0CAJDy7jR8+bNZ0OBN15/j0HIZIHHh6fRt?= =?iso-8859-1?Q?e3xt/YtDu86/GV7JPSQdVViP3whVAYwwEt96hourU78djRve2QSVZs7H1C?= =?iso-8859-1?Q?QxgHVjH2w/5+D0ZZFBo2ZQGQ+Pjs5mXlqlJljG+7sVz+rMxYieDaDfGiZR?= =?iso-8859-1?Q?AGiVZf5UshRbsvPzUCEm4fZhCGZW1Rtb8BqPRIjHLfthCrPXdnhju5wOZT?= =?iso-8859-1?Q?GqTIzzySD6+cu2Ah36KfnIMwDjxZaKboikTKU86V2gMHKwqIIOQ3+mD/Ii?= =?iso-8859-1?Q?ovElVtrN3bZtLHHZZTBvnQB39nXSxuPK9U1xtsz6ZkSX302BOWTl5W8zEr?= =?iso-8859-1?Q?d6OlDR+8hKvJMA710DqL5BzgsZy0Tguk+m7i5RApRzRqfsMuJ3n6P9bH0R?= =?iso-8859-1?Q?O0g64apecQo3dQ7b/tQa+vuJSqtjefqsPcXIsusaKHkM/ujVUwDOty++6/?= =?iso-8859-1?Q?XAxOuOdKu5afOsNaXn6Spfci90NRcInRIVQ1DHWyc2hy8aG17eiVmZFJEw?= =?iso-8859-1?Q?+chLKJXcCSAkG/Wzvw4nIEVtzfM1J6ElUFk6Ok3w5pLVgyJM1EB0JtgvNT?= =?iso-8859-1?Q?fsGFJaaJvYYTseqobz1l3QxLJXhmtnj5tbAltrCwSJ/WPXAzFqyPZEQIC2?= =?iso-8859-1?Q?LaocfqVwL0SjxejaDcLRyAwogL3K6zv3YYFsp26R3sSjYppRmD0N3hSOVe?= =?iso-8859-1?Q?XUPLOZ5qpWwx28j1Ks/uClD3fTs9lF2P57Svp4zi9/70NPA6MYqZuoQI7F?= =?iso-8859-1?Q?wRpWxlZRUYVo7ft83/A7ei5m3CYv98mm4vgdgXlbBRc0oCskj3g9doV1Y/?= =?iso-8859-1?Q?MelUCdTZryTGV0rUAQfkQW6syZgfpC/+cJXZWlzXhs/LzMmkpfmjV4Px2T?= =?iso-8859-1?Q?YHqlikt41tWZYGC/rEvnWhSj5U2+v4UxsBG1vWDcF92U9agGTeNhdFpg7X?= =?iso-8859-1?Q?RtmeCnzyk0rMaalb9Cl0v2BwswL4alC25D9PJm7Uj25fiBsgSuAvxR5G79?= =?iso-8859-1?Q?oRZFJ2uNouxkAelRNBtOyf0rvwhfoSJMUrzXndOfnf9eYnh+qzTwE3UBj7?= =?iso-8859-1?Q?QFgP1oJl+9tYeHW9viBGClNnNx/uOvb+VQsihJDQYqUZ+Z3q4D1S0TUfiC?= =?iso-8859-1?Q?o9axsB1ZBfFOM9AH/Q3WeXd6Vb17jkZo5uxH8kXOZCf+O4FJv83Q72sknw?= =?iso-8859-1?Q?aXmCfct8xAdt+5zF1QAaHZbfkMZi1O2AxBmx94M9vq1YfAPCdaq+Z8pGuo?= =?iso-8859-1?Q?IQm0eFMtGjlH7JXKFcZNGncuF6cZiHF0722lGlt7b5SYQJmvNK/ZS7iLN1?= =?iso-8859-1?Q?0RbTCFr/sWM4SzOwF4eVrbCQY=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 1db79beb-01c7-43b5-c908-08d9c3d7303d X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2021 16:38:44.3595 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: G3iu0kc0+Fypb3KD+oLz9Viam0kqfFpFqdfIZuMMzwYcdgrbBJVRpX8kabraFSngL3qjIJw43A2bzU7pJB4XgYJt730PZ1G58VwyIV6Oh3w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MRZP264MB2924 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Functions in ftrace_32.S are common with PPC64. Reuse the ones defined for PPC64 with slight modification when required. Signed-off-by: Christophe Leroy --- arch/powerpc/kernel/trace/Makefile | 7 +- arch/powerpc/kernel/trace/ftrace_32.S | 152 ------------------ .../trace/{ftrace_64.S =3D> ftrace_low.S} | 14 ++ ...ftrace_64_mprofile.S =3D> ftrace_mprofile.S} | 0 4 files changed, 17 insertions(+), 156 deletions(-) delete mode 100644 arch/powerpc/kernel/trace/ftrace_32.S rename arch/powerpc/kernel/trace/{ftrace_64.S =3D> ftrace_low.S} (85%) rename arch/powerpc/kernel/trace/{ftrace_64_mprofile.S =3D> ftrace_mprofil= e.S} (100%) diff --git a/arch/powerpc/kernel/trace/Makefile b/arch/powerpc/kernel/trace= /Makefile index 858503775c58..ac7d42a4e8d0 100644 --- a/arch/powerpc/kernel/trace/Makefile +++ b/arch/powerpc/kernel/trace/Makefile @@ -8,15 +8,14 @@ ifdef CONFIG_FUNCTION_TRACER CFLAGS_REMOVE_ftrace.o =3D $(CC_FLAGS_FTRACE) endif =20 -obj32-$(CONFIG_FUNCTION_TRACER) +=3D ftrace_32.o -obj64-$(CONFIG_FUNCTION_TRACER) +=3D ftrace_64.o +obj32-$(CONFIG_FUNCTION_TRACER) +=3D ftrace_mprofile.o ifdef CONFIG_MPROFILE_KERNEL -obj64-$(CONFIG_FUNCTION_TRACER) +=3D ftrace_64_mprofile.o +obj64-$(CONFIG_FUNCTION_TRACER) +=3D ftrace_mprofile.o else obj64-$(CONFIG_FUNCTION_TRACER) +=3D ftrace_64_pg.o endif obj-$(CONFIG_DYNAMIC_FTRACE) +=3D ftrace.o -obj-$(CONFIG_FUNCTION_GRAPH_TRACER) +=3D ftrace.o +obj-$(CONFIG_FUNCTION_GRAPH_TRACER) +=3D ftrace.o ftrace_low.o obj-$(CONFIG_FTRACE_SYSCALLS) +=3D ftrace.o obj-$(CONFIG_TRACING) +=3D trace_clock.o =20 diff --git a/arch/powerpc/kernel/trace/ftrace_32.S b/arch/powerpc/kernel/tr= ace/ftrace_32.S deleted file mode 100644 index 2b425da97a6b..000000000000 --- a/arch/powerpc/kernel/trace/ftrace_32.S +++ /dev/null @@ -1,152 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -/* - * Split from entry_32.S - */ - -#include -#include -#include -#include -#include -#include -#include - -_GLOBAL(mcount) -_GLOBAL(_mcount) - /* - * It is required that _mcount on PPC32 must preserve the - * link register. But we have r12 to play with. We use r12 - * to push the return address back to the caller of mcount - * into the ctr register, restore the link register and - * then jump back using the ctr register. - */ - mflr r12 - mtctr r12 - mtlr r0 - bctr -EXPORT_SYMBOL(_mcount) - -_GLOBAL(ftrace_caller) - stwu r1, -INT_FRAME_SIZE(r1) - - SAVE_GPRS(3, 10, r1) - - addi r8, r1, INT_FRAME_SIZE - stw r8, GPR1(r1) - - mflr r3 - stw r3, _NIP(r1) - subi r3, r3, MCOUNT_INSN_SIZE - - stw r0, _LINK(r1) - mr r4, r0 - - lis r5,function_trace_op@ha - lwz r5,function_trace_op@l(r5) - - addi r6, r1, STACK_FRAME_OVERHEAD -.globl ftrace_call -ftrace_call: - bl ftrace_stub - nop - - lwz r3, _NIP(r1) - mtctr r3 - - REST_GPRS(3, 10, r1) - - lwz r0, _LINK(r1) - mtlr r0 - - addi r1, r1, INT_FRAME_SIZE - /* old link register ends up in ctr reg */ - bctr - - -_GLOBAL(ftrace_stub) - blr - -_GLOBAL(ftrace_regs_caller) - /* Create our stack frame + pt_regs */ - stwu r1,-INT_FRAME_SIZE(r1) - - /* Save all gprs to pt_regs */ - stw r0, GPR0(r1) - stmw r2, GPR2(r1) - - /* Save previous stack pointer (r1) */ - addi r8, r1, INT_FRAME_SIZE - stw r8, GPR1(r1) - - /* Load special regs for save below */ - mfmsr r8 - mfctr r9 - mfxer r10 - mfcr r11 - - /* Get the _mcount() call site out of LR */ - mflr r7 - /* Save it as pt_regs->nip */ - stw r7, _NIP(r1) - /* Save the read LR in pt_regs->link */ - stw r0, _LINK(r1) - - lis r3,function_trace_op@ha - lwz r5,function_trace_op@l(r3) - - /* Calculate ip from nip-4 into r3 for call below */ - subi r3, r7, MCOUNT_INSN_SIZE - - /* Put the original return address in r4 as parent_ip */ - mr r4, r0 - - /* Save special regs */ - stw r8, _MSR(r1) - stw r9, _CTR(r1) - stw r10, _XER(r1) - stw r11, _CCR(r1) - - /* Load &pt_regs in r6 for call below */ - addi r6, r1, STACK_FRAME_OVERHEAD - - /* ftrace_call(r3, r4, r5, r6) */ -.globl ftrace_regs_call -ftrace_regs_call: - bl ftrace_stub - nop - - /* Load ctr with the possibly modified NIP */ - lwz r3, _NIP(r1) - mtctr r3 - - /* Restore gprs */ - lmw r2, GPR2(r1) - - /* Restore possibly modified LR */ - lwz r0, _LINK(r1) - mtlr r0 - - /* Pop our stack frame */ - addi r1, r1, INT_FRAME_SIZE - /* old link register ends up in ctr reg */ - bctr - -#ifdef CONFIG_FUNCTION_GRAPH_TRACER -_GLOBAL(return_to_handler) - /* need to save return values */ - stwu r1, -16(r1) - stw r3, 8(r1) - stw r4, 12(r1) - - bl ftrace_return_to_handler - - /* return value has real return address */ - mtlr r3 - - lwz r3, 8(r1) - lwz r4, 12(r1) - addi r1, r1, 16 - - /* Jump back to real return address */ - blr -#endif /* CONFIG_FUNCTION_GRAPH_TRACER */ diff --git a/arch/powerpc/kernel/trace/ftrace_64.S b/arch/powerpc/kernel/tr= ace/ftrace_low.S similarity index 85% rename from arch/powerpc/kernel/trace/ftrace_64.S rename to arch/powerpc/kernel/trace/ftrace_low.S index 25e5b9e47c06..0bddf1fa6636 100644 --- a/arch/powerpc/kernel/trace/ftrace_64.S +++ b/arch/powerpc/kernel/trace/ftrace_low.S @@ -10,6 +10,7 @@ #include #include =20 +#ifdef CONFIG_PPC64 .pushsection ".tramp.ftrace.text","aw",@progbits; .globl ftrace_tramp_text ftrace_tramp_text: @@ -21,6 +22,7 @@ ftrace_tramp_text: ftrace_tramp_init: .space 64 .popsection +#endif =20 _GLOBAL(mcount) _GLOBAL(_mcount) @@ -33,6 +35,7 @@ EXPORT_SYMBOL(_mcount) #ifdef CONFIG_FUNCTION_GRAPH_TRACER _GLOBAL(return_to_handler) /* need to save return values */ +#ifdef CONFIG_PPC64 std r4, -32(r1) std r3, -24(r1) /* save TOC */ @@ -46,6 +49,11 @@ _GLOBAL(return_to_handler) * Switch to our TOC to run inside the core kernel. */ ld r2, PACATOC(r13) +#else + stwu r1, -16(r1) + stw r3, 8(r1) + stw r4, 12(r1) +#endif =20 bl ftrace_return_to_handler nop @@ -53,11 +61,17 @@ _GLOBAL(return_to_handler) /* return value has real return address */ mtlr r3 =20 +#ifdef CONFIG_PPC64 ld r1, 0(r1) ld r4, -32(r1) ld r3, -24(r1) ld r2, -16(r1) ld r31, -8(r1) +#else + lwz r3, 8(r1) + lwz r4, 12(r1) + addi r1, r1, 16 +#endif =20 /* Jump back to real return address */ blr diff --git a/arch/powerpc/kernel/trace/ftrace_64_mprofile.S b/arch/powerpc/= kernel/trace/ftrace_mprofile.S similarity index 100% rename from arch/powerpc/kernel/trace/ftrace_64_mprofile.S rename to arch/powerpc/kernel/trace/ftrace_mprofile.S --=20 2.33.1