bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v1 47/50] kernel/bpf/core.c: Use get_random_max32()
@ 2019-11-29 22:16 George Spelvin
  2020-03-28 17:15 ` Alexei Starovoitov
  0 siblings, 1 reply; 2+ messages in thread
From: George Spelvin @ 2019-11-29 22:16 UTC (permalink / raw)
  To: linux-kernel, lkml
  Cc: Daniel Borkmann, Alexei Starovoitov, Martin KaFai Lau, Song Liu,
	Yonghong Song, Andrii Nakryiko, bpf, netdev

Smaller, faster, and a smidge more uniform than %.

Signed-off-by: George Spelvin <lkml@sdf.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Martin KaFai Lau <kafai@fb.com>
Cc: Song Liu <songliubraving@fb.com>
Cc: Yonghong Song <yhs@fb.com>
Cc: Andrii Nakryiko <andriin@fb.com>
Cc: bpf@vger.kernel.org
Cc: netdev@vger.kernel.org
---
 kernel/bpf/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c
index af6b738cf435c..61713a7f73d85 100644
--- a/kernel/bpf/core.c
+++ b/kernel/bpf/core.c
@@ -874,7 +874,7 @@ bpf_jit_binary_alloc(unsigned int proglen, u8 **image_ptr,
 	hdr->pages = pages;
 	hole = min_t(unsigned int, size - (proglen + sizeof(*hdr)),
 		     PAGE_SIZE - sizeof(*hdr));
-	start = (get_random_int() % hole) & ~(alignment - 1);
+	start = get_random_max32(hole) & ~(alignment - 1);
 
 	/* Leave a random number of instructions before BPF code. */
 	*image_ptr = &hdr->image[start];
@@ -947,7 +947,7 @@ static int bpf_jit_blind_insn(const struct bpf_insn *from,
 			      bool emit_zext)
 {
 	struct bpf_insn *to = to_buff;
-	u32 imm_rnd = get_random_int();
+	u32 imm_rnd = get_random_u32();
 	s16 off;
 
 	BUILD_BUG_ON(BPF_REG_AX  + 1 != MAX_BPF_JIT_REG);
-- 
2.26.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [RFC PATCH v1 47/50] kernel/bpf/core.c: Use get_random_max32()
  2019-11-29 22:16 [RFC PATCH v1 47/50] kernel/bpf/core.c: Use get_random_max32() George Spelvin
@ 2020-03-28 17:15 ` Alexei Starovoitov
  0 siblings, 0 replies; 2+ messages in thread
From: Alexei Starovoitov @ 2020-03-28 17:15 UTC (permalink / raw)
  To: George Spelvin
  Cc: LKML, Daniel Borkmann, Alexei Starovoitov, Martin KaFai Lau,
	Song Liu, Yonghong Song, Andrii Nakryiko, bpf,
	Network Development

On Sat, Mar 28, 2020 at 9:46 AM George Spelvin <lkml@sdf.org> wrote:
>
> Smaller, faster, and a smidge more uniform than %.
>
> Signed-off-by: George Spelvin <lkml@sdf.org>
> Cc: Daniel Borkmann <daniel@iogearbox.net>
> Cc: Alexei Starovoitov <ast@kernel.org>
> Cc: Martin KaFai Lau <kafai@fb.com>
> Cc: Song Liu <songliubraving@fb.com>
> Cc: Yonghong Song <yhs@fb.com>
> Cc: Andrii Nakryiko <andriin@fb.com>
> Cc: bpf@vger.kernel.org
> Cc: netdev@vger.kernel.org

If Linus is going to pick up the whole set at once:
Acked-by: Alexei Starovoitov <ast@kernel.org>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-03-28 17:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-29 22:16 [RFC PATCH v1 47/50] kernel/bpf/core.c: Use get_random_max32() George Spelvin
2020-03-28 17:15 ` Alexei Starovoitov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).