public inbox for bpf@vger.kernel.org
 help / color / mirror / Atom feed
From: "Björn Töpel" <bjorn@kernel.org>
To: Puranjay Mohan <puranjay12@gmail.com>,
	paul.walmsley@sifive.com, palmer@dabbelt.com,
	aou@eecs.berkeley.edu, pulehui@huawei.com,
	conor.dooley@microchip.com, ast@kernel.org, daniel@iogearbox.net,
	andrii@kernel.org, martin.lau@linux.dev, song@kernel.org,
	yhs@fb.com, kpsingh@kernel.org, bpf@vger.kernel.org,
	linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org
Cc: puranjay12@gmail.com
Subject: Re: [PATCH bpf-next v2 2/3] riscv: implement a memset like function for text
Date: Sat, 26 Aug 2023 16:02:47 +0200	[thread overview]
Message-ID: <871qfprjeg.fsf@all.your.base.are.belong.to.us> (raw)
In-Reply-To: <20230824133135.1176709-3-puranjay12@gmail.com>

Puranjay Mohan <puranjay12@gmail.com> writes:

> The BPF JIT needs to write invalid instructions to RX regions of memory
> to invalidate removed BPF programs. This needs a function like memset()
> that can work with RX memory.
>
> Implement patch_text_set_nosync() which is similar to text_poke_set() of
> x86.

Some additional nits, in addition to the other comments (Song, kernel
test bot, Lehui).

> Signed-off-by: Puranjay Mohan <puranjay12@gmail.com>
> ---
>  arch/riscv/include/asm/patch.h |  1 +
>  arch/riscv/kernel/patch.c      | 74 ++++++++++++++++++++++++++++++++++
>  2 files changed, 75 insertions(+)
>
> diff --git a/arch/riscv/include/asm/patch.h b/arch/riscv/include/asm/patch.h
> index 63c98833d510..aa5c1830ea43 100644
> --- a/arch/riscv/include/asm/patch.h
> +++ b/arch/riscv/include/asm/patch.h
> @@ -7,6 +7,7 @@
>  #define _ASM_RISCV_PATCH_H
>  
>  int patch_text_nosync(void *addr, const void *insns, size_t len);
> +int patch_text_set_nosync(void *addr, const int c, size_t len);
>  int patch_text(void *addr, u32 *insns, int ninsns);
>  
>  extern int riscv_patch_in_stop_machine;
> diff --git a/arch/riscv/kernel/patch.c b/arch/riscv/kernel/patch.c
> index 465b2eebbc37..24d49999ac1a 100644
> --- a/arch/riscv/kernel/patch.c
> +++ b/arch/riscv/kernel/patch.c
> @@ -13,6 +13,7 @@
>  #include <asm/fixmap.h>
>  #include <asm/ftrace.h>
>  #include <asm/patch.h>
> +#include <asm/string.h>
>  
>  struct patch_insn {
>  	void *addr;
> @@ -53,6 +54,34 @@ static void patch_unmap(int fixmap)
>  }
>  NOKPROBE_SYMBOL(patch_unmap);
>  
> +static int __patch_insn_set(void *addr, const int c, size_t len)

Drop the "const" from "const int c" everywhere in this patch, and let's
just use u8 instead of int. We don't need to carry the old memset()
legacy argumentts! We're more modern than that! ;-)


Björn

  parent reply	other threads:[~2023-08-26 14:02 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-24 13:31 [PATCH bpf-next v2 0/3] bpf, riscv: use BPF prog pack allocator in BPF JIT Puranjay Mohan
2023-08-24 13:31 ` [PATCH bpf-next v2 1/3] riscv: extend patch_text_nosync() for multiple pages Puranjay Mohan
2023-08-24 21:57   ` Song Liu
2023-08-24 22:04     ` Puranjay Mohan
2023-08-24 13:31 ` [PATCH bpf-next v2 2/3] riscv: implement a memset like function for text Puranjay Mohan
2023-08-24 22:05   ` Song Liu
2023-08-25  1:26   ` kernel test robot
2023-08-25  7:59   ` Pu Lehui
2023-08-26 14:02   ` Björn Töpel [this message]
2023-08-24 13:31 ` [PATCH bpf-next v2 3/3] bpf, riscv: use prog pack allocator in the BPF JIT Puranjay Mohan
2023-08-24 22:19   ` Song Liu
2023-08-25  7:09   ` Pu Lehui
2023-08-25  7:34     ` Pu Lehui
2023-08-25  8:42       ` Puranjay Mohan
2023-08-25 11:12         ` Pu Lehui
2023-08-25 11:40           ` Puranjay Mohan
2023-08-26  1:36             ` Pu Lehui
2023-08-28  9:14               ` Puranjay Mohan
2023-08-26 14:06   ` Björn Töpel
2023-08-25  8:06 ` [PATCH bpf-next v2 0/3] bpf, riscv: use BPF prog pack allocator in " Pu Lehui
2023-08-25  8:16   ` Puranjay Mohan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871qfprjeg.fsf@all.your.base.are.belong.to.us \
    --to=bjorn@kernel.org \
    --cc=andrii@kernel.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=daniel@iogearbox.net \
    --cc=kpsingh@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=martin.lau@linux.dev \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=pulehui@huawei.com \
    --cc=puranjay12@gmail.com \
    --cc=song@kernel.org \
    --cc=yhs@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox