Message ID | 20221129134558.2757043-1-zhengyejian1@huawei.com (mailing list archive) |
---|---|
State | Accepted |
Commit | bc067cacb69c6ee0da10d357458fa7f1fe54e472 |
Delegated to: | BPF |
Headers | show |
Series | [bpf] bpf, docs: Correct the example of BPF_XOR | expand |
On Tue, Nov 29, 2022 at 09:45:58PM +0800, Zheng Yejian wrote: > Refer to description of BPF_XOR, dst_reg should be used but not src_reg > in the examples. > > Signed-off-by: Zheng Yejian <zhengyejian1@huawei.com> > --- > Documentation/bpf/instruction-set.rst | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/Documentation/bpf/instruction-set.rst b/Documentation/bpf/instruction-set.rst > index 5d798437dad4..e672d5ec6cc7 100644 > --- a/Documentation/bpf/instruction-set.rst > +++ b/Documentation/bpf/instruction-set.rst > @@ -122,11 +122,11 @@ BPF_END 0xd0 byte swap operations (see `Byte swap instructions`_ below) > > ``BPF_XOR | BPF_K | BPF_ALU`` means:: > > - src_reg = (u32) src_reg ^ (u32) imm32 > + dst_reg = (u32) dst_reg ^ (u32) imm32 Shouldn't this be dst_reg = (u32) dst_reg ^ (u32) src_reg Same idea below for 64 bit > > ``BPF_XOR | BPF_K | BPF_ALU64`` means:: > > - src_reg = src_reg ^ imm32 > + dst_reg = dst_reg ^ imm32 > > > Byte swap instructions > -- > 2.25.1 >
On 2022/11/30 02:54, David Vernet wrote: > On Tue, Nov 29, 2022 at 09:45:58PM +0800, Zheng Yejian wrote: >> Refer to description of BPF_XOR, dst_reg should be used but not src_reg >> in the examples. >> >> Signed-off-by: Zheng Yejian <zhengyejian1@huawei.com> >> --- >> Documentation/bpf/instruction-set.rst | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/Documentation/bpf/instruction-set.rst b/Documentation/bpf/instruction-set.rst >> index 5d798437dad4..e672d5ec6cc7 100644 >> --- a/Documentation/bpf/instruction-set.rst >> +++ b/Documentation/bpf/instruction-set.rst >> @@ -122,11 +122,11 @@ BPF_END 0xd0 byte swap operations (see `Byte swap instructions`_ below) >> >> ``BPF_XOR | BPF_K | BPF_ALU`` means:: >> >> - src_reg = (u32) src_reg ^ (u32) imm32 >> + dst_reg = (u32) dst_reg ^ (u32) imm32 > > Shouldn't this be > > dst_reg = (u32) dst_reg ^ (u32) src_reg > > Same idea below for 64 bit See Chapter 'Instruction classes', BPF_K means "use 32-bit immediate as source operand", so it should be 'imm32' instead of 'src_reg'. > >> >> ``BPF_XOR | BPF_K | BPF_ALU64`` means:: >> >> - src_reg = src_reg ^ imm32 >> + dst_reg = dst_reg ^ imm32 >> >> >> Byte swap instructions >> -- >> 2.25.1 >> >
Hello: This patch was applied to bpf/bpf-next.git (master) by Daniel Borkmann <daniel@iogearbox.net>: On Tue, 29 Nov 2022 21:45:58 +0800 you wrote: > Refer to description of BPF_XOR, dst_reg should be used but not src_reg > in the examples. > > Signed-off-by: Zheng Yejian <zhengyejian1@huawei.com> > --- > Documentation/bpf/instruction-set.rst | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Here is the summary with links: - [bpf] bpf, docs: Correct the example of BPF_XOR https://git.kernel.org/bpf/bpf-next/c/bc067cacb69c You are awesome, thank you!
diff --git a/Documentation/bpf/instruction-set.rst b/Documentation/bpf/instruction-set.rst index 5d798437dad4..e672d5ec6cc7 100644 --- a/Documentation/bpf/instruction-set.rst +++ b/Documentation/bpf/instruction-set.rst @@ -122,11 +122,11 @@ BPF_END 0xd0 byte swap operations (see `Byte swap instructions`_ below) ``BPF_XOR | BPF_K | BPF_ALU`` means:: - src_reg = (u32) src_reg ^ (u32) imm32 + dst_reg = (u32) dst_reg ^ (u32) imm32 ``BPF_XOR | BPF_K | BPF_ALU64`` means:: - src_reg = src_reg ^ imm32 + dst_reg = dst_reg ^ imm32 Byte swap instructions
Refer to description of BPF_XOR, dst_reg should be used but not src_reg in the examples. Signed-off-by: Zheng Yejian <zhengyejian1@huawei.com> --- Documentation/bpf/instruction-set.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)