From patchwork Mon Dec 20 16:38:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571116 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHlfD2QM0z9sCD for ; Tue, 21 Dec 2021 03:39:00 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHlfD16f2z3cC7 for ; Tue, 21 Dec 2021 03:39:00 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e18::612; helo=fra01-pr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-pr2fra01on0612.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e18::612]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHldX0hVQz2xtF for ; Tue, 21 Dec 2021 03:38:24 +1100 (AEDT) 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" 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/Cr6O0WdpKhw?= =?iso-8859-1?q?RdDjUkportSE6zqyOQMA/Ij+laigZm3UpDJwmzOqYLcGG9joBAJCVxZQ8rJ5?= =?iso-8859-1?q?KO47/9qx4Yr6d/ZyYEbSpmkfgt3m+rqE4/KdcfPKGUMXKhM41y1fwfjUYWHg?= =?iso-8859-1?q?wQLO5HYViw+hPreJErZFGz73R3tMDUqQr9ASUGpwljqSy59EFvQCA0MzQTpz?= =?iso-8859-1?q?BO6xAWHEe+Ubnq96rgzfsNWB1PmpHBcBaBR6T17AueLtn+xTF7tvXY/mC7fB?= =?iso-8859-1?q?hkYMox6og1O2ts1RNFobrAL7sSPhRi6hIeCp8tXviAdRHdiw6Ib1Yb5eB+tz?= =?iso-8859-1?q?+U5Kc/x1GOG89WaQpUVKk9gg8veMm0Q9YfX6/4Acu7NaIzMx4I2Pp1UrYG8a?= =?iso-8859-1?q?VjEQNgPvu4Bugdg2hWoPY1Y9s5VderCAUusRgpaWJAhPNe1wARHWzXduTbhj?= =?iso-8859-1?q?2v4V+NSSQNYOPjQQ+lRr6ohwKFEKSM7n6yggI5pXgropwLJuCpa2Nh31SF0+?= =?iso-8859-1?q?wpqjANNyKbwS0QZb96ZrksZbybCaWckPH01rZE4MDucYOGW25O9xQvKwJxZ+?= =?iso-8859-1?q?7LE1IRCdTLBklYdswSrysl2iOAqOKYH+57/JdAccpjXuuLUd/dd+dj+P9dXz?= =?iso-8859-1?q?cpzNmuoFS9OnCjlUNjXtpNiP48BhwOTUxgtIE8ragtiUxm0ZzrZN/MFJML3A?= =?iso-8859-1?q?vqcfShueVlwkQSUCVbFraH+oIaIZ2dD5BG+8jclUZQaZlyDg6VEVp59OAGkk?= =?iso-8859-1?q?Eca/ZXOrFkjLu9GXQPFD0oi1Kc+bJK8vvgoG1VAiB9hqAGytgXu3vxNRwhJi?= =?iso-8859-1?q?msZgi+dMn5Jlg8QOEZ5fb0sx4j2gRBwZR1e9F9VvgW9WJtWGPjp9TSeOHoDS?= =?iso-8859-1?q?PLvq3mIDemDZk7IysnO0zTk08kU+EzwenL1bToaiUCS4deTrqCKseiK9KSW2?= =?iso-8859-1?q?W4iMXaBeAgxKpM9rZbZShSHcNghWh9spV/vvv9yKtbovzXj2huBYM8VBSLUk?= =?iso-8859-1?q?ST69y2x1loVaIR0JiY7xdZIDY2LD99TimpvcUPdFm+qDpAQr2/ILdjHYPAK6?= =?iso-8859-1?q?7+KUZpJzVqr/unlr1AJRPa+2zT09Rgk/nbskgQNDtRDfVSGlwJ3qdJorK4NW?= =?iso-8859-1?q?FyChSq1G0K0xyvLvuWdJkH0B+hj8viJ1kbwz4SkTJcsfg2zI4RLBV9+mtOBE?= =?iso-8859-1?q?Fz2qO7zTEDkUytfkmune2Cf2SWvFgerIsYmF7Sy2JUtjW0h9U7620Lx5OkDU?= =?iso-8859-1?q?aFnfo2W0QlmxmK7NwKGUbqrkqSeNHfLjQtgUUowsLzlVp+CPo8M3d1VL01ph?= =?iso-8859-1?q?LRnR+RqvSch+N7ZUFBIrrEnPpzjH0SItZmMadbZww1QWwp9tjBFPs39gLZlb?= =?iso-8859-1?q?UnoqADSkffrYnuKDmgLrJT4DomFvtt/F7NpGpbN8SiLLZCwa0gDbRNxublz9?= =?iso-8859-1?q?o7c+LxctMQ9t6MvsjVR7MgtAEuEnynPp3+EJKHSAT99lUmNg0Bnk+SSSG6TZ?= =?iso-8859-1?q?lE8YhoH2G+OjXSiK+xpOoxh1m7QQQ5+8izIxFy8ef3ziRVkyPBynwmb5MwxI?= =?iso-8859-1?q?wdaSC9CcW/u0+F70sYCllYN7gFAov2ZJ37g2w6mSbpbi+WeCCdbtlOTKua/9?= =?iso-8859-1?q?oe4vDrKWZH8Cf3D2pbnuLE3Th3xQEuZ4sCb3dfCY0k/cLwaO1CVkBykbzLzl?= =?iso-8859-1?q?dsolODIIV2UdZqAiPlpWEhSJs6dA/Sn733RlvCVvyB9DvcQfCxjqdo6oAWKb?= =?iso-8859-1?q?89rY=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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 different size [-Wint-to-pointer-cast] 221 | sym = (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 'struct elf32_sym *'} from incompatible pointer type 'Elf64_Sym *' {aka 'struct elf64_sym *'} [-Werror=incompatible-pointer-types] 221 | sym = (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=incompatible-pointer-types] 312 | ret = klp_resolve_symbols(sechdrs, strtab, symndx, sec, sec_objname); | ^~~~~~~ | | | Elf32_Shdr * {aka struct elf32_shdr *} kernel/livepatch/core.c:193:44: note: expected 'Elf64_Shdr *' {aka 'struct elf64_shdr *'} but argument is of type 'Elf32_Shdr *' {aka 'struct elf32_shdr *'} 193 | static int klp_resolve_symbols(Elf64_Shdr *sechdrs, const char *strtab, | ~~~~~~~~~~~~^~~~~~~ Fix it by using the right types instead of forcing 64 bits types. Fixes: 7c8e2bdd5f0d ("livepatch: Apply vmlinux-specific KLP relocations early") Signed-off-by: Christophe Leroy Acked-by: Petr Mladek Acked-by: Miroslav Benes Acked-by: Joe Lawrence --- 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; } -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, const char *strtab, relas = (Elf_Rela *) relasec->sh_addr; /* For each rela in this klp relocation section */ for (i = 0; i < relasec->sh_size / sizeof(Elf_Rela); i++) { - sym = (Elf64_Sym *)sechdrs[symndx].sh_addr + ELF_R_SYM(relas[i].r_info); + sym = (Elf_Sym *)sechdrs[symndx].sh_addr + ELF_R_SYM(relas[i].r_info); if (sym->st_shndx != SHN_LIVEPATCH) { pr_err("symbol %s is not marked as a livepatch symbol\n", strtab + sym->st_name); From patchwork Mon Dec 20 16:38:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571117 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHlfl6rNLz9sCD for ; Tue, 21 Dec 2021 03:39:27 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHlfl5bfHz3cQx for ; Tue, 21 Dec 2021 03:39:27 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e18::612; helo=fra01-pr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-pr2fra01on0612.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e18::612]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHldX4jSmz2xtF for ; Tue, 21 Dec 2021 03:38:24 +1100 (AEDT) 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" 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?hwLLSBfAKy6MWFfcs21QYeL?= =?iso-8859-1?q?kcgabQP1iOuN4qx/TEYl3J3x9JLg1n+gQb7xEon7Zj8O1+oIWdlqtZzH0+ik?= =?iso-8859-1?q?MLG888SiNVA5gah0ehhgf2AMrbzyvILk0yIm9IbdVmOg1vPBluUsGEgefa36?= =?iso-8859-1?q?8+awlvyWsGFnSFqiBs3lOGU6/NKu9xASS2YQa83Y8b2dDd11r2wsqHJYZZ31?= =?iso-8859-1?q?tO8KFHa42x3+oAz2ZLjd4dGdSsfFU0xTLZ9sqjm3KnWT4XmajRMSZGbsU6UZ?= =?iso-8859-1?q?YI/uUTPzqvMxMA4yWreDjg0WFyB1mnbAymnumILxlVwYF6iARTOys/cmklHj?= =?iso-8859-1?q?hUkuIDrFzJudqYw+LAdpZ4P1nP9Roa3Db1UOr1E/AbnSLhv7kJp+O9riw5sY?= =?iso-8859-1?q?zoiNzIDrXe6KPIaMh6xlgmyvSy0cfb/q21EFzdP7B1Nxbn0iAZXbMIYAwkQX?= =?iso-8859-1?q?ITVcTlduQ6LlWoZ30dKuEM7IIQ8dvxUC8tiGCZx5KAs3x7MYzmzF3yZnCe6e?= =?iso-8859-1?q?HnjXm8pQMgY4ycxcDUNDJrTP7SwAapYzPGswbYfonJRADNZj80I49wPL+2S/?= =?iso-8859-1?q?Gj2v0wCDuKM+hVQj9pismVjYOh0jkYDgHrsnsDksHueFrd6j6ZSoUf/Qcea/?= =?iso-8859-1?q?b5byVxzURo1ukY/X5bAmqyCY1s6h7Nd+7BFpzBd8QYS38nDOyqCG5R38+XVv?= =?iso-8859-1?q?/ajWkqfLXu2nAfmBw5DDKSDB5TYYLmWTgfT8e9KlAfXUXOoILCeiMtAagy8H?= =?iso-8859-1?q?QAQeF2tmf/FHdOANCZJd+lEIOui4qbz7gLrzVX2NGRJWyPergr1mMZDh+uqO?= =?iso-8859-1?q?ZZgWSrvzlEIGOG7JeLpcsWDkmd0lQ3TRSIDs+tkuTu5YUsWai5dan7Gu+Y+n?= =?iso-8859-1?q?+9LxDtan62YPh77Lo97cVq7B+7SQPr2myFCinvk6qRQjuHKFUcX7lgmwQd0X?= =?iso-8859-1?q?GdTko1XuLpJGRVoiDfK/5uV40ijZNCazQ555uheaof0+dZGnqN7/R3O65IGY?= =?iso-8859-1?q?VkuuhjEGtjG6MUdipsP77Bnbmsp06MEsztZ7jGBzQNeFDHBbuNIL7JN10r8d?= =?iso-8859-1?q?Dj7LG1UVcqTX8THwSLZFTEOb52NFcRNb+2boqJFnWCpdYf0tVuEDiG6cZ/7a?= =?iso-8859-1?q?VajJ8WpYl8byQnQYgJnxaJFFMduX7UNDvSzlFx4qtXIQlXgLC7QAz+5Z6qFs?= =?iso-8859-1?q?8U+UcCl8MxEJaj9d5eno9mYGFKQwy8f41R3RjRUPO4trR4rEknEJV7QVaPgV?= =?iso-8859-1?q?ly8x5Iffu3Wj0pe/oRMrsMOgl+JgfP+d/nku7GRJW2pVNplZrr6gyrAp7b2y?= =?iso-8859-1?q?DyqJN8rKlRjArK12MzSRay1Y3kY8Env4SoUtZSfWlyc5wvTCFJkIbLu6v0f+?= =?iso-8859-1?q?mcprSjVZFe5rhxOyy6R2StzvmASzXPeV5t56kLBnzFUxq8OHiDbpZrjzS1jC?= =?iso-8859-1?q?816RI/E4aU05hxo8rN+rCuWlvIRpVC8/tyuCoPanrmhwpbZCuOftKRy/V8gj?= =?iso-8859-1?q?Mpnp/bMhv8bqNjiDhxI/sFQizP+uKQxj+uJb+mU6T8x6i1x32A1l08VeIBhR?= =?iso-8859-1?q?IMpn89dd6zB8Y4cIc957Dfs+Zdd6r++KpLbdh42BH3tTQf7TF4aDaygi97Cv?= =?iso-8859-1?q?2CtNLRQVMkzUlhLvX+MsTc8cTwIGoRJFiY/ZrsMWimp28hRsymOkxObSKyjg?= =?iso-8859-1?q?42fw8NmVhIZ7noowQyPuNkXntsaj2aOtyahyOoV9LldOegEQgSWYe4PKTonL?= =?iso-8859-1?q?wcXg=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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 = { .retfunc = &trace_graph_return, }; -#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 @@ -849,7 +847,7 @@ trace_selftest_startup_function_graph(struct tracer *trace, goto out; } -#ifdef TEST_DIRECT_TRAMP +#ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS tracing_reset_online_cpus(&tr->array_buffer); set_graph_array(tr); From patchwork Mon Dec 20 16:38:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571118 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHlgH3sXXz9sCD for ; Tue, 21 Dec 2021 03:39:55 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHlgH2gyhz3cnD for ; Tue, 21 Dec 2021 03:39:55 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e18::615; helo=fra01-pr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-pr2fra01on0615.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e18::615]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHldc2j8zz2xtF for ; Tue, 21 Dec 2021 03:38:28 +1100 (AEDT) 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" 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+HFlesylhsqjaYVrVB?= =?iso-8859-1?q?ujlPgBXZSrkp8JsfKNhEMprIMLMdxQho1JeofzHS4PmcnkMDLIKEFUgF8TNO?= =?iso-8859-1?q?1eYHeFwxXqE9rlWvKn4FCBKQZdbP2hP6IsTCMDGCGIYVWn0B4kd02oGkd7fy?= =?iso-8859-1?q?4miho61ZZdMqQAG1HOkN6iecHPT9f8Uf8igSBL6Nba1usoZSIcUap8GWqsJn?= =?iso-8859-1?q?pnYAYYCFrnileK52oNrqqXKEvBMhmEDFjEbHyOd9hwICWZUfnQCz2cL4HLkx?= =?iso-8859-1?q?DfsIiWYhKzeYpO9cjd5RSyogz5Q9BKbmAVchV1c8nKRuNh1xipn19F0Scdl4?= =?iso-8859-1?q?O9NDGLB52LUwIWFMrh5mIC9bEzS3JX/9UqZQyx0NrmsMwuxAgn57H5pEpnl0?= =?iso-8859-1?q?JMsJNZ7Jz/ow72zstoH+xkwcIvq3Cj7Le86kNzvxwkRN5jI5zEdEKdfg1Kaz?= =?iso-8859-1?q?9oYhsZ8tfOvAqZMl96Pw0YKbf6HhzOA/YgOwdA0KkNZ/BN05Tb9eCtir5s1s?= =?iso-8859-1?q?XuP8VJDpvL0yK5xr5TZBKpxMmv0jsAKMphDLQJX+ek5COa4UtmWQMGuHxbMN?= =?iso-8859-1?q?3XOV9bALbUV/H5i2rQclyMQgnC7osJNz1//+cpSWhOGKFLqNs/OlymyqDgQF?= =?iso-8859-1?q?hWPSnrSiLvnwjcjOmns4rQ696xpqx485AL64fLsGwOBeEmDeowLIwCohmaKn?= =?iso-8859-1?q?S55n+ag6AYrHvQpd64BU+Y+6NXle3Y9/wEBbhg/BVSZuZEWnCC5BI2425MUu?= =?iso-8859-1?q?+KayyvBCqPQt6GCYZcxp+gz9YHATgrlqIPavkmIixvs5vu7HFaNFoNnqUxzF?= =?iso-8859-1?q?IXq75PxXSr2VXf/RzpJlGIhfXX5nWNzDtt7wCB3ZBRwXjuBYBnzP0KnJfQH3?= =?iso-8859-1?q?Mboa2aZ8NVK+zK6YHfZ35h7nhUMdh/zzjxNeLniSs/LkoamLXR2D8I3Ad9Ey?= =?iso-8859-1?q?PLciK2Dl5bfhVuoOFx7uyzzhPzG9hg4naflI0Cbq8KdCPAvoMDHPU3scF1WS?= =?iso-8859-1?q?uZdvxbfFnAf2Ypj5X/TC83xTgrOKFUBF/yYhuODebbxqjsTio0DFOvUJEz0U?= =?iso-8859-1?q?MoOLuxKuduD0JxZsFn02PfTVoJ0pjK2rtgRCH5TdzKIY107Kj/qQ2ks9JsW6?= =?iso-8859-1?q?GcpbFW6uTTAODVtQWe8caw575ArJZfsu/LaCpU6f/pt/d1SehEUuZqobjhFb?= =?iso-8859-1?q?XbEnPmiLAgCv00jpyLAlvTHAqtATxZXXmOf9cgh8oZglyk/Gy9W/Ze05ujJQ?= =?iso-8859-1?q?6mnvBx+fcQyAODqNaGxfIYnp0Qt7cYYc74r5uWE7wKVLWDvcg9ScjA/v59W8?= =?iso-8859-1?q?Y0cWP6XWxETc8Edkcj02dvUEWET1XyPKw/p4c1wHJbb6Nfbp2eF0XB7DJmXb?= =?iso-8859-1?q?Cw9Fho/g3RfFe6jnv9lDM7UPXuR/SIGUWmLZ3EiLlt8sKqvXZ4AvE+TeS7V4?= =?iso-8859-1?q?/TMY+jiuf6VkS/+wMSChtG+pTzdJn1bNGX09ukEgqSFXgAfSt9AmhbJUDzMa?= =?iso-8859-1?q?+HRKYNAh/+ltuKqKq+zgD8ofBMW+NCmdCM+8T3dnyxYHU5e46BaAFOn323Jj?= =?iso-8859-1?q?U1vl4AKBFbpTr7lghbjrq+OlyhS1OEMTsCsURfB3r9Il6D5sRY1HGdMr8oej?= =?iso-8859-1?q?Xv4OBbwbpvGcrdnXhyELlQ2HYm93uuueGpWiEY4NGJUb7BeT317zj8TpcwDC?= =?iso-8859-1?q?vEbYTW8qaDgl9vYoGDFMdiRicm2w8YN15QxGo8SOg5zRtc2j/qySduheX+D/?= =?iso-8859-1?q?AV1w=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Livepatching a loaded module involves applying relocations through apply_relocate_add(), which attempts to write to read-only memory when CONFIG_STRICT_MODULE_RWX=y. 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_32.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 /* Count how many different relocations (different symbol, different addend) */ @@ -174,15 +175,25 @@ static uint32_t do_plt_call(void *location, entry++; } - entry->jump[0] = PPC_RAW_LIS(_R12, PPC_HA(val)); - entry->jump[1] = PPC_RAW_ADDI(_R12, _R12, PPC_LO(val)); - entry->jump[2] = PPC_RAW_MTCTR(_R12); - entry->jump[3] = 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; pr_debug("Initialized plt for 0x%x at %p\n", val, entry); return (uint32_t)entry; } +static int patch_location_16(uint32_t *loc, u16 value) +{ + loc = 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, case R_PPC_ADDR16_LO: /* Low half of the symbol */ - *(uint16_t *)location = value; + if (patch_location_16(location, PPC_LO(value))) + return -EFAULT; break; case R_PPC_ADDR16_HI: /* Higher half of the symbol */ - *(uint16_t *)location = (value >> 16); + if (patch_location_16(location, PPC_HI(value))) + return -EFAULT; break; 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 = (value + 0x8000) >> 16; + if (patch_location_16(location, PPC_HA(value))) + return -EFAULT; break; case R_PPC_REL24: if ((int)(value - (uint32_t)location) < -0x02000000 - || (int)(value - (uint32_t)location) >= 0x02000000) + || (int)(value - (uint32_t)location) >= 0x02000000) { value = do_plt_call(location, value, sechdrs, module); + if (!value) + return -EFAULT; + } /* Only replace bits 2 through 26 */ pr_debug("REL24 value = %08X. location = %08X\n", value, (uint32_t)location); pr_debug("Location before: %08X.\n", *(uint32_t *)location); - *(uint32_t *)location - = (*(uint32_t *)location & ~0x03fffffc) + value = (*(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 = %08X\n", From patchwork Mon Dec 20 16:38:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571124 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHlkq4r2vz9sCD for ; Tue, 21 Dec 2021 03:42:59 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHlkq4004z3dbx for ; Tue, 21 Dec 2021 03:42:59 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e19::621; helo=fra01-mr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on0621.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e19::621]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHldj5Knlz3bj1 for ; Tue, 21 Dec 2021 03:38:33 +1100 (AEDT) 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" 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?ka2bGgJtLnZN2CA2CQumpwo?= =?iso-8859-1?q?G36Uz6X4rVGWGH/o7wbunC3Cdrg6DKHjW62ty0UJFEOMdRZ3jnGUTVre22qc?= =?iso-8859-1?q?ivXEOxSi9xLeBg8ULCxXiB3ixOYVoRx2qRsjRvIdzf+r7gv5wdcxC3nYKT8+?= =?iso-8859-1?q?H6gCsB88inejWCPWkehBZjE9Jc+YWLhilm8FiOzwVzsyL41E+xAeTj0jrdlb?= =?iso-8859-1?q?ZImg3EWdQTaLA8kkGVr7mHNHw76kzOkH3JWxQGsYYglsurE3caOF0BN9VfTn?= =?iso-8859-1?q?cjB8xl0fUBDYAF3IxI1yw/U5Cy6AyqgTNXosy8PX+g5lnGlK18LaD6kZ3o0E?= =?iso-8859-1?q?qbsh7/OSsBaLQUUHN4/q+SM4Ut03NKlIT95QwVzZlTgK2iojOQcqiV+dsP7e?= =?iso-8859-1?q?llXBwcLJmdE0Rz5BIwjTtAymbiSK3+GlOS80bCjndm2i+94JRRRInCsZZyHt?= =?iso-8859-1?q?9Zf/KYf7Vcm0tnUCHy5wzdKn7RsdVnX3LbAZCP/1T5OinfrCtuzL2rBe2gsx?= =?iso-8859-1?q?JrHWld1yHLmMb5N8vmEjoppzb7cJ2a4yY+yGcPZriYYeLeGVI4HSyos0HrRM?= =?iso-8859-1?q?GFpiNizVLK7njiEdzIk7vhlz1PBjPzCgQnGBk+1/SOHQfcqc/mhMXHco0Qin?= =?iso-8859-1?q?kX7ZgvTLDCisRkCKV+ePrxOq1TisePMx810UiiR01nZE+pz9YYfcJunqqg7N?= =?iso-8859-1?q?J1NvgLqD0a1qppyLWd5VJEQWBlk8YICaAHxeDWINp/UamSdKcQvkl2aZTxDd?= =?iso-8859-1?q?SkPWXgo1qZO74E1G7JMr7HhKv/Gfujg58RPWoQjU7pkOp7SUJfosGE/I2qCA?= =?iso-8859-1?q?+b5Q6mjpsB/W20NEE1Axy49l3eH/h6ug91jYsxb+ZnfCG9qESydD+/ZOTAfD?= =?iso-8859-1?q?u8R4UdOj28OqvS30gSjAFKn0db0pyDjDxJbzL+0F2VtvHmbFFLvnWRhSP3RK?= =?iso-8859-1?q?zS8leXvtphFMK5t9ZO0ZZ5K5ObKk/MZRjkA4Y03ZXR43UIh2KqBGOXzWcqXM?= =?iso-8859-1?q?v5+TJ/IP259W/ETjDN0wIih2l9TQsQA1OIfiCFdjkKg4fsEyV5xGHApQnZUG?= =?iso-8859-1?q?xhchz9+ssCu/nA27a9iZ+4pMH/kGqrna2+2W1ypzUnKzfnd9ElitXs8SSbyc?= =?iso-8859-1?q?b+L0RUQwi/C9clhMxJyFnWpLOM2M1OJbPucedYV+3Qivh8Dy47SYCkTlB2TD?= =?iso-8859-1?q?9jXuOdq5gNzytbKmBokFa1RdFM1bfpXXgLfWba794GNQs+5HysmVMuli/WhE?= =?iso-8859-1?q?5Hgx0snlUkwfFKUeirMOkknFJv2oCeTnTw8VI/CjnlcZ0azsDJrJol/trGjk?= =?iso-8859-1?q?7nnywCqabHnsuyJa/KPD11bs/Ay8gvlrR6ZQFZsFRt4+/tDY//O1minA+nrA?= =?iso-8859-1?q?uaMFsyZGUOX92JmIHCJP8z8pZBMqc4D8CxgrPGRg+BzJxLFLQWteBesLAyWw?= =?iso-8859-1?q?eJ5BTNRu5gxmU1gPFciGZMYpTf2c163Lbe/8v9DguBwHR03eHnNp6RkbDUce?= =?iso-8859-1?q?shzwMtAkRKmhTeOeWWL7z2lGYW/2PPTVroPo+NmfWzTQbQSRU1/thAT2Ej3D?= =?iso-8859-1?q?NSYCQOBrHflBkRKVqfliMW0E4MeArX6sf9UAfHoa3trXkTAQcCY+CHpaNX+9?= =?iso-8859-1?q?4+GKA/LOXMz/4SfnC84eZAWutEueKHe52KTRZDUZF99c4wB4MWK73HpWl1Ge?= =?iso-8859-1?q?fy14UXG5iMHfWJhv4+6qKXcIpSHjh9YkzGUYQv6YgzObRikG/gjQae7rJavY?= =?iso-8859-1?q?JghY=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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 +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/asm/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 */ +#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_struct *p) } #else static inline void klp_init_thread_info(struct task_struct *p) { } -#endif /* CONFIG_LIVEPATCH */ +#endif #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-offsets.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 -#ifdef CONFIG_LIVEPATCH +#ifdef CONFIG_LIVEPATCH_64 OFFSET(TI_livepatch_sp, thread_info, livepatch_sp); #endif From patchwork Mon Dec 20 16:38:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571119 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHlgn6WrPz9sCD for ; Tue, 21 Dec 2021 03:40:21 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHlgn5QX2z3dgY for ; Tue, 21 Dec 2021 03:40:21 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e18::615; helo=fra01-pr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-pr2fra01on0615.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e18::615]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHldc6cbTz2yg5 for ; Tue, 21 Dec 2021 03:38:28 +1100 (AEDT) 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" 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?6AfXa4AV1TjRKEK1noBWTm6?= =?iso-8859-1?q?4wkjXLXpu7DXyDhIReaAyTeq5cREvMBJJhq4NE2jv9YmeHvbVPY3PorC0HUy?= =?iso-8859-1?q?JUCHhgz1OasOo9Gsidv6GezQ7w/87dBXVyNV/fpNkeiYtoAefCArEK5zKudT?= =?iso-8859-1?q?TwmZnG7jgrUCEEZvzB9ALe74lH6xkBxeSV70Es8W6ePZsv7Pp67A8S0AXweW?= =?iso-8859-1?q?l/hjbRkKFsy3CFWwTf+z+F0/7Qhak1AyVH5yWsFRFRm0uYFXA9rfOAtShqZp?= =?iso-8859-1?q?8R+kynma9xFDUCP43vG6dM4aYVR5r3IvzBnguRwI+a86yhD4zOkttWg+W4A6?= =?iso-8859-1?q?6ytGUhxLxxFSYzftCtQnag+XF5ZoyPs2/0Qcs/ljbEJxppetm+5L9Kn7Ml6O?= =?iso-8859-1?q?4RcaOQRfbsZxHWvEGoQL/UfpenhhZaktTyT7CSkuZ7WHplme++zckqVVpvb2?= =?iso-8859-1?q?YFAiCRcFaxHmNGNofcn5QBZGE51AWIi82fITkEUGGQZ8u/Fkytwdo61oT7Qy?= =?iso-8859-1?q?riaJj575ZR72ee5FBbiFoS8TTcdz7UVhOH+GZqZWvOO1UcpJ+ifRTvHWqKhb?= =?iso-8859-1?q?n5FiGJ0pPualLL/jde7sRdT2WjpYT9Jer3IUqdFCmLlaSmeu1Wj1msuZIVu+?= =?iso-8859-1?q?57RA0fHE94b5ZYfTb0O177Fxtm4I8n8ruUfbFks29761Eh6dIvVsPPIEPCxK?= =?iso-8859-1?q?Mk9ZvS2N7gU6qbBnv0mKDaBjzfdHstOJ8XxfLAMb0mlc7gW6yS5b5vih2tQ3?= =?iso-8859-1?q?U3RJoYv9nGXRl1T7ZlvhrewGkieDedc837Xr+L0/pGHb+eCCru0njLm+2GB9?= =?iso-8859-1?q?eUUqEc3YFeMGp2/zHpd3dAmSoiqnbDBpxtwo+e6ohsxXEB6sbe6xPnuwJPFL?= =?iso-8859-1?q?gVZuOxkMI78MxBi5aLn7tXaiZrEkx+4lrOSO2IzA0ODb8IGwwRTQMrQa7BRa?= =?iso-8859-1?q?zoXke40oobnn3M7zdg175u+YtHBzvR/6UuCyWgJ5RIsDcEEbkgOtrTad73EV?= =?iso-8859-1?q?1Bv7We1/GjSMAMmMbtPEBX7mLn/zxXi4IGAbO3OGoA9tBA+bQCPVebeURK+B?= =?iso-8859-1?q?PAoOtax6YYk08x33tokch+2okqV41jPvWbZss50fJPZEEvMan1y40SzWDNrg?= =?iso-8859-1?q?fh/ed2sC6tAXmBsDHB5GPPQyi9o4cv+tRyUYqsYxfS41Ralw7g6dkf8Sd/ug?= =?iso-8859-1?q?OUPK6OB+Bh4qWvyrZtOR6IbpqMmwkHJw30wPwCbzmG2HUXr9mqO86U7dA0ST?= =?iso-8859-1?q?fGb8WfRZJnQn8JJKJWc32vWX+/sH1ZN7481+eikpF0ELwLvsKGxJeR6ZJmO9?= =?iso-8859-1?q?QBzfY/WEK+wAwZlOGnxCwztzfz5qj3h7MHio5DfgWVj7DB1TgH4OQtb35pO7?= =?iso-8859-1?q?2fd/3xtkRX4KqpItMrsW31tvpjA6CbHBolmaYIiwUbYXxq3xxumO2GKVvBxr?= =?iso-8859-1?q?O0sA1OWGcTx0MjyPgku5ASCZnyx0ONQygbS/Py4DKS2GtvMsIniZln0UcPXy?= =?iso-8859-1?q?aO3xBlnYZufb+MIOmli6ckBXWJ8Kk5Gw/401O0ZYJq0jHzqhM3yksZZMylx0?= =?iso-8859-1?q?KUSJQLps26ITdyx6Yh3b7qQapgP9PvV/zToYm6BQxo2kANiYuhwd/BxP0sYI?= =?iso-8859-1?q?VVlhNM7cMQ+KJTPy5hOxvzu+CIOhaFAKjZFHzgsOzPyHeemSkmXWNlhk4D4N?= =?iso-8859-1?q?TGhSNyhyOJxWl5s2bNifOykoWfLyhSn64yShR3hc1mhlxPu/jNG6NJfu2qfR?= =?iso-8859-1?q?TuFw=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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/trace/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 _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) From patchwork Mon Dec 20 16:38:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571120 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHlhR6KVwz9sCD for ; Tue, 21 Dec 2021 03:40:55 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHlhR5W2Tz3cVx for ; Tue, 21 Dec 2021 03:40:55 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e18::615; helo=fra01-pr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-pr2fra01on0615.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e18::615]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHldd3Lmrz2ywF for ; Tue, 21 Dec 2021 03:38:29 +1100 (AEDT) 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" 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?hX78XOql6n2A4Hxq6aSPU3W?= =?iso-8859-1?q?7KswMvCF6fb92vwMH+jrwOOES8DLVyn4ZywVTo/i2aMhEd7+RYdcmURGhw/5?= =?iso-8859-1?q?nJg2qI9+m4BdpGP7Q/p6Qs4qBIBTjMZCWqWdoQdC8YVxA34LyASL57/yZg7A?= =?iso-8859-1?q?x1npFyNK7jv38Nd/67KdfTW9rY2KD6OZ3zc8HqvDTiu4P8iukeCepQYXndk4?= =?iso-8859-1?q?qF3FifMu+6fh98ndzaY8TGLJItp4AcW5M2dCg2UOpUyURE4WM/OnQP7Nbjlz?= =?iso-8859-1?q?zHq/1xotd6w6fDfO1BbhXF0PAYmhttTmK7Lmbog1wfDGv7VL5yhCrmUg4qtq?= =?iso-8859-1?q?jj5aThmriorfrka0J8tWufg8jizFAQ+HufYwP2vuZqVJPv2OZivPZpFicULL?= =?iso-8859-1?q?a5gYaNisntDpAng2gRwyfaex154FL82lJEZsBTwlPo8/8D5UxwiHPBseL2TD?= =?iso-8859-1?q?ODhDyNC6zzwwEGXAblK+lgyCaG8vyDewvBLNHTMimGQ57fUb7F/1IEQJ+htD?= =?iso-8859-1?q?pWEKDe4GVlLLJN3wQsYT/adoXIZvzkRlibRrxeh0jbu1L9VFJHktGa2XEhoh?= =?iso-8859-1?q?EYXUj1ceR412zeXatmADwOsl5Xf1Kd95iNtof6ADLRiPiffYP1SoWkPppeJL?= =?iso-8859-1?q?HGjntpskzVzeoMjDymhzg/T85W3b+vsmAHWFGXNKs7qMEcP4UmCb5qaZbwMW?= =?iso-8859-1?q?eNzXfT30ZGhMJNm26UIk0ck5sxlFp55aVFlTDbFjyWgZVz8PbJkKXUgivTmt?= =?iso-8859-1?q?cI4kvvG1xjs+vl5RwHx6zTj7msgvcPxpz1dhANvtrZqB6hGsuujq0fJ/VQb4?= =?iso-8859-1?q?e5aZgaaicipm0FGQ/WBT5Ndl1RMJyoofQnelmdQPaWaOUZW2FeOvh8Ph6ht6?= =?iso-8859-1?q?FD2Pay+DWFzZK+DROgW9Mxs9UjEpdnqL5tOtqu+k5mEleJSv9kqzo4Rdjn5w?= =?iso-8859-1?q?BBeln0NLUUEUL4BJI7peaGoJYj+/uF7yTYP9tnzWzFWddTRjN6k04bpoSv6e?= =?iso-8859-1?q?V+3TSmxn8wAB1815s1BCrRy8g+4maGIVLSiJvB7sBFZhnXpdROkrx7vcbTuL?= =?iso-8859-1?q?3LehL/pgf+9a2EOFHSVOX+q10QD5prXPQFf0/SjdeX/IgCCRYF6YnWjG+/AQ?= =?iso-8859-1?q?JPFkLQvWLT9Fe2k6jkNwwEtD/PQ/oc3o7hL5bWXnnOdd3a15ocE5Yie3FKnb?= =?iso-8859-1?q?G+5k3rKUlU6RigtBA3/Y10KWKdaCRevVCQrNVK9e2qQJ1+rj8e2DIMvQHZQ9?= =?iso-8859-1?q?/LjQ+aTtVBoVsuN42QOhJsA4V3NAlplvIBO0yORZm4XtX7yQWFVK0DGEAjIg?= =?iso-8859-1?q?rFlhKDUGBZYEtdqlqZDWo6/lmtP8JbBC6pPc2iRrtx5utlwgLUrsUhVQf1NV?= =?iso-8859-1?q?D61T7uPTJasMnfOTwRY+oAhfmXnpifaBDej8mA8JFJxMzSTEWS+OcF28AQBT?= =?iso-8859-1?q?Z5INSsl8GB2L73fJy97yr+D4kZ1kSO2/gCC0UOTO+mC3tbfQAY4xwHVFz7hN?= =?iso-8859-1?q?k2+ofYs8OIEITAKKAIcDvEglBQrLq1M/xHLEZF8GPBI1Vsj31zvn0PXvArfY?= =?iso-8859-1?q?q6gwDFrRgNNIHHnZ2XWF2UD3oVHLRMwTt9pciOJBJfUCSz9kxJIr+gvg3DwF?= =?iso-8859-1?q?SuG9mqSncCW8+1b/gYbZQs6vrZHERF0giHJVTzCgIXMJYN/ZchOSY1BP24zC?= =?iso-8859-1?q?uKLERs/YaTQ7Ru0u3fI9MIZzWB4BOYo/4XFXYDC+mom803PiYLFfPEq5xhHQ?= =?iso-8859-1?q?Mtts=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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/trace/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) _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) bl ftrace_return_to_handler - nop /* return value has real return address */ mtlr r3 - 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 /* Jump back to real return address */ blr From patchwork Mon Dec 20 16:38:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571121 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHlhy5RN7z9sCD for ; Tue, 21 Dec 2021 03:41:22 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHlhy4GMnz30R6 for ; Tue, 21 Dec 2021 03:41:22 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e18::615; helo=fra01-pr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-pr2fra01on0615.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e18::615]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHldd6yW6z3017 for ; Tue, 21 Dec 2021 03:38:29 +1100 (AEDT) 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" 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?D21kNufp61XCtnRdS5v3bpa?= =?iso-8859-1?q?2K/rRJ8GYeeAt9ZiRmHi0E/TvvOvJiHdFIVDOAD8+1s6BrlwJxWGQrZyeZ9D?= =?iso-8859-1?q?Vmbu3/KSlHxbRpj5bJzm/HEZplwSQDukJnEW0wO2xWDXrukYZXb9JLvlThJx?= =?iso-8859-1?q?88pMhH6xcrw2Ha2V0r3J3n3Y3ZRTGVA17mkb1HnmlZ4hl9MIeh7KfAGLaI/A?= =?iso-8859-1?q?53ReQYY4krzVYHiEtsVJpRKpRaaI+9JNOs0jVLK9HcqzR7PAILOHI8O9Uonj?= =?iso-8859-1?q?RI7OFpLJ5y5v5ICystLZEOl6aeLHmFmydbT5RbOQgjfafrQRtmnpY63S5g1Z?= =?iso-8859-1?q?AdsVvE1e9agrcmaet/A2PgWzdspwhn69YV79l+RXCIYFbw3HZie/sK0yTWw/?= =?iso-8859-1?q?tkX2RXv/r7HKTEomryFz0janXQQFFFTl3CzlBEpYG7rynviUv9baSoY4m6JP?= =?iso-8859-1?q?kfK15hXbNI+lapToi8WVnK3HabZAH6EAgrpsCpIx6cZ8+Mk8VJPP0rJVLPGt?= =?iso-8859-1?q?7WSqIOgODI3Imv6P4nZtMpzREe7wI3JhU27qYsY9gFS1ADfuI6TasteF5C8K?= =?iso-8859-1?q?TSui5NPKTJLCzSqVig6qKZxGKczquDPAsNk+WAmUhbm+nWi9uNKdVrfG+vYd?= =?iso-8859-1?q?nD6z202pM7PqzCviGosm6jG3akHhJTICO9VgRtu8RKnx6iDcoTbgPgViXVGa?= =?iso-8859-1?q?lw+Mtf3VOCLqv1XnJaPrzvWYAaO8BRd7+x6y31FjEJMVqquExuYmaG8DTMSB?= =?iso-8859-1?q?GUT6X5VIM7sgmQLDPYwSLHev+urBqMs7lF3e2mLpEbEeFyUaWMyUIAQ6aFSx?= =?iso-8859-1?q?xBGPGF32MC3OQar/hmqL01VnTUKKwsxlQ0BDtCBSHBDaLOtLRKI3OrYC7xwr?= =?iso-8859-1?q?EMOuXTWPRHmAwJDYsELvzbcceTngVYht3PizHN/VdLi7Tne7Gok+f1rdnyiv?= =?iso-8859-1?q?0FR4qkzTxo5Q0i12UsxcAOjW8VQKXqhQy9wmA459CbVW1Tm81MUJUkraoKAL?= =?iso-8859-1?q?b5shrGqhILBzvJ3SsupKpHCS0OhWmpmX2MH/RrhO+0spZmj5I+EmYXKLVV3L?= =?iso-8859-1?q?ivtxSAJ4LUAl8rvVmRWVsF9oGzhw0cmop0BqEtSuwFfqq696Icja1pawBtXQ?= =?iso-8859-1?q?1t2OqX0DS7JXPe7j/ZOUgjNNj36HjmUB6cPsSmlnuky6rHVhUORngBs5y9F7?= =?iso-8859-1?q?VO+ZzP+NwD8bunU/3VHwZjzxCeCpDHHOmHqxkLuFD2rX03Jtp+z9pFssFvNN?= =?iso-8859-1?q?HLWsC6MHzpVPWFnJZppoqsvILQxd11mY6+OEoUQaasbwomUT+znxmwLxEGMq?= =?iso-8859-1?q?v5b0cHL/UBD7UT4xjRGmVg5ewOnFxKtUJhc4RiFUXBFIzJoldIxtLivKrz6q?= =?iso-8859-1?q?EMTdNL+y8TszzLpklAOy7/AoCQx325GprIKp1eYGSuvXvWgqkEjuapQljBno?= =?iso-8859-1?q?xUbRpwB2cxOsVrtiHepbgtIrLlmecKCOdFS9cYZBxv6ku5ZZ7xgqc7fyzyMR?= =?iso-8859-1?q?N5XIne5KiziKXT3a0uYej0LATZ0JQOhZlZDKY3xXTYvfo7E4euaYwPRi9cOm?= =?iso-8859-1?q?3bDgiYMkw8rm2mT+Nj2MwJiEco78lLqoD61OiKEcklSH/xrQlAdtU2jXrIJN?= =?iso-8859-1?q?8JIDVlx2CAzakNlTY7eh+bvGKl6qLKJrNUPtDSS5LVbA8M2tuUf/Ulpbuiy8?= =?iso-8859-1?q?rf+Tc5t937X7lVP7/iGgYCClY4NCBDQ87LMO0Yrw5YETe0u00ARvZRInQjPI?= =?iso-8859-1?q?e+8I=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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/ftrace.h index debe8c4f7062..b3f6184f77ea 100644 --- a/arch/powerpc/include/asm/ftrace.h +++ b/arch/powerpc/include/asm/ftrace.h @@ -10,44 +10,7 @@ #define HAVE_FUNCTION_GRAPH_RET_ADDR_PTR -#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); static inline unsigned long ftrace_call_adjust(unsigned long addr) diff --git a/arch/powerpc/kernel/trace/ftrace_32.S b/arch/powerpc/kernel/trace/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) _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 From patchwork Mon Dec 20 16:38:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571122 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHljV1jhBz9sCD for ; Tue, 21 Dec 2021 03:41:50 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHljV0rMYz3cZm for ; Tue, 21 Dec 2021 03:41:50 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e18::615; helo=fra01-pr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-pr2fra01on0615.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e18::615]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHldf3qPQz3017 for ; Tue, 21 Dec 2021 03:38:30 +1100 (AEDT) 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" 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?vIGJpk8xAeqSDRI3NAwOyJE?= =?iso-8859-1?q?ZuPWX6g+rmgBeyMLCa9tUGfjpjAPelO6ojpwbbJr2j21ybWD8PbOe9m2kmTY?= =?iso-8859-1?q?Jd/VYrMfHp/9z3n+WmAw3Ykp4bdv6YeomOlrokVr8LXGMwAs9s5gBo5p9xrr?= =?iso-8859-1?q?aWXUWBEnwJ6hYqr61eEre6R88N0tEX23F7TlL0//DKlp3ENFF7BgVirKPkbA?= =?iso-8859-1?q?8j9W89S0lDiS5NB/Bj3Vbep+ESru9kpch2mMGDyrqjKQGGAq/7hgmanjlAET?= =?iso-8859-1?q?38GTAXiRutpHNwCnprueme2YyVDmjkaBtDXg3HahQM8qg53q3//wrItKeRVR?= =?iso-8859-1?q?z/YeZ/wz7eyRbJER0E95q7rYngPTVnKoT+AhyjjiF56K0eCNUDHB9uQu8PHo?= =?iso-8859-1?q?YpNXmjkBbMlElKZTS4cJLXlqDUL+SZjH+Cl3rQoSoz3YAdsMHLY4vYZFF1hZ?= =?iso-8859-1?q?AKz6s0A593hBKEQStobfUX4CxRTbiyUKbQ2GSxunVY8U1G0+IoxyK4xUe5G4?= =?iso-8859-1?q?T2dw2ABRzVtA81ttFbQmN8GP8GZ1BfPXrQuW2vc2AAM27ZgRtzMsJyZMdmuF?= =?iso-8859-1?q?z+DBuUSFR4IyK7kg3E8FoM4B+INaJVYQJoZJL/RBqh/3CRl+lTN/PfM7RVVj?= =?iso-8859-1?q?VtWv5Ez4zQjP5dIRID4TynkKRBiNBbUEjyNuGVnlauR5WgCVKfoVa8xpjNl6?= =?iso-8859-1?q?T8AN6ccbR3TIPcbD4qr7bKbpi7/9vFY25zOerFWDOm8NgtJhcRRbQFa9DSD9?= =?iso-8859-1?q?8V9oy73NWUvWlYiyiAKKtOf/Qie9FfYNtKAyOCEwiaH/iOhdE5j8qRGp8IK+?= =?iso-8859-1?q?6mSDo8lwdI5vZCrCavsWgvNQEps9O2GNjleCp3gwp74xXfn6S2O7zc/4vzR5?= =?iso-8859-1?q?UQi3ov33tAayQwMpth2uIKOx74nr0i8pQ86tdQoV1txjz++E4hKBscQokEtW?= =?iso-8859-1?q?/t/YQq8jfGpyN11mTMlS3CPmrXtVXflnGR/LVjcm/K9AA5RWCHwQ9NG/TESP?= =?iso-8859-1?q?jYzuqIACjlxaCA/3F3PY20cIjmQQbQPMqRmLGepRequ+ix1sl5e0XGJIruQT?= =?iso-8859-1?q?cdZiNVIcNNMij0X3S0Jh3yXZ6Atuq/27HiVr5MWqGqDVBwMevv0Z7/jMG7qy?= =?iso-8859-1?q?e9wDDU07zTZ4412fLe6fSnmOJijI7UND4inQ0k94RXL4CQCV8AK9Y3QNeiDb?= =?iso-8859-1?q?jZc5rm8D85lTV5tBwP+btiWWh8Ycikq/pk7rMi4T/p9HIdAhW5LxaJ/I4vYP?= =?iso-8859-1?q?Li5GfGq0pjsKPNG6FK2I6DpLmLkl/fMxb4qPDdqZahfvPS3BkEkGKoEV+ORR?= =?iso-8859-1?q?ou2b2XWLoYGCTqwMF3K42zGCAHtJcEFF3lQetpCY8UWnVhO5LnK5qyIFQ4GG?= =?iso-8859-1?q?6gNO8qxV4diLHnkCmCDm18oTW46sTc7+2EWNVUd868hOfp7oeCGcX4qxMcsc?= =?iso-8859-1?q?XPzMrMizPqoUWQ6M+/MINHxYaJlT9y4VXijqHe85WQp0aayAPwPPpZL1xVpN?= =?iso-8859-1?q?BMmYQ61EyTpht1abMKkmeSP2rJ3vzqOLpiQP5qVm3ujsJzVE5dhD1AH6YJ8R?= =?iso-8859-1?q?ZgaVYcZpmn2iMVzlmz6FJ+3vu8ZbqdqYzC6TDEaeNZ8hfdEGB7l69EyO7Ced?= =?iso-8859-1?q?O1Fg3wAbLdZNlGvI6gAy+TwAuKhdCZTGxM4RIHmKovCAbTltJ8Bds9tXFhPu?= =?iso-8859-1?q?DR8qH1izjTribsCt/g2/29uQA+bui/yahwovELDkIhRNoxuXp4IXHY6WSsD5?= =?iso-8859-1?q?QrBw=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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) +#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 /* Put the original return address in r4 as parent_ip */ + std r0, _LINK(r1) mr r4, r0 - /* Set pt_regs to NULL */ - li r6, 0 + /* Load &pt_regs in r6 for call below */ + addi r6, r1 ,STACK_FRAME_OVERHEAD /* ftrace_call(r3, r4, r5, r6) */ .globl ftrace_call @@ -189,6 +194,10 @@ ftrace_call: ld r3, _NIP(r1) mtctr r3 +#ifdef CONFIG_LIVEPATCH_64 + cmpd r14, r3 /* has NIP been altered? */ + REST_GPR(14, r1) +#endif /* Restore gprs */ REST_GPRS(3, 10, r1) @@ -196,13 +205,17 @@ ftrace_call: /* Restore callee's TOC */ ld r2, 24(r1) + /* Restore possibly modified LR */ + ld r0, _LINK(r1) + mtlr r0 + /* Pop our stack frame */ addi r1, r1, SWITCH_FRAME_SIZE - /* Reload original LR */ - ld r0, LRSAVE(r1) - mtlr r0 - +#ifdef CONFIG_LIVEPATCH_64 + /* Based on the cmpd above, if the NIP was altered handle livepatch */ + bne- livepatch_handler +#endif /* Handle function_graph or go back */ b ftrace_caller_common From patchwork Mon Dec 20 16:38:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571123 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHlk8410Xz9sCD for ; Tue, 21 Dec 2021 03:42:24 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHlk82nq6z3f48 for ; Tue, 21 Dec 2021 03:42:24 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e18::615; helo=fra01-pr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-PR2-obe.outbound.protection.outlook.com (mail-pr2fra01on0615.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e18::615]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHldg0hWCz307C for ; Tue, 21 Dec 2021 03:38:31 +1100 (AEDT) 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" 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+h1DKg03mn3h8dyvag2mL1?= =?iso-8859-1?q?q4w3+lFf7RRyjim/eBFO1S9ZQwtqDIYqkwSXLiiD0DiCSj4n2VVP4DVkBFWO?= =?iso-8859-1?q?ewAd2x4J1HOQB93O9bhBzCoRvp6+J/FO6gFYs3v0I+LAujJtF9fFoNGm11bG?= =?iso-8859-1?q?7VQnQyQZb9fXN3VCT3RWwNaiUUaDgGW9BIZPkxSk/xMZJrHWmRVs88w0KR6f?= =?iso-8859-1?q?o4e4SVkvAsWVPTRM5L00y5FM5Bm4cqGtWm6QamRoacU5pNX6Oat8CL4Cs/n5?= =?iso-8859-1?q?J7g7oJ9UUoIGXHJ9EdhWuivMCwMsmQmx6JfEGLtAAWK8H4UqBqwhD+aRMapR?= =?iso-8859-1?q?pcrIyscW8pycxi5yqD0HLQVrNWQnESZ+vqtULTFV88HWwwncrdDDt5AyG8ba?= =?iso-8859-1?q?DJEld2ynddI3ZL9kYFofGu5bNSYjgHDKP/AeQwJ/srCKkxPYqZW2NxWBS3tA?= =?iso-8859-1?q?c2aYBA/2T5ncTv02FeK+QS7hrvKXw+RO5c0msOlKlboN9u8OsHenJ4ZBiGqR?= =?iso-8859-1?q?aVrzFJqxwYkUX3XvR/MbhsU7DPcOOzhFGUUWg9BXMdlOVxeI67J7gV9CIKyd?= =?iso-8859-1?q?AjsqSZ44kYMSZUXrYPKEsUrJni6yZU8oevr50eiJXwnzstcXxcJQi5KuGOvO?= =?iso-8859-1?q?HLwKL2bvD7jcuwJGcKRxYGXsioFrAKz1TEnC8zVscTbaHGDV3ZrzcBT8cN3Z?= =?iso-8859-1?q?jGTo+YKyt38vc/fEpWJxoMYu8chp8T8z86n9HF22suwQybnCyNA8SGx/MrR5?= =?iso-8859-1?q?aZpubjRgkqPNP4bRk8pw43kzjVqXsFrEiac8FZJpRSoNgXPQc/kYi9AqvDTK?= =?iso-8859-1?q?O7HorfTpxTp0AOQgrdKBYlAJQx62G1jtt89kcSFEIoFYmG+AKK6rRXJ4P8sd?= =?iso-8859-1?q?bj8/FcHeMTFG99/MBB0VWJEOibKECfnkv3EOIiGQjb/SGIyIBK0owKxQymUF?= =?iso-8859-1?q?rF3Azitg4MpAzFss2CtmV61WQe9Filla8Zoo18Bw6586vjKkxYXNzbpzk0fU?= =?iso-8859-1?q?MHj626DDBpGCKDLRTcP+KTIJOHBMXN/k/73Pzvd1Xp3/jz0rNKNSRRFNNwk8?= =?iso-8859-1?q?cQ0IxZ/B5+ElfmG9Pl+Lviyo8IjznS5ZcT/4hDtEGh+ygMIcv3AbsTwUV2+n?= =?iso-8859-1?q?YtDLmDLSdQkumxftK83bmEu7PCMWo17EJVHZU0h8vtxyCbvva3ymMtP7ZTNP?= =?iso-8859-1?q?jRymAw6N7u6vQ1F0w09tkDmU4dIQGBU2G0wHlAVa5sBXL2LCWTRszCplBgzh?= =?iso-8859-1?q?nwjDlXKlvsE8cHMPwWPDdpSJ4SpbPeLPlVRx1P8B+8U/0oBhMVrgTWGCrLrV?= =?iso-8859-1?q?/v57kwA7G9ycVLD7OiDccp6BFD6t6E36WJE02kpcPlWr04q1IovVH4hsVccn?= =?iso-8859-1?q?LSxCmviY4fUD79WqDsXYiZKhtYAWFx+NqB5D8ezyZd80e4P00FNDynCl9Uwh?= =?iso-8859-1?q?7/X6RQwyI1PsZqFcy2JatvL1dW6KCRH4T6EbNCIgQA32tME2PV44SzzHHIi1?= =?iso-8859-1?q?rf5rvywq7BXaUEruggUBGn2AEbyAJUvvf60nqBP80vMm0+/ffF/3oWFOY7uf?= =?iso-8859-1?q?+9oedBGDyVUnPHiXbSbrIElHH/4+u/9h+8fqpSRU36AqJHDqtfpfCzckz3uS?= =?iso-8859-1?q?gwDYDj9nnACgUg50GsJERzk7VNHb7/JCo35Pzw8+d++hkYtaqTJQjTjqS2Vj?= =?iso-8859-1?q?5V+8TDrD/6rIA6RbQM1g2sqDxCHqTcLjxinehe8/Acr6scwZm59ynceWgS0e?= =?iso-8859-1?q?5WwA=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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_CPU) diff --git a/arch/powerpc/include/asm/ftrace.h b/arch/powerpc/include/asm/ftrace.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_regs *fregs, + unsigned long ip) +{ + regs_set_return_ip(&fregs->regs, ip); +} +#endif #endif /* __ASSEMBLY__ */ #ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS diff --git a/arch/powerpc/include/asm/livepatch.h b/arch/powerpc/include/asm/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 long ip) { - struct pt_regs *regs = ftrace_get_regs(fregs); - - regs_set_return_ip(regs, ip); + ftrace_instruction_pointer_set(fregs, ip); } #define klp_get_ftrace_location klp_get_ftrace_location From patchwork Mon Dec 20 16:38:31 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571125 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHllM4zPYz9sCD for ; Tue, 21 Dec 2021 03:43:27 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHllM1tpgz3dch for ; Tue, 21 Dec 2021 03:43:27 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e19::621; helo=fra01-mr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on0621.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e19::621]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHldk2z7nz2yp5 for ; Tue, 21 Dec 2021 03:38:34 +1100 (AEDT) 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" 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/Yzp9JBI?= =?iso-8859-1?q?ZpnkFckNYfgGiSqtnbe1bOvUNRufx6GDmx8a1C5g+1SY0k8HgkWlYfNHFGzW?= =?iso-8859-1?q?DYRQ8rXEVZqLIXFJYXgmRUyyH+2N7J/Cwa2/rSvBTF0qhFWPegwxH1H7W+5Y?= =?iso-8859-1?q?soY2ZivAnjMBB418/RqKrfJhTvudygU4SOzaWB90vFEluYqECtcHdAduqcGa?= =?iso-8859-1?q?Eo+qJinY76o2Y6rKt3wx7dPpqMEvAxCaThs/w6KHa0vpDjQm5dBXUBwkQccu?= =?iso-8859-1?q?WhA1+c70SzQgNACbAuXlntAi6mpHBJhxq7cTMjhOrwP0fDZVTm1w9ltW0gri?= =?iso-8859-1?q?06U0MqWjwa0z2Y7m2e3f+lY9wyHvOO0a2l3j8AhxRB2HEXF9kWoai+Q/EHqy?= =?iso-8859-1?q?VuVtgxfyfrth5KOgkblHcnwXk3STvUv1tbpIEGykyIcRbuIeMWJuPmrocg4W?= =?iso-8859-1?q?l/7TGJrRX9wMO11bKxygZYjYJxZKr8cfMknnfcGIccr4DzKrAl0pNdQf3TkS?= =?iso-8859-1?q?mXrnLiZfDnELwJr5AAGKOIs3IVKRPeT1EfpzGh2ZC7CyAiDe3WCzXAEXcXN5?= =?iso-8859-1?q?RpmQw8B5SXco/K8/lPf6Lz3ilifcFB0akLr1QA1ICpCiC2K7kMvUgVSBYSpN?= =?iso-8859-1?q?ehzDYh8obcl04u8gcdKfzBEqdvNTdlVayhn/nwUwnVOWcC+qioFx3xHyLoRa?= =?iso-8859-1?q?HGf5+tMeCS0SJtqJNtHlGmg7w6BpZV1mwHNahnnAiiLUVXUGzgIVMihLfwi6?= =?iso-8859-1?q?nRDKTW0l5dKbL4m3gpzIcN+JqdIZ/5+yLQAh8xth39lHUMBZa/ZqXhfCgHNZ?= =?iso-8859-1?q?hAkUYIz/OJGGxhMwv+/9Hv3W71Tcn8K9m4P4Egu6CQko6l1XBXL5g2hQUdA4?= =?iso-8859-1?q?h0M3Fpotwezn5kKlwTQdAga4h5ztoLM/dUjJnpI/6cSBz9bKAkLHPFiZoVXa?= =?iso-8859-1?q?umnT17V5/vlcRlDJAN9KVnNM0NKz7TJIsibodxQW8ab23ogPjRhVv/rnqVYV?= =?iso-8859-1?q?hMZSsGQJhnjXj+KnlRrDp3OY4GWser/ExQ2iAQn+N8b8FR3mmkGPUpF2dT1p?= =?iso-8859-1?q?I82E8zb8HAeGFbHiv9JF3y/M/jJd/alGcC6h9uTG4idKXLP0fL3CQbPoEyGf?= =?iso-8859-1?q?5e+aheBGF70eDap6KNQodUMmAYsd6GoI3j/l8wTLb8XrysbRvgMko1E9Yb2q?= =?iso-8859-1?q?40W1G+OvWYT6n6/V7IoLQXFbkGlOLuS6ohZFpohfoxiSHfwj2LBiBiWuWj2R?= =?iso-8859-1?q?pG1hd2wl0auGn8jc9Sg68k1cmypKL4GnNwcEImxnjCpsLiHK8O2pCF+5hw48?= =?iso-8859-1?q?4NNXCGknmp6MoNS38qIY4wL+Xa18LLzCGbGZ6nkPs6akEHPSwNxRk6hmM9vq?= =?iso-8859-1?q?NAIHFLZiJnxPfOftT9lO2OhvYGNp7Utmh1EOn414gdqrfelO+f//yMEVYxA6?= =?iso-8859-1?q?assct7Uk7Z0sukkw7qkLAhhfeCUzimjXFI31p43iMhx81NP5x94R0s5pZdtJ?= =?iso-8859-1?q?69ZuvfDuf/ri8Mx9mEDRUB5PJkm8aa+BMOi3lgGt1bQtDrlNOA8XRVyUKeMG?= =?iso-8859-1?q?5weguvBna2F+O/rLjeu6zhJJtVsiSVv3qk3BxZPURNmAMAwBvf/CQAKFP9Ab?= =?iso-8859-1?q?gpdILL2GIFJTqm7ejexta+XqH1v5VTjWuv1BVvOInhSBSDQTx38BqECC6UbC?= =?iso-8859-1?q?L97Ab1XQ2C63sd5R2ELCfjFPEkuoW1+YaF8d2VH/5MoKALSrBl7COYXZObFN?= =?iso-8859-1?q?P7r8=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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); -int ftrace_enable_ftrace_graph_caller(void) +static int ftrace_modify_ftrace_graph_caller(bool enable) { unsigned long ip = (unsigned long)(&ftrace_graph_call); unsigned long addr = (unsigned long)(&ftrace_graph_caller); unsigned long stub = (unsigned long)(&ftrace_graph_stub); ppc_inst_t old, new; - old = ftrace_call_replace(ip, stub, 0); - new = ftrace_call_replace(ip, addr, 0); + old = ftrace_call_replace(ip, enable ? stub : addr, 0); + new = ftrace_call_replace(ip, enable ? addr : stub, 0); return ftrace_modify_code(ip, old, new); } -int ftrace_disable_ftrace_graph_caller(void) +int ftrace_enable_ftrace_graph_caller(void) { - unsigned long ip = (unsigned long)(&ftrace_graph_call); - unsigned long addr = (unsigned long)(&ftrace_graph_caller); - unsigned long stub = (unsigned long)(&ftrace_graph_stub); - ppc_inst_t old, new; - - old = ftrace_call_replace(ip, addr, 0); - new = ftrace_call_replace(ip, stub, 0); + return ftrace_modify_ftrace_graph_caller(true); +} - return ftrace_modify_code(ip, old, new); +int ftrace_disable_ftrace_graph_caller(void) +{ + return ftrace_modify_ftrace_graph_caller(false); } /* From patchwork Mon Dec 20 16:38:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571126 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHllv4SZKz9sCD for ; Tue, 21 Dec 2021 03:43:55 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHllv3Vhcz3fK1 for ; Tue, 21 Dec 2021 03:43:55 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e19::61e; helo=fra01-mr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on061e.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e19::61e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHlf636yFz3bWq for ; Tue, 21 Dec 2021 03:38:53 +1100 (AEDT) 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" 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?pXQMe5jBQv0IMpcDGcune8V?= =?iso-8859-1?q?zCNxK0eet7tX43Wohv0NmGKLfxKwJD8HT79Zi+CPfPIMpmrsGONJh5ANzneF?= =?iso-8859-1?q?AIUKDQH3FVRr3E+lMWSdZhCmmr96OT/DxiOBlJu5hhJR8DxJJO3zrNbe+IoV?= =?iso-8859-1?q?HxVABaHXnFNTpOO3svNbBJkE2R1CTNdi8E8HVxN8hgXZtK2ykq7cOJkr0jyR?= =?iso-8859-1?q?g5zEISEHGjZj+V2CcE7W3v1rqbymsG0cC37z4kpaFCxccbaILYX8OAR7xlzj?= =?iso-8859-1?q?ruNer7gxKP1wl1e49dArkd2io4WTYf3RDpwrplrsS3aPYTkFUJcvsSyo3Jaq?= =?iso-8859-1?q?cKPK6V1A1QlyVrlGUpl1fxo6U/C8wPa5c1Rf9b6rVfmfvqCt6bvVBWfPfVFS?= =?iso-8859-1?q?faPwK2RYvuD+6aV2K910tHAQJp5fRdDLg6jlxSzZFWz9lnvw7QVlJUvZ1Zig?= =?iso-8859-1?q?qHSOsYFHPP6jkknerBGWoXN/RqMd5CCMo4AD1WxO9cQ0uMbIO/u8t3enCEtQ?= =?iso-8859-1?q?zpJ7uYiHKYVwCg/lacyt6YqJyv543XLNgptJ0Ao9Xy2si2dzvKLOkf8gVwwi?= =?iso-8859-1?q?04i7kKEKckbGWuEeFoHKm1kqIwUFFdJ6dEs+QS9AiOTi3P50+Sps+0w5Rcsx?= =?iso-8859-1?q?Oys15RoXrUr9MuSpnX/DrXLtTyNMstbA8QiZ1Z60rGXO6n0HcxtC8xrlEcjU?= =?iso-8859-1?q?/akMEuDtJBrhGInrDD//Yov6SeuuDNGG428Q6hqziuvDBQ7H+62129PkdDKd?= =?iso-8859-1?q?tjeEb36wGltVT6/UqJlwGQWPIwsvT3fXkSWPiDv2Ni+0dOQf5hODJwEQ+Y5K?= =?iso-8859-1?q?HksYX7UjOL7EagBJogw0QpopE1IkLkssmmna5GJU5MP2hBaa+7C8Jq0GUA9d?= =?iso-8859-1?q?4KyiuGPl2miyrMi7SbWOg/PLoYeikT3P91PM63vBafSkO3J5Jh/4PYamrDgA?= =?iso-8859-1?q?hlbCgVht1X5BB4JtOUry9SJluXRr0SHWZQCcxMNgXeSej1e40J4dJ5zmZ9aP?= =?iso-8859-1?q?r46sv35k1ytHwhMs0wG6QvHo4xICZnYSqgzkKfhAHEbyFd7jkyV2YmAT/BOb?= =?iso-8859-1?q?I/fQP5vOvRQkoKPUUNASbgE6GBanOCUfNPjmTuGA8w9U264kWx0ee6+3PFyF?= =?iso-8859-1?q?BDSkJGl7HHJM6qdc9ANCpx3iGSuo9B0Ohk4B4hQvTEf8ofBYVw0YG9xCYbCc?= =?iso-8859-1?q?h7iNTZv/2Md27TXAM2A6TlNVJtyL60mSmYRq7GjyhNMoBU2XShzv1Ihokx16?= =?iso-8859-1?q?UhNiH33nJlLahUHN17+hF/+ia0QJ8jisPxl7NItPemS8oaASi5eSi3VY3Jhx?= =?iso-8859-1?q?CXyqA5htbUQNQ0fkyOpuxo/2/JmSTn5EmdO9XW7pZpPrc3+w2AlXgvimStDR?= =?iso-8859-1?q?T4RAuwyghyNSv3u1m9iYSqnW8nq5c3t5JOJqpu4jM2eoV3stbfd3o33DDJ4F?= =?iso-8859-1?q?XAJZSjTTHOQwzpSBDF1KL4CfifZtUDB4lsZxB6EKR9x1qO+b+2ySVgnP8499?= =?iso-8859-1?q?HspQMlCK807Vfx3GU9GbOzFnPTRzShUgRpE5hCUyrUcnsMEZIDE6kOHiFVOm?= =?iso-8859-1?q?kw5+OIfdlb2DO144laZ63Q/HVbp0eJ8GNOe9JUDZrZgl3K1OFQ+/iyCo+oC4?= =?iso-8859-1?q?f9AWJOmUGv+qeBcc5WkJJEgfJetX3WEMv84vpXTQapORSMwQ2/AsMdXar4Zv?= =?iso-8859-1?q?sWqBoKNMZILpCB/ofNItYpEEVGo9PZ8QLc8qx9rqLNtxJb/SgvAJRBEl3vDb?= =?iso-8859-1?q?unUc=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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/ftrace.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_set(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__ */ 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 enable) unsigned long stub = (unsigned long)(&ftrace_graph_stub); ppc_inst_t old, new; + if (IS_ENABLED(CONFIG_DYNAMIC_FTRACE_WITH_ARGS)) + return 0; + old = ftrace_call_replace(ip, enable ? stub : addr, 0); new = ftrace_call_replace(ip, enable ? addr : stub, 0); @@ -955,6 +958,14 @@ unsigned long prepare_ftrace_return(unsigned long parent, 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 = prepare_ftrace_return(parent_ip, ip, fregs->regs.gpr[1]); +} +#endif #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ #ifdef PPC64_ELF_ABI_v1 diff --git a/arch/powerpc/kernel/trace/ftrace_32.S b/arch/powerpc/kernel/trace/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 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 @@ -135,52 +128,10 @@ ftrace_regs_call: /* 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 +#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 livepatch */ 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 */ _GLOBAL(ftrace_stub) @@ -216,8 +207,7 @@ ftrace_call: /* Based on the cmpd above, if the NIP was altered handle livepatch */ bne- livepatch_handler #endif - /* Handle function_graph or go back */ - b ftrace_caller_common + bctr /* jump after _mcount site */ #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 */ From patchwork Mon Dec 20 16:38:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571128 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHlmR4yntz9sCD for ; Tue, 21 Dec 2021 03:44:23 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHlmR3n7Wz3cRW for ; Tue, 21 Dec 2021 03:44:23 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e19::61e; helo=fra01-mr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on061e.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e19::61e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHlf66bCKz3cGb for ; Tue, 21 Dec 2021 03:38:54 +1100 (AEDT) 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" 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+MG7gG70nw4LbI?= =?iso-8859-1?q?M6zolvMMwwR9Rw/Rn606+7KUHVRwuV3HOy7W/z8a+LqMPKQD61Zy+3ZubE6j?= =?iso-8859-1?q?YJgL2cI/OxlZSIDJdt1Y4lVsrmsIc0rNNl8AXjB7bMdhFchIAnZMOgHCbpVW?= =?iso-8859-1?q?e0zK85JZpqIejF6RPXjlNINlDkPCzFTCQsci0Egi5PB3Bn59Li38UAeLHkfD?= =?iso-8859-1?q?Bs5JMmJyoVnAeOScweHiWZGnIlVKjXQi8IPPk48ftkQlDtLPnV3JqDiOZj3y?= =?iso-8859-1?q?ph3qjHN/2jklFgGTbwFublj150V0qHaYJp3SYY2yc5izj73WNCSVnOZNiBNi?= =?iso-8859-1?q?n+rgwKsPuh39ZqwIagrVbXvGabuCSwTMX2ldAPXMj9UXn/q//HxPY0eNsOrq?= =?iso-8859-1?q?MwbSqGnXHhbCvAJ7MJJ+182gy2zPmKMaSivZOkYpiDyK+jh0d1U1yhp3y4r4?= =?iso-8859-1?q?gklBHWVOwxO71jWpHl9aBBjsRVEZrR9KfugmlrTKHX68wchj758/Ry81AG2q?= =?iso-8859-1?q?2HZU5ZsHbQ9Cr694xit9M3BF7PN0VG5IiFrXZTnZ5yZVDNWwI1lh+n+SYfgJ?= =?iso-8859-1?q?nOyfic7dbJym7BHBGPzvSfsUgvI32T3bdJRz3o4gJYDngHOSyq5JvNcaqDNF?= =?iso-8859-1?q?lzBw3h2/QwRysTrgj85N1KvZ+72uPnjOtANxtVD7+y31p+K/KRQ3VwoKwcKM?= =?iso-8859-1?q?jwlBXuMfbQmZPXwRUf8impO1wWITE2CG+YOS+iCoa1sKeHsbc0LqVL+GVr0l?= =?iso-8859-1?q?+P0UMjbbUVH/Tbj9JkWolPw6/dnM5+hkyj4tSVS0rR/KhgaQTedh/HHDaXRH?= =?iso-8859-1?q?ikkbdmqnp5MvNkjzAIxZdE5qlpZEBTprnrsCZhE4aqmZg8cITTsseHf91kha?= =?iso-8859-1?q?A4rtScUY6dyBmtW5PZ2YzbLFWhno9wv1T+a2p91y/RVGrnNJOFXNddxQznF2?= =?iso-8859-1?q?SkQ3o5KmwjOxuIDOlFAS7xJ78hyH8798djKC1sZ9Lo+opQB/4IQCK2OzSSzZ?= =?iso-8859-1?q?eBNUQ4/qAOXumXNQOdWApV1mBCHnwqu0OFfoL1NustZxjvawz9C8sDQoCz8F?= =?iso-8859-1?q?y2ZOQewexbGbzR+GF+QUA7dPK57w1dm9AblSMbk+83gSTnd2/CgR3NAoCmGg?= =?iso-8859-1?q?hGJnZd6tsLTnxmLQ86dJQWQE6vWZ4BWmRXaxXlbdm+eiy+FYQw5MFjQhr2wp?= =?iso-8859-1?q?sa5UMmfkkjfQ8REe52z5RfUQ/omyNcw3OmfJT23B3WgkDnNylmwfqaYYCs5v?= =?iso-8859-1?q?OouvJaWzf12y9PuRwWhR1tVuDykum1Hz7J6LbHWELHmTUapwBjQR9r6/P3eE?= =?iso-8859-1?q?THWOzvk2+3ynPn738THkIP0Vc/YougCqoUFL6ubaryZBPVMS8cHhFyovUza9?= =?iso-8859-1?q?5ImlnwLYbHpeph33uyPT55wcFq0U/4ATsWxUJsVUlpU7aJLmhczvea1icJyM?= =?iso-8859-1?q?/Z1wTebio6eu5clxxvCHA5+SfsD7bcN7pUCHOF4h8X6Xbk/bIO1SZfjHA4Eu?= =?iso-8859-1?q?FMOR3c2N240QSrqI1qi6RSXvWiHJFelUpk+Tow2BHkhrRTnOVUZlnSqjik4k?= =?iso-8859-1?q?qAXyil4aLU32ZalXwEZpYha8Cdtxv9VHTV/uyu+HzoxUjImwzh9gixZLno1D?= =?iso-8859-1?q?+91unYA2k08iEwSOJbQovjaIho8uoC1PyJPWePrhLFly8GebnzJpPtiXz0za?= =?iso-8859-1?q?5DBZAuzhILqQk5nS2Ht/slbmUbv9nD4U0UrFFSoHnFwC9p+ZA8tC28ZDo+Pb?= =?iso-8859-1?q?5l3g=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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 /* Create our stack frame + pt_regs */ - stdu r1,-SWITCH_FRAME_SIZE(r1) + PPC_STLU r1,-SWITCH_FRAME_SIZE(r1) /* Save all gprs to pt_regs */ SAVE_GPR(0, r1) +#ifdef CONFIG_PPC64 SAVE_GPRS(2, 11, r1) /* Ok to continue? */ @@ -49,10 +52,13 @@ _GLOBAL(ftrace_regs_caller) beq ftrace_no_trace SAVE_GPRS(12, 31, r1) +#else + stmw r2, GPR2(r1) +#endif /* Save previous stack pointer (r1) */ addi r8, r1, SWITCH_FRAME_SIZE - std r8, GPR1(r1) + PPC_STL r8, GPR1(r1) /* 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) +#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 -#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 /* 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) /* Load &pt_regs in r6 for call below */ addi r6, r1 ,STACK_FRAME_OVERHEAD @@ -100,27 +111,32 @@ ftrace_regs_call: nop /* 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 /* Restore gprs */ - REST_GPR(0, r1) +#ifdef CONFIG_PPC64 REST_GPRS(2, 31, r1) +#else + lmw r2, GPR2(r1) +#endif /* Restore possibly modified LR */ - ld r0, _LINK(r1) + PPC_LL r0, _LINK(r1) mtlr r0 +#ifdef CONFIG_PPC64 /* Restore callee's TOC */ ld r2, 24(r1) +#endif /* Pop our stack frame */ addi r1, r1, SWITCH_FRAME_SIZE -#ifdef CONFIG_LIVEPATCH +#ifdef CONFIG_LIVEPATCH_64 /* Based on the cmpd above, if the NIP was altered handle livepatch */ bne- livepatch_handler #endif @@ -129,6 +145,7 @@ ftrace_regs_call: _GLOBAL(ftrace_stub) blr +#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 _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 /* Create our stack frame + pt_regs */ - stdu r1, -SWITCH_FRAME_SIZE(r1) + PPC_STLU r1, -SWITCH_FRAME_SIZE(r1) /* Save all gprs to pt_regs */ SAVE_GPRS(3, 10, r1) +#ifdef CONFIG_PPC64 lbz r3, PACA_FTRACE_ENABLED(r13) cmpdi r3, 0 beq ftrace_no_trace +#endif /* Get the _mcount() call site out of LR */ mflr r7 - std r7, _NIP(r1) + PPC_STL r7, _NIP(r1) +#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 #ifdef CONFIG_LIVEPATCH_64 SAVE_GPR(14, r1) @@ -171,7 +198,7 @@ _GLOBAL(ftrace_caller) subi r3, r7, MCOUNT_INSN_SIZE /* Put the original return address in r4 as parent_ip */ - std r0, _LINK(r1) + PPC_STL r0, _LINK(r1) mr r4, r0 /* Load &pt_regs in r6 for call below */ @@ -183,7 +210,7 @@ ftrace_call: bl ftrace_stub nop - 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) +#ifdef CONFIG_PPC64 /* Restore callee's TOC */ ld r2, 24(r1) +#endif /* Restore possibly modified LR */ - ld r0, _LINK(r1) + PPC_LL r0, _LINK(r1) mtlr r0 /* Pop our stack frame */ @@ -209,7 +238,7 @@ ftrace_call: #endif bctr /* jump after _mcount site */ -#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 From patchwork Mon Dec 20 16:38:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe Leroy X-Patchwork-Id: 1571130 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JHlmz0Yfqz9sCD for ; Tue, 21 Dec 2021 03:44:51 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4JHlmy6mDgz3drm for ; Tue, 21 Dec 2021 03:44:50 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=csgroup.eu (client-ip=2a01:111:f400:7e19::61e; helo=fra01-mr2-obe.outbound.protection.outlook.com; envelope-from=christophe.leroy@csgroup.eu; receiver=) Received: from FRA01-MR2-obe.outbound.protection.outlook.com (mail-mr2fra01on061e.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e19::61e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4JHlf736TBz307W for ; Tue, 21 Dec 2021 03:38:55 +1100 (AEDT) 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" 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?= =?iso-8859-1?q?/3qpnLajBbfHlOIPVbfKd5AhEoutGOkEGg2WL7vFwVobl+/TZrMjKF6RkOLO?= =?iso-8859-1?q?B2Agili/miQIjRSO5/m/jU7PMHvFUMrDk+fVc0NqWz9YRQTeKULh0SZEgCrf?= =?iso-8859-1?q?tfahVlZDUsVsj4uIj+ZdoEldn4Brygeu2BOHDwXcj+w/W1B7WsR6FXIE8PdZ?= =?iso-8859-1?q?tLbriXauaEtXXCDbRpj7yWKaFmAPEJsaTvdcLaWvxheaQZ9CVzzy5+tmV4cl?= =?iso-8859-1?q?GkaHn26VxdzrJ4jW4gxprLf3wRG/X8jgagtS+t4c8aed2sSjJdQL2NWEoYMe?= =?iso-8859-1?q?2ihW6s5MJsfheQ2DJD4jVjh6lyTe/jHENF8KJcXtmYrWh/tXrHVCH+9j6XvE?= =?iso-8859-1?q?LCxkfVdUrJChcTXr3Uy2daclKQsN/TEX0J1n8Aq6uDnVwpZ0CAJDy7jR8+bN?= =?iso-8859-1?q?Z0OBN15/j0HIZIHHh6fRte3xt/YtDu86/GV7JPSQdVViP3whVAYwwEt96hou?= =?iso-8859-1?q?rU78djRve2QSVZs7H1CQxgHVjH2w/5+D0ZZFBo2ZQGQ+Pjs5mXlqlJljG+7s?= =?iso-8859-1?q?Vz+rMxYieDaDfGiZRAGiVZf5UshRbsvPzUCEm4fZhCGZW1Rtb8BqPRIjHLft?= =?iso-8859-1?q?hCrPXdnhju5wOZTGqTIzzySD6+cu2Ah36KfnIMwDjxZaKboikTKU86V2gMHK?= =?iso-8859-1?q?wqIIOQ3+mD/IiovElVtrN3bZtLHHZZTBvnQB39nXSxuPK9U1xtsz6ZkSX302?= =?iso-8859-1?q?BOWTl5W8zErd6OlDR+8hKvJMA710DqL5BzgsZy0Tguk+m7i5RApRzRqfsMuJ?= =?iso-8859-1?q?3n6P9bH0RO0g64apecQo3dQ7b/tQa+vuJSqtjefqsPcXIsusaKHkM/ujVUwD?= =?iso-8859-1?q?Oty++6/XAxOuOdKu5afOsNaXn6Spfci90NRcInRIVQ1DHWyc2hy8aG17eiVm?= =?iso-8859-1?q?ZFJEw+chLKJXcCSAkG/Wzvw4nIEVtzfM1J6ElUFk6Ok3w5pLVgyJM1EB0Jtg?= =?iso-8859-1?q?vNTfsGFJaaJvYYTseqobz1l3QxLJXhmtnj5tbAltrCwSJ/WPXAzFqyPZEQIC?= =?iso-8859-1?q?2LaocfqVwL0SjxejaDcLRyAwogL3K6zv3YYFsp26R3sSjYppRmD0N3hSOVeX?= =?iso-8859-1?q?UPLOZ5qpWwx28j1Ks/uClD3fTs9lF2P57Svp4zi9/70NPA6MYqZuoQI7FwRp?= =?iso-8859-1?q?WxlZRUYVo7ft83/A7ei5m3CYv98mm4vgdgXlbBRc0oCskj3g9doV1Y/MelUC?= =?iso-8859-1?q?dTZryTGV0rUAQfkQW6syZgfpC/+cJXZWlzXhs/LzMmkpfmjV4Px2TYHqlikt?= =?iso-8859-1?q?41tWZYGC/rEvnWhSj5U2+v4UxsBG1vWDcF92U9agGTeNhdFpg7XRtmeCnzyk?= =?iso-8859-1?q?0rMaalb9Cl0v2BwswL4alC25D9PJm7Uj25fiBsgSuAvxR5G79oRZFJ2uNoux?= =?iso-8859-1?q?kAelRNBtOyf0rvwhfoSJMUrzXndOfnf9eYnh+qzTwE3UBj7QFgP1oJl+9tYe?= =?iso-8859-1?q?HW9viBGClNnNx/uOvb+VQsihJDQYqUZ+Z3q4D1S0TUfiCo9axsB1ZBfFOM9A?= =?iso-8859-1?q?H/Q3WeXd6Vb17jkZo5uxH8kXOZCf+O4FJv83Q72sknwaXmCfct8xAdt+5zF1?= =?iso-8859-1?q?QAaHZbfkMZi1O2AxBmx94M9vq1YfAPCdaq+Z8pGuoIQm0eFMtGjlH7JXKFcZ?= =?iso-8859-1?q?NGncuF6cZiHF0722lGlt7b5SYQJmvNK/ZS7iLN10RbTCFr/sWM4SzOwF4eVr?= =?iso-8859-1?q?bCQY=3D?= 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 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "live-patching@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , "linux-kernel@vger.kernel.org" Errors-To: linuxppc-dev-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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 => ftrace_low.S} | 14 ++ ...ftrace_64_mprofile.S => 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 => ftrace_low.S} (85%) rename arch/powerpc/kernel/trace/{ftrace_64_mprofile.S => ftrace_mprofile.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 = $(CC_FLAGS_FTRACE) endif -obj32-$(CONFIG_FUNCTION_TRACER) += ftrace_32.o -obj64-$(CONFIG_FUNCTION_TRACER) += ftrace_64.o +obj32-$(CONFIG_FUNCTION_TRACER) += ftrace_mprofile.o ifdef CONFIG_MPROFILE_KERNEL -obj64-$(CONFIG_FUNCTION_TRACER) += ftrace_64_mprofile.o +obj64-$(CONFIG_FUNCTION_TRACER) += ftrace_mprofile.o else obj64-$(CONFIG_FUNCTION_TRACER) += ftrace_64_pg.o endif obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o -obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o +obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o ftrace_low.o obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o obj-$(CONFIG_TRACING) += trace_clock.o diff --git a/arch/powerpc/kernel/trace/ftrace_32.S b/arch/powerpc/kernel/trace/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/trace/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 +#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 _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 bl ftrace_return_to_handler nop @@ -53,11 +61,17 @@ _GLOBAL(return_to_handler) /* return value has real return address */ mtlr r3 +#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 /* 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