From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7153DEB64D7 for ; Fri, 16 Jun 2023 20:10:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EFAFF8E0002; Fri, 16 Jun 2023 16:10:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EAABB8E0001; Fri, 16 Jun 2023 16:10:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D4C4D8E0002; Fri, 16 Jun 2023 16:10:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id C45FC8E0001 for ; Fri, 16 Jun 2023 16:10:04 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 99650B0814 for ; Fri, 16 Jun 2023 20:10:04 +0000 (UTC) X-FDA: 80909702328.16.38682DB Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf15.hostedemail.com (Postfix) with ESMTP id D49D1A001A for ; Fri, 16 Jun 2023 20:10:01 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=TK7lwF2d; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf15.hostedemail.com: domain of song@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=song@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686946202; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=e+qMejtAppujqwxHMVXJzCo+OWBzndr9A4qSF+ATCZM=; b=FquymifAsxXI419GqZ1xHYdIUuLrVAKE3Ce5d/g2hutksfC/km5T+9Fat0EB7J59Gas9rK zVgMCMAAOV8N/11ynh0HMqqWmRujNCROeBxTOH1sHt8now51wlqVvNOvmRxCTMeUAzevRU jkf6dkSCVCFPShjzuYYKzBOlhfWtnuk= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=TK7lwF2d; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf15.hostedemail.com: domain of song@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=song@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686946202; a=rsa-sha256; cv=none; b=icu38K31IT3XeGuxAbmg6boClCS5HsdreWl2bckikteaUfafge7ZlWvZYqiAvQXy4tgVpp tfSUBe2rIjpBTnIJHmMRaX6ltNiZSqoVOSHqNpBMlldM9N3vAYp7xBhxKu5ylDtjmc3QEv +9VJfJSf5WJj3+bd5lElnDT7mLfvCdw= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0279161EB2 for ; Fri, 16 Jun 2023 20:10:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 57F8DC4339A for ; Fri, 16 Jun 2023 20:09:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1686946199; bh=WUwJ/CcnS7KQMIGc+n1lO6t7DBapdJHs3PtzN2L5DOs=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=TK7lwF2dgyhLjZz3axawLmkbuign1yOCHmc3Tx1v0nJMLzHE4AMIBuiBwMBtxulD8 Z3Vut6IBWtk2ssQ8ijhfs8vBi+Qy0HXySzPTA15IW8YrnEaB7IlHu2VlzDPnGeCZmI K6M5pS/g15siuIekZ5t1I3/fk6k5aKAJaEj6SrOz/PCsDCt5E2f7BsT9bm6PGwrWgg 43Q6XfEEqBYd9YLn7kuhpOmt+nKESiRp8navYHM6l1x9CJMp/jkfUZ7Re+m79aLMHD kbDq8gJyNG5Gays0CHzsM1Js8nifxRWQM5ErJCnC9FUIgd0MSE3JJ4Wb0UcNmLCkft Ujy1yQtMOaDZQ== Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-4f6170b1486so1505979e87.0 for ; Fri, 16 Jun 2023 13:09:59 -0700 (PDT) X-Gm-Message-State: AC+VfDxSanTnUCg4sI1nEDOJRIayLEPzFYQn93oip0QzC95QsI7flUUO rcVz0g+d45vZZwJWcAXu6bNwmXZYMX2BDHfdSSQ= X-Google-Smtp-Source: ACHHUZ7ituqSYIn1SCVORmrSh+1n8O6ydQ9eZHh9b53aIx4zqNf09sKQF/S2prJ95SKqvJfHTGetd9Upy9eJLOlNi04= X-Received: by 2002:a05:6512:3052:b0:4f7:47bb:2ce0 with SMTP id b18-20020a056512305200b004f747bb2ce0mr3066562lfb.4.1686946197316; Fri, 16 Jun 2023 13:09:57 -0700 (PDT) MIME-Version: 1.0 References: <20230616085038.4121892-1-rppt@kernel.org> <20230616085038.4121892-10-rppt@kernel.org> In-Reply-To: <20230616085038.4121892-10-rppt@kernel.org> From: Song Liu Date: Fri, 16 Jun 2023 13:09:45 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 09/12] powerpc: extend execmem_params for kprobes allocations To: Mike Rapoport Cc: linux-kernel@vger.kernel.org, Andrew Morton , Catalin Marinas , Christophe Leroy , "David S. Miller" , Dinh Nguyen , Heiko Carstens , Helge Deller , Huacai Chen , Kent Overstreet , Luis Chamberlain , Mark Rutland , Michael Ellerman , Nadav Amit , "Naveen N. Rao" , Palmer Dabbelt , Puranjay Mohan , Rick Edgecombe , Russell King , Steven Rostedt , Thomas Bogendoerfer , Thomas Gleixner , Will Deacon , bpf@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, linux-parisc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev, netdev@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: D49D1A001A X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: hijut99uxyoee7xa1mqxc4ofscfapxts X-HE-Tag: 1686946201-675752 X-HE-Meta: U2FsdGVkX1+WSwoUIBMh7zEX0EYcoz2uP+iUJ4kDKDLmqjgMqCVsWvQOBtGJukuPV6/WuxqubprqM56vhEgNHrzJ3yBkKJ4GUxH6Bgg6AyWkYyf/fG4Xkg6jaW+GUQlBW1N0X6c5QmF+B2mTX4rIhbjVkTnpnGvcbD9YAyUmhi91rlwbH0obrmJOs38fhLezCPv5Lp7c6HGQwSmlrZQ4loSk7y3x99cwHpzlz1bo0CDqf39+GdYAS/N9fjC/Sp+eiglwj5fr3ha6PJQcWHEJwtB5nJQiTYjZ1J7yHR6Ied9uBBdIRDZ+PxGHFFNYNxIAZGr0TzbmIBv9qaimaBEGtR1x77K3r+xITIIPGJxRs31XH9kC8OXlCF4W1coS2uftTKAlhcfWlYprg5ZgeoBzuNiWzobyEE8k9aNliFTRZOGzlD9Yb6nUpcXRuP3XTwQhcbhG+XQuVdA3Pax3gL5kSIiWEKaAIsfnqjdz2sXHSLZS+1lxqxooduZxMmfuT+I7HNJzJqRIR2rNcSNjY9gstJRM+5s6S+/RAVPua5viHoKN4v5/RNBmtxjLiFV9NemjN+GzUTncLsFtg/n6RuBkyxB2ElnhC1zH7lfTcsvksWnXdEdgV3tu1ZW4fEKd4jkGcPLaUWg3Yjy9OuyaexWG9t+bdl9ScmvsrnPZgRheY+ycuVcEQiRygFJYqSkSgQISuFPF4ST8RSybh7e1ON4pUC2wzdlKAbbsCgYcXGceB9Ndj4pAvsh7sIUjN3OCGK0Q3S2tz5XrGg9OvrSWOWCwuk0dE+EWHBOX+bM3mM/aV/YTttcXR7rQeg5mIiWX5PyZazT+7T51NTjWesbuYGU913AOVJ3VZqrrA+aP0yW8c1qAIVU1RGFIzjMW7vjy993cS2eXNyoWT78qIcOwam2lyRrioQVopOUqpFtEaW7qEdyU8im4G0q9wgK1PrtrNmysXLuPcgWVEV+zzvMA5Zn 43jNH+O2 Snk62++JEoiHGlVPdhcsnZ2wQWpuXmFU3PY2tQs12jjuSGwDaWAJb/ig52mJH5jJTQ/QliAWvP8oLkE+cIU0SzoubeZiSDwAr9HW05WWZMuoYFwUvUkEd4/rvY002XKUyIGvUrEEeNePllCnBJDRiyokEpxRmRO7+rSXnOmPAFchOgkbZiB0tpuXG4NN6YxB/UHyNDD38lYBzDF8vXnq60vofnoC+uB1d7qUsRn4XsSd49ZXmQ5TPUbx3u39laYx8BrnCNGm0lYPhgOjO1HmJnDjQr6E4mvlWBOSU2zWu8sT2coyVEW8/i392dLWEqxdNeotuywBd49IKiHYvfbGKguKgxHUwLQh1EbwA782AIY22NjA8p9phhbWadv+6aDXCiuEGzYLq8yZDXwR3VpO6yPzYgjVbWaVpNFBMuMYNKwDihQs99bBZNbPFU93nVoZhtw4NTE58mLfDkvqL2bnpAb/vvijMPpkZEjByRmDJ8CVveYlOKZPGuVK/DA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Fri, Jun 16, 2023 at 1:52=E2=80=AFAM Mike Rapoport wro= te: > > From: "Mike Rapoport (IBM)" > > powerpc overrides kprobes::alloc_insn_page() to remove writable > permissions when STRICT_MODULE_RWX is on. > > Add definition of jit area to execmem_params to allow using the generic > kprobes::alloc_insn_page() with the desired permissions. > > As powerpc uses breakpoint instructions to inject kprobes, it does not > need to constrain kprobe allocations to the modules area and can use the > entire vmalloc address space. > > Signed-off-by: Mike Rapoport (IBM) Acked-by: Song Liu > --- > arch/powerpc/kernel/kprobes.c | 14 -------------- > arch/powerpc/kernel/module.c | 13 +++++++++++++ > 2 files changed, 13 insertions(+), 14 deletions(-) > > diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.= c > index 5db8df5e3657..14c5ddec3056 100644 > --- a/arch/powerpc/kernel/kprobes.c > +++ b/arch/powerpc/kernel/kprobes.c > @@ -126,20 +126,6 @@ kprobe_opcode_t *arch_adjust_kprobe_addr(unsigned lo= ng addr, unsigned long offse > return (kprobe_opcode_t *)(addr + offset); > } > > -void *alloc_insn_page(void) > -{ > - void *page; > - > - page =3D jit_text_alloc(PAGE_SIZE); > - if (!page) > - return NULL; > - > - if (strict_module_rwx_enabled()) > - set_memory_rox((unsigned long)page, 1); > - > - return page; > -} > - > int arch_prepare_kprobe(struct kprobe *p) > { > int ret =3D 0; > diff --git a/arch/powerpc/kernel/module.c b/arch/powerpc/kernel/module.c > index 4c6c15bf3947..8e5b379d6da1 100644 > --- a/arch/powerpc/kernel/module.c > +++ b/arch/powerpc/kernel/module.c > @@ -96,6 +96,11 @@ static struct execmem_params execmem_params =3D { > .alignment =3D 1, > }, > }, > + .jit =3D { > + .text =3D { > + .alignment =3D 1, > + }, > + }, > }; > > > @@ -131,5 +136,13 @@ struct execmem_params __init *execmem_arch_params(vo= id) > > execmem_params.modules.text.pgprot =3D prot; > > + execmem_params.jit.text.start =3D VMALLOC_START; > + execmem_params.jit.text.end =3D VMALLOC_END; > + > + if (strict_module_rwx_enabled()) > + execmem_params.jit.text.pgprot =3D PAGE_KERNEL_ROX; > + else > + execmem_params.jit.text.pgprot =3D PAGE_KERNEL_EXEC; > + > return &execmem_params; > } > -- > 2.35.1 >