[PATCH bpf] bpf, docs: Correct the example of BPF_XOR

Zheng Yejian posted 1 patch 2 years, 9 months ago
Documentation/bpf/instruction-set.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH bpf] bpf, docs: Correct the example of BPF_XOR
Posted by Zheng Yejian 2 years, 9 months ago
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
 
 ``BPF_XOR | BPF_K | BPF_ALU64`` means::
 
-  src_reg = src_reg ^ imm32
+  dst_reg = dst_reg ^ imm32
 
 
 Byte swap instructions
-- 
2.25.1
Re: [PATCH bpf] bpf, docs: Correct the example of BPF_XOR
Posted by patchwork-bot+netdevbpf@kernel.org 2 years, 9 months ago
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!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Re: [PATCH bpf] bpf, docs: Correct the example of BPF_XOR
Posted by David Vernet 2 years, 9 months ago
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
>
Re: [PATCH bpf] bpf, docs: Correct the example of BPF_XOR
Posted by Zheng Yejian 2 years, 9 months ago
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
>>
>