[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <a63a344c-e64e-4f2a-9082-f970ae9f963a@app.fastmail.com>
Date: Wed, 24 May 2023 15:28:46 +0200
From: "Arnd Bergmann" <arnd@...db.de>
To: "Yonghong Song" <yhs@...a.com>, "Arnd Bergmann" <arnd@...nel.org>,
"Alexei Starovoitov" <ast@...nel.org>,
"Daniel Borkmann" <daniel@...earbox.net>,
"Andrii Nakryiko" <andrii@...nel.org>,
"Song Liu" <song@...nel.org>,
"Steven Rostedt" <rostedt@...dmis.org>,
"Masami Hiramatsu" <mhiramat@...nel.org>
Cc: stable@...r.kernel.org, "Martin KaFai Lau" <martin.lau@...ux.dev>,
"Yonghong Song" <yhs@...com>,
"John Fastabend" <john.fastabend@...il.com>,
"KP Singh" <kpsingh@...nel.org>,
"Stanislav Fomichev" <sdf@...gle.com>,
"Hao Luo" <haoluo@...gle.com>, "Jiri Olsa" <jolsa@...nel.org>,
"Kumar Kartikeya Dwivedi" <memxor@...il.com>,
"Dave Marchevsky" <davemarchevsky@...com>,
"Joanne Koong" <joannelkoong@...il.com>,
"Delyan Kratunov" <delyank@...com>,
"Peter Zijlstra" <peterz@...radead.org>, bpf@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-trace-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] [v2] bpf: fix bpf_probe_read_kernel prototype mismatch
On Wed, May 24, 2023, at 05:12, Yonghong Song wrote:
> On 5/23/23 12:43 PM, Arnd Bergmann wrote:
>> Aside from the warning, this addresses a bug on 32-bit architectures
>> from incorrect argument passing with the mismatched prototype.
>
> Could you explain what is this '32-bit architectures ... incorrect
> argument passing' thing?
I've expanded that paragraph now:
| Aside from the warning, this addresses a bug on 32-bit architectures
| from incorrect argument passing with the mismatched prototype:
| BPF_CALL_x() functions use 64-bit arguments that are passed in
| pairs of register or on the stack on 32-bit architectures, while the
| normal function uses one register per argument.
Let me know if you think I should put more details in there.
>> @@ -1635,11 +1636,13 @@ bool bpf_opcode_in_insntable(u8 code)
>> }
>>
>> #ifndef CONFIG_BPF_JIT_ALWAYS_ON
>> -u64 __weak bpf_probe_read_kernel(void *dst, u32 size, const void *unsafe_ptr)
>> +#ifndef CONFIG_BPF_EVENTS
>> +int bpf_probe_read_kernel_common(void * dst, u32 size, const void *unsafe_ptr)
>
> void * dst => void *dst
>
Fixed now.
Thanks,
Arnd
Powered by blists - more mailing lists